Prof. Mrcio Castro [email protected]
INE5602 Introduo Inform@ca
Arquitetura de computadores Aula 3: Memrias
Sumrio
Memory Wall Hierarquia de memria Exemplo de uso
INE5602 - Prof. Mrcio Castro 2
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 4
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 5
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 6
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 7
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
9 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
10 INE5602 - Prof. Mrcio Castro
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
INE5602 - Prof. Mrcio Castro 18
Disco P0
Memria RAM
Cache L3 Cache L2
Cache L1
Processador
Exemplo de uso Plataforma hipot@ca
INE5602 - Prof. Mrcio Castro 19
Disco N0
Memria RAM
Cache L3 Cache L2
Cache L1
Ncleo Processador
Exemplo de uso Plataforma hipot@ca
INE5602 - Prof. Mrcio Castro 20
Disco N0
Memria RAM
Cache L3 Cache L2
Cache L1
Ncleo
Pgina Bloco Bloco
Palavras
Processador
Exemplo de uso Plataforma hipot@ca
INE5602 - Prof. Mrcio Castro 21
Disco N0
Memria RAM
Cache L3 Cache L2
Cache L1
Ncleo
Trajeto dos dados Processador
Exemplo de uso Carregamento de um programa para a memria
INE5602 - Prof. Mrcio Castro 22
Disco N0
Memria RAM
Cache L3 Cache L2
Cache L1
Ncleo Processador
Exemplo de uso Incio da execuo do programa
INE5602 - Prof. Mrcio Castro 23
Disco N0
Memria RAM
Cache L3 Cache L2
Cache L1
Ncleo
Dados no encontrados nas caches
Processador
Exemplo de uso Incio da execuo do programa
INE5602 - Prof. Mrcio Castro 24
Disco N0
Memria RAM
Cache L3 Cache L2
Cache L1
Ncleo Processador
Exemplo de uso Acesso ao dado novamente: Cache hit Localidade temporal
INE5602 - Prof. Mrcio Castro 25
Disco N0
Memria RAM
Cache L3 Cache L2
Cache L1
Ncleo Processador
Exemplo de uso Acesso ao prximo dado: Cache hit Localidade espacial
INE5602 - Prof. Mrcio Castro 26
Disco N0
Memria RAM
Cache L3 Cache L2
Cache L1
Ncleo Processador
Exemplo de uso Acesso ao dado seguinte: Cache miss na L1 e L2
INE5602 - Prof. Mrcio Castro 27
Disco N0
Memria RAM
Cache L3 Cache L2
Cache L1
Ncleo Processador
Exemplo de uso Acesso ao dado seguinte: Cache miss na L1 e L2
INE5602 - Prof. Mrcio Castro 28
Disco N0
Memria RAM
Cache L3 Cache L2
Cache L1
Ncleo Processador
Exemplo de uso Evoluo da execuo
INE5602 - Prof. Mrcio Castro 29
Disco N0
Memria RAM
Cache L3 Cache L2
Cache L1
Ncleo Processador
Exemplo de uso Dois ncleos compar@lhando a cache L3
INE5602 - Prof. Mrcio Castro 30
Disco N0
Memria RAM
Cache L3 Cache L2
Cache L1
Ncleo
N1
Cache L2
Cache L1
Ncleo Processador
Exemplo de uso Novo programa sendo carregado Dados an@gos da RAM p/ o disco: swapping
INE5602 - Prof. Mrcio Castro 31
Disco N0
Memria RAM
Cache L3 Cache L2
Cache L1
Ncleo
N1
Cache L2
Cache L1
Ncleo Processador
Exemplo de uso Novo programa sendo carregado Dados an@gos da RAM p/ o disco: swapping
INE5602 - Prof. Mrcio Castro 32
Disco N0
Memria RAM
Cache L3 Cache L2
Cache L1
Ncleo
N1
Cache L2
Cache L1
Ncleo Processador
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
Prof. Mrcio Castro [email protected]
INE5602 Introduo Inform@ca
Arquitetura de computadores Aula 3: Memrias
Top Related