Sunteți pe pagina 1din 22

Hierarquia de Memria

Introduo e Anlise do Desempenho

AC1 Hierarquia da Memria: Anlise do Desempenho

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

Como manter o processador alimentado com dados e instrues?


AC1 Hierarquia da Memria: Anlise do Desempenho 2

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

Distncia CPU Capacidade

cache Mem. central

Velocidade Preo

Disco Tapes

AC1 Hierarquia da Memria: Anlise do Desempenho

Localidade
o princpio da localidade, exibido pela maior parte dos programas no acesso memria, que permite acelerar os acessos mesma com a hierarquia

O princpio da localidade divide-se em 2 componentes: Localidade temporal Localidade espacial

AC1 Hierarquia da Memria: Anlise do Desempenho

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.

AC1 Hierarquia da Memria: Anlise do Desempenho

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.

O nvel mais baixo contem a totalidade dos dados.

Cache Memria Central

Disco

AC1 Hierarquia da Memria: Anlise do Desempenho

Terminologia (cache memria central)


Linha a cache est dividida em linhas. Cada linha tem o seu endereo (ndice) e tem a capacidade de um bloco Bloco Quantidade de informao que transferida de cada vez da memria central para a cache. igual capacidade da linha. Hit Diz-se que ocorreu um hit quando o elemento de memria acedido pelo CPU se encontra na cache. Miss Diz-se que ocorreu um miss quando o elemento de memria acedido pelo CPU no se encontra na cache, sendo necessrio l-lo da memria central. Cache
000 001 010 011 100

101
110 111

AC1 Hierarquia da Memria: Anlise do Desempenho

Terminologia (cache memria central)


Hit rate Percentagem de hits ocorridos relativamente ao total de acessos memria. Miss rate Percentagem de misses ocorridos relativamente ao total de acessos memria. Miss rate = (1 hit rate) Hit time Tempo necessrio para aceder cache, incluindo o tempo necessrio para determinar se o elemento a que o CPU est a aceder se encontra ou no na cache. Miss penalty Tempo necessrio para carregar um bloco da memria central para a cache quando ocorre um miss.

AC1 Hierarquia da Memria: Anlise do Desempenho

Hierarquia da memria - Desempenho


Texec # I * CPI * Tcc
Como que a hierarquia de memria influencia Texec?
#I O nmero de instrues a executar depende do algoritmo, do conjunto de instrues e do compilador. Tcc fixo para cada mquina. No pode ser alterado modificando a organizao da memria.

AC1 Hierarquia da Memria: Anlise do Desempenho

10

Hierarquia da Memria Desempenho


Texec # I * CPI * Tcc CPI CPI CPU CPI MEM
CPICPU n de ciclos que o processador necessita, em mdia, para executar cada instruo; O hit time considera-se includo no CPICPU CPIMEM n de ciclos que o processador pra, em mdia, espera de dados da memria central, por que no encontrou estes dados na cache. Estes so vulgarmente designados por memory stall cycles ou wait states.

Texec # I * (CPI CPU CPI MEM ) * Tcc


AC1 Hierarquia da Memria: Anlise do Desempenho 11

Hierarquia da Memria Desempenho


CPI MEM %acessosMem * missrate * misspenalty
Os acessos memria devem-se ao fetch de instrues e ao acesso a dados. Como estes tm comportamentos diferentes usam-se diferentes percentagens de acesso memria e miss rate para os dois casos. Instrues Todas as instrues so lidas da memria, logo a % de acesso memria de 100%. missrateI refere-se ao acesso s instrues. Esta geralmente menor que a dos dados devido localidade espacial. Dados Apenas uma determinada percentagem de instrues acede memria (%Mem). missrateD refere-se ao acesso a dados.

CPI MEM (missrate I %Mem * missrate D ) * misspenalty


AC1 Hierarquia da Memria: Anlise do Desempenho 12

Hierarquia da Memria Desempenho


Abreviando missrate por mr e misspenalty por mp temos

Texec # I * (CPI CPU CPI MEM ) * Tcc

CPI MEM (mrI %Mem * mrD ) * mp


substituindo

Texec # I *[CPI CPU (mrI % Mem * mrD ) * mp ] * Tcc


NOTA: A miss penalty (mp) tem que ser expressa em ciclos do clock.

AC1 Hierarquia da Memria: Anlise do Desempenho

13

Hierarquia da Memria Desempenho


Considere uma mquina com uma miss rate de 4% para instrues, 5% para dados e uma miss penalty de 10 ciclos. Assuma ainda que 40% das instrues so loads ou stores, e que o CPICPU 2. Qual o CPI total?

CPI CPI CPU CPI MEM CPI CPU (mrI %Mem * mrD ) * mp

