Caches Multinivel
Marco A. S. Segundo
marcoant.segundo@gmai
l.com
Leonardo Farias
[email protected]
Resumo— A cache é usada para reduzir o tempo que um
processador deve esperar para acessar um determinado bloco da
memória. Mas devido à necessidade de se processar um grande
número de dados ser cada vez maior, se tornou indispensável o
uso de Caches Multinível. O foco principal deste artigo é
descrever como funcionam essas memórias.
1.
I. INTRODUÇÃO
A cache armazena o conteúdo mais recentemente acessado
pelo processador, e ela é preenchida por ele, pois quando
determinado conteúdo é procurado na cache e este não é
encontrado, um Miss é registrado e o controlador de cache vai
em busca desse conteúdo na memória de nível inferior, e
quando o encontra, ele o copia para a memória cache, para que
nas próximas requisições só seja necessário acessar o
conteúdo que está nela, obtendo um Hit.
A memória cache consegue trabalhar na mesma velocidade do
processador, devido a sua tecnologia SRAM (Memória
estática de acesso aleatório). Nesta tecnologia cada bit é
armazenado em um flip-flop, e com ele traz a vantagem de
não precisar que seja atualizado a um determinado instante de
tempo para manter o conteúdo dos dados, como é o caso das
memórias DRAM (Memória dinâmica de acesso aleatório).
Porém, a memória SRAM tem a desvantagem de ser bastante
cara, pois para se fazer um flip-flop são necessários inúmeros
transistores, além de consumirem mais energia e esquentarem
mais. Por isso se torna inviável para os projetistas, criar uma
memória cache SRAM com uma grande capacidade.
Alan Batista
[email protected]
alan_batistaabdc@hotmai
l.com
Cache L1
Também conhecida como Cache principal/primária, pois
executa o mesmo papel das memórias cachê únicas. Ela
fica localizada no mesmo chip do processador e
geralmente possui dois níveis, o de instruções e o de
dados. Além de possuir uma baixa capacidade de
armazenamento.
Palavras-chave— Memória cache, descrição, multinível;
A cache é um nível de hierarquia de memória entre o
Processador e a memória principal, e tem a função de reduzir
o tempo que o processador precisa para acessar o conteúdo
que está na memória, pois o tempo de acesso a memória
principal é maior que o tempo de execução do processador.
Igor José M. Barbosa
Esse nível de cache possui ligação direta com o
processador. E quando é registrado um Miss no acesso a
este nível, o controlador de Cache vai ao nível de
memória diretamente conectado e inferior a este, em
busca desse conteúdo.
2.
Cache L2
Também conhecida como Cache secundária, foi
construída como uma solução para o problema da pouca
capacidade da Cache L1, este nível possui cerca de 10
vezes ou mais de capacidade que ela, porém é mais lenta.
E por questões econômicas (financeiras), alguns
processadores possuem essa memória fora dele, mas esse
nível também é utilizado, alocado ao processador.
Este nível é o responsável por fornecer ao processador
conteúdo que não foi encontrado na Cache principal, pois
ele armazena as informações menos recentemente
acessadas pela CPU, já que as mais recentemente
acessadas estão no nível L1. A quantidade de informações
armazenadas é
limitada
pela capacidade de
armazenamento da Cache. E quando esse limite é
excedido, determinado conteúdo (este conteúdo varia de
acordo com o algoritmo de substituição da Cache) é
descartado desta memória. Esse nível é conectado
diretamente a Cache primária e a memória principal, ou
Cache L3 (quando existe). Um exemplo de Cache L2 está
representada na figura 1:
Devido ao primeiro nível da cache ter uma capacidade muito
pequena, surgiu a necessidade de adicionar mais níveis a
memória cache, para que continuasse a existir um ganho de
desempenho em relação ao acesso a memória. E com isso
surgiram as Caches Multinível.
II. NÍVEIS DE CACHE
Figura 1. Exemplo de Cache de Dois níveis [6].
3.
Cache L3
É uma cache externa ao processador, sendo um nível
implementado nos multi-processadores mais potentes. E
o nível L3 funciona entre a Cache L2 e a memória
principal (ou L4, se houver), da mesma forma que a
Cache Secundária funciona entre a Cache principal e esse
nível. Esse nível é mais lento que a Cache L2 e mais
rápido que o nível inferior. Um exemplo de Cache L3 está
representada na figura 2:
da cache seja viável, pois o material utilizado hoje em dia
possui um alto custo financeiro, e um aumento da capacidade
por si só, pode não trazer o benefício esperado.
As memórias Cache multinível contribuem bastante para o
desempenho de um computador, porém é sabido que esses
níveis não podem aumentar muito, pois como a medida que o
nível aumenta o tempo de acesso também aumenta, então em
algum momento será desnecessária a inclusão de mais um
nível na Cache. Mas os estudos para aumento de níveis na
Cache ainda persistem, uma prova disso é que recentemente
foi anunciado pela empresa Intel, a criação de um processador
com nível L4 de Cache [4].
REFERÊNCIAS
[1]
[2]
[3]
[4]
Figura 2. Exemplo de Cache de Três níveis [5].
III. CONCLUSÃO
Atualmente ainda é inviável financeiramente, mas em um
futuro próximo a memória cache pode se transformar na
memória principal do PC, ajudando bastante na melhoria de
desempenho das máquinas. Há pouco tempo, a memória
Cache do processador era em média 256k, atualmente está em
12 MB, e estudos são feitos para que o aumento da capacidade
[5]
[6]
"Como
o
Cache
de
Memória
funciona"
(http://www.clubedohardware.com.br/artigos/Como-o-Cache-deMemoria-Funciona/1410/1). Acessado em 04 de Dezembro de 2014.
"Organização e Projeto de Computadores – A interface
Hardware/Software. Patterson David and Hennessy John, 3ª Edição.
Elsevier.
“CPU Cache"
(http://en.wikipedia.org/wiki/CPU_cache#Cache_hierarchy.) Acessado
em 04 de Dezembro de 2014.
“Intel finally shares Haswell’s secrets, reveals new work on ultra-lowpower chips“ (http://www.extremetech.com/extreme/176307-intelfinally-shares-haswells-secrets-reveals-new-work-on-ultra-low-powerchips.) Acessado em 04 de Dezembro de 2014.
Top Eight Features of the Intel Core i7 Processors for Test,
Measurement, and Control" (http://www.ni.com/white-paper/11266/en/).
Acessado em 22 de Janeiro de 2015.
"Entendenda
o
que
e
Memória
Cache"
(http://www.kalambau.com.br/entendenda-o-que-e-memoria-cache/).
Acessado em 22 de Janeiro de 2015.
Download

Paper Title (use style: paper title)