Académique Documents
Professionnel Documents
Culture Documents
Memória e Hierarquia de
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
Infra-estrutura Hardware
Memória Vs. Armazenamento
• O fichário representa o
Fichário disco rígido, com alta
Pasta
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
expediente
Infra-estrutura Hardware
Sistema Hierárquico de Memória
Barramento
Barramento de E/S
de memória
Infra-estrutura Hardware
Nomenclatura Básica
Infra-estrutura Hardware
Tipos Básicos de Memória Semicondutora
Infra-estrutura Hardware
RAM Dinâmica vs. Estática
Infra-estrutura Hardware
§5.1 Introduction
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
• Memória Ideal
– Tempo de acesso de uma SRAM
– Capacidade e custo/GB de um disco
Chapter 5 — Large and
Fast: Exploiting Memory
Evolução Tecnológica
Infra-estrutura Hardware
Memória Principal
Infra-estrutura Hardware
Comparação da Performance da
Mem. Principal e CPU
350
DecAlpha
300
250 CPU
200
DecAlpha
150
IBMPower2
100
DecAlpha Memória
HP900
50 MIPS MIPS IBMPower1
SUN R2000 R3000
Infra-estrutura Hardware
Sistema Hierárquico de Memória
Memory
Infra-estrutura Hardware
Sistema Hierárquico de Memória
Processor • 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)
Data are transferred – 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
Infra-estrutura–Hardware
Então
acessa dado do nível
superior
Sistema Hierárquico de Memória
CPU
Increasing distance
Level 1
from the CPU in
access time
Level n
Infra-estrutura Hardware
Motivação para hierarquia
• Principio da localidade + Relação
custo/desempenho das tecnologias
• Alto desempenho da CPU
C
CPU a Memória Memória
c Principal Secundária
h
Registradores e
Barramento
Barramento de E/S
de memória
Infra-estrutura Hardware
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
Hierarquia de Memória
chip
CPU
Registradores Reg. Velocidade
Cache
cache (L1)
Principal
cache (L2)
Custo e
Cache de Disco
tamanho memória principal
Disco Magnético
Infra-estrutura Hardware
Memória Cache
Infra-estrutura Hardware
Memória Principal Vs. Cache
• O fichário representa o
disco rígido.
Quadro • A pasta sobre a mesa
Fichário representa a memória
Pasta 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
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?
Mapeamento direto
• Localização determinada pelo endereço
• Mapeamento direto: somente uma possibilidade
– (Block address) modulo (#Blocks in cache)
Cache
000
001
010
011
111
100
101
110
◼ #Blocks é uma
potencia de 2
◼ Use bits menos
significativos do
endereço
Infra-estrutura Hardware
Acessando a memória cache
Infra-estrutura Hardware
Acessando a memória cache
Infra-estrutura Hardware
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
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
Políticas de Escrita e Consistência
Infra-estrutura Hardware
Memória Cache: escrita
consistência da
memória principal
Infra-estrutura Hardware
Hierarquia de Memória
chip
CPU
Registradores Reg. Velocidade
Cache
cache (L1)
Principal
cache (L2)
Custo e
Cache de Disco
tamanho memória principal
Disco Magnético
Infra-estrutura Hardware
Exemplo: DECStation3100
Address (showing bit positions)
31 30 13 12 11 210
Byte
offset
20 10
Hit Data
Tag
Index
1021
1022
1023
20 32
Infra-estrutura Hardware
Tamanho da cache
Infra-estrutura Hardware
Usando a localidade espacial
Infra-estrutura Hardware
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
Infra-estrutura Hardware
Mapeamento Direto-multiword
Address (showing bit positions)
31 16 15 4 32 1 0
16 12 2 Byte
Hit Tag Data
offset
Index Block offset
16 bits 128 bits
V Tag Data
4K
entries
16 32 32 32 32
Mux
32
Infra-estrutura Hardware
Exemplo: Intrinsity FastMATH
Usando a localidade espacial
Infra-estrutura Hardware
Tamanho do bloco e taxa de faltas
40%
35%
30%
25%
Miss rate
20%
15%
10%
5%
0%
4 16 64 256
Block size (bytes) 1 KB
8 KB
16 KB
64 KB
Blocos grandes podem aumentar 256 KB
a taxa de faltas se o tamanho da cache
Permanece constante
Infra-estrutura Hardware
Reduzindo a taxa de faltas
Infra-estrutura Hardware
Mapeamento Associativo por Conjunto
Um bloco na memória principal pode ocupar qualquer posição
Memória principal dentro de um conjunto definido de blocos da cache
0
1
2
3
4
5
6 Memória cache Conjuntos (sets)
7 dados tag
8
9
{
10 011
11
12
{
Endereço da palavra
13
14
15
{ Tag set Offset
16
...
{ 011 00 Offset
31
Infra-estrutura Hardware
Mapeamento Associativo por Conjunto
Address
31 30 12 11 10 9 8 3210
22 8
253
254
255
22 32
4-to-1 multiplexor
Offset
Infra-estrutura Hardware
Grau de associatividade
One-way set associative
(direct mapped)
Block Tag Data
0
Two-way set associative
1
Set Tag Data Tag Data
2
3 0
4 1
5 2
6 3
Infra-estrutura Hardware
Comparação de Métodos de Mapeamento
Infra-estrutura Hardware
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-way
Size 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.53
256KB 1.15 1.17 1.13 1.13 1.12 1.12
Infra-estrutura Hardware
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 r o g r a m a M is s r a t e M is s r a t e M is s M is s
( in s t r .) (d a d o ) ra te ra te
( s e p .) ( ú n ic a )
G cc 6 .1 % 2 .1 % 5 .4 % 4 .8 %
S p ic e 1 .2 % 1 .3 % 1 .2 %
Infra-estrutura Hardware
Exemplo: Alpha AXP 21064
Infra-estrutura Hardware
Alpha AXP 21064- Cache Dados
Endereço
Tag Indice Off.
CPU
Val. Tag Dados
(1) (21) (256) Dados Dados
Entrada Saída
256
blocos
Buffer
Mux de
=?
Escrita
Infra-estrutura Hardware
Exercício
Suponha que a cache está inicialmente vazia e quando necessário use como política
de substituição o algoritmo LRU.
Infra-estrutura Hardware
Hierarquia de memória
Melhorando o desempenho
Infra-estrutura Hardware
Hierarquia de Memória
chip
CPU
Registradores Reg. Velocidade
Cache
cache (L1)
Principal
cache (L2)
Custo e
Cache de Disco
tamanho memória principal
Disco Magnético
Infra-estrutura Hardware
Desempenho de uma CPU
Infra-estrutura Hardware
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
Desempenho de uma CPU
Infra-estrutura Hardware
Melhorando desempenho da cache
• Estratégias:
– Redução de faltas
– Redução da penalidade
– Redução do tempo de acesso
Infra-estrutura Hardware
Reduzindo falta de cache
40%
35%
30%
25%
Miss rate
20%
15%
10%
5%
0%
4 16 64 256
Block size (bytes) 1 KB
8 KB
Infra-estrutura Hardware
Reduzindo falta de cache
• Aumento da associatividade
Infra-estrutura Hardware
Aumento da Associatividade
1 1 1
Tag Tag Tag
2 2 2
Infra-estrutura Hardware
Aumento da Associatividade
Infra-estrutura Hardware
Aumento da Associatividade
15%
12%
9%
Miss rate
6%
3%
0%
One-way Two-way Four-way Eight-way
Associativity 1 KB 16 KB
2 KB 32 KB
4 KB 64 KB
8 KB 128 KB
Infra-estrutura Hardware
Reduzindo penalidade de cache
• Write Buffers
CPU
data data
in out
Tag Dado
=? Write
buffer
Mem. princ.
Infra-estrutura Hardware
Reduzindo penalidade
Infra-estrutura Hardware
Reduzindo a penalidade
• menor capacidade
cache (L1)
• maior custo
– segundo nível: cache (L2)
• maior capacidade
• menor custo memória principal
Infra-estrutura Hardware
Reduzindo a penalidade
Infra-estrutura Hardware
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
Reduzindo penalidade
Infra-estrutura Hardware
Reduzindo penalidade
Infra-estrutura Hardware
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
Memórias mais largas
CPU CPU
Multiplexador
Cache
Cache
Memória
Memória
Infra-estrutura Hardware
Memórias mais largas
Infra-estrutura Hardware
Memória “Interleaved”
CPU CPU
Cache Cache
Infra-estrutura Hardware
Memória Interleaved
Infra-estrutura Hardware
Memória “larga” vs. Interleaved
• 32 bits, interleaving=2.86
Infra-estrutura Hardware
SIMULANDO CACHE COM
MIPSIT
Infra-estrutura Hardware
Configurando a Cache
mapeamento direto:
Infra-estrutura Hardware
Infra-estrutura Hardware
Exercício
Caso 1: Compare os resultados obtidos
com uma cache de 16 palavras versus uma
cache de 32 palavras com os mesmos
tamanhos de bloco e graus de
associatividade (a seu critério).
• a. Qual o layout do endereço da cache em
cada uma das configurações de cache?
• b. Qual a justificativa para os resultados
obtidos na taxa de faltas para as duas
configurações analisadas?
Infra-estrutura Hardware
Exercício
-Caso 2: Compare os resultados obtidos
para uma cache de 16 palavras com três
tipos de associatividade: Mapeamento
direto, Associativa por conjunto 2-way e
Completamente associativo.
a. Qual o layout do endereço da cache em
cada uma das configurações de cache?
b. Qual a justificativa para os resultados
obtidos na taxa de faltas para as duas
configurações analisadas?
Infra-estrutura Hardware
Exercício
Caso 3: Compare uma cache de 32
palavras com blocos de 2 palavras versus
uma cache de 32 palavras com blocos de 4
palavras, ambas de mapeamento direto.
a. Qual o layout do endereço da cache em
cada uma das configurações de cache?
b. Qual a justificativa para os resultados
obtidos na taxa de faltas para as duas
configurações analisadas?
Infra-estrutura Hardware
Exercício
Infra-estrutura Hardware
MEMÓRIA PRINCIPAL
Infra-estrutura Hardware
Acesso a memória principal
(DRAM)
Memória
______
______
______
______
n bits Endereço n/2 bits ______
Endereços
multiplexado: ______
Linhas e colunas ______
CPU Dados
Controlador ______
Dados ______
Controle (RD, WR...)de Memória ____
RAS ______
____ ______
CAS ______
___
______
W
______ ______
OE(RD) ______
DRAM • O endereço das linhas e colunas são
enviados separadamente (prim. linha,
Organização Interna depois coluna).
• Para acessar uma posição (leitura ou
e Método de Acesso escrita), o endereço da linha é posto junto
com o sinal RAS (Row Addres Selector).
____ ___ __ __ • Depois o endereço da coluna vai junto
RAS CAS W OE
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
MUX
4Mega posições de endereçamento
(4Mega = 222)
Row
Dec
A0
oder
A1
...
...
A10 D1
D2
D3
Column D4
Decoder
Modo de Acesso
Ex: FPM RAM No Page Mode, o controlador de memória faz
• Ativa uma fila (RAS) até 4 acessos em sequência à DRAM. É
• Acessos comum designar o núm. de pulsos de clock de
sequenciais a cada acesso para cada tipo de memória.
colunas (vários Ex. a FPM RAM tem acesso 5/3/3/3 (a 66MHz)
pulsos de CAS) em page mode, o que significa 5 pulsos de
clock para obter o primeiro dado, e 3 para o
segundo, terceiro e quarto.
FPM DRAM - Fast Page Mode DRAM
EDO DRAM - Extended Data-Output DRAM
• Page (burst)
mode = 5/1/1/1 a
100MHz
• Tempo de clock
acesso ras
randômico é cas
igual à FPM ou address
EDO RAM.
data row col
• Trabalha na
velocidade do data data data
clock
ras
cas