CPI 2 (0.04 0.4 * 0.05) *10 2 0.6 2.6


Se a frequncia do relgio for de 800 MHz e o programa executar 109 instrues qual o tempo de execuo?

1 Texec # I * CPI * Tcc 10 * 2.6 * 3.25s 6 800 *10


9
AC1 Hierarquia da Memria: Anlise do Desempenho 14

Hierarquia da Memria - Desempenho


Considere um programa com as caractersticas apresentadas na tabela, a executar numa mquina com memria de tempo de acesso 0. Se a frequncia do processador for 1 GHz, qual o CPI mdio e o tempo de execuo?
Instruo Clculo Acesso Mem. N Instrues 3*108 6*108 CPI 1,1 2,5

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

Hierarquia da Memria Desempenho


Considere o mesmo programa e mquina do acetato anterior, mas agora com um tempo de acesso memria de 10 ns (por palavra ou instruo). Suponha ainda que esta mquina no tem cache. Qual o CPI efectivo e o tempo de execuo?

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 (1 0.6 *1) *10 2 16 18


1 Texec # I * CPI * Tcc 10 *18 * 9 18s 10
9
AC1 Hierarquia da Memria: Anlise do Desempenho 16

Hierarquia da Memria Desempenho


Considere agora que existe uma cache com linhas de 4 palavras; a miss rate de acesso s instrues de 6% e de acesso aos dados de 10%; o tempo de acesso memria central constitudo por uma latncia de 40 ns mais 10 ns por palavra. Qual o CPI mdio e o tempo de execuo? mp = 40 + 10*4 = 80 ns ; em ciclos mp = 80/1 = 80 ciclos

CPI CPI CPU CPI MEM 2 (0.06 0.6 * 0.1) * 80 2 9.6 11 .6


1 Texec # I * CPI * Tcc 10 *11.6 * 9 11.6s 10
9
AC1 Hierarquia da Memria: Anlise do Desempenho 17

Hierarquia da Memria Desempenho


Suponha que a capacidade da cache aumentada para o dobro, resultando numa miss rate de acesso s instrues de 3.2% e acesso aos dados de 8%. No entanto, o tempo de acesso cache (hit time) tambm aumenta, resultando num CPICPU de 2.5 . Qual o CPI mdio e o tempo de execuo?

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

AC1 Hierarquia da Memria: Anlise do Desempenho

18

Hierarquia da Memria Desempenho


Para tirar maior partido da localidade espacial aumentou-se o nmero de palavras por linha de 4 para 8, reduzindo a miss rate de instrues para 1% e de dados para 6%. O tempo de acesso memria central composto por uma latncia de 40 ns mais 10 ns por palavra. Qual o CPI mdio e o tempo de execuo? mp = 40 + 10*8 = 120 ns ; em ciclos mp = 120/1 = 120 ciclos

CPI CPI CPU CPI MEM 2.5 (0.01 0.6 * 0.06 ) *120 2.5 5.52 8.02

1 Texec # I * CPI * Tcc 10 * 8.02 * 9 8.02s 10


9
AC1 Hierarquia da Memria: Anlise do Desempenho 19

Hierarquia da Memria Desempenho


Para reduzir a miss penalty a memria central foi substituda por outra com uma latncia de 40 ns e 5 ns por palavra. Qual o CPI mdio e o tempo de execuo? mp = 40 + 5*8 = 80 ns ; em ciclos mp = 80/1 = 80 ciclos

CPI CPI CPU CPI MEM 2.5 (0.01 0.6 * 0.06 ) * 80 2.5 3.68 6.18

1 Texec # I * CPI * Tcc 10 * 6.18 * 9 6.18s 10


9

AC1 Hierarquia da Memria: Anlise do Desempenho

20

Hierarquia da Memria Desempenho


Finalmente o processador foi substitudo por outro com uma frequncia de 3 GHz, sem que a memria tenha sofrido qualquer alterao. Qual o CPI mdio e o tempo de execuo?

O ciclo do relgio agora de 0.33 ns, logo mp = 80/0.33=240 ciclos

CPI CPI CPU CPI MEM 2.5 (0.01 0.6 * 0.06 ) * 240 2.5 11 .04 13 .54

1 Texec # I * CPI * Tcc 10 *13.54 * 4.513s 9 3 *10


9
AC1 Hierarquia da Memria: Anlise do Desempenho 21

Sumrio
Tema Hierarquia de memria Localidade Hierarquia de memria Desempenho Sec. 7.1 Sec. 7.1, 7.2 Sec. 7.3 H&P

AC1 Hierarquia da Memria: Anlise do Desempenho

22

S-ar putea să vă placă și