Sei sulla pagina 1di 16

Hierarquia de Memria

No projeto de um sistema digital, deve-se ter em mente que hardware


menor geralmente mais rpido do que hardware maior.
A propagao do sinal uma das principais causas de atrasos. No caso
da memria, quanto maior mais atraso de sinal e mais nveis para
decodificar endereos.
Na maioria das tecnologias, pode-se obter memrias menores que so
mais rpidas do que memrias maiores.
As memrias mais rpidas esto geralmente disponveis em nmeros
menores de bits por integrado e custam substancialmente mais por byte.
Arquiteturas de Alto Desempenho - Profa Luiza Mourelle

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.

Arquiteturas de Alto Desempenho - Profa Luiza Mourelle

Hierarquia de Memria
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.

Arquiteturas de Alto Desempenho - Profa Luiza Mourelle

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

Arquiteturas de Alto Desempenho - Profa Luiza Mourelle

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.

Arquiteturas de Alto Desempenho - Profa Luiza Mourelle

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

Arquiteturas de Alto Desempenho - Profa Luiza Mourelle

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

0, 4096, 8192, 12288, ...

600

2131

4, 4100, 8196, 12292, ...

1410

8, 4104, 8200, 12296, ...

0
cache com
mapeamento direto

1023

4092, 8188, 12284, 16380, ...

Arquiteturas de Alto Desempenho - Profa Luiza Mourelle

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

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.
Arquiteturas de Alto Desempenho - Profa Luiza Mourelle

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

Arquiteturas de Alto Desempenho - Profa Luiza Mourelle

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.

Arquiteturas de Alto Desempenho - Profa Luiza Mourelle

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).

Arquiteturas de Alto Desempenho - Profa Luiza Mourelle

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

Potrebbero piacerti anche