memórias: rom, ram, dram - ica.ele.puc-rio.br · matriz de leds a cada ciclo de varredura. 27 ......
TRANSCRIPT
1
PUC-Rio
Memórias: ROM, RAM, DRAM
2
PUC-RioClassificação de Memórias Semicondutoras
• Volatilidade– Volátil e Não Volátil
• Acesso– Leitura e Escrita ou Somente Leitura
• Tipos– RAM Random Access Memory (static)– DRAM Dynamic RAM– ROM Read Only Memory– PROM User-Programmable ROM– EPROM Erasable PROM– E2PROM Electrically EPROM– FLASH Flash E2PROM
3
PUC-RioClassificação de MemóriasSemicondutoras
• Tecnologia– Bipolar Transistores Bipolares (npn, pnp)– CMOS Complementary Metal Oxide Silicon
• Estrutura de Acesso– Aleatório– Disciplinado (pilha, fila, etc)
• Endereçamento– bit, byte, bloco
4
PUC-Rio
Características Importantes• Capacidade: mega bits, bytes
– Ex: 1024 bits• Organização: M palavras de N bits
– Ex: 1024x1 , 256x4 bits• Tempo de Acesso: nano segs• Consumo/Dissipação: m amp• Densidade de Integração: área do chip, # gates
Capacidade Velocidade Consumo DensidadeBipolar baixa alta alto baixaCMOS alta média/alta baixo alta
5
PUC-Rio
Estrutura Básica de Chips de Memória
Memória
Sinais de Endereço
Dados
Sinais de Controle
células
A1
A2...
An-1D1
D2...
Dn-1R/W
CS
6
PUC-Rio
ROM - Read Only Memory• Pré-gravadas: modo permanente ou semi-permanente• Não volátil• n sinais de endereço; 2n palavras de b bits
7
PUC-Rio
Porque memória “ROM”?• Armazenamento de Programas
– Boot ROM de computadores pessoais– Programas residentes em equipamentos, jogos, etc.
• ROM é um circuito combinacional: truth-lookup table– pode executar qualquer função combinacional lógica– Endereço = entradas da função– Saídas = saídas da função
8
PUC-Rio
Estrutura Interna da ROM
Decodificador Codificador
A0
An-1
2n b bitsendereço dados
• ROM = decodificador + codificador
9
PUC-Rio
ROM implementando:
Decodificador 2-to-4 c/ controle de polaridade
da saída
decodificador codificador
10
PUC-Rio
Multiplicador4x4
Endereço Conteúdo
End=36
X=6; Y=3
P=18=12H
11
PUC-Rio
Estruturainterna
da ROM
12
PUC-RioDecodificação em duas dimensões:reduz complexidade decodificador
13
PUC-Rio
32Kx8 ROM
14
PUC-Rio
ROMs modernas• 256K bytes, 1M byte, ou maior• Usa transistores MOS como chaves
15
PUC-RioTipos de ROM• ROM Read Only Memory
– programada na fábrica através da metalização nos pontos de interconexão dos diodos
• PROM User-Programmable ROM– programada pelo usuário (alta corrente) através da
queima de fusível (desliga diodo); não permite alterações • EPROM Erasable PROM
– programada eletronicamente; exposição a luz ultra violeta apaga o conteúdo
• E2PROM Electrically EPROM– apagada e escrita eletronicamente, byte a byte
• FLASH Flash E2PROM– apagada eletronicamente todo o conteúdo de uma vez
16
PUC-Rio
EPROM• possui floating gate MOS transistor em cada bit;• floating gate é não conectado e está cercado de
material de altíssima impedância;• alta voltagem aplicada aos bits que devem ser 0,
rompe isolante e armazena carga negativa no floatinggate;
• carga negativa previne que o transistor MOS conduza nas operações de leitura;
• carga pode permanecer por 10 anos ou removida por 15-20 minutos de luz ultra violeta (bit=1);
• chip possui janela de vidro para exposição à luz;
17
PUC-Rio
Estrutura da EPROM
floating gate é não conectado e está cercado de material de altíssimaimpedância
carga negativa previne que o transistor MOS conduza nas operações de leitura
18
PUC-Rio
EPROMs Comerciais - Chips 28 pinos
19
PUC-Rio
EEPROMs, Flash PROMs
• Semelhante a EPROM porém, bits podem ser apagadoseletronicamente com VPP = 12 V
• Floating-gate MOS transistors possuem camada fina de isolante que permite eliminar a carga através de tensão de polaridade oposta;
• Pode ser reprogramada 10000 vezes;• Escrita demora muito mais que leitura: milliseconds vs.
dezenas de nanosegundos;• Apagar
– Byte-byte– Chip inteiro (“flash”)
• FLASH PROM pode ser apagada de uma só vez, aproximando-se de um “RAM” não volátil.
20
PUC-Rio
ROM: Sinais
de Control e E/S
Chip SelectChip Select
OutputOutput EnableEnable
21
PUC-RioEPROM em Microprocessadores
128Kx8 localizada no extremo A19=A18=A17=1
22
PUC-Rio
Espaço de Endereçamento• Corresponde à capacidade de endereçamento
(direto ou indireto) de um processador: 2n
• Representado pelos n sinais de endereço: Ai
An-1 .... A19 A18 A17 A16 A15 A14 A13 A12 A11 A10 A9 .... A00 .... 0 0 0 0 0 0 0 0 0 0 0 0 00 .... 0 0 0 0 0 0 0 0 0 0 ... ... ...0 .... 0 0 0 0 0 0 0 0 0 0 1 1 1 1K0 .... 0 0 0 0 0 0 0 0 0 1 2K0 .... 0 0 0 0 0 0 0 0 1 0 3K0 .... 0 0 0 0 0 0 0 0 1 1 4K0 .... 0 0 0 0 0 0 0 1 8K0 .... 0 0 0 0 0 0 1 16K0 .... 0 0 0 0 0 1 32K0 .... 0 0 0 0 1 64K0 .... 0 0 0 1 128K0 .... 0 0 1 256K0 .... 0 1 512K0 .... 1 1M1 2n
23
PUC-Rio
Operação da EPROM
CE_L OE_L/VPP VCC OUTPUTRead 0 0 5v DoutOutput Disable 0 1 5v ZStandby (35 ma) 1 X 5v ZProgram 0 VPP 5v Din
24
PUC-Rio
ROM - Diagramas de Tempo• Leitura
• tAA - access time from address• tACS - access time from chip select• tOE - output-enable time• tOZ - output-disable time• tOH - output-hold time
25
PUC-RioDefinição do Tempos• tAA - access time from address
– delay entre endereços estáveis e saídas válidas• tACS - access time from chip select
– delay entre CS e saídas válidas• tOE - output-enable time
– delay entre OE e CS ativados, até 3-states de saída sairemde alta impedância
• tOZ - output-disable time– delay entre OE e CS desativados, até 3-states de saída
entrarem em alta impedância• tOH - output-hold time
– delay no qual as saídas continuam válidas após mudar endereço ou após desativar CS e OE
26
PUC-Rio
Projeto• Projete um circuito para a geração e
visualização em matrizes 8x8 LEDs dos caracteres de A a D, utilizando ROM (32x8). – Neste esquema cada caracter é representado por n
(8) posições consecutivas da ROM: bit=1 significa pixel aceso.
– O circuito deve exibir a cada instante um caracter indicado pelo seu código (2 bits) fornecido ao circuito.
– As saídas da ROM devem acionar uma linha da matriz de LEDs a cada ciclo de varredura.
27
PUC-Rio
Projeto• Sugestão: código caracter= end. alto;
contador(8)= end. baixo; conteúdo EPROM=matriz de pixels;
• ROM é lida continuamente, palavra a palavra; • Cada 8 palavras consecutivas referem-se a 8
linhas da matriz de um caracter;• Palavras subsequentes acionam linhas
subsequentes na matriz;• Somente uma linha está ativa (acesa) a cada
ciclo;• A sensação visual corresponde a forma do
caracter.
28
PUC-Rio
RAM-Memória de Leitura/Escrita• “RAM” (Random Access Memory)• Volatilidade
– RAMs perdem seu conteúdo quando alimentação é removida
– NVRAM = RAM + bateria (non-volatile RAM)• SRAM (Static RAM)
– Memória comporta-se como latches• DRAM (Dynamic Memory)
– Conteúdo da memória mantem-se por apenasalguns milisegundos
– É preciso “refrescar” posições através de leitura ouescrita
29
PUC-Rio
SRAM
Chip SelectChip SelectOutputOutput EnableEnableWrite EnableWrite Enable((readread//writewrite_L)_L)
30
PUC-RioOperação da SRAM
• Células de bits são latches tipo D, nãoflip-flops edge-triggered tipo D.– conteúdo (Q) é sensível a entrada (D)– poucos transistores por célula.
• Implicações para operações de escrita:– Endereços devem estar estáveis antes de escrever.– Dado deve permanecer estável até o final da escrita.
31
PUC-Rio
SRAM:EstruturaInterna
32
PUC-Rio
SRAM: Linhas de controle
• Chip select• Output enable• Write enable
33
PUC-Rio
SRAM - Leitura• Similar a ROM
• tAA - access time from address• tACS - access time from chip select• tOE - output-enable time• tOZ - output-disable time• tOH - output-hold time• tRC - read cycle time
tRC
34
PUC-RioSRAM - Escrita
• Endereço deve estar estável antes e depois do acionamento de write-enable.
• Dado é armazenado na subida de (WE & CS).
• tAS - address setup time before write• tAH - address hold time after write• tCSW - chip select setup before end of write• tWP - write pulse width• tDS - data setup time before end of write• tDH - data hold time after end of write• tWC - write cycle time
tWC
35
PUC-Rio
Definição do Tempos• tAS - address setup time before write
– endereço deve estar estável antes de CS e WE senão posições imprevisíveis podem ser alteradas
• tAH - address hold time after write• tCSW - chip select setup before end of write• tWP - write pulse width
– tempo durante o qual WE deve estar acionado para o armazenamento confiável do dado na célula
• tDS - data setup time before end of write• tDH - data hold time after end of write• tR/WC - read/write cycle time
– duração de um ciclo completo de leitura/escrita
36
PUC-Rio
Dados bidirecionais
• Usa os mesmos sinais para leitura e escrita– mais comum em RAM de vários bits– compatível para uso com barramentos bidirecionais
de microprocessadores
37
PUC-RioChips SRAM• Similar aos chips ROM
8kx8 32kx8, 28-pin DIPs 128kx8 512kx8 32-pin DIPs
38
PUC-Rio
21141024 x 4 bit Static RAM
39
PUC-RioDiagrama de Tempo
40
PUC-Rio
Diagrama de Tempo
41
PUC-Rio
Exemplo• Projete uma placa de memória estática (chips +
decodificação de endereço) contendo 16K x 8 bits, usando os chips:– 1o. caso: 2114 (1024 x 4 bits)– 2o. caso: 2147 (4096 x 1 bit)
• Capacidade total da placa = 128K bits• Número de chips necessários:
– 1o. Caso = 32– 2o. Caso = 32
• use 1 RAM 1K no lugar da 2114 e 4 RAM 1K no lugar da 2147; despreze bits.
42
PUC-Rio
Solução 1o. Caso (16Kx16)
R/W
A12A13
A11A10
74LS154
E1E0
A3A2A1A0
151413121110
9876543210
U7
RAM1K
A9A8A7A6A5A4A3A2A1A0
IO7IO6IO5IO4IO3IO2IO1IO0
CSWE
U6RAM1K
A9A8A7A6A5A4A3A2A1A0
IO7IO6IO5IO4IO3IO2IO1IO0
CSWE
U5
RAM1K
A9A8A7A6A5A4A3A2A1A0
IO7IO6IO5IO4IO3IO2IO1IO0
CSWE
U4RAM1K
A9A8A7A6A5A4A3A2A1A0
IO7IO6IO5IO4IO3IO2IO1IO0
CSWE
U3
RAM1K
A9A8A7A6A5A4A3A2A1A0
IO7IO6IO5IO4IO3IO2IO1IO0
CSWE
U2RAM1K
A9A8A7A6A5A4A3A2A1A0
IO7IO6IO5IO4IO3IO2IO1IO0
CSWE
U1
43
PUC-Rio
Projeto• Projete uma placa de memória RAM estática
de 32K x 9bits - 8 bits de dados, com armazenamento e verificação de paridade (1 bit).
• Sugestão: – veja exemplo na aula de XOR;– use a RAM 1K e implemente 32Kx16 bits (haverá
desperdício de 7 bits)
44
PUC-Rio
DRAM (Dynamic RAMs)• SRAMs tipicamente usam 6 transistores por célula
de um bit.• DRAMs usam apenas um transistor por bit: há mais
memória por área de silício• conteúdo 1/0 equivale à carga/descarga do
capacitor do gate
capacitorequivalente do gate do 1-bit celltransistor
45
PUC-Rio
DRAM - Operação
S3
S2S1
+
-
VrefAmpl Comparador
RfugaCgate
IN OUT
Operação S1 S2 S3Write close open openRead close close closeRefresh close close close
Circuito comum a cada coluna da matriz
46
PUC-Rio
DRAM - Leitura
– Pré-carga de bit line até VDD/2.– Faz word_line = HIGH.– Detecta se há passagem de corrente de/para a célula
(se carga < ou > VDD/2).– Conteúdo da célula é destruído na leitura.– Bit deve ser re-escrito de volta.
47
PUC-Rio
DRAM - Escrita
– Faz word line = HIGH.– Faz bit line = LOW ou HIGH para armazenar 0 ou 1.– Faz word line = LOW.– A carga armazenada para nível 1 vai eventualmente
vazar.
48
PUC-Rio
DRAM - Fuga de Carga
• DRAM típica requer que cada célula sejarefrescada uma vez a cada 4 a 64 ms.
49
PUC-Rio
Operação da DRAM: RAS/CAS
• DRAM de 2n posições de b bits• Sinais:
– RAS: Row Address Strobe, – CAS: Column Address Strobe
• n sinais de endereço são fornecidos ao chip de DRAM em 2 passos, usando n/2 pinos apenas:
– 1o. Passo: endereço de linha na descida de RAS_L– 2o. Passo: endereço de coluna na descida de CAS_L
• Método tradicional de operação de DRAM por 20 anos.
• CAS_L faz papel de chip select
50
PUC-Rio
DRAM-Organização Interna
64K x 1DRAM
C C C C CMatriz de Células:
Circuito comum às colunas
A0A0--A7A7
Seleção de Seleção de todas as todas as células da células da mesma linhamesma linha256256
A8A8--A15A15
Leitura do bit Leitura do bit selecionado selecionado pelo pelo endend. de . de colunacoluna
51
PUC-Rio
Refresh• Células são organizadas em vetores:
– seleção de uma linha, efetua o refresh de todas os bits da linha
t t + Tref
15,6 µs 15,6 µs
1o. ciclo
2o. ciclo
500 ns 500 ns 500 ns
• Exemplo: 2116 16Kx1bit DRAM– 128 linhas x 128 colunas– Trefresh = 2 ms; Taccess = 500 ns– requer 128 ciclos de refresh de duração de 500 ns– 1 ciclo de refresh a cada 2/128 = 15,6 µs– durante refresh processador fica em WAIT
52
PUC-Rio
DRAM - Leitura
53
PUC-Rio
DRAM - refresh
54
PUC-Rio
DRAM - Escrita
55
PUC-RioOutros tipos de Ciclos• CAS-before-RAS
– se CAS é acionado antes de RAS, chip refresca linha selecionada por um contador interno e incrementa contador; simplifica projeto; elimina contador de refreshexterno.
• read-modify-write– leitura seguida de escrita da mesma posição
• page-mode-read– permite que uma linha inteira (page) seja lida mantendo-
se RAS low e pulsando-se CAS; acesso mais rápido a dados que estão próximos
• page-mode-write– escrita, similar a page-mode-read
56
PUC-RioOutros tipos de Ciclos• static-column-mode read
– similar a page mode; end. de coluna não é armazenado na DRAM; assim, outro bit da mesma coluna pode ser lido, mudando-se o end. de coluna sem pulsar CAS.
• static-column-mode write– escrita, similar a static-column-mode read; é necessário
negar CAS ou WE na mudança de endereço.• nibble-mode read
– similar a page-mode; o chip de DRAM gera uma sequência de endereços a partir do endereço fornecido no início do ciclo RAS-CAS;
• nibble-mode write– idem, write
57
PUC-Rio
Outros Tipos de DRAM• EDRAM: Enhanced DRAM• CDRAM: cache-DRAM• SDRAM: Synchronous DRAM• RDRAM: Rambus DRAM
58
PUC-Rio
Símbolos Lógicos de DRAMs
RAS
CAS
WE
OE3
15
4
3
15
4
5
4256
DOUT
A0
A1
A2
14
14
7
6
12
11
10
13
9
A3
A4
A5
A6
A7
A81
DIN2
RAS
CAS
WE
5
4164
DOUT
A0
A1
A2
7
6
12
11
10
13
9
A3
A4
A5
A6
A7
DIN2
RAS
CAS
WE
3
15
13
4464
DIO2
DIO1
DIO3
DIO4
A0
A1
A2
17
2
12
11
14
8
7
6
10
5
1
A3
A4
A5
A6
A7
16
4
64K × 4
2
18
7
44256
DIO2
DIO1
DIO3
DIO4
A0
A1
A2
19
1
8
9
6
11
12
13
14
17
4
15
A3
A4
A5
A6
A7
A8
3
16
CAS
WE
OE
RAS
256K × 4256K × 1
2
16
3
5
41000
DOUT
A0
A1
A2
17
6
7
8
10
11
12
13
A3
A4
A5
A6
A7
A814
DIN
A915
1
RAS
CAS
WE
1M × 164K × 1
Copyright © 2000 by Prentice Hall, Inc.�Digital Design Principles and Practices, 3/e