Você está na página 1de 15

Faculdade de Engenharia de Ilha Solteira – Departamento de Engenharia Elétrica

Circuitos Digitais II –Prof.a Suely Cunha Amaro Mantovani. – 1o.sem/2010

Memórias RAMs

1-Introdução

As Memórias de Acesso Aleatório (Random Access Memories – RAMs) são


empregadas para armazenamento temporário de programas e dados. São utilizadas em
equipamentos digitais como memória de programa e dados para armazenamento de forma
temporária, visto que são voláteis. Existem dois tipos que são classificados conforme sua
célula de armazenamento:
 Memórias RAMs Estáticas ou Static RAMs - SRAMs
 Memórias RAMs Dinâmicas ou Dynamic RAMs – DRAMs .
As RAMs estáticas tem como célula um latch ou flip-flop (biestáveis), enquanto
que as RAMs dinâmicas possuem como célula capacitores e transistores MOS.

SRAM
● Célula básica- flip-flop
● Alta velocidade
● Baixa densidade, alto custo
● Alto consumo.

DRAM
● Célula básica- capacitor
● Baixa velocidade
● Alta densidade (4Xmais), baixo custo
● Baixo consumo (3 a 5Xmenor)
● Necessita refresh

Iniciaremos este tópico pelas RAMs Estáticas (fig1) que têm:


 Vantagem Principal: operações de leitura/escrita com iguais facilidades;
 Principal Desvantagem: volatilidade;
 As SRAMs são encontradas nas capacidade: 1K, 4K, 8K, 16K, 128K, 256K, 1M, 4M,
16M e apresenta palavras de 1, 4, 8 e 16 bits.
 As SRAMs armazenam os dados enquanto a tensão de alimentação estiver aplicada ao
circuito integrado;
 Tecnologias de SRAMs: Bipolar, MOS (semicondutor de óxido metálico) e BiCMOS.
Tecnologias mais usuais: NMOS e CMOS (semicondutor de óxido metálico
complementar). As memórias CMOS são mais lentas do que as NMOS e bipolares,
contudo são de menor consumo e maior imunidade ao ruído.
Fig.1 Simbologia Memória RAM estática
2- Célula RAM Estática
Funcionamento básico:
Nos circuitos integrados as células de memória são construídas com diversas
tecnologias, o exemplo a seguir é mostrado (fig.2) devido ao seu aspecto didático.

Fig.2- Célula básica para uma RAM estática

Para escrita: seleciona-se a célula, através de um circuito de endereçamento que faz SEL
= 1, faz-se o sinal de controle para escrita, WE=0. Depois aplica-se o dado no terminal D
(configurado como entrada). A figura 2a a seguir mostra a célula de memória nesta
situação.
Fig. 2a- Funcionamento da célula SRAM na escrita
Vemos que a porta NAND superior terá nível 0 na saída, e com isto, os buffers nas
entradas do flip-flop estarão habilitados, configurando assim um flip-flop tipo D, ao
mesmo tempo a porta NAND inferior terá um nível 1 na saída fazendo com que o buffer de
saída do flip-flop esteja em tri-state, de modo que o dado presente em D esteja conectado à
entrada do flip-flop e seja então armazenado.

Para a leitura: seleciona-se igualmente a célula fazendo SEL=1 e WE=1, assim o dado
armazenado é obtido em D.Veja na figura 2b a seguir, a célula nesta situação.

Fig. 2b- Funcionamento da célula SRAM na leitura


Vemos que a porta NAND superior tem nível 1 na saída, isto faz com que os
buffers de entrada do flip-flop estejam em tri-state. As portas NAND que constituem o
flip-flop estão agora desconectadas (estado de alta impedância) e devido a sua
característica construtiva, reconhecem esta situação como um nível 1, o que faz com que o
flip-flop mantenha o estado anterior (Qf = Qa). Enquanto isto, a porta NAND inferior tem
nível 0 na saída, o que faz com que o buffer de saída esteja habilitado, e com isto o bit
armazenado no flip-flop estará no terminal D.
No caso da célula não ser selecionada (SEL = 0), as duas portas NAND
apresentarão nível 1 em suas saídas, deixando todos os buffers em tri-state e a célula terá
sua saída desativada (tri-state), impedindo qualquer escrita ou leitura de dados.

3- Estrutura Interna das Memórias SRAM

A menor unidade de memória é chamada uma célula e pode ser usada para
armazenar um bit de informação, isto é, 0 lógico ou 1 lógico. Um número determinado de
células juntas formam uma palavra e as células de uma palavra são lidas ou escritas ao
mesmo tempo.
Para formar uma célula de memória podemos utilizar um Flip-Flop ou latch (fig.3).
Nesta figura cada palavra da memória é composta por duas células. Então, a memória tem
4-palavras e cada palavra tem 2-bits. Assim, a capacidade da memória, é igual a 8-bits, e a
organização da memória é 4X2.

