Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Hierarquia de Memria
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.
Hierarquia de Memria
H trs componentes do princpio da localidade, que coexistem num
processo ativo:
Hierarquia de Memria
Hierarquia de memria consiste em diferentes nveis de memria,
associados a diferentes velocidades de acesso e tamanhos.
nvel 1
nvel 2
...
aumento no
tempo de acesso
nvel n
tamanho da memria
Arquiteturas de Alto Desempenho - Profa Luiza Mourelle
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.
CPU
registradores
cache
barramento
de memria
< 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
barramento
de e/s
memria
< 16 GB
80-250 ns
1000-5000 MB/s
CMOS DRAM
sistema operacional
dispositivos de
entrada e sada
> 100 GB
5 ms
20-150 MB/s
disco magntico
sistema operacional
e usurio
5
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
ncp = ni erros pe
instruo
ncp = ni acessosmemria m pe
instruo
Hierarquia de Memria
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.
Arquiteturas de Alto Desempenho - Profa Luiza Mourelle
Hierarquia de Memria
endereo 0
0 n do bloco
137
4
52
8
memria
principal
1410
635
1K posies
n do bloco
valor
137
600
2131
1410
160248
290380
22 bits
32 bits
12
~
~
~
~
(224) -1
Arquiteturas de Alto Desempenho - Profa Luiza Mourelle
cache associativo
9
Hierarquia de Memria
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.
Arquiteturas de Alto Desempenho - Profa Luiza Mourelle
10
Hierarquia de Memria
posio v
tag
valor
endereos
137
600
2131
1410
0
cache com
mapeamento direto
1023
11
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
12
Hierarquia de Memria
No cache associativo por conjunto utiliza-se um cache de mapeamento
direto com mltiplas entradas por posio.
posio v
tag
valor
tag
valor
tag
valor
0
1
2
3
...
1023
entrada 0
entrada 1
entrada n-1
13
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.
14
Hierarquia de Memria
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).
15
Hierarquia de Memria
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.
Arquiteturas de Alto Desempenho - Profa Luiza Mourelle
16