You are on page 1of 26

Memria Cache

Introduo

Devido a grande diferena de velocidade existente entre o processador e a memria principal, foi desenvolvido um elemento intermedirio que tem o propsito de minimizar o impacto desse problema no sistema de computao: A memria Cache.

Introduo

Principio de Localidade
Localidade

temporal:

Ao acessar uma palavra na memria principal muito provvel que o processador volte a acessar essa mesma palavra novamente durante a execuo dos programas (loops).

Localidade

Espacial:

Ao acessar uma palavra na memria principal provvel que em seguida o processador tente acessar uma palavra de memria subjacente acessada prviamente.

Introduo
A Memria Cache (MC) se baseia fundamentalmente nos princpios de localidade temporal e espacial. Funcionando como um elemento intermedirio entre a CPU e a MP e armazenando as informaes que muito provavelmente sero requisitadas pela CPU.

Utilizao da MC

Uma vez introduzida no sistema de computao o funcionamento do sistema alterado de forma que antes de realizar um acesso direto a MP a informao primeiramente buscada na Memria Cache.
Se

a informao requisitada estiver presente na Memria Cache ocorre um acerto(hit) e a informao transferida para a CPU em alta velocidade. Caso contrario ocorre uma falta (miss) e o sistema busca a informao na MP, e a transfere para a memria Cache (juntamente com outras informaes determinadas pelo principio da localidade).

Utilizao da MC
CPU

Memria Cache

Memria Principal

Consideraes sobre a Utilizao da MC


Para haver aumento de desempenho do sistema necessrio que hajam muito mais acertos (hits) do que faltas (misses). de maneira que as eventuais perdas de desempenho com faltas seja sobrepujada pela taxa de acertos. A taxa de acertos mais comum em sistemas atuais varia entre 80% e 99%, o que garante um ganho de desempenho considervel com a utilizao de memrias Cache.

Tipos de Memria Cache


Pelo ganho de desempenho que proporciona ao sistema de computao as memrias cache vm se tornando um elemento imprescindvel nos sistemas atuais e sendo utilizadas alm da relao CPU-MP . Tambm vm sendo empregadas para aumentar o desempenho do sistema na relao MP-MS (Memria Secundria) ex:
Memrias

Cache para discos rgidos.

Nveis de Memria Cache

Com o aumento crescente da velocidade da CPU e visando minimizar um grande impacto no custo da Memria Cache os fabricantes vm estabelecendo diferentes nveis de memria cache.
L1

(Memrias Cache internas ao processador); L2 (internas ou externas ao processador); L3 (externas ao processador , e existente em poucos processadores);

Funes de Mapeamento

Tcnicas para estabelecer uma associao entre as clulas da MP e os blocos da Memria Cache.
Mapeamento

Direto; Mapeamento Associativo; Mapeamento Associativo por Conjuntos.

Funes de Mapeamento-Mapeamento direto


A Memria Principal sub-dividida em agrupamentos de clulas que podem ser armazenados diretamente nas clulas da memria Cache. Estabelece um mapeamento direto entre os blocos da MP e as clulas da memria Cache de tal forma que um bloco X estar sempre associado a uma mesma clula na memria cache.

Rtulo

Linha

Palavra

Funes de Mapeamento-Mapeamento direto


Memria Principal
0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111

00 01 10 11

Funes de Mapeamento-Mapeamento direto


Memria Principal
0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 aaaa bbbb cccc dddd eeee ffff gggg hhhh iiii jjjj kkkk llll mmmm nnnn oooo pppp

Cache
tag ndice informao 01 00 01 10 11 eeee

Funes de Mapeamento-Mapeamento direto

Funes de Mapeamento-Mapeamento direto

Vantagens
Implementao

simples; Funcionamento simples;

Desvantagens
Inflexvel

em relao ao estabelecimento da associao entre MP e MC;


O que pode acarretar em um aumento na taxa de faltas em acessos a MC e degradar o desempenho do sistema.

Funes de Mapeamento-Mapeamento Associativo


Diferente do mapeamento direto o Mapeamento associativo no determina um local fixo na MC para os blocos da MP; Os endereos de acesso a MP so interpretados da mesma forma que no mapeamento direto. Porm o nmero de Bits demandados para a determinao do rtulo maior;

Rtulo

Palavra

Funes de Mapeamento-Mapeamento Associativo


Memria Principal
0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111

00 01 10 11

Funes de Mapeamento-Mapeamento Associativo

Vantagens
Flexibilidade

na associao entre MP e MC;

Desvantagens
Complexidade

de implementao; Maior demanda de processamento;

Funes de Mapeamento-Mapeamento Associativo por Conjuntos

Criada com o objetivo de eliminar os problemas das tcnicas de mapeamento direto e mapeamento associativo;
Blocos

da MP so associados a um conjunto de linhas na MC.

Rtulo

Conjunto

Palavra

Funes de Mapeamento-Mapeamento Associativo por Conjuntos

Algoritmos de substituio de dados


A capacidade de armazenamento da MP muito maior do que a capacidade de armazenamento da MC; Os algoritmos de substituio de dados na MC tm a tarefa de definir qual dos blocos j armazenados na Memria Cache deve ser retirado para o armazenamento de um novo bloco.
Algoritmos

de substituio de dados no so aplicveis quando a funo de mapeamento o mapeamento direto visto que, utilizando essa tcnica a localizao do bloco na MP que determinar a posio da informao na MC.

Algoritmos de substituio de dados

Algoritmos:
LRU

(least Recently Used): Determina como candidatos substituio os que no foram acessados recentemente. FIFO (First-In-First-Out): Seleciona como candidado para substituio o bloco que foi armazenado primeiro na MC; LFU (least Frequently Used ): o sistema de controle selecionar o bloco que tem tido menos acessos por parte do processador; Escolha Aleatria: O sistema de controle da memria Cache escolhe aleatoriamente o bloco que ser removido.

Polticas de escrita

Mecanismos para garantir a integridade das informaes processadas no sistema, apesar das transferncias entre a MP e a MC; Escrita em Ambas (write through)
toda

modificao de dados na Cache acarreta uma modificao na MP. informao modificada na Cache s ser repassada para a MP quando estiver a ponto de ser substituda.

Escrita somente no retorno (write back)


A

Tamanho da Memria Cache

A definio da faixa de tamanho (capacidade de armazenamento) de uma cache depende:


Capacidade

de armazenamento da MP; Razo acertos/falhas aceitavel; Tempo de acesso da MP e da MC; Custo da MP e MC; Natureza dos programas em execuo.

Estudos apontam que capacidades aceitveis para MC como:


Entre

32K e 256Kbytes para Caches L1; Entre 64K e 4Mbytes para Caches L2;

Memria Cache

You might also like