Você está na página 1de 53

Memória

CENTRO DE
INFORMÁTICA - UFPE GRECO
Sistema Básico de Memória

Fluxo de Dados

CPU Memória Memória


Principal Secundária
Registradores

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

DIMM 168 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

FPM DRAM EDO DRAM


 DRAM mais simples  Tempo de acesso 70ns,
 Tempo de acesso 70ns and 60ns and 50ns
60ns. Para barramento de 66
 Acesso page mode = 5/3/3/3 MHz use 60 ns ou melhor.
 Acesso page mode =
a 66MHz
5/2/2/2 a 66MHz

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

memória secundária Fita CD-ROM

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

 Sincronizada ao clock do sistema


• Os sinais são sincronizados ao clock.
• Simplifica o projeto da memória
 Burst
• Incorpora controle interno que permite acesso rápido a
posições subsequentes (ex. reg. e gerador de endereços)
 Pipelining
• Usa registradores na entrada e/ou saída o que permite
fornecer dados e acessar novos endereços em paralelo.

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

A melhor memória para cada velocidade de barramento

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 / NLCInforma 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

Memória principal • Tag = ELMP / NCC 


• Set = ELMP mod NCC
0
1 onde ELMP = endereço linha mem. principal
2 NCC = núm. conjuntos da cache
3
• Offset cache = Offset Mem. Principal
4
5
6 Memória cache Conjuntos (sets)
7 dados tag Exemplo: two-way set
8 {
9 associative
10 011
{ tag = 12 / 4 = 3 (0112))
11
12
13
Endereço set
da =palavra
12 mod 4 = 0
14 { Tag set Offset
15
16
...
{ 011 00 Offset
31
CENTRO DE
INFORMÁTICA - UFPE GRECO
Mapeamento Associativo por Conjunto

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)

 Associativa por conjunto: combinação das anteriores


• Se NCC = NLC  Ass. por conjunto = Mapeamento Direto
• Se NCC = 1  Ass. por conjunto = Associativa

NLC = núm. linhas da cache


NCC = núm. conjuntos da cache

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

Write through Write back


facilidade de redução de tráfego com
implementação memória

consistência da memória
principal

 Para se evitar espera durante escrita:


 Write buffers

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.

Tag Dados CPU


Val.
(1) (21) (256) Dados Dados
Entrada Saída

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

Banco 0 Banco 1 Banco 2 Banco 3


Memória Memória Memória Memória Memória

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

Você também pode gostar