Escolar Documentos
Profissional Documentos
Cultura Documentos
CENTRO DE
INFORMÁTICA - UFPE GRECO
Sistema Básico de Memória
Fluxo de Dados
Barramento
Barramento de E/S
de memória
CENTRO DE
INFORMÁTICA - UFPE GRECO
Características de Memória
Localização Performance
• CPU
• Tempo de acesso
• Placa mãe (primária)
• Ciclo
• Externa (secundária)
• Taxa de transferência
Capacidade
• Tamanho e Núm. de palavras Implementação
Unidade de Transf. • Semicondutor
• Palavra ou bloco • Superfície magnética
Método de Acesso • Superfície ótica
• Sequencial (ex. fita)
• Acesso direto (ex. disco)
Manutenção de dados
• Acesso randômico • Volátil ou não
• Acesso associativo • Apagável ou não
CENTRO DE
INFORMÁTICA - UFPE GRECO
Nomenclatura Básica
RAM = Random Acces ROM = Read Only Memory
Memory PROM = Programmable ROM
SRAM = Static RAM EPROM = Erasable PROM
DRAM = Dynamic RAM EEPROM = Electrically Erasable
VRAM - Video RAM PROM (apagamento byte a byte)
WRAM - Windows RAM Flash EPROM = Fast erasable
EPROM (apagamento por bloco)
CENTRO DE
INFORMÁTICA - UFPE GRECO
Tipos Básicos de Memória Semicondutora
Tipo de Memória Categoria Apagamento Escrita Volatil
idade
Random-Access Read- Elétrico Elétrica Volátil
Mem. (RAM) Write byte a byte
Read-Only Mem. Read-
Máscara
(ROM) Only
Impossível
Programmable One-Time
ROM (PROM) Prog.
Erasable PROM Ultra-violeta não-
(EPROM) volátil
Elétrica
Electrically EPROM Read- Elétrico
(EEPROM) mostly byte a byte
Flash EPROM Elétrico
por bloco
CENTRO DE
INFORMÁTICA - UFPE GRECO
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)
CENTRO DE
INFORMÁTICA - UFPE GRECO
Encapsulamento
SIMM DIMM
• Single In-line Memory Module • Dual In line Memory Module
• 30 pinos, 8 bits/módulo • 168 pinos, 64 bits/módulo
• 72 pinos, 32 bits/módulo
Compact SIMM
Montagem na MB
SIMM 30 pinos
CENTRO DE
INFORMÁTICA - UFPE GRECO
DIMM
CENTRO DE
INFORMÁTICA - UFPE GRECO
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) ______
CENTRO DE
INFORMÁTICA - UFPE GRECO
DRAM • O endereço das linhas e colunas são enviados
separadamente (prim. linha, depois coluna).
Organização Interna • Para acessar uma posição (leitura ou escrita),
o endereço da linha é posto junto com o sinal
e Método de Acesso RAS (Row Addres Selector).
• Depois o endereço da coluna vai junto com o
____ ___ __ __ sinal CAS (Column Address Selector)
RAS CAS W OE
• 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)
MUX
Row
Dec
A0
oder
A1
...
...
A10 D1
D2
D3
Column D4
Decoder
CENTRO DE
INFORMÁTICA - UFPE GRECO
No Page Mode, o controlador de memória
faz até 4 acessos em sequência à DRAM.
Modo de Acesso É 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
Ex: FPM RAM
• Ativa uma fila (RAS) 66MHz) em page mode, o que significa 5
• Acessos sequenciais pulsos de clock para obter o primeiro
a colunas (vários dado, e 3 para o segundo, terceiro e
pulsos de CAS) quarto.
CENTRO DE
INFORMÁTICA - UFPE GRECO
FPM DRAM - Fast Page Mode DRAM
EDO DRAM - Extended Data-Output DRAM
CENTRO DE
INFORMÁTICA - UFPE GRECO
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
CENTRO DE
INFORMÁTICA - UFPE GRECO
BEDO - Burst EDO DRAM
Page (burst) mode = 5/1/1/1 a Possui registrador e gerador
66MHz interno de ender. sequenciais
Tempo de acesso randômico é
igual ao FPM ou EDO RAM
CENTRO DE
INFORMÁTICA - UFPE GRECO
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.
Interleaved
Uso de Serial
Presence Detect para
Plug-and-Play
CENTRO DE
INFORMÁTICA - UFPE GRECO
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
CENTRO DE
INFORMÁTICA - UFPE GRECO
Direct Rambus DRAM ou RDRAM
Padrão proprietário da Rambus Inc.
Usa o Direct Rambus Channel – 400MHz, 16 bits (o barramento
estreito permite estas taxas altas)
Transferência de dados na subida e descida do clock
1,6 GByte/s
Uso de Serial Presence Detect para Plug-and-Play
CENTRO DE
INFORMÁTICA - UFPE GRECO
Direct Rambus DRAM ou RDRAM
CENTRO DE
INFORMÁTICA - UFPE GRECO
Direct Rambus DRAM ou RDRAM
CENTRO DE
INFORMÁTICA - UFPE GRECO
Synchronous Link DRAM - SLDRAM
Desenvolvido pelo SLDRAM Consortium (20 empresas)
Uso de tecnologia mais comum: bus de 64-bit a 200 MHz
Transferência de dados na subida e descida do clock
3,2 GByte/s
CENTRO DE
INFORMÁTICA - UFPE GRECO
Memórias para Controlador de Vídeo
VRAM - Vídeo RAM MDRAM - Multibank DRAM
WRAM - Windows RAM Vários bancos de DRAMs (cada
Têm duas portas de um 32 KB) com I/O próprio
acesso: uma para o ligados num bus interno.
controlador de vídeo e Dados podem ser acessados em
outra para a CPU vários bancos simultaneamente.
WRAM é 50% mais rápida Chips de qualquer tamanho
e 20% mais barata podem ser fabricados. Ex: 2.5MB,
usados em cont. de vídeo com
resolução de 1,024x768 por 24bit
CENTRO DE
INFORMÁTICA - UFPE GRECO
Memória Cache
CENTRO DE
INFORMÁTICA - UFPE GRECO
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
86
87
88
89
90
91
92
93
94
95
19
19
19
19
19
19
19
19
19
19
CENTRO DE
INFORMÁTICA - UFPE GRECO
Memória Principal Vs. Cache
O fichário representa o disco
rígido.
A pasta sobre a mesa
Quadro representa a memória principal.
Fichário No quadro de avisos se
Pasta 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
CENTRO DE
INFORMÁTICA - UFPE GRECO
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
CENTRO DE
INFORMÁTICA - UFPE GRECO
Princípio da Localidade
Localidade Temporal
• Num futuro próximo, o programa irá referenciar os
programas e dados referenciados recentemente
Localidade Espacial
• Num futuro próximo, o programa irá referenciar os
programas e objetos de dados que tenham
endereços próximos das últimas referências.
CENTRO DE
INFORMÁTICA - UFPE GRECO
Hierarquia de Memória
chip
CPU
Registradores Reg. Velocidade
Cache
cache (L1)
Principal
Custo e cache (L2)
tamanho Cache de Disco
memória principal
Disco Magnético
CENTRO DE
INFORMÁTICA - UFPE GRECO
Níveis de memória
Nível 1 2 3 4
Nome Registrador Cache Memória Secundária
Principal
Tamanho < 1K <4M <4G >1G
Tecnologia BICMOS SRAM DRAM Disco
Tempo de 2-5 3-10 80-400 5.000.000
acesso (ns)
Largura de 4000-32.000 800-5000 400-2000 4-32
banda(MB/s)
Gerência Compilador Hardware S.O S.O /
usuário
Copia em Cache Memória Disco Fita
Principal
CENTRO DE
INFORMÁTICA - UFPE GRECO
Características da Memória Cache
Organização Estratégia de Escrita
• Tamanho do Bloco
• Write through
Tipos de mapeamento
• Write back
• Direto
• Associativo
• Associativo por conjunto Núm. de Caches
Estratégias de substituição
• Single X Two-level
• Random • Unified X Split
• First-in-first-out (FIFO)
• Least-recently used (LRU)
• Least-frequently used (LFU)
CENTRO DE
INFORMÁTICA - UFPE GRECO
Avanços em implementação de caches
CENTRO DE
INFORMÁTICA - UFPE GRECO
Async SRAM
A mais antiga
É mais rápida que a DRAM apenas por ser estática.
20, 15 or 12 ns.
Não é suficientemente rápida para permitir acesso síncrono.
CENTRO DE
INFORMÁTICA - UFPE GRECO
SB SRAM - Syncronous Burst SRAM
8.5ns to 12ns
Acesso em page mode
• 2/1/1/1 em 66 MHz
• 3/2/2/2 em > 66 MHz
Para velocidadades de barramento até 66 MHz, SB SRAM
apresenta a melhor performance.
CENTRO DE
INFORMÁTICA - UFPE GRECO
PB SRAM - Pipeline Burst SRAM (cache)
Usa registradores na entrada ou saída.
Gasta um clock a mais para carregar o registrador, mas depois
permite acesso simultâneo a novas posições de memória
enquanto os dados estão sendo lidos na saída.
Acesso page mode 3/1/1/1.
Mais lenta que SB SRAM em bus < 66MHz.
Melhor se > 66MHz.
4.5ns to 8ns.
CENTRO DE
INFORMÁTICA - UFPE GRECO
Velocidade de Acesso a Memórias Cache
Vel. Bus
33 50 60 66 75 83 100 125
(MHz)
Async 2/1/1/1 3/2/2/2 3/2/2/2 3/2/2/2 3/2/2/2 3/2/2/2 3/2/2/2 3/2/2/2
SRAM
Sync 2/1/1/1 2/1/1/1 2/1/1/1 2/1/1/1 3/2/2/2 3/2/2/2 3/2/2/2 3/2/2/2
SRAM
PB 3/1/1/1 3/1/1/1 3/1/1/1 3/1/1/1 3/1/1/1 3/1/1/1 3/1/1/1 3/1/1/1
SRAM
CENTRO DE
INFORMÁTICA - UFPE GRECO
Memória Cache:
Tipos de Mapeamento
Memória principal
0
Blocos
1 ou
2 Linhas Memória cache
3
4
5 0
6 1
7
8 2
9 3
10
4
11
12 5
13 6
14
15 7
...
30
31
Offset:
identifica palavras em uma linha
CENTRO DE
INFORMÁTICA - UFPE GRECO
Mapeamento Direto
Cada linha na mem. principal tem uma posição fixa na cache
• End. linha = ELMP mod NLC
Memória principal onde ELMP = endereço linha mem. principal
0 NLC = núm. linhas da cache
1 • Tag = ELMP / NLCInforma qual linha da mem. principal está
2 armazenada na linha de cache correspondente)
3
4
• Offset cache = Offset Mem. Principal
5
6 Memória cache
7 dados tag linha
8
9
0 (000) Exemplo: End. linha = 12 mod 8 = 4
10 1 (001) tag = 12 / 8 = 1
11 2 (010)
12 Endereço da palavra
13 3 (011)
14 01 4 (100) Tag Linha Offset
15
5 (101)
16
...
31
6 (110)
0000...01 100 Offset
7 (111)
CENTRO DE
INFORMÁTICA - UFPE GRECO
Offset
Mapeamento direto
CENTRO DE
INFORMÁTICA - UFPE GRECO
Mapeamento Associativo
Memória principal
Uma linha na memória principal pode ocupar qualquer posição na
0
1 cache
2
3 • Tag armazena na cache o end. da linha na mem. principal
4
5
• Offset cache = Offset Mem. Principal
6 Memória cache
7 dados tag
8
9
10 Exemplo: tag = 12 (011002)
11 01100
12
13 Endereço da palavra
14
15 Tag Offset
16
...
31 000000...01100 Offset
Offset
CENTRO DE
INFORMÁTICA - UFPE GRECO
Mapeamento Associativo
CENTRO DE
INFORMÁTICA - UFPE GRECO
Mapeamento Associativo por Conjunto
Uma linha na memória principal pode ocupar qualquer posição dentro de um
conjunto definido de linhas da cache
CENTRO DE
INFORMÁTICA - UFPE GRECO
Comparação de Métodos de Mapeamento
Mapeamento direto Associativa
• Simples e Barata • Rápida
• Mais faltas • Menos falta
• Cara (comparação do endereço
em paralelo)
CENTRO DE
INFORMÁTICA - UFPE GRECO
Políticas de Substituição de Páginas
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
CENTRO DE
INFORMÁTICA - UFPE GRECO
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 uma página da cache foi alterada
pela CPU, não pode ser descartado da cache sem garantir que foi
copiada para a página correspondente na mem. principal)
CENTRO DE
INFORMÁTICA - UFPE GRECO
Políticas de Escrita e Consistência
Write through
• Cache e memória são atualizadas simultaneamente
Write back
• Memória principal é atualizada quando bloco é substituído
• Usa dirty bit para marcar linhas alteradas na cache.
CENTRO DE
INFORMÁTICA - UFPE GRECO
Memória Cache: escrita
consistência da memória
principal
CENTRO DE
INFORMÁTICA - UFPE GRECO
Exemplo: Alpha AXP 21064
Cache separadas de dados e de instruções
• Vantagens:
– Melhor capacidade de otimizações
– Evita hazard estrutural
Características:
• Tamanho:8192 bytes
• Blocos de 32 bits
• Mapeamento direto
• Write through
• Four buffer write-buffer
CENTRO DE
INFORMÁTICA - UFPE GRECO
Alpha AXP 21064- Cache Dados
Endereço
Tag Indice Off.
256
blocos
Buffer
=? Mux de
Escrita
CENTRO DE
INFORMÁTICA - UFPE GRECO
Memórias mais largas
CPU CPU
Multiplexador
Cache
Cache
Memória
Memória
CENTRO DE
INFORMÁTICA - UFPE GRECO
Memória “Interleaved”
CPU CPU
Cache Cache
CENTRO DE
INFORMÁTICA - UFPE GRECO
Memória Interleaved
Bancos de memória para escrita/leitura de múltiplas palavras
Reduz penalidade
Necessita pouco hardware adicional
CENTRO DE
INFORMÁTICA - UFPE GRECO
Código Corretor de Erro:
Código de Hamming
- Capaz de corrigir 1 erro (Single Error Correction - SEC)
- Expansível para Single Error Correction - Double Error Detection
(SEC-DED)
Bits de Dados
1 1 1 0
1 1
1 0 1 0
Bits de verificação
(redundantes) 0
1 1 0
1 0
0
Erro 1
CENTRO DE
INFORMÁTICA - UFPE GRECO
Código de Hamming
Exemplo:
Exemplo: MMbits
bitsdededados
dados
Check Data
Check Data KKbits
bitsdedeverificação
verificaçãodevem
devemser
sercapazes
capazesdedecodificar
codificarerros
erros
bit bit
bit emM+K
em M+Kposições,
posições,quando
quandohouver
houvererro,
erro,mais
maisuma
umaposição
posição
bit queindica
indicaque
quenão
nãohouve
houveerro.
erro.
121100
1100 M12 que
12 M12
111011
1011 M11 => MM++KK++11
=> 22kk
11 M11
101010
10 1010 M10
M10
99 1001
1001 M9
M9
88 1000
1000 C8
C8
77 0111
0111 M7
M7 C1==M3
M3+O
+M5
M5 +M7
M7+O
+M9
M9 +M11
M11
C1 +O +O
66 0110
0110 M6
M6 C2==M3
M3 +M6
M6+O
+M7
M7 +M10
M10+O
+M11
M11
55 0101
0101 M5
M5
C2 +O +O
C4==
C4 M5+O
M5 +M6
M6+O
+M7
M7 +M12
+O M12
44 0100
0100 C4
C4
C8==
C8 M9+O
M9 +M10
M10+O
+M11
M11+O+M12
M12
33 0011
0011 M3
M3
22 0010
0010 C2
C2
11 0001
CENTRO DE
0001 C1
C1
INFORMÁTICA - UFPE GRECO