Вы находитесь на странице: 1из 34

INE5602

Introduo
Inform@ca
Arquitetura de computadores
Aula 3: Memrias
Prof. Mrcio Castro
marcio.castro@inf.ufsc.br

Sumrio

Memory Wall
Hierarquia de memria
Exemplo de uso

INE5602 - Prof. Mrcio Castro

MEMORY WALL
3

Memory Wall
Disparidade entre desempenho de
processadores e memria
Diferena crescente: ponto onde melhorias
na CPU no adiantariam de nada

INE5602 - Prof. Mrcio Castro

Memory Wall
Exemplo
Processador de 2 GHz executa uma instruo
por ciclo
2 GHz = 2x109 ciclos por segundo = 0,5 ns/ciclo
Tempo de cada instruo: 0,5 ns

Cada acesso memria leva 100 ciclos


Acesso memria: 100 * 0,5 ns = 50 ns

Se 20% das instrues acessam a memria,


qual o tempo mdio das instrues por ciclo?
Resposta: 0,8*0,5 ns + 0,2*50 ns = 10,4 ns (96 MHz)
INE5602 - Prof. Mrcio Castro

Memory Wall
Como amenizar o efeito da Memory Wall?
E se ns @vssemos uma memria
intermediria que reduzisse o tempo de
acesso?
Exemplo: se 95% dos acessos levassem 5
ciclos na memria intermediria
= 0,8*0,5 + 0,2*(0,95*2,5 + 0,05*50)
= 0,4 + 0,2*(2,375 + 2,5)
= 0,4 + 0,975 = 1,375 ns
727 MHz ou 7,5x melhor do que antes
INE5602 - Prof. Mrcio Castro

Memory Wall
Como amenizar o efeito da Memory Wall?
E se, ao invs de uma memria intermediria,
ns @vssemos vrias?
Uma memria depois da outra
Primeiro tenta na mais rpida
Depois na segunda mais rpida
Depois na terceira mais rpida ...

Algo como uma hierarquia de memrias!

INE5602 - Prof. Mrcio Castro

HIERARQUIA DE
MEMRIA
8

Hierarquia de memria

Estrutura que usa ml@plos nveis de


memria
Quanto mais longe da CPU, a memria
Maior,
Mais lenta, e
Mais barata

INE5602 - Prof. Mrcio Castro

Hierarquia de memria
Exemplos
Caches
SRAM: Sta-c Random Access Memory
Dois ou trs nveis internos ao processador, MBs
de capacidade

Memria principal
DRAM: Dynamic Random Access Memory
Alguns pentes de memria com GBs de capacidade

Memria secundria
Disco rgido com TBs de capacidade
INE5602 - Prof. Mrcio Castro

10

Hierarquia de memria

INE5602 - Prof. Mrcio Castro

11

Hierarquia de memria
Exemplo: mquina c/ 24 processadores (Intel)

INE5602 - Prof. Mrcio Castro

12

Hierarquia de memria
Exemplo: mquina c/ 24 processadores (Intel)

INE5602 - Prof. Mrcio Castro

13

Hierarquia de memria
Exemplo: AMD Piledriver microarch.
Cache L1: 64 KB inst. + 64 KB dados / ncleo
Cache L2: 2 MB compar@lhados por 2 ncleos
Cache L3: 8 MB compar@lhados

INE5602 - Prof. Mrcio Castro

14

Hierarquia de memria
Exemplo: ARM Cortex-A15
Cache L1: 32 KB + 32 KB / ncleo
Cache L2: at 4 MB compar@lhados

INE5602 - Prof. Mrcio Castro

15

Hierarquia de memria

Exemplo: Oracle Sparc T5


Cache L1: 16 KB + 16 KB
Cache L2: 128 KB / ncleo
Cache L3: 8 MB compar@lhados
128 threads ao mesmo tempo

INE5602 - Prof. Mrcio Castro

16

EXEMPLO DE USO
17

Exemplo de uso
Plataforma hipot@ca

Cache L3

Cache L2

Processador
Cache L1