Fig.3- Memória RAM estática 4X2


Cada palavra da memória tem uma locação associada a um endereço definido pelos
bits de endereço A1A0.

Endereço Posição
A1A0 Dados
00 Palavra 0
01 Palavra 1
10 Palavra 2
11 Palavra 3
Os endereços são decodificados pelo decodificador de endereços formado pelas
portas AND G0, G1, G2 e G3, cujas saídas quando ativas conectam as saídas das células às
linhas de bits, preparando a posição para uma operação de leitura ou escrita. As memórias
sempre incorporam o decodificador de endereço para limitar o número de pinos da
memória.
A memória é habilitada pelo sinal Seleciona-Circuito (CS). Quando CS =0 (inativo)
as chaves operadas por lógica, que ligam as linhas de bits às saídas ou entradas da
memória, estão abertas, colocando as saídas/entradas memória em tri-state, desconectando-
a do barramento. As operações de leitura/escrita só podem ser realizadas com a memória
habilitada, CS=1 (nível ativo).
As operações de leitura e escrita são controladas pelo sinal Habilita-Escrita.
Quando em nível baixo, as chaves operadas por lógica das entradas I1I0 estão fechadas,
conectando I1I0 às linhas de bits. No nível alto, as chaves operadas por lógica das saídas,
O1O0 estão fechadas, assim, colocam as linhas de bits em ligação com as saídas.

Exemplo : SRAM 64x4

Fig.4- Memória RAM estática 64X4

Operação de Leitura: Operação de Escrita:

Operação Seleciona Circuito: CS  0 - memória selecionada


CS  1 - memória em alta impedância (não habilitada)

3.1-Estrutura Interna Bidimensional

A memória é organizada internamente em linhas e colunas, com um decodificador


de linhas e outro decodificador de colunas (fig. 5).
Fig.5- Decodificação em linhas e colunas para uma memória 16X1.

Os decodificares de linhas e de colunas são de 2-entradas e 4-saídas, cada um tem


duas portas AND de 2-entradas, reduzindo pela metade a quantidade de portas e entradas
na periferia do dispositivo.

3.2-Terminal Comum de Entrada-Saída

Para reduzir a quantidade de pinos na periferia dos CIs de memória são empregados
pinos comuns para entrada e saída de dados (fig.6). O buffer entre a linha de bits e o
terminal de I/O externo “protege“o estado do ff ou seja, mantém o conteúdo da memória
inalterado.
Fig.6- Terminais comuns de I/O

Seleciona-Circuito=1 : a chave na linha de bits fecha


Leitura/Escrita=0 : S1 fecha, pode-se escrever na memória
Leitura/Escrita=1 : S2 fecha, pode-se ler dados da memória.

4- Célula da Memória RAM Estática a Nível de Transistores

Como visto anteriormente, as células de uma RAM Estática são flip-flops que
permanecem em um dado estado ( armazenam um bit) indefinidamente, desde que a
alimentação do circuito não seja interrompida.
RAMs estáticas estão disponíveis nas tecnologias bipolar, MOS e BiCMOS
entretanto, a maioria das aplicações usa RAMs NMOS ou CMOS.
As memórias bipolares tinham a vantagem de ser mais rápidas, mas atualmente as
memórias CMOS tem diminuído esta diferença gradualmente. Os dispositivos MOS têm
uma capacidade maior e um consumo menor. A figura 7a mostra uma célula típica SRAM
bipolar e a figura 7b uma célula NMOS. A célula bipolar apresenta dois transistores
bipolares e dois resistores, enquanto que a célula NMOS mostra em sua estrutura quatro
MOSFETs canal-N.
Um bloco de memória estática consiste num conjunto imenso de células iguais à
representada na figura 7a e 7b, dispostas numa matriz de colunas e linhas, em que cada
uma destas células é capaz de memorizar 1 bit. Em condições normais, um transistor se
encontrará sempre saturado e o outro em estado de corte.
A célula bipolar requer mais área no chip, do que a célula MOS por causa do
transistor bipolar que é mais complexo e dos resistores separados. A célula MOS usa
MOSFETs como resistores (Q3 e Q4).

A célula CMOS (figs. 7c ou 8) é similar a uma célula NMOS, mas usa MOSFETs
canal-P no lugar de Q3 e Q4. Com isso diminui o consumo, mas aumenta a complexidade
do chip.
Fig.7b -Célula de memória estática de 1 bit.-
Fig. 7a -Célula de memória estática de 1 bit.-
tecnologia NMOS
tecnologia bipolar

Fig. 7c -Célula de memória estática de 1 bit.-tecnologia CMOS


Fig. 8 - Célula de memória estática de 1 bit.-tecnologia CMOS

