memória e hierarquia de memória -...

95
Infra-estrutura Hardware

Upload: lethuy

Post on 26-Jan-2019

230 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Memória e Hierarquia de Memória - cin.ufpe.brcin.ufpe.br/~if674/arquivos/2018.2/Aulas/cache.pdf · Hierarquia de Memória cache (L1) CPU Registradores memória principal memória

Infra-estrutura Hardware

Page 2: Memória e Hierarquia de Memória - cin.ufpe.brcin.ufpe.br/~if674/arquivos/2018.2/Aulas/cache.pdf · Hierarquia de Memória cache (L1) CPU Registradores memória principal memória

Memória e Hierarquia de

Memória

Infra-estrutura Hardware

Page 3: Memória e Hierarquia de Memória - cin.ufpe.brcin.ufpe.br/~if674/arquivos/2018.2/Aulas/cache.pdf · Hierarquia de Memória cache (L1) CPU Registradores memória principal memória

Infra-estrutura Hardware

Roteiro da Aula

• Hierarquia de Memória

• Localidade temporal e espacial

• Memória cache– Tipos

– Princípio de funcionamento

• Melhorando o desempenho– Aumento do bloco

– Aumento da associatividade

– Reduzindo a penalidade

• Memória principal– Melhorando a taxa de transferência

Page 4: Memória e Hierarquia de Memória - cin.ufpe.brcin.ufpe.br/~if674/arquivos/2018.2/Aulas/cache.pdf · Hierarquia de Memória cache (L1) CPU Registradores memória principal memória

Memória Vs. Armazenamento

• O fichário representa o

disco rígido, com alta

capacidade de

armazenamento.

• A pasta sobre a mesa

representa a memória,

de acesso rápido e fácil

• Mesa e usuário são a

CPU

• OBS: Memória é volátil

e disco não.

– Faxineira no final do

expedienteInfra-estrutura Hardware

Page 5: Memória e Hierarquia de Memória - cin.ufpe.brcin.ufpe.br/~if674/arquivos/2018.2/Aulas/cache.pdf · Hierarquia de Memória cache (L1) CPU Registradores memória principal memória

Sistema Hierárquico de Memória

CPU

Registradores

Memória

Principal

Memória

Secundária

Barramento

de memória

Barramento

de E/S

Infra-estrutura Hardware

Page 6: Memória e Hierarquia de Memória - cin.ufpe.brcin.ufpe.br/~if674/arquivos/2018.2/Aulas/cache.pdf · Hierarquia de Memória cache (L1) CPU Registradores memória principal memória

Nomenclatura Básica

• RAM = Random Acces

Memory

• SRAM = Static RAM

• DRAM = Dynamic RAM

• VRAM - Video RAM

• ROM = Read Only Memory

• PROM = Programmable ROM

• EPROM = Erasable PROM

• EEPROM = Electrically Erasable

PROM (apagamento byte a byte)

• Flash EPROM = Fast erasable

EPROM (apagamento por bloco)

Infra-estrutura Hardware

Page 7: Memória e Hierarquia de Memória - cin.ufpe.brcin.ufpe.br/~if674/arquivos/2018.2/Aulas/cache.pdf · Hierarquia de Memória cache (L1) CPU Registradores memória principal memória

Tipos Básicos de Memória Semicondutora

Tipo de Memória Categoria Apagamento Escrita Volatilidade

Random-AccessMem. (RAM)

Read-Write

Elétricobyte a byte

Elétrica Volátil

Read-Only Mem.(ROM) Read- Impossível

Máscara

ProgrammableROM (PROM)

only

Erasable PROM(EPROM)

Ultra-violetaElétrica não-

Electrically EPROM(EEPROM)

Read-mostly

Elétricobyte a byte

volátil

Flash EPROM Elétricopor bloco

Infra-estrutura Hardware

Page 8: Memória e Hierarquia de Memória - cin.ufpe.brcin.ufpe.br/~if674/arquivos/2018.2/Aulas/cache.pdf · Hierarquia de Memória cache (L1) CPU Registradores memória principal memória

RAM Dinâmica vs. Estática

• DRAM (Dynamic Random Acess Memory)

–Grande capacidade de integração (baixo custo por bit)

–Perda de informação após algum tempo: Necessidade de

refreshing

• SRAM (Static Random Acess Memory)

–Pequeno tempo de acesso

–Não existe necessidade de refreshing

–Alto custo por bit (baixa integração)

Infra-estrutura Hardware

Page 9: Memória e Hierarquia de Memória - cin.ufpe.brcin.ufpe.br/~if674/arquivos/2018.2/Aulas/cache.pdf · Hierarquia de Memória cache (L1) CPU Registradores memória principal memória

Memory Technology

• Static RAM (SRAM)

– 0.5ns – 2.5ns, $2000 – $5000 per GB

• Dynamic RAM (DRAM)

– 50ns – 70ns, $20 – $75 per GB

• Magnetic disk

– 5ms – 20ms, $0.20 – $2 per GB

• Ideal memory

– Access time of SRAM

– Capacity and cost/GB of disk

Page 10: Memória e Hierarquia de Memória - cin.ufpe.brcin.ufpe.br/~if674/arquivos/2018.2/Aulas/cache.pdf · Hierarquia de Memória cache (L1) CPU Registradores memória principal memória

Evolução Tecnológica

Ano Tamanho Tempo de Ciclo

1980 64Kb 250 ns

1983 256 Kb 220 ns

1986 1 Mb 190 ns

1989 4 Mb 165ns

1992 16Mb 145ns

1995 64Mb 120ns

Aumento dacapacidade

Aumento da velocidade

SRAM 2x em 3 anos 2x em 3 anosDRAM 4x em 3 anos 2x em 10 anosDisco 4x em 3 anos 2x em 10 anos

1000:1 2:1

Infra-estrutura Hardware

Page 11: Memória e Hierarquia de Memória - cin.ufpe.brcin.ufpe.br/~if674/arquivos/2018.2/Aulas/cache.pdf · Hierarquia de Memória cache (L1) CPU Registradores memória principal memória

Memória Principal

“640K ought to be enough for

anybody.”

Bill Gates, 1981

Infra-estrutura Hardware

Page 12: Memória e Hierarquia de Memória - cin.ufpe.brcin.ufpe.br/~if674/arquivos/2018.2/Aulas/cache.pdf · Hierarquia de Memória cache (L1) CPU Registradores memória principal memória

Infra-estrutura Hardware

Comparação da Performance da

Mem. Principal e CPU

50

100

150

200

250

300

350

DecAlpha

DecAlpha

IBMPower2

DecAlpha

HP900

IBMPower1MIPS

R3000MIPS

R2000SUN

CPU

Memória

Page 13: Memória e Hierarquia de Memória - cin.ufpe.brcin.ufpe.br/~if674/arquivos/2018.2/Aulas/cache.pdf · Hierarquia de Memória cache (L1) CPU Registradores memória principal memória

