Buscar

Resumo - Memória Cache

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 3 páginas

Prévia do material em texto

Introdução à Cache 
 
 
As CPUs sempre foram mais rápidas do que as memórias. Conforme as memórias 
melhoraram as CPUs também seguiram o ritmo mantendo o desequilíbrio. O que isso significa na 
prática é que depois que a CPU faz uma requisição à memória, ela deve permanecer inativa por um 
tempo enquanto estiver esperando que a memória responda. É comum que a CPU estabeleça uma 
leitura à memória durante um ciclo de barramento e não obtenha o dado até x + 1 ciclos mais tarde, 
mesmo que não haja estados de espera. A solução utilizada para esse atraso é a cache. 
 
A cache é uma memória com pequena capacidade e muito rápida. A ideia básica de uma 
cache é simples: as palavras de memória usadas com mais frequência são mantidas na cache. 
Quando a CPU precisa de uma palavra, ela examina em primeiro lugar a cache. Se a palavra 
procurada estiver na cache (cache hit), ela é transferida em alta velocidade para a CPU. Se a palavra 
não estiver na cache (cache miss), então o sistema está programado para interromper a execução do 
programa e transferir a instrução desejada da memória principal para a cache. Essa transferência 
não é apenas da palavra desejada, mas também de um conjunto de palavras próximas, na 
pressuposição de que esse grupo será utilizado pela CPU em seguida. Com isso o desempenho do 
computador é otimizado e o tempo médio de acesso pode ser muito reduzido. 
 
 
 
Hierarquia de Memória 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Conceitos 
 
 
 LOCALIZAÇÃO: A memória cache tende a ficar o mais próximo da CPU. Quanto mais 
próxima estiver, mais rápido a palavra será transferida. Atualmente a cache é colocada 
dentro da própria CPU. Já havia limitações em relação ao tamanho e capacidade da cache 
pelo seu custo, e agora mais ainda por estar dentro da CPU, onde não é possível ter um 
tamanho maior por falta de espaço. 
 
 CAPACIDADE: Como foi dito antes, a não é viável ter uma cache com alta capacidade, 
pois o custo seria muito elevado. Logo, as memórias cache possuem uma pequena 
capacidade, em torno de MB (megabytes). 
 
 UNIDADE DE TRANSFERÊNCIA: Palavra ou grupo de palavras por segundo. 
 
 MÉTODOS DE ACESSO: 
 
1. Método de Acesso Sequencial: Os dados são organizados em registros sequenciais. O 
tempo de acesso é variável. 
 
2. Método de Acesso Direto: Cada bloco de dados possui um endereço único, baseado na 
sua localização física. O acesso é feito através do acesso direto a uma vizinhança 
genérica do registro, e em seguida por uma busca sequencial. É um método simples e de 
baixo custo de implementação. Sua principal desvantagem é que, devido ao fato de cada 
bloco ser mapeado em uma posição fixa na memória cache, se um programa fizer 
repetidas referências a palavras de dois blocos distintos, mapeados em uma mesma linha, 
esses blocos serão trocados continuamente na memória cache e a taxa de acertos à 
memória cache será baixa. O tempo de acesso é variável. 
 
3. Método de Acesso Aleatório: Cada posição de memória possui um endereço único. O 
tempo de acesso é constante, sendo independente dos acessos anteriores. 
 
4. Método de Acesso Associativo: Tipo de acesso Aleatório que evita a desvantagem do 
acesso Direto permitindo que cada bloco da memória principal seja carregado em 
qualquer linha da memória cache. Assim ele compara simultaneamente certo número de 
bits de uma palavra com todas as palavras da memória, determinando quais delas contêm 
o mesmo padrão de bit. Esse método oferece maior flexibilidade para a escolha do bloco 
a ser substituído quando um novo bloco é trazido para a cache. São utilizados algoritmos 
de substituição para maximizar a taxa de acertos na cache. A principal desvantagem 
desse método é a complexidade do conjunto de circuitos, necessários para a comparação 
dos rótulos (conjunto de bits) de todas as linhas da memória cache em paralelo. 
 
5. Método de Acesso Associativo por Conjuntos: Junção do Direto e Associativo com 
redução nas desvantagens. A cache é dividida em x conjuntos com y linhas cada. O 
rótulo de um endereço de memória é menor e é comparado apenas com y rótulos de um 
mesmo conjunto. A mais comum é a que usa duas linhas por conjunto. Sua taxa de 
acerto é significativamente maior do que no caso do acesso Direto. Um maior número de 
linhas por conjunto não apresenta melhoras significativas de desempenho. 
 
 
 
 LATÊNCIA: Da ordem de nanosegundos (5~10ns). 
 
 LOCALIDADE DE REFERÊNCIA: Os conceitos de Localidade justificam a existência 
da cache. Pesquisas e amostragens realizadas por diversos cientistas concluíram que a 
execução dos programas se realiza, na média, em pequenos grupos de instruções num breve 
espaço de tempo. Isso é divide o princípio da localidade em: 
 
1. Localidade Temporal: Se um programa acessa um dado (endereço), existe uma boa 
probabilidade que ele venha a acessá-la novamente, em breve. 
 
2. Localidade Espacial: Se um programa acessa um dado (endereço), existe uma boa 
probabilidade que ele venha a acessar os dados armazenados em sua proximidade, 
em breve. 
 
 
 
Referências 
 
 
TANEMBAUM; Andrew. Organização Estruturada de Computadores. 
DA SILVA; Wagner Helcio. Sistemas de Memória Interna (Apostila). 
MONTEIRO; Mario A.. Introdução à Organização de Computadores. 
LEAL; Parreira Murilo. Subsistema de Memória (Apostila). 
BORATTO; Murilo. Memória Cache (Apostila).

Continue navegando