Escolar Documentos
Profissional Documentos
Cultura Documentos
Sumrio
Memria grande e rpida Princpio da localidade Hierarquia de memria Cache Mtricas de desempenho Classificao Escrita
As memrias mais rpidas esto geralmente disponveis em nmeros menores de bits por integrado e custam substancialmente mais por byte.
Princpio da localidade
O aumento da largura de banda da memria e a diminuio do tempo de acesso memria so tambm importantes para o desempenho do sistema. O princpio da localidade se baseia no fato de que, num intervalo virtual de tempo, os endereos virtuais gerados por um programa tendem a ficar restritos a pequenos conjuntos do seu espao. Isto se deve a iteraes, seqenciamento das instrues e estruturas em bloco. Assim sendo, deveramos manter os itens mais recentemente utilizados na memria mais rpida e o mais prximo possvel da CPU.
Tipos de localidade
H trs componentes do princpio da localidade, que coexistem num processo ativo: Localidade temporal: h uma tendncia a que um processo faa referncias futuras a posies feitas recentemente;
Localidade espacial: h uma tendncia a que um processo faa referncias a posies na vizinhaa da ltima referncia;
Localidade seqencial: h uma tendncia a que um processo faa referncia posio seguinte atual.
Princpio da Localidade
Localidade Temporal (localidade no tempo)
Se um item referenciado , ele tende a ser referenciado novamente dentro de um espao de tempo curto.
Localidade Temporal
Mantenha itens de dados mais recentemente acessados nos nveis da hierarquia mais prximos do processador Localidade Espacial Mova blocos de palavras contguas para os nveis da hierarquia mais prximos do processador
O objetivo de um sistema de memria hierrquico satisfeito uma vez que apresenta ao usurio uma capacidade de memria prxima disponibilida pela tecnologia mais barata, e um tempo de acesso prximo ao disponibilizado pela tecnologia mais cara. Implicando numa melhora significativa da memria
Memria Cache
Cache foi o nome escolhido para designar o nvel da hierarquia de memria situada entre o processador e a memria principal, na primeira mquina comercial que implementou este nvel extra de memria As caches apareceram primeiro nas mquinas desenvolvidas para pesquisa, no incio da dcada de 1960, sendo implementadas em mquinas comerciais um pouco mais tarde.
9
Hierarquia de memria
10
Hierarquia de Memria
Os nveis da hierarquia so subconjuntos uns dos outros. Todos os dados encontrados em um nvel tambm so encontrados no nvel abaixo dele e assim sucessivamente.
barramento de memria cache
memria barramento de e/s
CPU registradores
< 1 KB < 16 MB 0,25-0,5 ns 0,5-25 ns 20000-100000 MB/s 5000-10000 MB/s CMOS CMOS SRAM compilador hardware
Hierarquia de memria
12
Hierarquia de memria
13
Hierarquia de memria
14
Hierarquia de Memria
Hierarquia de memria consiste em diferentes nveis de memria, associados a diferentes velocidades de acesso e tamanhos.
Hierarquia
Caches separados
Hierarquia de memria
18
Hierarquia de Memria
Taxa de acerto (hit ratio, h) consiste na proporo dos acessos memria encontrados em um nvel da hierarquia.
Taxa de falha (miss ratio, m) consiste na proporo dos acessos memria no encontrados em um nvel da hierarquia.
m 1 h
Ciclos de parada por memria (ncp) consiste do nmero de ciclos que a CPU espera por um acesso memria, quando ocorre uma falha de acesso.
Hierarquia de Memria
O tempo de execuo da CPU deve, ento, levar em conta o nmero de ciclos de parada por memria:
tc ncc ncp cc
O nmero de ciclos de parada depende do nmero de erros (ne) e do custo por erro ou penalidade de erro (pe):
ncp ne pe
erros ncp ic pe instruo
Cache
Um bloco consiste da unidade mnima de informao que pode estar presente ou ausente entre dois nveis da hierarquia. A memria principal, de 2m bytes, dividida em blocos consecutivos de b bytes, totalizando (2m)/b blocos.
Cada bloco tem um endereo, que um mltiplo de b, e o tamanho do bloco , normalmente, uma potncia de 2.
O cache associativo apresenta um nmero de posies, cada uma contendo um bloco e seu nmero de bloco, junto com um bit, que diz se aquela posio est em uso ou no. A ordem das entradas aleatria.
22
Hierarquia de Memria
endereo 0 137 4 52 8 memria principal 12 1410 2 1K posies 1 0 n do bloco v 1 n do bloco 0 valor 137
1
1 0
600
2
2131
1410
160248
290380
635
~ ~
(224) -1
~ ~
1 22 bits 32 bits cache associativo
Cache associativo
Se o cache estiver cheio, uma entrada ter que ser descartada para deixar lugar para uma nova. Quando aparece um endereo de memria, o microprograma deve calcular o nmero do bloco e, ento, procurar aquele nmero no cache. Para evitar a pesquisa linear, o cache associativo pode fazer uso de uma memria associativa, que compara simultaneamente todas as entradas com o nmero do bloco dado. Isto torna o cache associativo caro.
No cache com mapeamento direto, cada bloco colocado numa posio, cujo nmero pode corresponder, por exemplo, ao resto da diviso do nmero do bloco pelo nmero de posies.
Hierarquia de Memria
posio v 0 1 1 1 2 1 tag 0 600 2 valor 137 2131 1410 endereos 0, 4096, 8192, 12288, ... 4, 4100, 8196, 12292, ... 8, 4104, 8200, 12296, ...
3 0
cache com mapeamento direto
1023 0
Hierarquia de Memria
O campo tag guarda a parte do endereo que no participa do endereamento da posio. Ex: Seja a palavra no endereo 8192. endereo da palavra
tag
posio
00
12 bits
10 bits
Os dois bits menos significativos so 0, pois os blocos so inteiros e mltiplos do tamanho do bloco (4 bytes). O fato de que blocos mltiplos mapeiam na mesma posio pode degradar o desempenho do cache, se muitas palavras que estiverem sendo usadas mapeiem na mesma posio.
27
Direct Mapped
Fully Associative
Hierarquia de Memria
Tanto o cache associativo quanto o de mapeamento direto so casos especiais do cache associativo por conjunto. O cache de mapeamento direto mais simples, mais barato e tem tempo de acesso mais rpido. O cache associativo tem uma taxa de acerto maior para qualquer dado nmero de posies, pois a probabilidade de conflitos mnima.
1
2 3
...
Tcnicas de Escrita
Uma tcnica para manipular escritas denominada write through, quando uma palavra escrita de volta na memria imediatamente aps ter sido escrita no cache (consistncia de dados). Outra tcnica denominada copy back, em que a memria s atualizada quando a entrada expurgada do cache para permitir que outra entrada tome conta da posio (consistncia de dados).
Mecanismos de Escrita
A tcnica write through causa mais trfego de barramento.
A tcnica copy back pode gerar inconsistncia se o processador efetuar uma transferncia entre memria e disco, enquanto a memria no tiver sido atualizada.
Se a razo de leituras para escritas for muito alta, pode ser mais simples usar write through. Se houver muitas escritas, pode ser melhor usar copy back e fazer com que o microprograma expurgue todo o cache antes de uma operao de entrada/sada.
Caches Multinvel
Os microprocessadores atuais de alta performace suportam um nvel adicional de memria cache, sendo que esta cache adicional implicar em uma penalidade por falta menor, uma vez que tempo de acesso memria principal bem maior que a anterior.
41