Memria RAM

P0

Disco
INE5602 - Prof. Mrcio Castro

18

Exemplo de uso
Plataforma hipot@ca

Cache L3

Cache L2

Cache L1

Memria RAM

N0

Disco

Processador

INE5602 - Prof. Mrcio Castro

Ncleo

19

Exemplo de uso
Plataforma hipot@ca
Pgina

Bloco

Bloco

Cache L3

Cache L2

Palavras
Cache L1

Memria RAM

N0

Disco

Processador

INE5602 - Prof. Mrcio Castro

Ncleo

20

Exemplo de uso
Plataforma hipot@ca

Cache L3

Cache L1

Memria RAM
Disco

Cache L2

Trajeto dos dados


Processador

INE5602 - Prof. Mrcio Castro

N0
Ncleo

21

Exemplo de uso
Carregamento de um programa para a
memria

Cache L3

Cache L2

Cache L1

Memria RAM

N0

Disco

Processador

INE5602 - Prof. Mrcio Castro

Ncleo

22

Exemplo de uso
Incio da execuo do programa

Cache L3

Memria RAM

Dados no
encontrados
nas caches

Cache L2

Cache L1
N0

Disco

Processador

INE5602 - Prof. Mrcio Castro

Ncleo

23

Exemplo de uso
Incio da execuo do programa

Cache L3

Cache L2

Cache L1

Memria RAM

N0

Disco

Processador

INE5602 - Prof. Mrcio Castro

Ncleo

24

Exemplo de uso
Acesso ao dado novamente: Cache hit
Localidade temporal

Cache L3

Cache L2

Cache L1

Memria RAM

N0

Disco

Processador

INE5602 - Prof. Mrcio Castro

Ncleo

25

Exemplo de uso
Acesso ao prximo dado: Cache hit
Localidade espacial

Cache L3

Cache L2

Cache L1

Memria RAM

N0

Disco

Processador

INE5602 - Prof. Mrcio Castro

Ncleo

26

Exemplo de uso
Acesso ao dado seguinte: Cache miss na
L1 e L2

Cache L3

Cache L2

Cache L1

Memria RAM

N0

Disco

Processador

INE5602 - Prof. Mrcio Castro

Ncleo

27

Exemplo de uso
Acesso ao dado seguinte: Cache miss na
L1 e L2

Cache L3

Cache L2

Cache L1

Memria RAM

N0

Disco

Processador

INE5602 - Prof. Mrcio Castro

Ncleo

28

Exemplo de uso
Evoluo da execuo

Cache L3

Cache L2

Cache L1

Memria RAM

N0

Disco

Processador

INE5602 - Prof. Mrcio Castro

Ncleo

29

Exemplo de uso
Dois ncleos compar@lhando a cache L3

Cache L3

Memria RAM
Disco

Processador

INE5602 - Prof. Mrcio Castro

Cache L2

Cache L2

Cache L1

Cache L1

N0

N1

Ncleo

Ncleo

30

Exemplo de uso
Novo programa sendo carregado
Dados an@gos da RAM p/ o disco: swapping

Cache L3

Memria RAM
Disco

Processador

INE5602 - Prof. Mrcio Castro

Cache L2

Cache L2

Cache L1

Cache L1

N0

N1

Ncleo

Ncleo

31

Exemplo de uso
Novo programa sendo carregado
Dados an@gos da RAM p/ o disco: swapping

Cache L3

Memria RAM
Disco

Processador

INE5602 - Prof. Mrcio Castro

Cache L2

Cache L2

Cache L1

Cache L1

N0

N1

Ncleo

Ncleo

32

Exemplo de uso
Como denir onde colocar dados na
cache?
Como decidir onde colocar os dados
memria?
Como decidir quais pginas vo para o
disco devido ao swapping?

INE5602 - Prof. Mrcio Castro

33

INE5602 Introduo
Inform@ca
Arquitetura de computadores
Aula 3: Memrias
Prof. Mrcio Castro
marcio.castro@inf.ufsc.br

Вам также может понравиться