7
Desde 1980, CPUs têm avançado mais rapidamente que DRAMs ... CPU 60% por ano 2X em 1.5 anos DRAM 9% por anos 2X em 10 anos 10 DRAM CPU Desempenho (1/latência) 100 1000 19 80 20 00 19 90 Year Gap crece 50% por ano P. Como arquitetos tem tratado este GAP? R. Colocando memórias “cache” entre a CPU e a DRAM. Ou seja, criando um hierarquia de memória.

Desde 1980, CPUs têm avançado mais rapidamente que DRAMs... CPU 60% por ano 2X em 1.5 anos DRAM 9% por anos 2X em 10 anos 10 DRAM CPU Desempenho (1/latência)

Embed Size (px)

Citation preview

Page 1: Desde 1980, CPUs têm avançado mais rapidamente que DRAMs... CPU 60% por ano 2X em 1.5 anos DRAM 9% por anos 2X em 10 anos 10 DRAM CPU Desempenho (1/latência)

Desde 1980, CPUs têm avançado mais rapidamente que DRAMs ...

CPU60% por ano2X em 1.5 anos

DRAM9% por anos2X em 10 anos

10

DRAM

CPU

Desempenho(1/latência)

100

1000

1980

2000

1990

Year

Gap crece 50% por ano

P. Como arquitetos tem tratado este GAP? R. Colocando memórias “cache”

entre a CPU e a DRAM. Ou seja, criando um hierarquia de

memória.

Page 2: Desde 1980, CPUs têm avançado mais rapidamente que DRAMs... CPU 60% por ano 2X em 1.5 anos DRAM 9% por anos 2X em 10 anos 10 DRAM CPU Desempenho (1/latência)

1977: DRAMs mais rápidas que microprocessadores

Apple ][ (1977)

Steve WozniakSteve

Jobs

CPU: 1000 ns DRAM: 400 ns

Page 3: Desde 1980, CPUs têm avançado mais rapidamente que DRAMs... CPU 60% por ano 2X em 1.5 anos DRAM 9% por anos 2X em 10 anos 10 DRAM CPU Desempenho (1/latência)

Níveis de hierarquia de memória

CPU Registers100s Bytes<10s nsIndeterminado

CacheK Bytes1-100 ns1-0.1 cents/bit

Main MemoryM Bytes50ns- 500ns$.0001-.00001 cents /bit

DiskG Bytes, 10 ms (10,000,000 ns)

10 - 10 cents/bit-5 -6

- Nome- Capacidade- Tempo de acesso- Custo

Tapeinfinitesec-min10 -8

Registers

Cache

Memory

Disk

Tape

Instr. Operands

Blocks

Pages

Files

- Quem cuida- Unidade transferida

prog./compiler1-8 bytes

cache control8-128 bytes

OS512-4K bytes

user/operatorMbytes

Upper Level

Lower Level

faster

Larger

Page 4: Desde 1980, CPUs têm avançado mais rapidamente que DRAMs... CPU 60% por ano 2X em 1.5 anos DRAM 9% por anos 2X em 10 anos 10 DRAM CPU Desempenho (1/latência)

Hierarquia de Memória: Apple iMac G5

iMac G51.6 GHz

07 Reg L1 Inst L1 Data L2 DRAM Disk

Size 1K 64K 32K 512K 256M 80G

Latency

(Cycles), Time (ns)

1,

0.6 ns

3,

1.9 ns

3,

1.9 ns

11,

6.9 ns

88,

55 ns

107,

12 ms

Permite que os programas enderecem espaço de memória que escala até o tamanho do disco, mas a velocidades

usualmente tão altas quanto a dos registradores

Gerenciado pelo

compilador

Geranciado p/ hardware

Gerenciado p/ OS,hardware,aplicação

Objetivo: Ilusão de que a memória é grande, rápida de barata.

Page 5: Desde 1980, CPUs têm avançado mais rapidamente que DRAMs... CPU 60% por ano 2X em 1.5 anos DRAM 9% por anos 2X em 10 anos 10 DRAM CPU Desempenho (1/latência)

iMac’s PowerPC 970: Todos os caches on-chip

(1K)

Registers

512KL2

L1 (64K Instruction)

L1 (32K Data)

Page 6: Desde 1980, CPUs têm avançado mais rapidamente que DRAMs... CPU 60% por ano 2X em 1.5 anos DRAM 9% por anos 2X em 10 anos 10 DRAM CPU Desempenho (1/latência)

Localidade ...

Donald J. Hatfield, Jeanette Gerald: Program Restructuring for Virtual Memory. IBM Systems Journal 10(3): 168-192 (1971)

tempo

En

der

eço

de

mem

óri

a (u

m p

on

to p

or

aces

so

Localidade

espacial

Localidade

temporal

Localidade ruim

Page 7: Desde 1980, CPUs têm avançado mais rapidamente que DRAMs... CPU 60% por ano 2X em 1.5 anos DRAM 9% por anos 2X em 10 anos 10 DRAM CPU Desempenho (1/latência)

As Três Vantagens de Memória Virtual

• Tradução: – Os programas tem uma visão consistente da memória, ainda que as

páginas estejam misturadas na memória física– Viabiliza a execução de múltiplos processos ou threads– Apenas a parte relevante do programa a cada momento precisa ficar na

memória (Working Set)– Estruturas contiguas como o stack ou o heap podem iniciar pequenas e

crescer conforme necessário

• Proteção:– Processos diferentes ficam protegidos uns dos outros– Páginas diferentes podem ter características diferentes

» Read only, S.O., etc.– Dados do S.O. protegidos dos usuários– Importante proteção contra “malware”

• Compartilhamento:– Uma página física podem ser compartilhada entre vários precessos

(DLLs, “Shared memory”)