5 -Procedimento para Leitura/Escrita


Em operação normal, a memória deve permanecer na forma de leitura, onde
devemos ter:
1) A entrada R/ W , correspondente ao comando de leitura/escrita, em
nível 1 e CS em 0;
2) Níveis lógicos estáveis nas entradas de endereço e correspondentes à
locação de memória a ser lida.
3) As saídas apresentam uma cópia da informação armazenada na locação
desejada.
Para procedermos ao armazenamento (escrita) de uma informação em uma dada
posição devemos seguir os passos abaixo:
1) Colocar CS em 1, ou seja, ativar o terceiro estado das saídas;
2) Colocar os dados a serem armazenados nas entradas de dados;
3) Colocar níveis lógicos estáveis nas entradas de endereço, correspondentes à
locação de memória onde queremos armazenar os dados;
4) Colocar a entrada R/ W em nível 0 e CS em 0, durante um intervalo de tempo
mínimo igual ao tempo de escrita da memória. Enquanto esta entrada estiver em
nível 0, as linhas de dados e de endereço devem permanecer inalteradas;
6) Colocar a entrada R/ W em nível 1, retornando à posição de leitura;
7) Repetir os passos anteriores para o armazenamento nas demais posições da
memória.
Todos esses procedimentos devem ser executados de forma a garantir os
parâmetros no tempo, especificados para cada memória.
6- Temporização de SRAM

Os CIs de memórias interfaceados com a CPU , devem ser rápidos o suficiente,


para responder aos comandos de R/ W e um projetista de um sistema de computador
precisa observar as diversas características de temporização das RAMs.
Nem todas as RAMs têm as mesmas características de temporização, mas a maioria
dessas características é similar. A nomenclatura dos diferentes parâmetros, varia de um
fabricante para outro.
Como normalmente as linhas de endereço (Ai’s) e dados (Di’s) são múltiplas, não
podem ser representadas por um sinal em nível 0 ou 1. Por esta razão, quando válidas são
representadas por linhas cruzadas.
Seguem um exemplo de temporização de leitura e um exemplo de temporização de
escrita.

Ciclo de Leitura

Fig.9-Temporização típica para uma RAM- Ciclo de leitura

Parâmetros Definição
t0 => instante de aplicação do novo endereço
tACC (t1-t0 ) => tempo de acesso - intervalo de tempo entre a aplicação de um novo
endereço e a disponibilização de dados válidos nas saídas.
tCO => tempo entre a ativação do sinal seleciona- circuito e as saídas irem de
Hi-Z para dados válidos.
tOD => tempo entre a desabilitação do sinal seleciona -circuito e as saídas de
dados se tornarem inválidas.
tRC => tempo do ciclo de leitura, t0 até t4, enquanto o endereço é válido.
Ciclo de Escrita

Fig.10- Temporização típica para uma RAM- Ciclo de escrita


Parâmetros Definição
tAS => tempo de preparação do endereço
tW => intervalo de tempo de escrita
tDS => tempo de setup (preparação)
tDH => tempo de retenção de dado
tAH => tempo de retenção de endereço
tWC => tempo do ciclo de escrita

Tabela 1- Exemplos de tempos de ciclo de leitura/escrita para memórias SRAM


Dispositivo tRC(mín) ns tWC(mín) ns
CMOS -MCM6206C 15 15
(32KX8)
NMOS - 2147H (4KX1) 35 35
BICMOS - MCM6708A 8 8
(64KX4)

Tabela 2- Tempos de acesso para memórias ROMs


Memórias tACC-faixa (ns)
Bipolares típicas 30 a 90
NMOS 35 a 500
CMOS 20 a 60
7- Dispositivos RAM Estáticas Comerciais
RAM estática 6810
Está organizada em 128 palavras de 8 bits (128X8) e é muito empregada nos
sistemas baseados no microprocessador 6800 da Motorola. Dispõe de 6 entradas CS, duas
com ativação alta e quatro com nível baixo. Características:
Organização: 128 X 8 bits
Tecnologia : NMOS
Alimentacão: 5 V
Dissipação típica: 130 mW
E/S dados bidirecional e tri-states
Encapsulado : DIL -24 pinos

Dados Endereço Controle , Alimentação e Terra


D0-D7 A0 - A6 CS0,CS1, CS2, R/W, Vcc, GND
CS3,CS4,CS5

RAM estática 2114

Estrutura de 1024 palavras de 4 bits. Cada um dos quatro bits de dados são
bidirecionais, e lógica tri-state para permitir sua conexão em barramento de dados. Linhas
de controle CS e WE. Esta segunda linha é equivalente a R/W; se WE = 0 a operação
efetuada será de escrita, caso contrário, WE = 1 é leitura. Características principais:
Organização: 1024 X 4 bits
Tecnologia: NMOS
Alimentação: 5 V
Dissipação típica : 300 mW
Encapsulado DIL -18 pinos
Endereço: 10 linhas ( 210=1024 )
Saídas de dados : 4 bits, 4 pinos

