Buscar

Aula 12

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 27 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 27 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 27 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

1
Organização de Computadores I
DCC006
Prof. Omar Paranaiba Vilela Neto
Aula 12 – Memória
2
Memórias: Revisão
• Pode ser definida como um local para 
armazenamento de informações, onde as duas 
únicas ações possíveis são a leitura e a escrita
• A informação pode ser representada pelo bit ou 
por um conjunto de n bits que possuem um 
endereço definido
• Em um sistema computacional, temos diferentes 
tipos de memórias, para diferentes finalidades, 
que se interligam de forma estruturada e que 
formam o subsistema de memória
3
• Usuários desejam memórias rápidas e grande! 
SRAM tempo de acesso são 2 - 25ns e custam de $4000 a $10000 por GB.
DRAM tempo de acesso são 60-120ns e custam de $100 to $200 por GB.
Disco tempo de acesso 10 to 20 milhões ns e custam $.50 to $2 por GB.
• Sugere a construção de uma hierarquia de memória
Explorando a Hierarquia de Memórias
2004
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
4
Explorando a Hierarquia de Memórias
5
Explorando a Hierarquia de Memórias
• Os dados contidos num nível mais próximo do 
processador são sempre um sub-conjunto dos 
dados contidos no nível anterior
• O nível mais baixo contém a totalidade dos dados
Disco
Memória 
Principal
Cache
6
• SRAM:
– valores são armazenados em pares de portas invertidas
– rápidas mas ocupam mais espaços que as DRAM (4 to 6 
transistores)
• DRAM:
– valores são armazenados como uma carga em capacitor (deve 
ser refrescada)
– menor mas mais lentas que as SRAM (fator de 5 to 10)
Memórias: Revisão
B
A A
B
Word line
Pass transistor
Capacitor
Bit line
7
Localidade
• Princípio que faz com que ter uma hierarquia de memória seja uma 
boa idéia 
• Se um item é referenciado,
Localidade temporal : ele tende a ser referenciado de novo, logo
Localidade espacial: itens próximos tendem a ser referenciados de 
novo, logo.
Porque um código tem localidade?
• Nosso foco inicial: dois níveis (superior, inferior)
– bloco: unidade mínima de dado 
– acerto: dado requisitado está no nível superior
– falta: dado requisitado NÃO está no nível superior 
8
Cache
• Memória rápida e de pequena capacidade
• Guarda somente os itens que serão 
referenciados com frequência em 
determinado momento
• Para tal, explora os conceitos de Localidade 
Temporal e de Localidade Espacial
• Tais itens podem ser tanto dados, como 
instruções
9
Cache
C
ache
C
P
U
M
em
ória
P
rincipal
Transferência 
de words
Transferência 
de blocos
10
• Dois pontos importantes:
– Como sabemos se um item de dado está no cache?
– Se esta, como o encontramos?
• Nosso primeiro exemplo:
– O tamanho do bloco é de uma palavra de dado
– “mapeado diretamente”
Para cada item de dado no nível mais baixo(inferior), existe exatamente uma
locação na cache, onde ele possa estar.
e.g., muitos itens no nível inferior dividem locações no nível superior
Cache
11
• Mapeamento: o endereço é o módulo do número de blocos no cache
Cache Mapeado Diretamente
00001 00101 01001 01101 10001 10101 11001 11101
00
0
Cache
Memory
00
1
01
0
01
1
10
0
10
1
11
0
11
1
12
• Para o MIPS:
De qual tipo de localidade estamos tirando vantagem?
Cache Mapeado Diretamente
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
13
• Exemplo
Cache Mapeado Diretamente
Cache Inicialmente Vazia
14
• Exemplo
Cache Mapeado Diretamente
Primeiro Dado
15
• Exemplo
Cache Mapeado Diretamente
Segundo Dado
16
• Exemplo
Cache Mapeado Diretamente
Terceiro Dado
17
• Exemplo
Cache Mapeado Diretamente
Quarto Dado
18
• Exemplo
Cache Mapeado Diretamente
Quinto Dado
19
• Tirando vantagem da localidade espacial:
Cache Mapeado Diretamente
Address (showing bit positions)
16 12 Byte
offset
V Tag Data
Hit Data
16 32
4K
entries
16 bits 128 bits
Mux
32 32 32
2
32
Block offsetIndex
Tag
31 16 15 4 32 1 0
20
• Acertos de Leitura
– é o que queremos!
• Faltas de Leitura
– para a CPU, buscar o bloco na memória, liberar para o cache, 
recomeçar(restart) 
• Acertos de escrita:
– podemos substituir dados no cache e na memória, (write-
through)
– escrever o dado apenas no cache (write-back the cache later)
• Faltas de escrita :
– ler o bloco inteiro no cache, e então escrever a palavra
Acertos vs. Faltas
21
Fazer a leitura de múltiplas palavras mais fácil, pelo uso de bancos de 
memória
• Pode ficar ainda mais complicado...
Pontos importantes do Hardware
CPU
Cache
Bus
Memory
a. One-word-wide
 memory organization