Sistema Hierárquico de Memória

Memory

CPU

Memory

Size Cost ($/bit)Speed

Smallest

Biggest

Highest

Lowest

Fastest

Slowest Memory

Infra-estrutura Hardware

Page 14: Memória e Hierarquia de Memória - cin.ufpe.brcin.ufpe.br/~if674/arquivos/2018.2/Aulas/cache.pdf · Hierarquia de Memória cache (L1) CPU Registradores memória principal memória

Processor

Data are transferred

Sistema Hierárquico de Memória

Infra-estrutura Hardware

• Bloco (ou linha): unidade de

cópia

– Pode ser uma ou múltiplas

palavras

• Se dado está presente no nível

superior (mais perto da CPU)

– Hit:

– Hit ratio: nr. hits/nr. acessos

• Se dado está ausente

– Miss: bloco copiado do nível

inferior

• Tempo de acesso: miss penalty

• Miss ratio: misses/acessos

= 1 – hit ratio

– Então acessa dado do nível

superior

Page 15: Memória e Hierarquia de Memória - cin.ufpe.brcin.ufpe.br/~if674/arquivos/2018.2/Aulas/cache.pdf · Hierarquia de Memória cache (L1) CPU Registradores memória principal memória

CPU

Level n

Level 2

Level 1

Levels in the

memory hierarchy

Increasing distance

from the CPU in

access time

Size of the memory at each level

Sistema Hierárquico de Memória

Infra-estrutura Hardware

Page 16: Memória e Hierarquia de Memória - cin.ufpe.brcin.ufpe.br/~if674/arquivos/2018.2/Aulas/cache.pdf · Hierarquia de Memória cache (L1) CPU Registradores memória principal memória

Motivação para hierarquia

• Principio da localidade + Relação

custo/desempenho das tecnologias

• Alto desempenho da CPU

CPU

Registradores

C

a

c

h

e

Memória

Principal

Memória

Secundária

Barramento

de memória

Barramento

de E/S

Infra-estrutura Hardware

Page 17: Memória e Hierarquia de Memória - cin.ufpe.brcin.ufpe.br/~if674/arquivos/2018.2/Aulas/cache.pdf · Hierarquia de Memória cache (L1) CPU Registradores memória principal memória

Princípio da Localidade

• Localidade Temporal

–Num futuro próximo, o programa irá

referenciar as instruções e dados

referenciados recentemente

• Localidade Espacial

–Num futuro próximo, o programa irá

referenciar as instruções e dados

que tenham endereços próximos das

últimas referências.

Infra-estrutura Hardware

Page 18: Memória e Hierarquia de Memória - cin.ufpe.brcin.ufpe.br/~if674/arquivos/2018.2/Aulas/cache.pdf · Hierarquia de Memória cache (L1) CPU Registradores memória principal memória

Hierarquia de Memória

cache (L1)

CPURegistradores

memória principal

memória secundária

Custo e

tamanho

chip

cache (L2)

VelocidadeReg.

Cache

Principal

Cache de Disco

Disco Magnético

Fita CD-ROM

Infra-estrutura Hardware

Page 19: Memória e Hierarquia de Memória - cin.ufpe.brcin.ufpe.br/~if674/arquivos/2018.2/Aulas/cache.pdf · Hierarquia de Memória cache (L1) CPU Registradores memória principal memória

Memória Cache

Infra-estrutura Hardware

Page 20: Memória e Hierarquia de Memória - cin.ufpe.brcin.ufpe.br/~if674/arquivos/2018.2/Aulas/cache.pdf · Hierarquia de Memória cache (L1) CPU Registradores memória principal memória

Memória Principal Vs. Cache

• O fichário representa o

disco rígido.

• A pasta sobre a mesa

representa a memória

principal.

• No quadro de avisos se

encontram informações que

podem ser acessadas de

forma muito rápida. O

quadro representa a cache.

• Mesa e usuário são a CPU

Infra-estrutura Hardware

Page 21: Memória e Hierarquia de Memória - cin.ufpe.brcin.ufpe.br/~if674/arquivos/2018.2/Aulas/cache.pdf · Hierarquia de Memória cache (L1) CPU Registradores memória principal memória

Memória Cache

• Memória Cache

– Nível de memória mais próximo da CPU

• Dados os acessos X1, …, Xn–1, Xn

◼ Como saber se o

dado está presente?

◼ Onde procurar o

dado?

Page 22: Memória e Hierarquia de Memória - cin.ufpe.brcin.ufpe.br/~if674/arquivos/2018.2/Aulas/cache.pdf · Hierarquia de Memória cache (L1) CPU Registradores memória principal memória

Infra-estrutura Hardware

Mapeamento direto

00001 00101 01001 01101 10001 10101 11001 11101

00

0

Cache

Memory

001

01

0

01

1

100

101

110

11

1

• Localização determinada pelo endereço

• Mapeamento direto: somente uma possibilidade