Dados Endereço Controle , Alimentação e Terra


I/O1- I/O4 A0 – A9 CS WE, Vcc, GND

RAM CMOS MCM6264C (8k X 8 )


Estrutura de 8192 palavras de 8 bits (fig. 11e 12) e temporização (fig 13). Cada um
dos oito bits de dados são bidirecionais, e lógica tri-state para permitir sua conexão em
barramento de dados. Linhas de controle CE1, CE2 e WE. Esta segunda linha é
equivalente a R/W; se WE = 0 a operação efetuada será de escrita, caso contrário, WE = 1
é leitura. Características principais:

Organização: 8192 X 8 bits


Tecnologia: CMOS
Alimentação: 5 V
Dissipação típica: 100 mW
Encapsulado DIL -28 pinos
13 linhas de endereço: 213=8192
Saídas de dados tristate : 8 bits, 8 pinos
Dados Endereço Controle , Alimentação e Terra
I/O1- I/O7 A0 – A12 CE1, CE2 OE,WE, Vcc, GND

Fig.11-Símbolo e tabela de Modo para CMOS MCM6264C

Fig.12 – Estrutura interna da RAM CMOS MCM6264C


Fig.13 – Ciclo de Leitura da RAM CMOS MCM6264C

8-Tipos de SRAM

Escolher a SRAM correta para um dada aplicação é uma decisão baseada em preço
e performance da SRAM. Para encontrar o compromisso associado com a largura de banda
deve-se levar em consideração alguns fatores como freqüência máxima de operação,
latência, temporizações do barramento, entre outros.

ASYNCHRONOUS SRAM
Até 1991, as SRAMs eram assíncronas. As características determinantes eram
tamanho, velocidade e comprimento da palavra. Todas as versões funcionavam do mesmo
modo. Todas tinham tensão de alimentação de 5V, os mesmos terminais de controle (CE#,
OE#, WE#) e a mesma arquitetura básica. SRAM assíncrona torna a escolha simples, mas
apresenta uma performance limitada.

SYNCBURST SRAM
Por volta de 1992, as memórias 'synchronous burst' ou SyncBurst SRAMs
começaram a ser usadas como memórias 'cache' para microprocessadores. SyncBurst
SRAMs foram inicialmente desenvolvidas para aplicações de memórias 'cache' de alta
velocidade e com esquemas de controle mais complexos, porém elas evoluíram para
memórias ´cache' de microprocessadores Pentium e Power PC, com sucesso. Devido a alta
demanda, esses dispositivos tornaram-se 'commodity' (oferecido por vários fabricantes).
Com alta disponibilidade, excelentes preços e grande largura de banda, a SyncBurst
SRAM é extremamente popular em telecomunicações, redes e outras aplicações
empregando tecnologia DSP (Digital Signal Processing), ASIC (Application Specific
Integrad Circuit) e Arranjos Programáveis.

ZERO BUS TURNAROUND(ZBT) SRAM


SyncBurst SRAM foi desenvolvida para aplicações em 'cache' dentro de sistemas
com microprocessadores, o que requer um complicado esquema de controle. Também
foram projetadas para ciclos mortos ou NOPs (No Operations) inseridos quando a memória
transita de operações READs para WRITEs, reduzindo a largura de banda disponível.
Acrescentar ciclos NOPs limitam a performance em aplicações de telecomunicações e
redes, onde o fluxo de dados que entram e saem são contínuos.
ZBT (Zero BusTurnaround) SRAMs foram desenvolvidas para eliminar os ciclos
mortos do barramento. ZBT SRAM tem uma lógica muito mais simples que SyncBurst
SRAM, tornando-a mais fácil de controlar e minimizando os pinos dos CIs ASIC.
LATE WRITE SRAM
SyncBurst e ZBT SRAMs cobrem larga faixa de aplicações, mas outras aplicações
necessitam da altas frequências de operação. A Late Write SRAM é semelhante à
SyncBurst SRAM mas foi desenvolvida para atender as necessidades de sistemas com
clocks (no barramento) de 166MHz e maiores.

DOUBLE DATA RATE(DDR) SRAM


Para alta performance de sistemas, a DDR SRAM tem a taxa de transferência de dados
mais alta possível. Usando uma arquitetura de taxa dupla de dados, a taxa de dados pode
ser duas vezes a freqüência do clock de entrada da SRAM. Por exemplo, uma taxa de
transferência de dados igual a 300MHz pode ser controlada com sinais de controle e clock
de 150MHz. Isto possibilita um projeto mais simples dos CIs ASIC do que seria necessário
para clock de 300MHz.