Diferença Entre Memória Cache E Memória Virtual

Índice:

Diferença Entre Memória Cache E Memória Virtual
Diferença Entre Memória Cache E Memória Virtual

Vídeo: Diferença Entre Memória Cache E Memória Virtual

Vídeo: Diferença Entre Memória Cache E Memória Virtual
Vídeo: 2ª Série - Química 2 - Capítulo 8 - 28/04 2024, Abril
Anonim

Memória Cache vs Memória Virtual

A diferença entre a memória cache e a memória virtual existe na finalidade para a qual essas duas são usadas e na existência física. A memória cache é um tipo de memória usado para melhorar o tempo de acesso à memória principal. Ele reside entre a CPU e a memória principal e pode haver vários níveis de caches, como L1, L2 e L3. O tipo de hardware usado para a memória cache é muito mais caro do que a RAM (Random Access Memory) usada para a memória principal porque a memória cache é muito mais rápida. Por esse motivo, a capacidade da memória cache é muito pequena. A memória virtual é uma técnica de gerenciamento de memória usada para usar eficientemente a RAM (memória principal), enquanto fornece um espaço de memória separado para cada programa que é ainda maior do que a capacidade real da RAM física (memória principal). Aqui, o disco rígido é usado para expandir a memória. Os itens da RAM física são transferidos para frente e para trás com o disco rígido.

O que é memória cache?

A memória cache é um tipo de memória que fica entre a CPU (Unidade Central de Processamento) e a RAM (memória de acesso aleatório). O objetivo da memória cache é reduzir o tempo de acesso à memória da CPU a partir da RAM. A memória cache é muito mais rápida que a RAM. Portanto, o tempo de acesso no cache é muito menor do que o tempo de acesso na RAM. Mas o custo da memória usada para a memória cache é muito maior do que o custo da memória usada para RAM e, portanto, a capacidade da memória cache é muito pequena. O tipo de memória usado para a memória cache é denominado SRAM (Static Random Access Memory).

Sempre que a CPU deseja acessar a memória, ela primeiro verifica se o que precisa está na memória cache. Se sim, poderia acessá-lo com o mínimo de latência. Se ele não residir no cache, o conteúdo solicitado será copiado da RAM para o cache e somente a CPU o acessará do cache. Aqui, ao copiar o conteúdo do cache, não apenas o conteúdo no endereço de memória solicitado, mas também o conteúdo próximo é copiado para o cache. Portanto, na próxima vez, há uma grande probabilidade de ocorrer um acerto no cache, já que a maioria dos programas de computador acessa dados próximos ou os últimos acessados na maioria das vezes. Portanto, devido ao cache, a latência média da memória é reduzida.

Diferença entre memória cache e memória virtual
Diferença entre memória cache e memória virtual

Na CPU, existem três tipos de caches: Cache de instruções para armazenar instruções do programa, Cache de dados para armazenar itens de dados e Buffer de consulta de tradução para armazenar mapeamentos de memória. Para o cache de dados, geralmente, existem caches de vários níveis. Ou seja, existem vários caches como L1, L2 e L3. O cache L1 é a memória cache mais rápida, porém menor, mais próxima da CPU. O cache L2 é mais lento que L1, mas maior que L1 e reside depois do cache L1. Por causa dessa hierarquia, um melhor tempo médio de acesso à memória pode ser alcançado com um custo menor.

O que é memória virtual?

A memória virtual é uma técnica de gerenciamento de memória usada em sistemas de computadores. Não existe nenhum hardware chamado memória virtual, mas é um conceito que usa RAM e o disco rígido para fornecer um espaço de endereço virtual para programas. A primeira RAM é dividida em blocos chamados páginas e são identificados por endereços de memória física. No disco rígido, uma parte especial é reservada onde, no Linux, é chamada de swap e, no Windows, é chamada de arquivo de paginação. Quando um programa é iniciado, ele recebe um espaço de endereço virtual que pode ser ainda maior do que a memória física real. O espaço de memória virtual também é dividido em blocos chamados páginas e cada uma dessas páginas de memória virtual pode ser mapeada para uma página física. A tabela chamada tabela de página controla esse mapeamento. Quando a memória física fica sem espaço, o que é feito é,certas páginas físicas são enviadas para essa parte especial do disco rígido. Quando qualquer página enviada para o disco rígido é necessária novamente, ela é trazida para a memória física colocando outra página selecionada da memória física no disco rígido.

Memória Cache vs Memória Virtual
Memória Cache vs Memória Virtual

Qual é a diferença entre Cache Memory e Virtual Memory?

• A memória cache é um tipo de memória usado para melhorar o tempo de acesso à memória principal. É um tipo de memória mais rápido que reside entre a CPU e a RAM para reduzir a latência média de acesso à memória. A memória virtual é um método de gerenciamento de memória onde é um conceito que permite que os programas obtenham seu próprio espaço de memória virtual, que é ainda maior do que a RAM física real disponível.

• A memória cache é um tipo de memória de hardware que realmente existe fisicamente. Por outro lado, não existe nenhum hardware chamado memória virtual, pois é um conceito que usa RAM, disco rígido, unidade de gerenciamento de memória e software para fornecer um tipo de memória virtual.

• O gerenciamento da memória cache é feito totalmente por hardware. A memória virtual é gerenciada pelo sistema operacional (software).

• A memória cache fica entre a RAM e o processador. As transferências de dados envolvem RAM, memória cache e o processador. A memória virtual, por outro lado, envolve a transferência de dados entre a RAM e o disco rígido.

• As memórias cache têm tamanhos pequenos, como Kilobytes e Megabytes. A memória virtual, por outro lado, envolve tamanhos enormes que ocupam gigabytes.

• A memória virtual envolve estruturas de dados como tabelas de páginas que armazenam o mapeamento entre a memória física e a memória virtual. Mas esse tipo de estrutura de dados não é necessário para a memória cache.

Resumo:

Memória Cache vs Memória Virtual

A memória cache é usada para melhorar o tempo de acesso à memória principal, enquanto a memória virtual é um método de gerenciamento de memória. A memória cache é um hardware real, mas não existe nenhum hardware chamado memória virtual. RAM, disco rígido e vários outros hardwares junto com o sistema operacional produzem o conceito chamado memória virtual para fornecer espaços de memória virtual grandes e isolados para cada programa. O conteúdo da memória cache é gerenciado pelo hardware, enquanto o conteúdo da memória virtual é gerenciado pelo sistema operacional.

Cortesia de imagens:

  1. Processo de memória cache por Hellisp (CC BY-SA 3.0)
  2. Memória virtual por Ehamberg (CC BY-SA 3.0)

Recomendado: