A principal diferença entre a memória virtual e a memória cache é que uma memória virtual permite que um usuário execute programas maiores que a memória principal, enquanto a memória cache permite o acesso mais rápido aos dados que foram usados recentemente. Vamos discutir mais algumas diferenças com a ajuda do gráfico de comparação mostrado abaixo.
Gráfico de comparação
Base para Comparação | Memória virtual | Memória em cache |
---|---|---|
Basic | A memória virtual estende a capacidade da memória principal para o usuário. | A memória cache fixa a velocidade de acesso aos dados da CPU. |
Natureza | Memória virtual é técnica. | A memória cache é uma unidade de armazenamento. |
Função | A memória virtual permite a execução do programa que é maior que a memória principal. | A memória cache armazena as cópias dos dados originais que foram usados recentemente. |
Gerenciamento de memória | A memória virtual é gerenciada pelo sistema operacional. | A memória cache é totalmente gerenciada pelo hardware. |
Tamanho | A memória virtual é muito maior que a memória armazenada em cache. | A memória cache tem tamanho limitado. |
Mapeamento | A memória virtual requer estruturas de mapeamento para mapear o endereço virtual para o endereço físico. | Nenhuma estrutura de mapeamento é necessária como tal em uma memória cache. |
Definição de Memória Virtual
A memória virtual não é exatamente uma memória física de um computador, mas uma técnica que permite a execução de um programa grande que pode não estar completamente colocado na memória principal . Permite ao programador executar programas maiores que a memória principal.
Agora vamos entender como funciona a memória virtual? O programa tem seu endereço de memória virtual dividido em várias páginas . A memória principal também é dividida em várias páginas . Agora, como podemos ver, o endereço virtual de um programa é maior que a memória principal disponível. Então, o mapa de memória é usado para mapear o endereço virtual para a memória principal.
- Os programas não são mais limitados pelo limite da memória principal.
- A memória virtual aumenta o grau de multiprogramação.
- Aumenta a utilização da CPU.
- A menor unidade de E / S exigirá para carregar ou trocar programas na memória.
Mas há uma desvantagem da memória virtual, colocando mais páginas de um programa no disco rígido irá diminuir o desempenho como acessar os dados do disco rígido leva mais tempo em comparação ao acesso a dados da memória principal.
Definição de memória cache
Ao contrário da memória virtual, o Cache é um dispositivo de armazenamento implementado no próprio processador . Ele carrega as cópias dos dados originais que foram acessados recentemente. Os dados originais podem ser colocados na memória principal ou em uma memória secundária. A memória cache agiliza a velocidade de acesso dos dados, mas como? Vamos entender
Principais diferenças entre memória virtual e cache
- A memória virtual estende a capacidade da memória principal virtualmente para o usuário. No entanto, a memória cache torna o acesso de dados mais rápido para a CPU.
- Cache é uma unidade de armazenamento de memória enquanto que a memória virtual é uma técnica .
- A memória virtual permite que as execuções do programa sejam maiores que a memória principal. Por outro lado, a memória cache armazena as cópias dos dados originais que foram usados recentemente.
- O gerenciamento de memória virtual é feito pelo sistema operacional . Por outro lado, o gerenciamento de memória cache é feito pelo hardware .
- A memória virtual é muito maior que a memória armazenada em cache em tamanho.
- A técnica de memória virtual requer que as estruturas de mapeamento mapeiem o endereço virtual para o endereço físico, enquanto a memória cache não requer nenhuma estrutura de mapeamento.
Conclusão:
A memória virtual é uma técnica para expandir a capacidade da memória principal virtualmente para os usuários. A memória cache é uma unidade de armazenamento que armazena os dados acessados recentemente, permitindo que a CPU acesse-a mais rapidamente.