Documente Academic
Documente Profesional
Documente Cultură
Hierarquia de Memria
A velocidade dos processadores tem aumentado muito mais rapidamente do que a velocidade das memrias (DRAM). fCPU = 1.0 .. 3.0 GHz => Tcc = 1.0 .. 0.33 ns O tempo de acesso DRAM ronda os 5 .. 60 ns
100
CPUs rpidos
CPUs lentos
Melhoria 10
DRAM
1 1980
1990
1996
Hierarquia de Memria
Soluo: Dotar a mquina de vrios nveis de memria, to mais rpidos (e mais caros e com menor capacidade) quanto mais perto se encontram do processador. Cada nvel contm uma cpia do cdigo e dados mais usados em cada instante.
SRAM Static RAM Extremamente rpida e cara DRAM Dynamic RAM Mais lenta e barata
Velocidade Preo
Disco Tapes
Localidade
o princpio da localidade, exibido pela maior parte dos programas no acesso memria, que permite acelerar os acessos mesma com a hierarquia
Localidade Temporal
Localidade Temporal um elemento de memria acedido pelo CPU ser, com grande probabilidade, acedido de novo num futuro prximo. Exemplos: tanto as instrues dentro dos ciclos, como as variveis usadas como contadores de ciclos, so acedidas repetidamente em curtos intervalos de tempo.
Consequncia a 1 vez que um elemento de memria acedido deve ser lido do nvel mais baixo (por exemplo, da memria central).
Mas da 2 vez que acedido existem grandes hipteses que se encontre na cache, evitando-se o tempo de leitura da memria central.
Localidade Espacial
Localidade Espacial se um elemento de memria acedido pelo CPU, ento elementos com endereos na proximidade sero, com grande probabilidade, acedidos num futuro prximo. Exemplos: as instrues so acedidas em sequncia, assim como, na maior parte dos programas os elementos dos arrays.
Consequncia a 1 vez que um elemento de memria acedido, deve ser lido do nvel mais baixo (por exemplo, memria central) no apenas esse elemento, mas sim um bloco de elementos com endereos na sua vizinhana. Se o processador, nos prximos ciclos, acede a um endereo vizinho do anterior (ex.: prxima instruo ou prximo elemento de um array) aumenta a probabilidade de esta estar na cache.
AC1 Hierarquia da Memria: Anlise do Desempenho 6
Incluso
Os dados contidos num nvel mais prximo do processador so sempre um sub-conjunto dos dados contidos no nvel anterior.
Disco
101
110 111
10
13
CPI CPI CPU CPI MEM CPI CPU (mrI %Mem * mrD ) * mp
Salto
TOTAL:
1*108
109
1,7
CPI CPI CPU CPI MEM (3 *1.1 6 * 2.5 1*1.7) / 10 0 2 1 9 Texec # I * CPI * Tcc 10 * 2 * 9 2s 10
AC1 Hierarquia da Memria: Anlise do Desempenho 15
CPI CPI CPU CPI MEM CPI CPU (mrI %Mem * mrD ) * mp
Se a mquina no tem cache, ento mrI = mrD = 100%. Da tabela tiramos que %Mem = 60%. mp expresso em ciclos do relgio 10/1 = 10 ciclos (f=1 GHz)
CPI CPI CPU CPI MEM 2.5 (0.032 0.6 * 0.08) * 80 2.5 6.4 8.9
1 Texec # I * CPI * Tcc 10 * 8.9 * 9 8.9s 10
9
18
CPI CPI CPU CPI MEM 2.5 (0.01 0.6 * 0.06 ) *120 2.5 5.52 8.02
CPI CPI CPU CPI MEM 2.5 (0.01 0.6 * 0.06 ) * 80 2.5 3.68 6.18
20
CPI CPI CPU CPI MEM 2.5 (0.01 0.6 * 0.06 ) * 240 2.5 11 .04 13 .54
Sumrio
Tema Hierarquia de memria Localidade Hierarquia de memria Desempenho Sec. 7.1 Sec. 7.1, 7.2 Sec. 7.3 H&P
22