CPU
Bus
b. Wide memory organization
Memory
Multiplexor
Cache
CPU
Cache
Bus
Memory
bank 1
Memory
bank 2
Memory
bank 3
Memory
bank 0
c. Interleaved memory organization
22
Pontos importantes do Hardware
CPU
Cache
Bus
Memory
a. One-word-wide
 memory organization
CPU
Bus
b. Wide memory organization
Memory
Multiplexor
Cache
CPU
Cache
Bus
Memory
bank 1
Memory
bank 2
Memory
bank 3
Memory
bank 0
c. Interleaved memory organization
Exemplo
 1 ciclo de clock de barramento para enviar endereço
 15 ciclos de clock de barramento para cada acesso a DRAM
 1 ciclo de clock de barramento para enviar uma palavra
 Cache de 4 palavras
23
Pontos importantes do Hardware
CPU
Cache
Bus
Memory
a. One-word-wide
 memory organization
CPU
Bus
b. Wide memory organization
Memory
Multiplexor
Cache
CPU
Cache
Bus
Memory
bank 1
Memory
bank 2
Memory
bank 3
Memory
bank 0
c. Interleaved memory organization
Exemplo
1 + 4 x 15 + 4 x 1 = 65 cilcos de clock
24
Pontos importantes do Hardware
CPU
Cache
Bus
Memory
a. One-word-wide
 memory organization
CPU
Bus
b. Wide memory organization
Memory
Multiplexor
Cache
CPU
Cache
Bus
Memory
bank 1
Memory
bank 2
Memory
bank 3
Memory
bank 0
c. Interleaved memory organization
Exemplo
1 + 2 x 15 + 2 x 1 = 33 cilcos de clock
25
Pontos importantes do Hardware
CPU
Cache
Bus
Memory
a. One-word-wide
 memory organization
CPU
Bus
b. Wide memory organization
Memory
Multiplexor
Cache
CPU
Cache
Bus
Memory
bank 1
Memory
bank 2
Memory
bank 3
Memory
bank 0
c. Interleaved memory organization
Exemplo
1 + 1 x 15 + 4 x 1 = 20 cilcos de clock
26
Desempenho
• Modelo simplificado:
Tempo de execução = (ciclos execução+ciclos parada) × tempo ciclo
Ciclos parada = No. instruções × taxa de faltas × penalidade por falta
• Dois modos de se aumentar o desempenho:
– decrescer a razão de faltas
– decrescer a penalidade por faltas 
O que acontece se nós aumentarmos o tamanho do bloco?
27
• Aumentando o tamanho do bloco tende a decrescer a taxa de faltas:
• Usar caches divididos (níveis) porque há mais localidade espacial:
Desempenho
1 KB
8 KB
16 KB
64 KB
256 KB
256
40%
35%
30%
25%
20%
15%
10%
5%
0%
M
is
s 
ra
te
64164
Block size (bytes)
Program
gcc 1 6.1% 2.1% 5.4%
4 2.0% 1.7% 1.9%
spice 1 1.2% 1.3% 1.2%
4 0.3% 0.6% 0.4%
words miss rate rate miss rate
	Slide 1
	Slide 2
	Slide 3
	Slide 4
	Slide 5
	Slide 6
	Slide 7
	Slide 8
	Slide 9
	Slide 10
	Slide 11
	Slide 12
	Slide 13
	Slide 14
	Slide15
	Slide 16
	Slide 17
	Slide 18
	Slide 19
	Slide 20
	Slide 21
	Slide 22
	Slide 23
	Slide 24
	Slide 25
	Slide 26
	Slide 27

Outros materiais