– (Block address) modulo (#Blocks in cache)

◼ #Blocks é uma

potencia de 2

◼ Use bits menos

significativos do

endereço

Page 23: Memória e Hierarquia de Memória - cin.ufpe.brcin.ufpe.br/~if674/arquivos/2018.2/Aulas/cache.pdf · Hierarquia de Memória cache (L1) CPU Registradores memória principal memória

Bits: Tags Validade

• Como saber qual bloco está armazenado

numa localização da cache?

– Armazena parte do endereço (bits mais

significativos) e o dado

– Bits mais significativos: tag

• Como saber se o dado está armazenado?

– Bit Validade: 1 = presente, 0 = não está

present

– Inicialmente: 0

Page 24: Memória e Hierarquia de Memória - cin.ufpe.brcin.ufpe.br/~if674/arquivos/2018.2/Aulas/cache.pdf · Hierarquia de Memória cache (L1) CPU Registradores memória principal memória

Endereçando a cache

• Composição do endereço

– Tag

– Índice

– Endereço de byte

• Exemplo:

– Memória: endereço de 32 bits, acesso por palavra(32

bits), endereçamento por byte

– Cache: capacidade para armazenar 64 palavras

Tag (24) Índice(6) Endereço do

byte

Infra-estrutura Hardware

Page 25: Memória e Hierarquia de Memória - cin.ufpe.brcin.ufpe.br/~if674/arquivos/2018.2/Aulas/cache.pdf · Hierarquia de Memória cache (L1) CPU Registradores memória principal memória

Acessando a memória cache

Endereçodecimal

Endereçobinário

Hit ou missna cache

Bloco na cache

22 10110 Miss 10110 mod 8 =11026 11010 Miss 11010 mod 8 =01022 10110 Hit 10110 mod 8 =11026 11010 Hit 11010 mod 8 =01016 10000 Miss 10000 mod 8 =0003 00011 Miss 00011 mod 8 =01116 10000 Hit 10000 mod 8 =00018 10010 miss 10010 mod 8 =010

Infra-estrutura Hardware

Page 26: Memória e Hierarquia de Memória - cin.ufpe.brcin.ufpe.br/~if674/arquivos/2018.2/Aulas/cache.pdf · Hierarquia de Memória cache (L1) CPU Registradores memória principal memória

Acessando a memória cache

Índice V Tag Dado

000 N

001 N

010 N

011 N

100 N

101 N

110 N

111 N

Estado inicial

da cache

Infra-estrutura Hardware

Endereço decimal

Endereço binário

Hit ou miss na cache

Bloco na cache

22 10110 Miss 10110 mod 8 =110 26 11010 Miss 11010 mod 8 =010 22 10110 Hit 10110 mod 8 =110 26 11010 Hit 11010 mod 8 =010 16 10000 Miss 10000 mod 8 =000 3 00011 Miss 00011 mod 8 =011 16 10000 Hit 10000 mod 8 =000 18 10010 miss 10010 mod 8 =010

Acessos à

memória

Page 27: Memória e Hierarquia de Memória - cin.ufpe.brcin.ufpe.br/~if674/arquivos/2018.2/Aulas/cache.pdf · Hierarquia de Memória cache (L1) CPU Registradores memória principal memória

Acessando a memória cache

Índice V Tag Dado

000 N

001 N

010 N

011 N

100 N

101 N

110 Y 10 Memória(10110)

111 N

Endereço 10110

Infra-estrutura Hardware

Endereço decimal

Endereço binário

Hit ou miss na cache

Bloco na cache

22 10110 Miss 10110 mod 8 =110 26 11010 Miss 11010 mod 8 =010 22 10110 Hit 10110 mod 8 =110 26 11010 Hit 11010 mod 8 =010 16 10000 Miss 10000 mod 8 =000 3 00011 Miss 00011 mod 8 =011 16 10000 Hit 10000 mod 8 =000 18 10010 miss 10010 mod 8 =010

Acessos à

memória

Page 28: Memória e Hierarquia de Memória - cin.ufpe.brcin.ufpe.br/~if674/arquivos/2018.2/Aulas/cache.pdf · Hierarquia de Memória cache (L1) CPU Registradores memória principal memória

Acessando a memória cache

Índice V Tag Dado

000 N

001 N

010 Y 11 Memória(11010)

011 N

100 N

101 N

110 Y 10 Memória(10110)

111 N

Endereço 11010

Infra-estrutura Hardware

Endereço decimal

Endereço binário

Hit ou miss na cache

Bloco na cache

22 10110 Miss 10110 mod 8 =110 26 11010 Miss 11010 mod 8 =010 22 10110 Hit 10110 mod 8 =110 26 11010 Hit 11010 mod 8 =010 16 10000 Miss 10000 mod 8 =000 3 00011 Miss 00011 mod 8 =011 16 10000 Hit 10000 mod 8 =000 18 10010 miss 10010 mod 8 =010

Acessos à

memória

Page 29: Memória e Hierarquia de Memória - cin.ufpe.brcin.ufpe.br/~if674/arquivos/2018.2/Aulas/cache.pdf · Hierarquia de Memória cache (L1) CPU Registradores memória principal memória

Acessando a memória cache

Índice V Tag Dado

000 Y 10 Memória(10000)

001 N

010 Y 11 Memória(11010)

011 N

100 N

101 N

110 Y 10 Memória(10110)

111 N

Endereço 10000

Infra-estrutura Hardware

Endereço decimal

Endereço binário

Hit ou miss na cache

Bloco na cache

22 10110 Miss 10110 mod 8 =110 26 11010 Miss 11010 mod 8 =010 22 10110 Hit 10110 mod 8 =110 26 11010 Hit 11010 mod 8 =010 16 10000 Miss 10000 mod 8 =000 3 00011 Miss 00011 mod 8 =011 16 10000 Hit 10000 mod 8 =000 18 10010 miss 10010 mod 8 =010

Acessos à

memória

Page 30: Memória e Hierarquia de Memória - cin.ufpe.brcin.ufpe.br/~if674/arquivos/2018.2/Aulas/cache.pdf · Hierarquia de Memória cache (L1) CPU Registradores memória principal memória

Acessando a memória cache

Índice V Tag Dado

000 Y 10 Memória(10000)

001 N

010 Y 11 Memória(11010)

011 Y 00 Memória(00011)

100 N

101 N

110 Y 10 Memória(10110)

111 N

Endereço 00011

Infra-estrutura Hardware

Endereço decimal

Endereço binário

Hit ou miss na cache

Bloco na cache

22 10110 Miss 10110 mod 8 =110 26 11010 Miss 11010 mod 8 =010 22 10110 Hit 10110 mod 8 =110 26 11010 Hit 11010 mod 8 =010 16 10000 Miss 10000 mod 8 =000 3 00011 Miss 00011 mod 8 =011 16 10000 Hit 10000 mod 8 =000 18 10010 miss 10010 mod 8 =010

Acessos à

memória

Page 31: Memória e Hierarquia de Memória - cin.ufpe.brcin.ufpe.br/~if674/arquivos/2018.2/Aulas/cache.pdf · Hierarquia de Memória cache (L1) CPU Registradores memória principal memória

Acessando a memória cache

Índice V Tag Dado

000 Y 10 Memória(10000)

001 N

010 Y 10 Memória(10010)

011 Y 00 Memória(00011)

100 N

101 N

110 Y 10 Memória(10110)

111 N

Endereço 10010

Infra-estrutura Hardware

Endereço decimal

Endereço binário

Hit ou miss na cache

Bloco na cache

22 10110 Miss 10110 mod 8 =110 26 11010 Miss 11010 mod 8 =010 22 10110 Hit 10110 mod 8 =110 26 11010 Hit 11010 mod 8 =010 16 10000 Miss 10000 mod 8 =000 3 00011 Miss 00011 mod 8 =011 16 10000 Hit 10000 mod 8 =000 18 10010 miss 10010 mod 8 =010

Acessos à

memória

Page 32: Memória e Hierarquia de Memória - cin.ufpe.brcin.ufpe.br/~if674/arquivos/2018.2/Aulas/cache.pdf · Hierarquia de Memória cache (L1) CPU Registradores memória principal memória

O que acontece numa falta de cache?

• Informação deve ser lida da memória

• São inseridos ciclos de espera no pipeline

até que a informação esteja disponível na

cache

– Penalidade

• Se o endereço de cache está ocupado, a

informação é sobre-escrita

Infra-estrutura Hardware

Page 33: Memória e Hierarquia de Memória - cin.ufpe.brcin.ufpe.br/~if674/arquivos/2018.2/Aulas/cache.pdf · Hierarquia de Memória cache (L1) CPU Registradores memória principal memória

Leitura/Escrita da Cache

• Leitura:

– Mais frequentes, rápidas e fáceis de implementar

• Escrita:

– Mais lentas e complicadas e consistência de dados com a memória principal deve ser mantida (se um bloco da cache foi alterado pela CPU, não pode ser descartado da cache sem garantir que foi copiado para a mem. principal)

Infra-estrutura Hardware

Page 34: Memória e Hierarquia de Memória - cin.ufpe.brcin.ufpe.br/~if674/arquivos/2018.2/Aulas/cache.pdf · Hierarquia de Memória cache (L1) CPU Registradores memória principal memória

Tipos de acesso à cache

• Leitura

• Escrita

– Dado e tag são atualizados na cache

– Inconsistencia entre memória principal e

cache!!

– Como resolver?

Infra-estrutura Hardware

Page 35: Memória e Hierarquia de Memória - cin.ufpe.brcin.ufpe.br/~if674/arquivos/2018.2/Aulas/cache.pdf · Hierarquia de Memória cache (L1) CPU Registradores memória principal memória

Políticas de Escrita e Consistência

• Caches do tipo Write through

– Cache e memória são atualizadas

simultaneamente

• Caches do tipo Write back

– Memória principal é atualizada quando bloco é

substituído

– Usa dirty bit para marcar linhas alteradas na

cache.

Infra-estrutura Hardware

Page 36: Memória e Hierarquia de Memória - cin.ufpe.brcin.ufpe.br/~if674/arquivos/2018.2/Aulas/cache.pdf · Hierarquia de Memória cache (L1) CPU Registradores memória principal memória

Memória Cache: escrita

Write through Write back

facilidade de implementação

consistência da

memória principal

redução de acessos à memória

Para se evitar espera durante escrita:

• Write buffers

Infra-estrutura Hardware

Page 37: Memória e Hierarquia de Memória - cin.ufpe.brcin.ufpe.br/~if674/arquivos/2018.2/Aulas/cache.pdf · Hierarquia de Memória cache (L1) CPU Registradores memória principal memória

Hierarquia de Memória

cache (L1)

CPURegistradores

memória principal

memória secundária

Custo e

tamanho

chip

cache (L2)

VelocidadeReg.

Cache

Principal

Cache de Disco

Disco Magnético

Fita CD-ROM

Infra-estrutura Hardware

Page 38: Memória e Hierarquia de Memória - cin.ufpe.brcin.ufpe.br/~if674/arquivos/2018.2/Aulas/cache.pdf · Hierarquia de Memória cache (L1) CPU Registradores memória principal memória

Exemplo: DECStation3100

Infra-estrutura Hardware

Address (showing bit positions)

20 10

Byte offset

Valid Tag DataIndex

0

1

2

1021

1022

1023

Tag

Index

Hit Data

20 32

31 30 13 12 11 2 1 0

Page 39: Memória e Hierarquia de Memória - cin.ufpe.brcin.ufpe.br/~if674/arquivos/2018.2/Aulas/cache.pdf · Hierarquia de Memória cache (L1) CPU Registradores memória principal memória

Tamanho da cache

• Quantos bits tem uma cache de

mapeamento direto com 64K bytes de

dados e blocos de uma palavra? Assuma

endereços de 32 bits.

Infra-estrutura Hardware

Page 40: Memória e Hierarquia de Memória - cin.ufpe.brcin.ufpe.br/~if674/arquivos/2018.2/Aulas/cache.pdf · Hierarquia de Memória cache (L1) CPU Registradores memória principal memória

Usando a localidade espacial

• Acessando a cache por blocos de

palavras

• Composição do endereço:

– Tag

– Índice

– Offset de bloco

– Endereço de byte

Infra-estrutura Hardware

Page 41: Memória e Hierarquia de Memória - cin.ufpe.brcin.ufpe.br/~if674/arquivos/2018.2/Aulas/cache.pdf · Hierarquia de Memória cache (L1) CPU Registradores memória principal memória

Usando a localidade espacial

• Exemplo:

– Memória: endereço de 32 bits, acesso por

palavra(32 bits), endereçamento por byte

– Cache: capacidade para armazenar 64 blocos

de 4 palavras cada

Tag (22) Índice(6) Endereço

do

byte

Offset

de

bloco

Infra-estrutura Hardware

Page 42: Memória e Hierarquia de Memória - cin.ufpe.brcin.ufpe.br/~if674/arquivos/2018.2/Aulas/cache.pdf · Hierarquia de Memória cache (L1) CPU Registradores memória principal memória

Mapeamento Direto-multiwordAddress (showing bit positions)

16 12 Byteoffset

V Tag Data

Hit Data

16 32

4Kentries

16 bits 128 bits

Mux

32 32 32

2

32

Block offsetIndex

Tag

31 16 15 4 32 1 0

Infra-estrutura Hardware

Page 43: Memória e Hierarquia de Memória - cin.ufpe.brcin.ufpe.br/~if674/arquivos/2018.2/Aulas/cache.pdf · Hierarquia de Memória cache (L1) CPU Registradores memória principal memória

Exemplo: Intrinsity FastMATH

Page 44: Memória e Hierarquia de Memória - cin.ufpe.brcin.ufpe.br/~if674/arquivos/2018.2/Aulas/cache.pdf · Hierarquia de Memória cache (L1) CPU Registradores memória principal memória

Usando a localidade espacial

• O que acontece durante uma falta em

acesso de leitura ou escrita?

– Todo o bloco tem que ser carregado na cache

– A escrita da palavra acontece

– Cache write-through:

• Todo o bloco é atualizado na memória

Infra-estrutura Hardware

Page 45: Memória e Hierarquia de Memória - cin.ufpe.brcin.ufpe.br/~if674/arquivos/2018.2/Aulas/cache.pdf · Hierarquia de Memória cache (L1) CPU Registradores memória principal memória

Tamanho do bloco e taxa de faltas

1 KB

8 KB

16 KB

64 KB

256 KB

256

40%

35%

30%

25%

20%

15%

10%

5%

0%

Mis

s r

ate

64164

Block size (bytes)

Infra-estrutura Hardware

Blocos grandes podem aumentar

a taxa de faltas se o tamanho da cache

Permanece constante

Page 46: Memória e Hierarquia de Memória - cin.ufpe.brcin.ufpe.br/~if674/arquivos/2018.2/Aulas/cache.pdf · Hierarquia de Memória cache (L1) CPU Registradores memória principal memória

Reduzindo a taxa de faltas

• Estratégias para posicionamento dos blocos:

– Mapeamento direto: cada bloco possui posição única na cache

– Associativa por conjunto: cada bloco pode ser colocado em algumas posições na cache

– Completamente Associativa: cada bloco pode ser colocado em qualquer posição da cache

Infra-estrutura Hardware

Page 47: Memória e Hierarquia de Memória - cin.ufpe.brcin.ufpe.br/~if674/arquivos/2018.2/Aulas/cache.pdf · Hierarquia de Memória cache (L1) CPU Registradores memória principal memória

Mapeamento Associativo por Conjunto

0

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

...

31

Memória principal

Memória cache

Um bloco na memória principal pode ocupar qualquer posição

dentro de um conjunto definido de blocos da cache

011

dados tag

Endereço da palavra

Tag set Offset

Offset011 00

{{{{

Conjuntos (sets)

Infra-estrutura Hardware

Page 48: Memória e Hierarquia de Memória - cin.ufpe.brcin.ufpe.br/~if674/arquivos/2018.2/Aulas/cache.pdf · Hierarquia de Memória cache (L1) CPU Registradores memória principal memória

Infra-estrutura Hardware

Mapeamento Associativo por Conjunto

Address

22 8

V TagIndex

0

1

2

253

254

255

Data V Tag Data V Tag Data V Tag Data

3222

4-to-1 multiplexor

Hit Data

123891011123031 0

Page 49: Memória e Hierarquia de Memória - cin.ufpe.brcin.ufpe.br/~if674/arquivos/2018.2/Aulas/cache.pdf · Hierarquia de Memória cache (L1) CPU Registradores memória principal memória

Mapeamento Associativo

0

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

...

31

Memória principal

Memória cache

Endereço da palavra

Tag Offset

Exemplo: tag = 12 (011002)

Offset000000...01100

Um bloco na memória principal pode ocupar qualquer posição na

cache

• Tag armazena na cache o end. Do bloco na mem.

principal

Offset

01100

dados tag

Infra-estrutura Hardware

Page 50: Memória e Hierarquia de Memória - cin.ufpe.brcin.ufpe.br/~if674/arquivos/2018.2/Aulas/cache.pdf · Hierarquia de Memória cache (L1) CPU Registradores memória principal memória

Grau de associatividade

Tag Data Tag Data Tag Data Tag Data Tag Data Tag Data Tag Data Tag Data

Eight-way set associative (fully associative)

Tag Data Tag Data Tag Data Tag Data

Four-way set associative

Set

0

1

Tag Data

One-way set associative

(direct mapped)

Block

0

7

1

2

3

4

5

6

Tag Data

Two-way set associative

Set

0

1

2

3

Tag Data

Infra-estrutura Hardware

Page 51: Memória e Hierarquia de Memória - cin.ufpe.brcin.ufpe.br/~if674/arquivos/2018.2/Aulas/cache.pdf · Hierarquia de Memória cache (L1) CPU Registradores memória principal memória

Comparação de Métodos de Mapeamento

• Mapeamento direto–Simples e Barata

–Lenta

–Mais faltas

Associativa• Rápida

• Menos falta

• Cara (comparação do endereço em

paralelo)

Associativa por conjunto: combinação das anteriores• Se NCC = NBC Ass. por conjunto = Mapeamento Direto

• Se NCC = 1 Ass. por conjunto = Associativa

NBC = núm. blocos da cache

NCC = núm. conjuntos da cache

Infra-estrutura Hardware

Page 52: Memória e Hierarquia de Memória - cin.ufpe.brcin.ufpe.br/~if674/arquivos/2018.2/Aulas/cache.pdf · Hierarquia de Memória cache (L1) CPU Registradores memória principal memória

Políticas de Substituição de Blocos

• Randômica:

– Simples e fácil de implementar

• FIFO (First-In-First-Out)

• LFU (Least-Frequently Used)

• LRU (least-recently used)

– Menor taxa de faltas

Associatividade

2 way 4-way 8-waySize LRU random LRU random LRU random

16 KB 5.18 5.69 4.67 5.29 4.39 4.96

64 KB 1.88 2.01 1.54 1.66 1.39 1.53256KB 1.15 1.17 1.13 1.13 1.12 1.12

Infra-estrutura Hardware

Page 53: Memória e Hierarquia de Memória - cin.ufpe.brcin.ufpe.br/~if674/arquivos/2018.2/Aulas/cache.pdf · Hierarquia de Memória cache (L1) CPU Registradores memória principal memória

Caches separadas

• Cache de dados e cache de instruções

– Vantagens:• Melhor capacidade de otimizações

• Evita hazard estrutural

– Desvantagens:• maior taxa de falta

P ro g ra m a M is s ra te( in s tr .)

M is s ra te(d a d o )

M is sra te(s e p .)

M is sra te(ú n ic a )

G c c 6 .1 % 2 .1 % 5 .4 % 4 .8 %S p ic e 1 .2 % 1 .3 % 1 .2 %

Infra-estrutura Hardware

Page 54: Memória e Hierarquia de Memória - cin.ufpe.brcin.ufpe.br/~if674/arquivos/2018.2/Aulas/cache.pdf · Hierarquia de Memória cache (L1) CPU Registradores memória principal memória

Exemplo: Alpha AXP 21064

• Cache separadas de dados e de instruções

• Características:

–Tamanho:8192 bytes

–Blocos de 32 bits

–Mapeamento direto

–Write through

–Four buffer write-buffer

Infra-estrutura Hardware

Page 55: Memória e Hierarquia de Memória - cin.ufpe.brcin.ufpe.br/~if674/arquivos/2018.2/Aulas/cache.pdf · Hierarquia de Memória cache (L1) CPU Registradores memória principal memória

Alpha AXP 21064- Cache Dados

Tag Indice Off.

Val.

(1)

Tag

(21)

Dados

(256)

=?

CPU

Dados

Entrada

Dados

Saída

Endereço

Buffer

de

Escrita

256

blocos

Mux

Infra-estrutura Hardware

Page 56: Memória e Hierarquia de Memória - cin.ufpe.brcin.ufpe.br/~if674/arquivos/2018.2/Aulas/cache.pdf · Hierarquia de Memória cache (L1) CPU Registradores memória principal memória

Exercício

Considere referências aos seguintes endereços de memória: 1,4,8,5,20,17,19,56, 9,11,

4,43,5,6,9, 17. Calcule o número de faltas para uma cache de 16 palavras com blocos

de 1 palavra e mostre o estado final da cache. Compare os resultados para as

seguintes organizações:

(a) - mapeamento direto

(b) - two-way set associativa,

(c) -completamente associativa.

Suponha que a cache está inicialmente vazia e quando necessário use como política

de substituição o algoritmo LRU.

Infra-estrutura Hardware

Page 57: Memória e Hierarquia de Memória - cin.ufpe.brcin.ufpe.br/~if674/arquivos/2018.2/Aulas/cache.pdf · Hierarquia de Memória cache (L1) CPU Registradores memória principal memória

Hierarquia de memória

Melhorando o desempenho

Infra-estrutura Hardware

Page 58: Memória e Hierarquia de Memória - cin.ufpe.brcin.ufpe.br/~if674/arquivos/2018.2/Aulas/cache.pdf · Hierarquia de Memória cache (L1) CPU Registradores memória principal memória

Hierarquia de Memória

cache (L1)

CPURegistradores

memória principal

memória secundária

Custo e

tamanho

chip

cache (L2)

VelocidadeReg.

Cache

Principal

Cache de Disco

Disco Magnético

Fita CD-ROM

Infra-estrutura Hardware

Page 59: Memória e Hierarquia de Memória - cin.ufpe.brcin.ufpe.br/~if674/arquivos/2018.2/Aulas/cache.pdf · Hierarquia de Memória cache (L1) CPU Registradores memória principal memória

Desempenho de uma CPU

• CPUtime= (CPU_Ciclos para execução +

Memória_ciclos-stall) x ClK_período

• CPU_ciclos execução= #instruções x CPI

• Memóriaciclos= Leituraciclos+ Escritaciclos

• Leituraciclos= Leituras x Miss_rateleiturax Penaltyleitura

• Escritaciclos= Escritas x Miss_rateescritax Penaltyescrita

Infra-estrutura Hardware

Page 60: Memória e Hierarquia de Memória - cin.ufpe.brcin.ufpe.br/~if674/arquivos/2018.2/Aulas/cache.pdf · Hierarquia de Memória cache (L1) CPU Registradores memória principal memória

Desempenho de uma CPU

• Exemplo:

– Miss_rateinstr.=2%, Miss_ratedado.=4%, CPI=2, Penalty=100

ciclos

– Taxa(Load,Store)= 36%

– Qual a degradação de desempenho devido aos acessos à

memória? CPImem?

Infra-estrutura Hardware

Page 61: Memória e Hierarquia de Memória - cin.ufpe.brcin.ufpe.br/~if674/arquivos/2018.2/Aulas/cache.pdf · Hierarquia de Memória cache (L1) CPU Registradores memória principal memória

Desempenho de uma CPU

• Miss_instrciclos= I x 2% x 100 = 2,00 I

• Miss_dadosciclos= I x 36% x 4% x 100 = 1,44 I

• CPUtime= (CPUciclos-execução + Memóriaciclos-stall)x

Clk

• Memóriaciclos= 2 I + 1,44 I = 3,44 I

• CPImem= 2,0 + 3,44 = 5,44

• CPIstall / CPIperf = 5,44/2 = 2,72

Infra-estrutura Hardware

Page 62: Memória e Hierarquia de Memória - cin.ufpe.brcin.ufpe.br/~if674/arquivos/2018.2/Aulas/cache.pdf · Hierarquia de Memória cache (L1) CPU Registradores memória principal memória

Processador mais rápido...

• Diminuindo CPI

– CPInovo= 1,0

– CPImem= 1,0 + 3,44 = 4,44

– Desempenho = 4,44 / 1,0 = 4,44

• Quantidade de tempo com stalls sobre de 63% (3,44/5,44) para

77% (3,44 / 4,44)

• Duplicando o clock

– Penalty = 200 ciclos

– Missciclos(por instr.)= 2% x 200 + 36% (4% x 200) = 6,88

– CPImem= 2,0 + 6,88 = 8,88

– CI x CPIck-lento x ciclo / CI x CPIck-rap. x ciclo = 5,44 / 8,88x0,5

= 1,23Infra-estrutura Hardware

Page 63: Memória e Hierarquia de Memória - cin.ufpe.brcin.ufpe.br/~if674/arquivos/2018.2/Aulas/cache.pdf · Hierarquia de Memória cache (L1) CPU Registradores memória principal memória

Desempenho de uma cache

• CPI( #clocks por instrução)

– Cache Perfeita => 2,0

– Cache (2% missinstr, 4% missdado) => 5,44

– Sem cache => 68.5

• Melhorando o processador

– Diminuindo CPI

• CPI => 4,44 (em vez de 1,0)

– Duplicando clock

• CPI => 8,88

Infra-estrutura Hardware

Page 64: Memória e Hierarquia de Memória - cin.ufpe.brcin.ufpe.br/~if674/arquivos/2018.2/Aulas/cache.pdf · Hierarquia de Memória cache (L1) CPU Registradores memória principal memória

Melhorando desempenho da cache

• Estratégias:

– Redução de faltas

– Redução da penalidade

– Redução do tempo de acesso

Tempo_acessomédio = Hit time + Miss rate x Miss penalty

Infra-estrutura Hardware

Page 65: Memória e Hierarquia de Memória - cin.ufpe.brcin.ufpe.br/~if674/arquivos/2018.2/Aulas/cache.pdf · Hierarquia de Memória cache (L1) CPU Registradores memória principal memória

Reduzindo falta de cache

1 KB

8 KB

16 KB

64 KB

256 KB

256

40%

35%

30%

25%

20%

15%

10%

5%

0%

Mis

sra

te

64164

Block size (bytes)

• Aumentar tamanho do bloco

Infra-estrutura Hardware

Page 66: Memória e Hierarquia de Memória - cin.ufpe.brcin.ufpe.br/~if674/arquivos/2018.2/Aulas/cache.pdf · Hierarquia de Memória cache (L1) CPU Registradores memória principal memória

Reduzindo falta de cache

• Aumento da associatividade

Tam. cache one-way two-way four-way eight-way

1 7.65 6.60 6.22 5.44

2 5.90 4.90 4.62 4.09

4 4.60 3.95 3.57 3.19

8 3.30 3.00 2.87 2.59

16 2.45 2.20 2.12 2.04

32 2.00 1.80 1.77 1.79

64 1.70 1.60 1.57 1.59

128 1.50 1.45 1.42 1.44

Infra-estrutura Hardware

Page 67: Memória e Hierarquia de Memória - cin.ufpe.brcin.ufpe.br/~if674/arquivos/2018.2/Aulas/cache.pdf · Hierarquia de Memória cache (L1) CPU Registradores memória principal memória

Aumento da Associatividade

1

2Tag

Data

Block # 0 1 2 3 4 5 6 7

Search

Direct mapped

1

2Tag

Data

Set # 0 1 2 3

Search

Set associative

1

2Tag

Data

Search

Fully associative

Infra-estrutura Hardware

Page 68: Memória e Hierarquia de Memória - cin.ufpe.brcin.ufpe.br/~if674/arquivos/2018.2/Aulas/cache.pdf · Hierarquia de Memória cache (L1) CPU Registradores memória principal memória

Aumento da Associatividade

Programa

Associatidade Miss instr. Miss dado Miss Total

Gcc 1 2.0% 1.7% 1.9%Gcc 2 1.6% 1.4% 1.5%Gcc 4 1.6% 1.4% 1.5%Spice 1 0.3% 0.6% 0.4%Spice 2 0.3% 0.6% 0.4%Spice 4 0.3% 0.6% 0.4%

Infra-estrutura Hardware

Page 69: Memória e Hierarquia de Memória - cin.ufpe.brcin.ufpe.br/~if674/arquivos/2018.2/Aulas/cache.pdf · Hierarquia de Memória cache (L1) CPU Registradores memória principal memória

Aumento da Associatividade

0%

3%

6%

9%

12%

15%

Eight-wayFour-wayTwo-wayOne-way

1 KB

2 KB

4 KB

8 KB

Mis

sra

te

Associativity 16 KB

32 KB

64 KB

128 KB

Infra-estrutura Hardware

Page 70: Memória e Hierarquia de Memória - cin.ufpe.brcin.ufpe.br/~if674/arquivos/2018.2/Aulas/cache.pdf · Hierarquia de Memória cache (L1) CPU Registradores memória principal memória

Reduzindo penalidade de cache

• Write Buffers

=?

CPUdata data

in out

Mem. princ.

Write

buffer

DadoTag

Infra-estrutura Hardware

Page 71: Memória e Hierarquia de Memória - cin.ufpe.brcin.ufpe.br/~if674/arquivos/2018.2/Aulas/cache.pdf · Hierarquia de Memória cache (L1) CPU Registradores memória principal memória

Reduzindo penalidade

• Early Restart and Critical Word First:

– Assim que palavra procurada foi carregada

na cache esta é enviada para a CPU.

– Requisita palavra procurada primeiro e a

envia para a CPU assim que a mesma foi

carregada.

– Aplicável para grandes blocos

Infra-estrutura Hardware

Page 72: Memória e Hierarquia de Memória - cin.ufpe.brcin.ufpe.br/~if674/arquivos/2018.2/Aulas/cache.pdf · Hierarquia de Memória cache (L1) CPU Registradores memória principal memória

Reduzindo a penalidade

cache (L1)

CPURegistradores

memória principal

chip

cache (L2)

• Dois níveis de cache:

– primeiro nível:

• menor tempo de acesso

• menor capacidade

• maior custo

– segundo nível:

• maior capacidade

• menor custo

• maior tempo de acesso

Infra-estrutura Hardware

Page 73: Memória e Hierarquia de Memória - cin.ufpe.brcin.ufpe.br/~if674/arquivos/2018.2/Aulas/cache.pdf · Hierarquia de Memória cache (L1) CPU Registradores memória principal memória

Reduzindo penalidade

• Segundo nível de cache:

– Desempenho:

• Avrg.mem.acc.time=hitL1+missL1x penL1

• PenL1=hitL2+missL2 x PenL2

– De quanto melhora o desempenho da

máquina pela inclusão do 2. nível?

Infra-estrutura Hardware

Page 74: Memória e Hierarquia de Memória - cin.ufpe.brcin.ufpe.br/~if674/arquivos/2018.2/Aulas/cache.pdf · Hierarquia de Memória cache (L1) CPU Registradores memória principal memória

Reduzindo a penalidade

• Exemplo: CPIbase=1.0, Clk=500MHz,

Timemem=200ns, Miss-ratemem=5%.

• Segundo nível: TimeL2=20ns, Miss-

ratemem=2%

• Qual o desempenho da máquina com 2. nível

de cache?

Infra-estrutura Hardware

Page 75: Memória e Hierarquia de Memória - cin.ufpe.brcin.ufpe.br/~if674/arquivos/2018.2/Aulas/cache.pdf · Hierarquia de Memória cache (L1) CPU Registradores memória principal memória

Reduzindo a penalidade

• Qual o desempenho da máquina com 2. nível

de cache?

– Penaltymem=200ns/2ns/clk = 100 ciclos

– CPItotal= CPIbase+Memciclos/I = 1.0 + 5%x100=6.0

– PenaltyL2=20/2=10 ciclos

– CPItotal=1+L1-stalls+L2stalls =

1+((5%-2%)x10)+(2%x(10+100))=

1+0.3+2.2=3.5

– Desempenho= 6.0/3.5 = 1.7

Infra-estrutura Hardware

Page 76: Memória e Hierarquia de Memória - cin.ufpe.brcin.ufpe.br/~if674/arquivos/2018.2/Aulas/cache.pdf · Hierarquia de Memória cache (L1) CPU Registradores memória principal memória

Reduzindo penalidade

• Primeiro nível de cache:

– Redução da penalidade

• Redução do tempo de acesso

• Uso de técnicas como early-restart e critical-word-

first

Infra-estrutura Hardware

Page 77: Memória e Hierarquia de Memória - cin.ufpe.brcin.ufpe.br/~if674/arquivos/2018.2/Aulas/cache.pdf · Hierarquia de Memória cache (L1) CPU Registradores memória principal memória

Reduzindo penalidade

• Segundo nível de cache:

– Redução da taxa de falta

• cache do segundo nível maior que a do primeiro

nível

– E quanto a duplicação de dados nos dois

níveis?

• Os dados devem ser duplicados (consistência)

Infra-estrutura Hardware

Page 78: Memória e Hierarquia de Memória - cin.ufpe.brcin.ufpe.br/~if674/arquivos/2018.2/Aulas/cache.pdf · Hierarquia de Memória cache (L1) CPU Registradores memória principal memória

Memória principal

• Duplo papel:

– satisfazer a demanda da cache

– servir como interface para E/S

• Medidas de performance:

– latência -> cache

– Largura de banda -> E/S

Infra-estrutura Hardware

Page 79: Memória e Hierarquia de Memória - cin.ufpe.brcin.ufpe.br/~if674/arquivos/2018.2/Aulas/cache.pdf · Hierarquia de Memória cache (L1) CPU Registradores memória principal memória

Memórias mais largas

CPU

Cache

Memória

CPU

Multiplexador

Memória

Cache

Infra-estrutura Hardware

Page 80: Memória e Hierarquia de Memória - cin.ufpe.brcin.ufpe.br/~if674/arquivos/2018.2/Aulas/cache.pdf · Hierarquia de Memória cache (L1) CPU Registradores memória principal memória

Memórias mais largas

• Redução da penalidade de cache

• Necessidade de barramento e

multiplexadores

• Expansão condicionada a largura

• Dificuldade em corrigir erros

• Ex: Alpha :

– cache e mem. principal => 256 bits

Infra-estrutura Hardware

Page 81: Memória e Hierarquia de Memória - cin.ufpe.brcin.ufpe.br/~if674/arquivos/2018.2/Aulas/cache.pdf · Hierarquia de Memória cache (L1) CPU Registradores memória principal memória

Memória “Interleaved”

CPU

Cache

Memória

CPU

Cache

Banco 0

Memória

Banco 1

Memória

Banco 2

Memória

Banco 3

Memória

Infra-estrutura Hardware

Page 82: Memória e Hierarquia de Memória - cin.ufpe.brcin.ufpe.br/~if674/arquivos/2018.2/Aulas/cache.pdf · Hierarquia de Memória cache (L1) CPU Registradores memória principal memória

Memória Interleaved

• Bancos de memória para escrita/leitura de

múltiplas palavras

• Reduz penalidade

• Necessita pouco hardware adicional

Infra-estrutura Hardware

Page 83: Memória e Hierarquia de Memória - cin.ufpe.brcin.ufpe.br/~if674/arquivos/2018.2/Aulas/cache.pdf · Hierarquia de Memória cache (L1) CPU Registradores memória principal memória

Memória “larga” vs. Interleaved

– CPI (# clocks por instrução)

• 32 bits, sem interleaving=3.54

• 32 bits, interleaving=2.86

Infra-estrutura Hardware

Page 84: Memória e Hierarquia de Memória - cin.ufpe.brcin.ufpe.br/~if674/arquivos/2018.2/Aulas/cache.pdf · Hierarquia de Memória cache (L1) CPU Registradores memória principal memória

MEMÓRIA PRINCIPAL

Infra-estrutura Hardware

Page 85: Memória e Hierarquia de Memória - cin.ufpe.brcin.ufpe.br/~if674/arquivos/2018.2/Aulas/cache.pdf · Hierarquia de Memória cache (L1) CPU Registradores memória principal memória

Acesso a memória principal

(DRAM)

CPU

______

______

______

______

______

______

______

______

______

______

______

______

______

______

______

Controlador

de Memória

Endereços

Dados

Controle (RD, WR...)____

RAS

____

CAS

___

W

______

OE(RD)

n bits Endereço

multiplexado:

Linhas e colunas

n/2 bits

Dados

Memória

Page 86: Memória e Hierarquia de Memória - cin.ufpe.brcin.ufpe.br/~if674/arquivos/2018.2/Aulas/cache.pdf · Hierarquia de Memória cache (L1) CPU Registradores memória principal memória

____ ___ __ __

RAS CAS W OE

Row

Dec

oder

Column

Decoder

D1

D2

D3

D4

A0

A1

...

...

A10

MUX

DRAM

Organização Interna

e Método de Acesso

• O endereço das linhas e colunas são

enviados separadamente (prim. linha,

depois coluna).

• Para acessar uma posição (leitura ou

escrita), o endereço da linha é posto junto

com o sinal RAS (Row Addres Selector).

• Depois o endereço da coluna vai junto

com o sinal CAS (Column Address

Selector)

• No exemplo abaixo, as 11 linhas de A0 a

A10 são usadas para enviar end. de linha

e coluna. Por isso esta memória tem

4Mega posições de endereçamento

(4Mega = 222)

Page 87: Memória e Hierarquia de Memória - cin.ufpe.brcin.ufpe.br/~if674/arquivos/2018.2/Aulas/cache.pdf · Hierarquia de Memória cache (L1) CPU Registradores memória principal memória

Modo de Acesso

No Page Mode, o controlador de memória faz

até 4 acessos em sequência à DRAM. É

comum designar o núm. de pulsos de clock de

cada acesso para cada tipo de memória.

Ex. a FPM RAM tem acesso 5/3/3/3 (a 66MHz)

em page mode, o que significa 5 pulsos de

clock para obter o primeiro dado, e 3 para o

segundo, terceiro e quarto.

Ex: FPM RAM

• Ativa uma fila (RAS)

• Acessos

sequenciais a

colunas (vários

pulsos de CAS)

Page 88: Memória e Hierarquia de Memória - cin.ufpe.brcin.ufpe.br/~if674/arquivos/2018.2/Aulas/cache.pdf · Hierarquia de Memória cache (L1) CPU Registradores memória principal memória

FPM DRAM - Fast Page Mode DRAM

EDO DRAM - Extended Data-Output DRAM

EDO DRAM

• Tempo de acesso 70ns, 60ns and 50nsPara barramento de 66 MHz use 60 ns ou melhor.

• Acesso page mode = 5/2/2/2 a 66MHz

FPM DRAM

DRAM mais simples

Tempo de acesso

70ns and 60ns.

Acesso page mode

= 5/3/3/3 a 66MHz

Page 89: Memória e Hierarquia de Memória - cin.ufpe.brcin.ufpe.br/~if674/arquivos/2018.2/Aulas/cache.pdf · Hierarquia de Memória cache (L1) CPU Registradores memória principal memória

EDO DRAM

Método de Acesso

• No page mode, um latch na saída de dados permite o acesso simultâneo a novas posições de memória enquanto os dados estão sendo lidos na saída.

• Isso permite a diminuição do tempo entre pulsos de CAS

Page 90: Memória e Hierarquia de Memória - cin.ufpe.brcin.ufpe.br/~if674/arquivos/2018.2/Aulas/cache.pdf · Hierarquia de Memória cache (L1) CPU Registradores memória principal memória

BEDO - Burst EDO DRAM

• Page (burst) mode = 5/1/1/1 a 66MHz

• Tempo de acesso randômico é igual ao FPM ou EDO RAM

• Possui registrador e

gerador interno de ender.

sequenciais

Page 91: Memória e Hierarquia de Memória - cin.ufpe.brcin.ufpe.br/~if674/arquivos/2018.2/Aulas/cache.pdf · Hierarquia de Memória cache (L1) CPU Registradores memória principal memória

SDRAM - Synchronous DRAM

• Page (burst) mode = 5/1/1/1 a 100MHz

• Tempo de acesso randômico é igual à FPM ou EDO RAM.

• Trabalha na velocidade do bus, por isso o nome.

clock

ras

cas

address

data row col

data data data

Page 92: Memória e Hierarquia de Memória - cin.ufpe.brcin.ufpe.br/~if674/arquivos/2018.2/Aulas/cache.pdf · Hierarquia de Memória cache (L1) CPU Registradores memória principal memória

SDRAM - Synchronous DRAM

• Page (burst) mode

= 5/1/1/1 a 100MHz

• Interleaved

• Uso de Serial

Presence Detect

para Plug-and-Play

clock

ras

cas

address

data

row col

data data data

Page 93: Memória e Hierarquia de Memória - cin.ufpe.brcin.ufpe.br/~if674/arquivos/2018.2/Aulas/cache.pdf · Hierarquia de Memória cache (L1) CPU Registradores memória principal memória

DDR SDRAM – Double Data

Rate SDRAM

• Transfere dados na subida e descida do

clock (compensa o uso de barramentos

lentos)

• Uso de Serial Presence Detect para Plug-

and-Play

Page 94: Memória e Hierarquia de Memória - cin.ufpe.brcin.ufpe.br/~if674/arquivos/2018.2/Aulas/cache.pdf · Hierarquia de Memória cache (L1) CPU Registradores memória principal memória

Resumo

• Hierarquia de Memória

– Memórias com diferentes características:

• Tempo acesso

• Capacidade

• Custo

– Uso da localidade temporal e espacial

– Primeiro nível da hierarquia

• Memória cache

– Tipos de Cache

• Mapeamento direto

• Associativa

• Associativa por conjunto

Infra-estrutura Hardware

Page 95: Memória e Hierarquia de Memória - cin.ufpe.brcin.ufpe.br/~if674/arquivos/2018.2/Aulas/cache.pdf · Hierarquia de Memória cache (L1) CPU Registradores memória principal memória

Resumo

• Melhorando o desempenho

– Aumentar tamanho do bloco

– Aumentar a associatividade

– Redução da penalidade

– Cache multinível

• Memória Principal

– Memórias largas

– Bancos de memória

• Memória DRAM:

– Acessos de endereços consecutivos mais eficiente

• SDRAM ou DDR SDRAM

Infra-estrutura Hardware