quarta-feira, 18 de março de 2015

Memória Cache

Memória Cache




      Um dispositivo de acesso rápido serve de intermediário entre um operador de um processo e o dispositivo de armazenamento ao qual esse operador cede. é um bloco de memória para o armazenamento temporário de dados que possuem uma grande probabilidade de serem utilizados novamente.
      A vantagem consiste em evitar o acesso ao dispositivo de armazenamento, armazenando os dados em meios de acesso mais rápidos.


Tipos de memória cache
    
    Os tipos de memória cache mais conhecidos são: mapeamento direto, totalmente associativo e associativo por conjunto (N-way). Mapeamento direto : cada bloco da memória principal é mapeado para uma linha do cache. Mapeamento associativo: um bloco da memória principal pode ser carregado para qualquer linha do cache. Mapeamento associativo por conjunto: meio termo direto e o associativo.
     Ausência de conteúdo no cache
Quando o processador necessita de um dado, e este não está presente no cache, ele terá de realizar a busca diretamente na memória RAM, utilizando wait states e reduzindo o desempenho do computador. Como provavelmente será requisitado novamente (localidade temporal) o dado que foi buscado na RAM é copiado no cache.

Cache em níveis

     O cache foi dividido em níveis, já que a demanda de velocidade a memória é tão grande que são necessários caches grandes com velocidades altíssimas de transferência e baixas latências. Sendo muito difícil e caro construir memórias caches com essas características, elas são construídas em níveis que se diferem na relação tamanho X desempenho.
    Como aumento crescente da velocidade da CPU e visando minimizar um grande impacto no custo da Memória Cache os fabricantes vêm estabelecendo diferentes níveis de memória cache.



Cache L1
    
     Uma pequena porção de memória estática presente dentro do processador. Em alguns tipos de processador, como o Pentium 2, o L1 é dividido em dois níveis: dados e instruções (que "dizem" o que fazer com os dados).O primeiro processador da Intel a ter o cache L1 foi o i486 com 8KB. Geralmente tem entre 16KB e 128KB; hoje já encontramos processadores com até 16MB de cache.

Cache L2

    Possuindo o Cache L1 um tamanho reduzido e não apresentando uma solução ideal, foi desenvolvido o cache L2, que contém muito mais memória que o cache L1. Ela é mais um caminho para que a informação requisitada não tenha que ser procurada na lenta memória principal.

Cache L3

    Terceiro nível de cache de memória. Inicialmente utilizado pelo AMD K6-III (por apresentar o cache L2 integrado ao seu núcleo) utilizava o cache externo presente na placa-mãe como uma memória de cache adicional. Ainda é um tipo de cache raro devido a complexidade dos processadores atuais, com suas áreas chegando a milhões de transistores por micrometros ou nanômetros de área. Ela será muito útil, é possível a necessidade futura de níveis ainda mais elevados de cache, como L4 e assim por diante.






Nenhum comentário:

Postar um comentário