A maior rede de estudos do Brasil

Grátis
26 pág.
06-memoria-cache

Pré-visualização | Página 1 de 1

Memória Cache
 Devido a grande diferença de velocidade 
existente entre o processador e a memória 
principal, foi desenvolvido um elemento 
intermediário que tem o propósito de minimizar 
o impacto desse problema no sistema de 
computação: A memória Cache.
Introdução
Introdução
 Principio de Localidade
 Localidade temporal:
 Ao acessar uma palavra na memória principal é muito 
provável que o processador volte a acessar essa mesma 
palavra novamente durante a execução dos programas 
(loops).
 Localidade Espacial:
 Ao acessar uma palavra na memória principal é provável 
que em seguida o processador tente acessar uma palavra 
de memória subjacente à acessada préviamente.
Introdução
 A Memória Cache (MC) se baseia 
fundamentalmente nos princípios de localidade 
temporal e espacial.
 Funcionando como um elemento intermediário 
entre a CPU e a MP e armazenando as 
informações que muito provavelmente serão 
requisitadas pela CPU.
Utilização da MC
 Uma vez introduzida no sistema de 
computação o funcionamento do sistema é 
alterado de forma que antes de realizar um 
acesso direto a MP a informação é 
primeiramente buscada na Memória Cache.
 Se a informação requisitada estiver presente na 
Memória Cache ocorre um acerto(hit) e a 
informação é transferida para a CPU em “alta” 
velocidade.
 Caso contrario ocorre uma falta (miss) e o sistema 
busca a informação na MP, e a transfere para a 
memória Cache (juntamente com outras 
informações determinadas pelo principio da 
localidade). 
Utilização da MC
CPU
Memória Cache
Memória Principal
Considerações sobre a Utilização da MC
 Para haver aumento de desempenho do 
sistema é necessário 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 considerável com a 
utilização de memórias Cache.
Tipos de Memória Cache
 Pelo ganho de desempenho que proporciona ao 
sistema de computação as memórias cache 
vêm se tornando um elemento imprescindível 
nos sistemas atuais e sendo utilizadas além da 
relação CPU-MP.
 Também vêm sendo empregadas para 
aumentar o desempenho do sistema na relação 
 MP-MS (Memória Secundária) ex:
Memórias “Cache” para discos rígidos.
Níveis de Memória Cache 
 Com o 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.
 L1 (Memórias Cache internas ao processador);
 L2 (internas ou externas ao processador);
 L3 (externas ao processador , e existente em 
poucos processadores);
Funções de Mapeamento
 Técnicas para estabelecer uma associação 
entre as células da MP e os blocos da Memória 
Cache.
Mapeamento Direto;
Mapeamento Associativo;
Mapeamento Associativo por Conjuntos.
Funções de Mapeamento-Mapeamento 
direto
 A Memória Principal é sub-dividida em 
agrupamentos de células que podem ser 
armazenados diretamente nas “células” da 
memória Cache.
 Estabelece um mapeamento direto entre os 
blocos da MP e as “células” da memória Cache 
de tal forma que um bloco X estará sempre 
associado a uma mesma “célula” na memória 
cache.
Rótulo Linha Palavra
Funções de Mapeamento-Mapeamento 
direto
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111
00
01
10
11
Memória Principal
Funções de Mapeamento-Mapeamento 
direto
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111
tag informação
01 00
01
10
11
aaaa
bbbb
cccc
dddd
eeee
ffff
gggg
hhhh
iiii
jjjj
kkkk
llll
mmmm
nnnn
oooo
pppp
eeee
índice
Memória Principal
Cache
Funções de Mapeamento-Mapeamento 
direto
Funções de Mapeamento-Mapeamento 
direto
 Vantagens
 Implementação simples;
 Funcionamento simples;
 Desvantagens
 Inflexível em relação ao estabelecimento da 
associação 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.
Funções de Mapeamento-Mapeamento 
Associativo
 Diferente do mapeamento direto o 
Mapeamento associativo não determina um 
local fixo na MC para os blocos da MP;
 Os endereços de acesso a MP são interpretados 
da mesma forma que no mapeamento direto. 
Porém o número de Bits demandados para a 
determinação do rótulo é maior;
Rótulo
Palavra
Funções de Mapeamento-Mapeamento 
Associativo
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111
00
01
10
11
Memória Principal
Funções de Mapeamento-Mapeamento 
Associativo
 Vantagens
 Flexibilidade na associação entre MP e MC;
 Desvantagens
 Complexidade de implementação;
Maior demanda de processamento;
Funções de Mapeamento-Mapeamento 
Associativo por Conjuntos
 Criada com o objetivo de eliminar os problemas 
das técnicas de mapeamento direto e 
mapeamento associativo;
 Blocos da MP são associados a um conjunto de 
linhas na MC.
Rótulo Conjunto
Palavra
Funções de Mapeamento-Mapeamento 
Associativo por Conjuntos
Algoritmos de substituição de dados
 A capacidade de armazenamento da MP é 
muito maior do que a capacidade de 
armazenamento da MC; 
 Os algoritmos de substituição de dados na MC 
têm a tarefa de definir qual dos blocos já 
armazenados na Memória Cache deve ser 
retirado para o armazenamento de um novo 
bloco.
 Algoritmos de substituição de dados não são 
aplicáveis quando a função de mapeamento é o 
mapeamento direto visto que, utilizando essa 
técnica a localização do bloco na MP é que 
determinará a posição da informação na MC.
Algoritmos de substituição de dados
 Algoritmos:
 LRU (least Recently Used): Determina como 
candidatos à substituição os que não foram 
acessados recentemente.
 FIFO (First-In-First-Out): Seleciona como 
candidado para substituição 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 Aleatória: O sistema de controle da 
memória Cache escolhe aleatoriamente o bloco 
que será removido.
Políticas de escrita
 Mecanismos para garantir a integridade das 
informações processadas no sistema, apesar 
das transferências entre a MP e a MC;
 Escrita em Ambas (write through)
 toda modificação de dados na Cache acarreta uma 
modificação na MP.
 Escrita somente no retorno (write back)
 A informação modificada na Cache só será 
repassada para a MP quando estiver a ponto de ser 
substituída.
Tamanho da Memória Cache
 A definição da faixa de tamanho (capacidade 
de armazenamento) de uma cache depende:
 Capacidade de armazenamento da MP;
 Razão acertos/falhas aceitavel;
 Tempo de acesso da MP e da MC;
 Custo da MP e MC;
Natureza dos programas em execução.
 Estudos apontam que capacidades aceitáveis 
para MC como:
 Entre 32K e 256Kbytes para Caches L1;
 Entre 64K e 4Mbytes para Caches L2;
Memória Cache