arquitetura de computadores - ufsc

34
Prof. Márcio Castro [email protected] INE5602 – Introdução à Informá@ca Arquitetura de computadores Aula 3: Memórias

Upload: acaua-pitta

Post on 06-Nov-2015

225 views

Category:

Documents


6 download

DESCRIPTION

Arquitetura de computadores, aula 3por Marcio Castro UFSCAula sobre memorias e hierarquias dos computadores, material muito bom disponibilizado de graça

TRANSCRIPT

  • 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