Você está na página 1de 82

Captulo 11

Memrias
Leitura e escrita
Podemos dividir as memrias em duas grandes categorias: ROM e RAM.
Em todos os computadores encontramos ambos os tipos. Cada um desses
dois tipos por sua vez, dividido em vrias outras categorias.

ROM
ROM significa read only memory, ou seja, memria para apenas leitura.
um tipo de memria que, em uso normal, aceita apenas operaes de leitura,
no permitindo a realizao de escritas. Outra caracterstica da ROM que
seus dados no so perdidos quando ela desligada. Ao ligarmos
novamente, os dados estaro l, exatamente como foram deixados. Dizemos
ento que a ROM uma memria no voltil. Alguns tipos de ROM
aceitam operaes de escrita, porm isto feito atravs de programas
apropriados, usando comandos de hardware especiais. Uma tpica aplicao
da ROM o armazenamento do BIOS do PC, aquele programa que entra
em ao assim que o ligamos. Este programa testa a memria, inicializa o
hardware e inicia a carga do sistema operacional.

RAM
Significa random access memory, ou seja, memria de acesso aleatrio. Este
nome no d uma boa idia da finalidade deste tipo de memria, talvez
fosse mais correto cham-la de RWM (read and write memory, ou memria
para leitura e escrita). Entretanto o nome RAM continua sendo utilizado por
questo de tradio. Em operao normal, o computador precisa fazer no
apenas o acesso a dados e instrues, atravs de leituras na memria, mas
tambm guardar resultados, atravs de operaes de escrita na memria.
Alm de permitir leituras e escritas, a RAM tem outra caracterstica tpica:
11-2 Hardware Total
trata-se de uma memria voltil, ou seja, seus dados so apagados quando
desligada. Por isso quando desligamos o computador e o ligamos novamente,
preciso carregar o sistema operacional. Resumindo, as principais
caractersticas da ROM e da RAM so:

ROM RAM
Significado Read only memory Random access memory
Faz leituras SIM SIM
Faz escritas NO SIM
Perde dados ao ser desligada NO SIM

Em linhas gerais, essas so as caractersticas das memrias tipos ROM e


RAM. Existem entretanto ROMs que permitem gravaes, e RAM que no
perdem dados, como veremos adiante.

Encapsulamentos de ROMs
Quase sempre voc ir encontrar ROMs fabricadas com encapsulamento
DIP cermico ou plstico, como vemos na figura 1.

Figura 11.1
ROM com encapsulamento DIP.

O encapsulamento DIP (dual in-line package) cermico mais utilizado pelas


ROMs do tipo EPROM (ou UV-EPROM). Essas ROMs possuem uma janela
de vidro, atravs da qual os dados podem ser apagados atravs de raios
ultra-violeta. Depois de apagadas, podem ser novamente gravadas. Em uso
normal esta janela deve permanecer tampada por uma etiqueta. Portanto
nunca retire a etiqueta da ROM expondo sua janela de vidro, pois ela pode
ser apagada por exposio prolongada luz natural.

Podemos ainda encontrar ROMs com outros encapsulamentos diferentes do


DIP. Um encapsulamento relativamente fcil de encontrar o PLCC (plastic
leadless chip carrier), mostrado na figura 2.
Captulo 11 - Memrias 11-3

Figura 11.2
ROM com encapsulamento PLCC.

Encapsulamento das RAMs


Os chips de memria RAM tambm podem ser encontrados em diversos
formatos, sendo que o mais comum o encapsulamento SOJ (small outline
package J-lead), mostrado na figura 3. Voc encontrar com freqncia este
encapsulamento nos chips que formam os mdulos de memria e nos que
forma a memria de vdeo, encontrados em placas de vdeo.

Figura 11.3
Chips de RAM com encapsulamento SOJ.

Tambm comum encontrar chips de RAM com encapsulamento QFP


(quad flatpack). So usados por chips que formam a cache L2 em placas de
CPU com cache externa, e nos chips que formam a memria de vdeo.
11-4 Hardware Total
Figura 11.4
Chips de RAM com encapsulamento QFP.

No confunda chip de memria com mdulo de memria. Os chips de


RAM com encapsulamento SOJ que mostramos na figura 3 so montados
em pequenas placas chamadas mdulos de memria, que sero apresentados
mais adiante.

Encapsulamento de mdulos de memria


At o incio dos anos 90, as memrias dos PCs usavam encapsulamento DIP
e eram instaladas, chip por chip. Trabalho fcil para um tcnico, mas uma
tarefa bastante complexa para um usurio que nunca fez este tipo de
trabalho. Os mdulos de memria foram criados para facilitar a sua
instalao, no s por parte do usurio, mas tambm pela indstria
eletrnica. muito mais rpido conectar um mdulo de memria que
instalar um grande nmero de chips avulsos.

Figura 11.5
Chip de memria com encapsulamento DIP e
mdulos de memria SIPP e SIMM.

Os primeiros mdulos de memria eram chamados SIPP (single inline pin


package), e foram lanados em meados dos anos 80. Este mdulo era uma
Captulo 11 - Memrias 11-5
pequena placa com chips de memria e terminais (perninhas) para encaixe
no soquete apropriado. O processo de fabricao foi simplificado com a
adoo dos mdulos SIMM (single inline memory module). Ao invs de
utilizar terminais de contato como o SIPP, esses mdulos tm um conector
na sua borda. O soquete para este tipo de mdulo um pouco mais
complicado, porm o processo de fabricao dos mdulos tornou-se mais
simples, e sua instalao mais rpida. Mdulos SIPP caram em desuso no
incio dos anos 90, sendo substitudos pelo formato SIMM. Esses mdulos
forneciam 8 bits simultneos e precisavam ser usados em grupos para formar
o nmero total de bits exigidos pelo processador. Processadores 386 e 486
utilizam memrias de 32 bits, portanto os mdulos SIMM eram usados em
grupos de 4. Por exemplo, 4 mdulos iguais, com 4 MB cada um, formavam
um banco de 16 MB, com 32 bits.

Os mdulos SIMM usados at ento tinham 30 contatos, portanto eram


chamados de SIMM/30, ou mdulos SIMM de 30 vias (ou 30 pinos). Ainda
eram bastante comuns em meados dos anos 90, mas j existiam na poca,
mdulos SIMM de 72 vias (SIMM/72), que forneciam 32 bits simultneos.
Em placas de CPU 486, um nico mdulo SIMM/72 formava um banco de
memria com 32 bits. Esses mdulos, apesar de serem mais prticos que os
SIMM/30, eram pouco utilizados, at o lanamento do processador Pentium.
O Pentium trabalha com memrias de 64 bits, portanto seriam necessrios 8
mdulos SIMM/30 para formar um banco de memria. Isto tornaria a
produo complexa, alm de ocupar uma grande rea na placa de CPU
apenas para os mdulos de memria. Os fabricantes passaram ento a adotar
os mdulos SIMM/72. Dois desses mdulos eram suficientes para formar um
banco de 64 bits. J em 1996 era praticamente impossvel encontrar venda
mdulos SIMM/30, exceto no mercado de peas usadas.

Figura 11.6
Mdulos SIMM/30 e SIMM/72.
11-6 Hardware Total
Visando uma integrao de componentes ainda maior, foram criados
mdulos que fornecem 64 bits simultneos. Esses mdulos so chamados
DIMM/168 (dual inline memory module), e possuem 168 vias. Um nico
mdulo DIMM/168 forma um banco de memria com 64 bits. exatamente
o nmero de bits utilizados pelos processadores modernos (Pentium 4,
Pentium III, Athlon, Duron, Celeron) e os no to modernos, como K6, K6-
2, K6-III, Pentium Pro, Pentium II, Pentium MMX, etc.

Figura 11.7
Mdulo DIMM/168.

Se voc precisar dar manuteno em uma placa de CPU Pentium produzida


entre 1995 e 1997, tem grandes chances de encontrar um mdulo COAST
(Cache on a Stick). Este tipo de mdulo era usado para formar a memria
cache de algumas placas de CPU Pentium, e tambm de algumas placas de
CPU 486 e 586 produzidas naquela poca. Note que os mdulos COAST
para placas de CPU Pentium so um pouco diferentes dos utilizados para
placas de CPU 486/586. Os mdulos para Pentium usam memrias SRAM
do tipo Pipelined Burst, que normalmente tm o encapsulamento TQFP.
Mdulos para 486/586 usam em geral memrias SRAM assncronas, com o
encapsulamento PSOP. Os dois tipos so mostrados na figura 8.

Figura 11.8
Mdulos COAST.

A figura 9 mostra os principais mdulos de memria descritos aqui.


Captulo 11 - Memrias 11-7
Figura 11.9
Mdulos de memria.

Dois novos tipos de memria prometem ser comuns nos computadores


avanados, a partir de 2001. So as memrias RAMBUS (RDRAM) e as
memrias DDR SDRAM. Memrias RAMBUS usam o o encapsulamento
RIMM de 184 vias (figura 10). Este tipo de mdulo muito parecido com os
demais apresentados at aqui, exceto pelo fato de poder ter uma chapa
metlica cobrindo seus chips. Note que o mdulo da figura 10 no possui
esta chapa, que atua como um dissipador de calor. Esses mdulos tm
tamanho similar ao dos mdulos DIMM/168, cerca de 13 centmetros.
Entretanto no existe risco de conexo em um soquete errado, j que as
duas fendas existentes do conector s se ajustam aos soquetes apropriados.

Figura 11.10
Mdulo RIMM/184.

Tambm bastante parecidos so os mdulos DIMM/184, utilizado pelas


memrias DDR SDRAM. A medida similar dos mdulos DIMM/168 e
RIMM/184, mas esses mdulos tambm possuem um chanfro caracterstico
que impede o seu encaixe em um soquete errado.

Figura 11.11
Mdulo DIMM/184.
11-8 Hardware Total

Mdulos DIMM/168, DIMM/184 e RIMM/184 tm larguras semelhantes


(13,3 cm), mas diferenas bastante sutis. A forma mais fcil de reconhecer a
diferena atravs dos chanfros existentes no seu conector. O DIMM/184
o nico que possui um s chanfro, enquanto o DIMM/168 e o RIMM/184
possuem dois chanfros. Os dois chanfros do DIMM/168 dividem os contatos
do conector em trs grupos, enquanto os dois chanfros do RIMM/184 ficam
mais prximos do centro, mas no existem contatos entre os dois chanfros
do RIMM/184. Uma outra diferena: os mdulos DIMM/168 possuem um
chanfro em forma de semi-circunferncia em cada lateral. Os mdulos
DIMM/184 possuem dois chanfros em cada lateral.

RAM esttica
At agora abordamos os encapsulamentos usados pelos mdulos de
memria. Vamos agora apresentar, do ponto de vista eletrnico, os principais
tipos de memria RAM. No confunda tipo com formato. Memrias com
formatos (encapsulamentos) iguais podem ser de tipos eletronicamente
diferentes, portanto devemos tomar cuidado para no utilizar memrias
invlidas, iludidos por formatos aparentemente corretos.

RAMs estticas e dinmicas


RAMs podem ser divididas em duas grandes categorias: RAMs estticas
(SRAM) e RAMs dinmicas (DRAM). A DRAM a memria usada em
larga escala nos PCs. Quando dizemos que um PC possui, por exemplo, 128
MB, tratam-se de 128 MB de DRAM. So memrias baratas e compactas, o
que um grande atrativo. Por outro lado, so relativamente lentas, o que
uma grande desvantagem. Por esta razo, os PCs utilizam em conjunto com a
DRAM, uma memria especial, mais veloz, chamada cache, que serve para
acelerar o desempenho da DRAM. H poucos anos, a chamada cache L2
era formada por chips de SRAM, localizados na placa de CPU. Atualmente
a cache L2 faz parte do ncleo dos processadores modernos.

A DRAM por sua vez pode ser subdividida em outras categorias, sendo as
principais:

DRAM
FPM DRAM
EDO DRAM
SDRAM
DDR SDRAM
Captulo 11 - Memrias 11-9

RDRAM

Em termos cronolgicos, a DRAM foi usada do final dos anos 70 at o final


dos anos 80. Em meados dos anos 80 surgiu a FPM DRAM (Fast Page Mode
DRAM), bastante utilizada at meados dos anos 90. Passaram ento a ser
comuns as memrias EDO DRAM (Extended Data Out DRAM), que por
sua vez foram substitudas pela SDRAM a partir de 1997. A partir de 2000, a
SDRAM comeou a dar lugar DDR SDRAM e RDRAM.

Memrias SRAM existem desde os anos 60, e memrias DRAM desde os


anos 70. Ao contrrio do que o nome sugere, a DRAM no caracterizada
pela rapidez, e sim pelo baixo custo, aliado alta capacidade, em
comparao com a SRAM. A alta capacidade devida ao fato das suas
clulas de memria serem mais simples. Com clulas mais simples, possvel
criar chips com maior nmero de clulas de memria. Em compensao, o
mecanismo de acesso s suas clulas de memria mais complicado. Na
RAM esttica, basta fornecer o endereo e o comando (leitura, por
exemplo), e depois de um certo tempo (tempo de acesso), os dados estaro
presentes nas suas sadas. Da mesma forma, nas operaes de escrita, basta
fornecer ao chip o valor a ser armazenado e o endereo onde deve ser feito
este armazenamento, acompanhado do comando de gravao. Passado o
tempo apropriado (tempo de acesso), os dados estaro gravados.

Funcionamento da SRAM
A figura 12 mostra o diagrama simplificado de uma SRAM. Ela recebe
endereos (provenientes do processador), e pode enviar os dados que esto
armazenados no endereo especificado, ou armazenar os dados neste
endereo, de acordo com os sinais de controle (leitura/escrita).

*** 35% ***


Figura 11.12
Diagrama simplificado de uma SRAM.

A figura 13 mostra o diagrama de blocos de uma SRAM, de forma mais


detalhada. O chip usado neste exemplo tem a organizao de 8kx8, ou seja,
11-10 Hardware Total
8k clulas de 1 byte (8 bits). Podemos encontrar chips SRAM com diversas
outras organizaes, com vrias capacidades diferentes. O tamanho das
clulas mais comuns so 8, 16 e 32 bits, mas encontramos tambm modelos
com clulas de 9, 18 e 36 bits para uso em aplicaes que exigem deteco e
correo automtica de erros, como veremos mais adiante neste captulo.

*** 75%
***
Figura
11.13
Diagrama de blocos
de um chip de
memria SRAM.

Para enderear os 8 kB no chip da figura 13, so necessrios 13 bits de


endereo (213 = 8192 = 8k). Portanto o chip tem 13 entradas para endereos:

A0, A1, A2, A3, A4, ... , A10, A11, A12

Neste chip de memria, as clulas so organizadas em uma matriz com 256


linhas de 32 colunas. As 256 linhas usam 8 bits para serem endereadas (A1-
A8), e as 32 colunas usam 5 bits de endereos (A0, A9, A10, A11, A12). Os
pinos I/O0, I/O1, ... , I/O7 so ligados ao barramento de dados. Nas leituras,
os dados lidos da matriz de clulas passam pelos sense amplifiers
(amplificadores que detectam os bits armazenados na clula selecionada) e
os enviam para os pinos de sada. Nas operaes de escrita, os dados
presentes no barramento so enviados ao buffer de entrada e ento
armazenados na matriz de clulas, na posio selecionada pelo endereo. O
chip possui dois sinais de chip enable (CE1 e CE2) que servem para ativar o
seu funcionamento. Esta ativao feita quando CE1=0 e CE2=1. Para fazer
uma gravao usamos WE (Write Enable) = 0, e para leitura, usamos OE
(Output Enable) = 0.
Captulo 11 - Memrias 11-11
Figura 11.14
Leitura de uma SRAM.

A figura 14 mostra o diagrama de tempo de uma operao de leitura em


uma memria esttica. Inicialmente o barramento de dados da memria
encontra-se em alta impedncia (tristate). Estando o endereo desejado
previamente selecionado, fazemos CE1= 0 e CE2 = 1. A seguir ativamos o
sinal Output Enable, fazendo OE = 0. O barramento de dados, que
anteriormente estava em Tristate, passa a apresentar os dados da clula
selecionada. Note que depois de um tempo T1 a partir do instante em que o
chip habilitado (CE1=0 e CE2=1), os dados j esto prontos para serem
enviados para o barramento de dados, mas s o so efetivamente depois que
transcorre um tempo T2 com o sinal OE ativado. Passado um tempo T3
depois que OE desativado (OE=1), o barramento de dados voltar a ficar
em alta impedncia.

Figura 11.15
Escrita em uma SRAM.

A figura 15 mostra o diagrama de tempo de uma operao de escrita em


uma RAM esttica. preciso que o endereo seja selecionado, que os dois
sinais de chip enable sejam ativados (CE1=0 e CE2=1) e que o sinal de
output enable seja desativado (OE=1). Os dados a serem gravados so
fornecidos ao barramento de dados (Data IN Valid), e o sinal Write Enable
ativado. Os dados na entrada devem permanecer estveis durante um tempo
mnimo T1, com o sinal WE ativado em zero. Passado este perodo mnomo,
o sinal WE pode ser desativado.

Clulas de memria esttica


11-12 Hardware Total
Uma clula de memria bsica tem o circuito equivalente ao da figura 16.
Este circuito tem a capacidade de armazenar um bit. O bit armazenado pode
ser lido na sada Y. Para armazenar bits, as entradas R e S so ativadas de
acordo com o valor desejado.

*** 35% ***


Figura 11.16
Clula de memria.

Veremos a seguir como construir este circuito utilizando transitores MOS. O


princpio bsico da clula de memria a ligao de dois inversores, como
mostra a figura 17. Este circuito tem a capacidade de armazener um bit. Se a
entrada do primeiro inversor tem um bit 0, sua sada tem o valor 1. Este 1,
sendo enviado ao segundo inversor, produzir um resultado 0 na sada. Este
0 por sua vez enviado entrada do primeiro inversor, mantendo o circuito
estabilizado, com o valor 0 na sada (segundo inversor).

*** 35% ***


Figura 11.17
Par de inversores ligados desta forma podem armazenar bits.

Na mesma figura, na parte inferior, vemos que nesta situao temos um bit 1
na entrada do primeiro inversor, e na sua entrada teremo um bit 0. Este 0
ser recebido pelo segundo inversor, produzindo um bit 1 na sua sada.
Sabemos portanto que o circuito armazena bits, mas preciso algo que possa
indicar o valor do bit a ser armazenado. O uso de portas NAND como na
figura 16, permite usar as entradas R e S para indicar o bit a ser gravado. Na
figura 18 vemos como o circuito completo implementado na prtica,
utilizando 6 transistores MOS.
Captulo 11 - Memrias 11-13
Figura 11.18
Clula de SRAM com tecnologia MOS.

A clula bsica da figura 18 formada pelos dois inversores CMOS,


destacados em cinza (transistores T1/T2 e T3/T4). Alguns fabricantes utilizam
resistores no lugar de T1 e T3, resultando em clulas de 4 transitores e 2
resistores. Os dois transistores adicionais (T5 e T6) so usados para ler e para
gravar bits. A operao de gravao consiste no seguinte:

a) Os sinais D e D so ativados de acordo com o bit que deve ser


armazenado. Para armazenar um bit 1, fazemos D=1 e D=0. Para armazenar
um bit 0, fazemos D=0 e D=1.

b) Estando definidos os valores de D e D, o sinal SELECT ativado. Isso


ativar os dois transistores ligados em D e D, transferindo seus valores para a
clula. Quando o sinal SELECT desativado, o bit permanecer
armazenado na clula. Note que o SELECT definido a partir do endereo
da posio de memria a ser acessada.

A operao de leitura consiste em ligar o sinal SELECT, fazendo com que os


valores de D e D passem a indicar o bit armazenado na clula. Esses sinais
passam pelos amplificadores de sada, e de acordo com seus valores,
fornecero uma cpia do bit que estava armazenado na clula.

SRAM assncrona x SRAM sncrona


Assim como ocorre com a DRAM, a SRAM pode ser dividida em inmeras
categorias: Assyncrhonous SRAM, Syncrhonous SRAM, Dual Port SRAM,
SyncBurst SRAM, ZBL SRAM, NoBL SRAM, Pipelined Burst SRAM e
vrios outros nomes. verdade que existem excesso de nomes, pois um
mesmo tipo de SRAM pode receber nomes diferentes de fabricantes
11-14 Hardware Total
diferentes. Todas essas tecnologias so baseadas na clula de memria
apresentada na figura 18, e nas suas variaes (6 transitores ou 4 transistores
+ 2 resistores). A diferena est nos circuitos que so ligados ao redor da
matriz de clulas.

Vamos apresentar ento essas diversas tecnologias, comeando pelas


memrias SRAM Assncronas e Sncronas (Assynchronous SRAM e
Syncrhonous SRAM). A SRAM Assncrona o tipo mais simples,
apresentado na seo anterior Funcionamento da SRAM. Conforme
mostramos na figura 13, ao redor da matriz de clulas temos apenas os
seletores de endereos, registradores e buffers de entrada e amplificadores e
buffers de sada. Ao contrrio do que ocorre com a SRAM sncrona, que
sempre comandada a partir de um clock, a SRAM assncrona no utiliza
clock. Seus controles so assncronos, e consistem em sinais como Chip
Enable (CE), Output Enable (OE) e Write Enable (WE).

Essas memrias apresentavam tempos de acesso como 35, 25, 20 e 15 ns, e


eram muito utilizadas para formar a cache de processadores 386, 486 e 586,
bem como em aplicaes que no exigiam clocks muito elevados. A maioria
desses processadores operavam com clocks externos de at 33 MHz, e alguns
deles chegando a 40 MHz (Ex: Am486DX2-80). Quanto mais elevado o
clock, menor deveria ser o tempo de acesso das SRAM assncronas. Um
486DX2-80 opera com clock externo de 40 MHz, o que corresponde a um
ciclo de 25 ns. O tempo de acesso da SRAM deveria ento ser bem
reduzido, entre 10 e 15 ns. Quando a SRAM no era suficientemente veloz,
era preciso utilizar wait states, programados pelo CMOS Setup. Isto tornava
o acesso SRAM mais lento.

Com a introduo do Pentium e do barramento externo de 66 MHz, um


novo tipo de memria ainda mais veloz tornou-se necessrio, pois o cliclo j
chegava a 15 ns. Note que j existiam memrias SRAM mais velozes, porm
de baixa capacidade e extremamente caras. Apenas para ilustrar, saiba que
desde o incio dos anos 90 existiam memrias SRAM com tempos de acesso
inferiores a 0,1 ns. Essas memrias eram carssimas e destinam-se ao uso em
supercomputadores e aplicaes de alta velocidade. A indstria de memrias
no movida apenas pelo mercado de PCs, mas o peso deste mercado
bastante significativo. As memrias SRAM para PCs, apesar de no terem
dificuldades tecnolgicas na sua produo, precisam ter alta capacidade e
baixo custo. O que tem ocorrido em termos de tecnologia de memrias para
PCs o desenvolvimento de novos tipos de memria com baixo custo, alta
capacidade e alta velocidade, na medida certa para o uso em PCs.
Captulo 11 - Memrias 11-15
Para permitir o funcionamento em freqncias a partir de 50 MHz, tornou-se
vantajoso o uso de memrias snronas. Essas memrias tm como principal
caracterstica o fato de serem comandadas a partir de um clock. Atualmente
tanto a SRAM como a DRAM usadas nos PCs so sncronas.

*** 75%
***
Figura
11.19
Transferncia de
dados em uma SRAM
sncrona.

A figura 19 mostra o funcionamento de uma SRAM sncrona. Alm do sinal


CE (sinal que habilita o chip) e ADSC (sinal que d incio ao ciclo), temos
um sinal de clock (CLK) que sincroniza todos os eventos. No instante T1, o
endereo desejado (A1) deve ser entregue aos pinos do chip, e os sinais CE e
ADSC devem ser ativados. O barramento de dados, indicado como Q,
encontra-se neste instante em repouso, ou seja, em tristate. No instante T2
completado mais um ciclo, mas os dados ainda no esto disponveis.
Apenas no instante T3, no final do segundo ciclo, o dado armazenado no
endereo A1 estar presente no barramento de dados. A partir da a
memria entregar automaticamente, nos instantes T4, T5 e T6, os dados
armazenados nas posies de memria seguintes (A1+1, A1+2 e A1+3). Por
exemplo, ao fornecer o endereo 1000, a memria entregar os dados
armazenados nos endereos 1000, 1001, 1002 e 1003. Como a entrega do
primeiro dado demorou 2 ciclos e os dados seguintes foram entregues em
intervalos de 1 ciclo, dizemos que esta memria est operando no modo 2-1-
1-1. Dizemos ainda que a memria tem latncia de 2 ciclos. Memrias mais
lentas podem necessitar operar com latncia de 3 ciclos (3-1-1-1, por
exemplo). A latncia necessria para que os circuitos internos da memria
tenham tempo de encontrar a clula desejada. Uma vez encontrada, as
clulas seguintes so localizadas de forma mais rpida, j que ocupam
posies consecutivas.

Enquanto a SRAM assncrona tem sua velocidade especificada pelo seu


tempo de acesso, ou seja, o tempo que demora para encontrar o dado
endereado (medido em nano-segundos), a SRAM sncrona tem sua
velocidade indicada pelo seu clock, ou seja, o mximo clock com o qual
pode operar (medido em MHz). Eventualmente a SRAM sncrona pode ter
11-16 Hardware Total
tambm sua velocidade indicada pelo tempo de ciclo, que igual ao inverso
do clock. Veja por exemplo os tempos de ciclo e clocks das verses do chip
MT58L64L18PT, fabricado pela Micron Technology. Este chip tem 64k
clulas de 18 bits, e oferecido para clocks de 100, 133 e 166 MHz.

Modelo Ciclo Clock


MT58L64L18PT-10 10 ns 100 MHz
MT58L64L18PT-75 7,5 ns 133 MHz
MT58L64L18PT-6 6 ns 166 MHz

As SRAM sncronas dividem-se por sua vez em diversas outras categorias,


dependendo do seu modo de operao.

Modo Pipelined
As memrias SRAM sncronas j apresentavam um melhoramento de
desempenho em comparao com as assncronas, para freqncias de 50, 60
e 66 MHz. Entretanto logo surgiu a necessidade de operar com freqncias
ainda mais elevadas, no permitidas pela tecnologia tradicional com a qual
eram construdas as primeiras SRAM sncronas. Para premitir freqncias de
operao mais elevadas, os fabricantes de memria introdiziram o modo
pipelined.

A idia bastante simples e resulta em clocks maiores, mesmo utilizando


clulas de memria idnticas. Estamos falando da poca em que foi
ultrapassada a barreira dos 66 MHz, mas levando em conta memrias mais
atuais, a mesma tecnologia que permite construir memrias atuais no
pipelined de 133 MHz permite tambm produzir memrias pipelined de
166 MHz.

Figura 11.20
Diferena entre a SRAM Pipelined e a
non-Pipelined.
Captulo 11 - Memrias 11-17

A diferena entre os dois tipos est mostrado na figura 20. Um chip de


memria SRAM sncrona comum (chamado de non-pipelined ou flow-
throug) tem em seus buffers de sada o valor idntico ao apresentado pelos
sense amplifiers, que por sua vez reproduzem o valor lido da matriz de
clulas de memria. Os valores presentes no barramento de dados do chip
precisam permanecer estveis durante um tempo mnimo, para que o
processador e o chipset possam fazer a sua leitura. A necessidade deste
tempo mnimo impede que a matriz de clulas d incio ao prximo ciclo de
leitura, ou seja, ela precisa esperar um pouco. Nas memrias pipelined, os
dados recebidos da matriz de clulas passam pelos amplificadores e so
armazenados em registradores de sada (output registers). Ao contrrio do
buffer, que se limita a passar adiante os valores lidos nas suas entradas, o
registrador capaz de memorizar suas entradas e manter esses valores
memorizados nas suas sadas, mesmo que as entradas posteriormente
mudem de valor. Graas aos registradores, a sada do barramento de dados
da memria fica estabilizada, e a matriz de clulas pode ser novamente
usada para o prximo acesso. Como graas ao registrador a matriz de clulas
no precisa mais esperar a leitura do dado pelo processador, temos um
maior aproveitamento, resultando em maior velocidade.

Apesar de possibilitar operar com clocks mais elevados, uma SRAM


pipelined tem a desvantagem de exigir um ciclo a mais para o carregamento
do registrador. Enquanto os modelos no pipelined operam no modo 2-1-1-1
(5 perodos), os modelos pipelined operam com 3-1-1-1 (6 perodos), porm
com freqncais mais elevadas. Por exemplo, em 66 MHz (ciclo de 15 ns),
uma transferncia de uma SRAM no pipelined demoraria 75 ns (5 x 16 ns),
mas a 100 MHz (ciclos de 10 ns) uma transferncia de uma pipelined SRAM
demoraria 60 ns (6 x 10 ns). A mesma SRAM no conseguiria operar no
modo 2-1-1-1 a 100 MHz, e exigiria usar o modo 3-2-2-2, bem mais lento.
Portanto para clocks acima de 66 MHz, a SRAM do tipo pipelined comea a
levar vantagem sobre memrias SRAM no pipelined de tecnologia
semelhante (com clulas obtidas pelo mesmo processo de fabricao, e em
conseqncia, de mesmo preo).

Ao adotarem a operao em modo pipeline, as memrias SRAM sncronas


passaram a ser chamadas de Pipelined Burst SRAM. As memrias SRAM
sncronas porm sem o recurso pipeline passram a ser chamadas apenas de
Burst SRAM, Syncrhonous Burst SRAM, SyncBurst SRAM ou Flow-Through
SyncBurst SRAM. Note que apesar desses nomes, as memrias SRAM
Pipelined tambm so sncronas e tambm operam em modo burst, portanto
podem ser ainda chamadas de Pipelined Syncrhonous Burst SRAM.
11-18 Hardware Total

Os dois tipos de Syncronous Burst SRAM foram criados especificamente


para operar como caches secundrias em placas de CPU equipadas com
processadores Pentium e superiores. At hoje encontramos essas memrias
formando a cache L2 nas placas com Socket 7 (Ex: K6-2). Tambm foram
utilizadas na formao da cache L2 discreta dos processadores com
encapsulamento em cartucho, como Pentium II, Pentium III Katmai e nas
primeiras verses do AMD Athlon.

DDR e QDR
Memrias DDR SDRAM foram criadas visando a operao em clocks ainda
mais delevados. Elas utilizam a tcnica DDR (Double Data Rate), na qual
duas matrizes de clulas independentes so acessadas por dois clocks (na
figura 21 os clocks so K e K#). O sinal K# tem o valor oposto de K, ou
sejam tratam-se de clocks complementares, requisito comum em todos os
dispositivos que operam com DDR.

Na figura 21, o endereo fornecido memria e ativado o sinal LD#. O


sinal R/W# deve permanecer com o valor 1, indicando operao de leitura.
Na segunda descida do clock K, o primeiro dado estr disponvel. Os trs
dados seguintes sero fornecidos a cada meio perodo de K, portanto so
duas transferncias por cada ciclo, caracterstica do modo double data rate.

Figura 11.21
Ciclo de leitura em uma DDR SRAM.

A tabela a seguir mostra como exemplo, as verses do chip DDR SRAM


MT57V256H36PF, produzido pela Micron Technology. So oferecidas
verses de 166, 200, 250 e 300 MHz. Note que esses clocks, ao utilizarem
double data rate, resultaro em equivalentes a 333, 400, 500 e 600 MHz.

Modelo Ciclo Clock


Captulo 11 - Memrias 11-19
MT57V256H36PF-3.3 3.3 ns 300 MHz
MT57V256H36PF-4 4 ns 250 MHz
MT57V256H36PF-5 5 ns 200 MHz
MT57V256H36PF-6 6 ns 166 MHz

Memrias QDR (Quad Data Rate), ao contrrio do que possa parecer, no


so como DDRs que fazem 4 transferncias por ciclo. So na verdade
memrias com dois barramentos de dados independentes, um de entrada e
um de sada. Cada um deles opera com double data rate. Quando ambos
esto operando ao mesmo tempo, temos como resultado uma taxa de dados
quadruplicada em relao ao clock.

Memrias DDR SRAM e QDR SRAM so indicadas para aplicaes de alta


velocidade, como cache, memria de vdeo em placas de alto desempenho,
redes e interfaces de alta velocidade.

ZBT ou NoBL SRAM


Essas so memrias SRAM sncronas, capazes de operar no modo burst,
oferecidas em verses pipelined e flow-throug, mas com uma sutil diferena:
Podem fazer a transio imediata entre um ciclo de leitura e um ciclo de
escrita, sem a necessidade de pausas (latency ou turnaround). Todos os
demais tipos de SRAM sncrona tm a limitao de no poderem passar
imediatamente de uma leitura para escrita, ou vice-versa. A razo disso que
o sistema de endereamento interno da memria tem diferenas, nas leituras
e nas escritas. preciso ento tempo para a memria desativar internamente
o endereamento da leitura e ativar o endereamento da escrita, e vice-versa.
Memrais ZBT (Zero Bus Turnaround) ou NoBL (No Bus Latency) ou
Network SRAM o nome varia conforme o fabricante tm seus circuitos
internos de endereamento organizado de forma que o mesmo
endereamento usado para a leitura usado tambm para a escrita, portanto
no tem necessidade esperar pela desabilitao de um circuito e a
habilitao de outro quando so feitas inverses entre operaes de leitura e
gravao.

Dual Port SRAM


Este um tipo especial de memria que pode ser acessada simultaneamente
por dois barramentos independentes. A figura 22 mostra o diagrama de uma
memria Dual Port.
11-20 Hardware Total
*** 75%
***
Figura
11.22
Diagrama de uma
Dual Port SRAM.

Como vemos, existem dois conjuntos de sinais independentes, com


barramento de dados, endereos e controle. At os circuitos internos so
simtricos e independentes. Ambos acessam uma nica matriz de clulas de
memria.

Note que existem muitos casos em que so usadas memrias comuns e existe
mais de um circuito que faz acessos. A memria DRAM de uma placa de
CPU, por exemplo, acessada pelo processador, pelo chipset, pela placa de
vdeo AGP, pelas interfaces de disco rgido e por outras interfaces que
operam com DMA (acesso direto memria). A diferena que nesses
casos, apenas um dispositivo pode acessar a memria a cada instante, e
todos os demais tm que aguardar. J no caso das memrais Dual Port, os
dois dispositivos podem realizar acesso simultneos. A matriz de clulas
dividida em bancos independentes, de modo que mnima a possibilidade
de coliso, ou seja, quando ambos os circuitos querem acessar o mesmo
banco. Apenas quando ocorre coliso, um circuito ter que esperar pelo
acesso.

Existem inmeras aplicaes para memrias Dual Port. Um exemplo a


cache externa em placas com mltiplos processadores (no estamos falando
de PCs, mas de mquinas mais sofisticadas). Placas de vdeo de alto
desempenho tambm podem fazer uso deste tipo de memria. Ao mesmo
tempo em que a memria de vdeo est sendo lida e transferida para o
monitor, o chip grfico pode fazer seus acessos a esta mesma memria.
Placas digitalizadoras de vdeo de alto desempenho tambm podem usar o
mesmo recurso.
Captulo 11 - Memrias 11-21

1T-SRAM
Como vimos, as clulas de memria SRAM so formadas por 6 transistores,
ou ento por 4 transitores e 2 resistores. Estamos nos referindo s memrias
que usam a tecnologia MOS, j que existem vrios outros tipos. Um exemplo
so as memrais bipolares, que so ainda mais velozes, porm menos densas,
mais caras e com maior dissipao de calor. Existe ainda um tipo especial de
memria SRAM chamada de 1T-SRAM. Cada clula utiliza apenas um
transitor e um capacitor. Este capacitor o responsvel pelo armazenamento
de uma carga que representa um bit, e na verdade construdo com o
mesmo material usado na formao dos transitores. Esta tecnologia foi criada
pela MoSys, que por sua vez a licenciou para vrios outros fabricantes, como
UMC, NEC e Sony. Note que este tipo de clula de memria no na
verdade esttico. Trata-se de uma memria dinmica, porm acrescida de
circuitos internos (refresh transparente, por exemplo), que a tornam do ponto
de vista externo, similar a uma SRAM.

Memrias DRAM que fazem refresh interno existem h vrios anos, e so


chamadas de RAM pseudo-estticas.

Tempo de acesso
O tempo de acesso um parmetro muito importante, relacionado com a
velocidade das memrias. Aplica-se especificamente s memrias SRAM
assncronas, e indica o tempo necessrio para que os dados estejam
disponveis, medido a partir do instante que o chip de memria est
habilitado, atravs da entrada CE (chip enable). Na figura 23, o tempo de
acesso T1. Note que os dados estaro disponveis desde que o sinal OE
(output enable) seja selecionado previamente. Se no for selecionado, os
dados no estaro disponveis.

Figura 11.23
Tempo de acesso de uma SRAM
assncrona.

No chip de memria da figura 24 encontramos a inscrio IS61C256AH-20N.


O sufixo 20 indica que seu tempo de acesso de 20 ns. Este chip faz parte
da cache externa de uma placa de CPU 486.
11-22 Hardware Total
*** 35% ***
Figura 11.24
Chip de SRAM com tempo de acesso de 20 ns.

No faz sentido falar em tempo de acesso no caso das memrias sncronas.


Ao invs disso especificamos o seu clock (ou o perodo de durao do ciclo)
e a latncia. Nos chips encontramos sufixos que indicam o clock ou o
perodo, dependendo do fabricante. O perodo igual a 1 segundo dividido
pelo clock. Por exemplo, um clock de 100 MHz corresponde a um perodo
de 10 ns.

Ciclo Clock Ciclo Clock


20 ns 50 MHz 7 ns 143 MHz
15 ns 66 MHz 6 ns 166 MHz
13,3 ns 75 MHz 5 ns 200 MHz
12 ns 83 MHz 4 ns 250 MHz
10 ns 100 MHz 3,3 ns 300 MHz
8 ns 125 MHz 3 ns 333 MHz
7,5 ns 133 MHz 2,5 ns 400 MHz

Quando dizemos que um chip de memria tem ciclo de 10 ns, no quer


dizer que demorar 10 ns at entregar um dado. Dependendo do tipo de
memoria, ir demorar 2 ou 3 ciclos par entregar o primeiro dado (isto o
que chamamos de latncia), o que neste caso corresponde a 20 ou 30 ns. A
partir do fornecimento do primeiro dado, os trs dados seguintes so
entregues a cada 10 ns, desde que a memria esteja operando em modo
burst.

Wait states
O wait state um recurso que permite o uso de memrias lentas com
processdores rpidos. Para isso basta avisar o processador para que espere
um pouco mais antes de ler os valores do seu barramento de dados (nas
operaes de leitura), ou que espere um pouco mais antes de finalizar uma
escrita, para dar tempo s memrias para receberem o dado. O
funcionamento exemplificado na figura 25.
Captulo 11 - Memrias 11-23
*** 75%
***
Figura
11.25
Acessos memria.

a) sem wait state


b) com 1 wait state

Ao fazerem acessos aleatrios na memria externa, o processador espera


normalmente 2 ciclos. O ciclo tem durao de acordo com o clock externo
do processador. Por exemplo, com clock externo de 100 MHz, o ciclo tem
durao de 10 ns. Uma operao normal de leitura, com durao de 2 ciclos,
mostrada na parte A da figura 25. Durante o primeiro ciclo (T1) o
processador deve entregar o endereo ao barramento, juntamente com
outros sinais de controle. No final do ciclo seguinte, o processador testa o
sinal da sua entrada de controle RDY (Ready). Se estiver em nvel 0, significa
que o ciclo pode ser finalizado, e que o dado estar disponvel no seu
barramento de dados.

Quando as memrias no so suficientemente velozes, o seu circuito de


controle (faz parte do chipset) pode retardar o envio do sinal RDY. Se no
final do ciclo T2 o sinal RDY no estiver ativado (ou seja, com valor 0), o
processador automaticamente esperar mais um ciclo. Esta prorrogao,
representada pelo segundo T2 na parte B da figura 25, o que chamamos de
1 wait state. O processador pode aguardar mais 2, 3 ou quantos wait states
adicionais forem necessrios, at que o circuito controlador da memria ative
o sinal RDY com valor 0, o que finaliza o ciclo. No nosso exemplo, usar um
wait state aumentou o tempo total da leitura para 30 ns. Com 2 wait states
teramos 40 ns, com 3 wait states teramos 50 ns, e assim por diante. Cabe ao
BIOS da placa de CPU programar o chipset com o nmero recomendado de
wait states suficiente para as memrias em uso.

Note que os processadores possuem dois pinos de Ready. O primeiro o


RDY que acabamos de apresentar, e se aplica a leituras e escritas aleatrias,
ou seja, que no usam o modo burst. O segundo controle o BRDY, que
usado quando o processador faz leituras e escritas no modo burst. Nesta
modalidade so feitas transferncias em grupos de 4. Uma transferncia
normal em modo burst obedece temporizao 2-1-1-1, mas atravs do sinal
BRDY, o processador pode operar em outros modos, como 3-1-1-1, 3-2-2-2, 4-
2-2-2, e assim por diante. Portanto os wait states podem ser usados tanto em
operaes assncronas quanto sncronas.
11-24 Hardware Total

RAM dinmica, modos FPM e EDO


Memrias estticas tm clulas relativamente grandes, em geral com 6
transistores. Como resultado, essas memrias so pouco densas, ou seja, no
permitem a obteno das elevadas capacidades de memria exigidas pelos
PCs modernos, a menos que utilizemos um nmero muito grande de chips.
Alm de exigir muito espao, o uso de memrias estticas resulta em custo
bem elevado.

As clulas de DRAM
As memrias dinmicas (DRAM) foram criadas visando obter reduo de
espao, aumento de capacidade e reduo de custo. Uma clula de DRAM
formada por um transistor e um capacitor, como vemos na figura 26. O
tamanho do capacitor pequeno em comparao com o do transitor,
portanto o espao ocupado o de praticamente um transistor por clula.

*** 35% ***


Figura 11.26
Uma clula de DRAM.

O funcionamento desta clula extremamente simples. Para gravar um bit,


basta coloc-lo em D e ativar a linha SELECT. Isto far com que a tenso em
D seja transferida para o capacitor. A seguir a linha SELECT desligada, e o
capacitor ir menter atravs de sua carga, o valor do bit armazenado.

A operao de leitura um pouco mais complexa. Inicialmente a linha D


carregada com a tenso de alimentao, atravs da sua capacitncia. Quando
a linha SELECT ligada, a carga armazenada no capacitor da clula e a
carga armazenada na linha D so distribudas, resultando em tenses iguais.
Se o capacitor estava originalmente descarregado (bit 0), ocorrer uma
pequena reduo na tenso existente em D. Se o capacitor j estava
carregado (bit 1), no ocorrer esta reduo. O novo valor de D ser
portanto igual ao original (o que indica bit 1) ou sensivelmente menor que o
original (o que indica bit 0). Os chamados sense amplifiers percebem esta
Captulo 11 - Memrias 11-25
diferena e identificam se o bit armazenado era 1 ou 0. Note que esta leitura
destrutiva, pois altera o valor armazenado no capacitor. Terminada a
leitura, o bit identificado novamente gravado na clula, o que restaura seu
valor original.

Alm do funcionamento desta clula ser relativamente complicado, existe


mais um agravante: o capacitor se descarrega depois de alguns milsimos de
segundo. Para que os bits no sejam perdidos preciso que toda a memria
seja periodicamente lida, restaurando as cargas dos capacitores. o que
chamamos de refresh.

A matriz de clulas de memria DRAM um grande grupo de linhas


SELECT que se cruzam com linhas D. Para enderear uma clula de
memria preciso selecionar a linha SELECT e a linha D, em funo do
endereo desejado.

A figura 27 mostra de forma simplificada, a construo de uma clula de


DRAM. A clula real mais complexa, tridimensional. As vrias linhas D e
SELECT so dispostas de forma perperndicular, formando uma matriz.

Figura 11.27
Construo de uma clula de DRAM.

comum chamar a matriz de clulas de DRAM de matriz capacitiva. No


deixa de estar correto, pois os capacitores so os responsveis pelo
armazenamento dos bits. Note entretanto que o transitor ocupa um espao
bem maior, como vemos na figura 27. O capacitor mantido com o menor
tamanho possvel para que o processo de fabricao resulte em chips com
mais clulas. Capacitores maiores s teriam como vantagem, a permanncia
da carga por um perodo maior, mas ainda assim na faixa de milsimos de
segundo, no resolvendo o problema da necessidade de refresh.
11-26 Hardware Total
Estrutura interna de uma DRAM
A figura 13 mostra de forma simplificada, a estrutura interna de uma DRAM.
A matriz de clulas dividida em linhas e colunas. Para acessar a matriz
preciso que o chip de memria receba primeiro o nmero (ou endereo) da
linha desejada, e depois o endereo da coluna. Os dados lidos so enviados
para o barramento de dados. O mesmo ocorre na operao de escrita, sendo
que os dados so recebidos do barramento de dados e colocados na clula
selecionada. Dois sinais RAS e CAS servem para indicar quando esto
presentes os endereos da linha e coluna. Alguns chips necessitam receber
um sinal externo MA, para comandar o demultiplexador de endereos,
enviando os nmeros da linha e coluna para os circuitos apropriados. A
maioria dos chips de DRAM mais modernos no utiliza este controle,
fazendo sua gerao internamente em funo dos sinais RAS e CAS.

*** 75% ***


Figura
11.28
Diagrama simplificado
de uma DRAM.

A figura 29 mostra o diagrama completo de um chip de memria DRAM,


com capacidade de 16M x 4. Possui portanto 16 M clulas de memria, e
cada uma delas possui 4 bits. Esses bits so representados no diagrama como
DQ0, DQ1, DQ2 e DQ3. Para enderear essas 16M clulas, o chip tem 12
bits de endereo. Como o endereo fornecido em duas etapas (linha e
coluna), so ao todo 24 bits, exatamente o necessrio para enderear 224 =
16M clulas.
Captulo 11 - Memrias 11-27
*** 75%
***
Figura
11.29
Diagrama completo
de um chip DRAM.

Observe ainda na figura 29 que como o chip do exemplo tem clulas de 4


bits, existem ao todo 4 bancos de clulas independentes. Cada um deles
recebe 4096 linhas (sinais SELECT das figuras 26 e 27) e 4096 colunas, que
so os sinais de dados (so os sinais D nas figuras 26 e 27). Vemos ainda o
chip do exemplo tem um mdulo chamado REFRESH CONTROLLER.
Este mdulo capaz de realizar internamente as operaes de refresh ( o
que chamamos de self refresh), aliviando o trabalho dos circuitos externos.
Tradicionalmente, o refresh tem sido feito pelo controlador de memria
DRAM (que faz parte do chipset). Em aplicaes nas quais o sistema tem
que ficar em estado de espera, o chipset pode ser desligado e o prprio chip
de memria se encarrega de realizar internamente o refresh. Quando o chip
de SRAM no faz self refresh, cabe ao controlador de memria realizar esta
operao, que consiste em fazer leituras peridicas nas linhas da matriz.

Acessando uma DRAM


Como vimos, o mecanismo de acesso s clulas da DRAM bem mais
complexo que o da SRAM. Suas clulas de memria so organizadas em
uma matriz, formada por linhas e colunas. Por exemplo, uma DRAM com 1
Mbit formada por uma matriz quadrada, com 1024 linhas e 1024 colunas
(podem existir formatos diferentes, como 2048x512). Para acessar uma dessas
clulas de memria, preciso primeiro fornecer DRAM o endereo da
linha, seguindo de um sinal chamado RAS (Row Address Strobe). Serve
para indicar que o endereo da linha est pronto. A seguir deve ser
fornecido memria o endereo da coluna, seguido do sinal CAS (Column
Address Strobe). Passado mais um pequeno tempo, o dado daquela clula
de memria cujos nmeros da linha e coluna foram fornecidos, estar
presente e pronto para ser lido pelo processador ou pelo chipset.
11-28 Hardware Total
Note que os processadores no enxergam a memria desta forma, no
esto preparados para gerar sinais RAS e CAS, nem para dividir o endereo
em linha e coluna. O processador simplesmente indica o endereo de
memria que deseja acessar, e a seguir envia um comando de leitura ou
escrita. Cabe ao chipset converter os sinais de acesso memria vindos do
processador, em sinais compatveis para a DRAM. Esta a funo de uma
parte do chipset chamada Controlador de DRAM.

Figura 11.30
O Chipset encarregado de controlar o
acesso DRAM.

O trabalho completo do chipset (controlador de DRAM) para obter um


dado proveniente da DRAM resumido na seguinte seqncia:

1) Chipset recebe do processador, o endereo da clula a ser acessada


2) Chipset desmembra o endereo em duas partes: linha e coluna
3) Chipset envia DRAM, o endereo da linha
4) Chipset envia DRAM o sinal RAS
5) Chipset envia DRAM o endereo da coluna
6) Chipset envia DRAM o sinal CAS
7) A DRAM acessa o dado armazenado nesta clula e o entrega ao chipset
8) Chipset obtm o dado e o encaminha para o processador

Cada uma dessas micro-etapas leva um pequeno tempo para ser executada.
O tempo total necessrio para que o processador receba o dado solicitado da
memria igual soma desses tempos. preciso que voc entenda bem este
mecanismo para que possa compreender as memrias mais novas.
Captulo 11 - Memrias 11-29
Figura 11.31
Ciclo de leitura em uma DRAM.

A figura 31 mostra o ciclo de leitura em uma DRAM. Comea com a


ativao do sinal RAS, que colocado em nvel 0. Neste momento o
barramento de endereos da memria (ADDR) deve estar preparado com o
nmero da linha (ROW) a ser acessada. Aps um tempo especificado, o
barramento de endereos deve receber o nmero da coluna, e a seguir deve
ser ativado o sinal CAS. Logo a seguir, o barramento de dados (DQ), que
antes estava em tristate, entregar o dado lido da clula selecionada. Note
que para isso preciso que o sinal OE (Output Enable) seja ativado em zero.
Chamamos tempo de acesso da memria DRAM, o tempo transcorrido
entre a ativao do RAS e a chegada do dado lido. Uma memria com
especificao 50, por exemplo, demorar 50 ns para entregar o dado lido a
partir do instante da ativao do RAS.

Utilizando a estutura bsica da matriz de clulas de DRAM, vrios outros


tipos de memria tm sido desenvolvidos nos ltimos anos. As principais
forma a FPM DRAM, EDO DRAM, SDRAM, DDR SDRAM, RDRAM.
Todas elas so mais avanadas que a DRAM original, resultando em maior
velocidade, mas ainda assim todas utilizam matrizes de clulas idnticas. A
diferena est nos circuitos internos que do acesso a essas clulas. Por
exemplo, usando 4 matrizes de clulas operando de forma simultnea, temos
a SDRAM. Este tipo de memria opera de forma sncrona, e demora um
tempo inicial para acessar o primeiro dado, e a seguir transfer os 3 dados
seguintes (lidos das outras trs matrizes de clulas) em rpida velocidade.
Chips construdos como duas SDRAM operando em parlelo deram origem
DDR SDRAM, que so duas vezes mais rpidas. Usando 16 ou 32 matrizes
funcionando em conjutno, temos a RDRAM (Rambus RAM).

FPM DRAM
Essas memrias foram usadas nos PCs antigos, em praticamente todos os PCs
386, 486 e 586 e nos primeiros PCs Pentium. No passado eram encontradas
no encapsulamento DIP, depois foram produzidas em mdulos SIPP e
SIMM/30. correto dizer que todos os mdulos SIPP e SIMM eram
formados por chips de FPM DRAM. Chips de FPM DRAM tambm foram
11-30 Hardware Total
utilizados em mdulos SIMM/72, mas no correto dizer que todo mdulo
SIMM/72 do tipo FPM DRAM. Era comum encontrar mdulos SIMM/72
tanto com FPM DRAM como com EDO DRAM.

Memrias FPM DRAM so capazes de operar no chamado Fast Page Mode.


A idia muito simples. A maioria dos acessos memria so feitos em
clulas consecutivas. Considere por exemplo um grupo de 4 acessos s
posies consectivas mostradas na figura 32.

Figura 11.32
Quatro clulas de memria consecutivas.

Os endereos dessas 4 clulas consecutivas so:

Linha 277, coluna 320


Linha 277, coluna 321
Linha 277, coluna 322
Linha 277, coluna 323

Lembre-se que cada linha acompanhada de um sinal RAS, e cada coluna


acompanhada de um sinal CAS. Ora, quando tomamos posies
consecutivas de memria, as linhas so as mesmas e o que varia apenas a
coluna. Seria ento uma perda de tempo repetir no segundo, terceiro e
quarto acessos, o nmero da linha. Basta indicar o nmero da coluna. O
chamado Fast Page Mode tem como principal caracterstica, o acesso a vrias
colunas de uma mesma linha, bastando que sejam fornecidos os endereos
das colunas, seguidos do sinal CAS, sem a necessidade de repetir o nmero
da linha.

O acesso primeira posio de memria de um grupo feito pelo mesmo


mecanismo j explicado para as DRAMs convencionais:

1) Chipset recebe do processador, o endereo da clula a ser acessada


Captulo 11 - Memrias 11-31
2) Chipset desmembra o endereo em duas partes: linha e coluna
3) Chipset envia DRAM, o endereo da linha
4) Chipset envia DRAM o sinal RAS
5) Chipset envia DRAM o endereo da coluna
6) Chipset envia DRAM o sinal CAS
7) A DRAM acessa o dado armazenado nesta clula e o entrega ao chipset
8) Chipset obtm o dado e o encaminha para o processador

Os acessos seguintes so mais rpidos porque exigem menos etapas: no


preciso fornecer o sinal RAS nem o endereo da linha:

5) Chipset envia DRAM o endereo da prxima coluna


6) Chipset envia DRAM o sinal CAS
7) A DRAM acessa o dado armazenado nesta clula e o entrega ao chipset
8) Chipset obtm o dado e o encaminha para o processador

Digamos que o tempo total para realizar as 8 etapas (1 a 8) do acesso


primeira clula seja 100 ns, e que para cada um dos trs acessos seguintes, o
tempo das etapas (5 a 8) seja de 40 ns. Se a DRAM no fosse do tipo FPM,
todos os acessos seriam iguais ao primeiro, e o tempo total seria de 100 + 100
+ 100 + 100, ou seja, 400 ns. Com a FPM DRAM, o tempo total seria 100 +
40 + 40 + 40, ou seja, 220 ns, bem mais rpido.

Poderamos a princpio pensar que o chipset cronometra 100 ns para o


primeiro acesso, e depois 40 ns para cada um dos acessos seguintes. mais
ou menos isso o que ocorre, entretanto o chipset no conta o tempo em ns.
Sua base de tempo o ciclo de clock, a sua menor unidade de tempo. A
durao de um ciclo de clock depende do clock utilizado pelo chipset, que
em geral o mesmo clock externo do processador:

Clock Perodo Clock Perodo


33 MHz 30 ns 95 MHz 10,5 ns
40 MHz 25 ns 100 MHz 10 ns
50 MHz 20 ns 133 MHz 7,5 ns
60 MHz 16,6 ns 166 MHz 6 ns
66 MHz 15 ns 200 MHz 5 ns
75 MHz 13,3 ns 266 MHz 3,75 ns
83 MHz 12 ns 400 MHz 2,5 ns

De um modo geral, para obter o valor do perodo, dado em ns, basta dividir
1000 pelo nmero de MHz. Considere por exemplo um Pentium-200,
operando com clock externo de 66 MHz, ou seja, ciclos de 15 ns. Todas as
suas operaes so feitas em mltiplos de 15 ns, ou seja, 15 ns a sua
11-32 Hardware Total
unidade bsica de tempo. Aquela FPM DRAM que precisa operar com a
temporizao 100/40/40/40, ser controlada pelo chipset com a temporizao
7-3-3-3. So 7x15 = 105 ns para o primeiro acesso e 3x15 = 45 ns para cada
um dos acessos seguintes.

Os processadores modernos, bem como seus chipsets, so orientados para


fazer transferncias em blocos de 4 acessos consecutivos. Entretanto as
memrias FPM podem realizar vrias transferncias consecutivas em Fast
Page Mode, desde que todas elas dentro da mesma linha. Em um caso
extremo, considerando uma matriz de 1024x1024, podemos dar incio
leitura da primeira coluna de uma linha, e ler todas as 1023 clulas
consecutivas desta mesma linha. Processadores e chipsets fazem por padro
leituras de 4 clulas consecutivas, mas outros dispositivos podem tirar melhor
proveito lendo um nmero maior de clulas. Por exemplo, uma placa de
vdeo ao usar memrias FPM, pode fazer corresponder cada linha do vdeo a
uma linha da DRAM, e usar transferncias em Fast Page Mode para enviar
os pixels consecutivos para o monitor.

Figura 11.33
Lentura em Fast Page Mode.

A figura 33 mostra o diagrama de tempo de um ciclo em Fast Page Mode,


com 3 leituras consecutivas. Como dissemos, o nmero de transferncias
consecutivas pode variar, desde que dentro da mesma linha. O tempo de
acesso da memria, acrescido de um intervalo inicial para a prepareo do
endereo da linha, o tempo total que preciso esperar at que o primeiro
dado seja acessado. A partir da, mantendo a linha RAS ativada, alteramos o
endereo da coluna e aplicamos pulsos em CAS. O intervalo entre a
chegada de dois dados consecutivos ser TPC, que um tempo bem menor
que o tempo de acesso da memria. Quando o RAS desativado, termina a
transferncia em Fast Page Mode.

Figura 11.34
Informaes do manual de um chip de
FPM DRAM.
Captulo 11 - Memrias 11-33

Nos manuais dos chips de memria existem todas as informaes sobre a sua
temporizao. A figura 34 mostra a tabela extrada do manual de um certo
chip de FPM DRAM. Este chip oferecido em duas verses: -5 e 6, o que
corresponde a tempos de acesso (tRAC) de 50 e 60 ns, respectivamente.
Encontramos outras informaes, como o tRC, que o tempo total dos ciclos
de leitura. Note que o tempo total do ciclo bem maior que o tempo de
acesso, pois leva em conta todas as operaes envolvidas, no s o acesso.
Outra informao importante o tPC, o tempo de ciclo em Fast Page Mode.
Note que esses dois chips tm esses tempo iguais a 30 e 35 ns,
respectivamente, que so valores consideravelmente menores que o tempo
de acesso. Podemos ainda encontrar outras informaes, como o tCAC, que
o tempo de acesso medido a partir da ativao do CAS.

Em uma placa de CPU cabe ao chipset receber os dados da DRAM para


envi-los ao processador ou cache. O chipset deve ser ajustado de acordo
com a velocidade da DRAM em uso. Este ajuste feito atravs do CMOS
Setup, e normalmente aparece com nomes como DRAM Read Cycle e
DRAM Write Cycle. Digamos que a placa de CPU em uso opere com
clock externo de 66 MHz, o que corresponde a ciclos de 15 ns. Digamos que
estejamos usando memrias FPM DRAM com as seguintes caractersticas:

tRAC = 70 ns
tPC = 40 ns

Como o perodo de clock de 15 ns, so necessrios 5 ciclos (75 ns) para


englobar o tempo de acesso, e 3 ciclos (45 ns) para englobar tPC. Ciclos
adicionais so necessrios no incio do primeiro acesso, pois como vimos, o
tempo de acesso contado a partir da ativao do RAS, mas o ciclo de
leitura comea antes disso. Se reservarmos 2 ciclos iniciais para o incio da
transferncia, o primeiro acesso seria feito aps 7 ciclos. A memria estaria
operando portanto com a temporizao 7-3-3-3. Com memrias um pouco
mais rpidas, de 60 ou 50 ns, pode ser possvel utilizar menos ciclos, e operar
com temporizaes como 6-3-3-3, 7-2-2-2 ou 6-2-2-2. Tudo depende de serem
reduzidos os valores do tempo de acesso (tRAC) e do ciclo de FPM (tPC).
Nas placas de CPU que usavam este tipo de memria, o CMOS Setup usa
uma configurao padro com valores grandes, para que a placa funcione
com memrias de vrias velocidades. Ao utilizar memorias mais rpidas,
tempos menores podem ser usados, mas o ajuste feito manualmente e
experimentalmente no CMOS Setup, em um processo de envenenamento.
11-34 Hardware Total
Quanto ao encapsulamento, a maioria das memrias FPM DRAM, assim
como a EDO DRAM e outras mais modernas, apresentam em geral os
formatos SOJ e TSOP, mostrados na figura 35 e j apresentados no incio
deste captulo. O nmero de pinos depender da capacidade, do nmero de
bits de dados e dos bits de endereos. Observe na figura 35 que os pinos
representam o barramento de dados (DQ), de endereos (A0, A1, etc.) e os
sinais de controle, como RAS, CAS, OE, WE, etc. Existem ainda os pinos de
alimentao (VCC) e terra (VSS ou GND).

Figura 11.35
Chips de memria com encapsulamentos
SOJ e TSOP.

EDO DRAM
Bastante comum a partir de 1995, a EDO (Extended Data Out) DRAM
obtida a partir de um melhoramento de engenharia nas memrias FPM
DRAM. A idia bastante simples. Aps completar um ciclo de leitura e
fornecer os dados lidos, pode dar incio a um novo ciclo de leitura, mas
mantendo em suas sadas, os dados da leitura anterior. O resultado uma
economia de tempo, o que equivale a um aumento de velocidade.
suportada por todas as placas de CPU Pentium, a partir das que apresentam
o chipset i430FX. As primeiras placas de CPU Pentium II tambm as
suportavam, porm essas memrias caram em desuso, sendo logo
substitudas pela SDRAM to logo o Pentium II se tornou comum (1998).

Mdulos de memria EDO DRAM utilizaram muito o encapsulamento


SIMM/72 (assim como a FPM DRAM). Tambm possvel encontrar
mdulos de memria EDO DRAM usando o encapsulamento DIMM/168,
porm so mais raras nesta verso.

Memrias EDO tambm so capazes de operar em Page Mode, ou seja,


fazer transferncias de vrios dados consecutivos, com a ativao apenas do
sinal CAS. Tambm so chamadas de Hyper Page Mode, enquanto as
Captulo 11 - Memrias 11-35
memrias FPM comuns passaram a ser chamadas tambm de SPM
(Standard Page Mode).

Figura 11.36
Funcionamento da EDO DRAM.

O primeiro acesso a uma memria EDO feito no mesmo tempo que em


uma memria FPM, mas a sua vantagem aparece nos acessos seguintes,
como ocorre nas transferncias em Page Mode. A figura 36 mostra a
diferena entre uma memria FPM e uma EDO, ambas operando em Page
Mode. Nas memrais FPM, a descida do CAS ativa o dado, enquanto a sua
subida o desativa. Portanto, antes de fornecer a prxima coluna, preciso
dar tempo para que o processador ou o chipset recebam os dados, para s
ento levantar o CAS, para finalmente ativ-lo em seguida para a prxima
leitura. Nas memrias EDO, a subida do CAS no desativa o dado. Desta
forma pode ser dado incio ao fornecimento da prxima coluna, ao mesmo
tempo em que o dado est presente no seu barramento. Somente quando o
CAS novamente ativado que o dado desativado. De certa forma, a
EDO DRAM faz dois trabalhos em paralelo. Mantm os dados nas suas
sadas enquanto recebe o nmero da prxima coluna para acesso. Pelo fato
de estender o tempo durante o qual os dados ficam ativos, essas memrias
recebem o nome de Extended Data Out (EDO).

O ganho de velocidade no excepcional, mas muito bem vindo. Se uma


FPM DRAM opera com a temporizao 7-3-3-3, a EDO DRAM com clulas
idnticas opera com 7-2-2-2. Melhor ainda, como o ltimo dado lido em um
ciclo fica disponvel por mais tempo, o prximo ciclo tambm pode comear
mais cedo, portanto o perodo de 7 ciclos para o primeiro acesso pode ser
reduzido para 6 ciclos, resultando na temporizao 6-2-2-2. Neste caso um
ganho de desempenho de 33% em relao FPM DRAM. Nas placas de
CPU este ajuste de temporizao feito atravs do CMOS Setup.
11-36 Hardware Total

Memrias EDO DRAM foram muito utilizadas entre 1995 e 1997, em placas
de CPU Pentium com barramento externo de 50, 60 e 66 MHz. Alguns
modelos mais velozes podiam operar com barramentos de 75 e 83 MHz em
placas para processadores Cyrix 6x86, mas muitas vezes o funcionamento era
instvel. Somente com a chegada da nova gerao de memrias (SDRAM)
tornou-se confivel o funcionamento com clock superiores a 66 MHz.

Mdulos de memria EDO DRAM em geral apresentavam o


encapsulamento SIMM de 72 vias. Entretanto, SIMM/72 no sinnimo de
EDO DRAM, j que podemos encontrar tambm mdulos SIMM/72 com
memrais FPM, e alguns mdulos DIMM/168 com memrais EDO DRAM,
apesar de raros.

As placas de CPU que suportavam memrias EDO DRAM em geral


suportavam tambm memrias FPM, o que possibilitou uma transio
tranqila entre as duas tecnologias. Tambm era possvel usar nessas placas,
ambos os tipos de memria ao mesmo tempo, desde que em bancos
diferentes.

Refresh
Como vimos, as clulas de DRAM, sejam elas do tipo normal, FPM, EDO,
SDRAM, DDR, RDRAM ou que usem qualquer outra tecnologia,
necessitam de refresh, ou seja, precisam ser lidas periodicamente, em
intervalos de alguns milisegundos, para que no percam seus dados. Ler
todas as clulas de um chip de DRAM seria uma operao bastante
demorada, mas felizmente essas leituras no precisam ser feitas clula por
clula, e sim, linha por linha. fcil entender porque quando analisamos o
mecanismo de acesso s clulas da matriz.

Figura 11.37
Acesso a uma clula de memria.
Captulo 11 - Memrias 11-37

Na figura 37 vemos o acesso clula localizada na linha 4, coluna 6. Uma


leitura nesta clula servir para fazer o seu refresh, mas para tornar a
operao de refresh mais eficiente, os circuitos que controlam a matriz fazem
a leitura simultnea de todas as clulas da linha selecionada. Todas so lidas
ao mesmo tempo, ou seja, todas as clulas da linha passam por um refresh,
mas os circuitos que controlam as colunas enviaro para o barramento de
dados, apenas o valor da clula desejada.

Fazer o refresh em toda a matriz de clulas consiste em acessar


seqencialmente cada uma das suas linhas. Por isso nos ciclos de refresh no
necessrio especificar a coluna, apenas a linha. O ciclo de refresh tambm
chamado de RAS Only.

Figura 11.38
Ciclo de refresh pelo mtodo RAS Only.

Chips de memria DRAM mais modernos oferecem outros mtodos de


refresh, mas o tradicional RAS Only sempre suportado. Outro mtodo
oferecido nas memrias modernas o CBR (CAS-Before-RAS). Consiste em
aplicar simplesmente um sinal de CAS, seguido por um sinal RAS, ou seja,
no ordem inversa da utilizada nas operaes normais. Esta condio far
com que a memria utilize o endereo de linha presente em um contator
interno (Refresh Counter). O cliclo de refresh pelo mtodo CBR, alm de ser
mais curto, no necesita que seja fornecido um endereo para a memria, j
que ela ir gerar este endereo de linha internamente. Note que nem todos
os chips de DRAM oferecem este recurso.

Outro recurso ainda melhor oferecido em modelos mais novos de FPM


DRAM e EDO DRAM, e presente em todas as memrias mais novas
(SDRAM, DDR e RDRAM) o Self Refresh. Essas memrias possuem um
contador interno para enderear seqencialmente todas as suas linhas, bem
como circuitos que realizam o refresh dessas linhas. Desta forma o
controlador de memria DRAM (faz parte do chipset) no precisa enviar
memria, sinais de refresh.
11-38 Hardware Total

Nos manuais dos chips de DRAM encontramos sempre a indicao do


perodo de refresh (tREF, refresh period). Seu valor dado em milsimos de
segundo. o tempo mximo que as clulas podem suportar de forma
segura, sem perder os dados. A cada perodo de refresh, todas as linhas da
memria precisam ser lidas para que dados no sejam perdidos.

Memrias DRAM antigas apresentavam perodos de refresh de 2 ou 4 ms.


As primeiras verses do IBM PC, produzidas no incio dos anos 80, usavam
memrias DRAM modelo 4116. Essas memrias tinham a organizao de
16k x 1, portanto 8 delas formavam um banco de 16 kB, e 4 bancos
formavam 64 kB. Elas tinham um perodo de refresh de 2 ms, ou seja, a cada
2 milsimos de segundo, todas as suas linhas tinham que ser lidas. A matriz
de 16k clulas tem 128 linhas e 128 colunas (128 x 128 = 16.384). Portanto a
cada 2 milsimos de segundo tinham que ser feitas 128 operaes de refresh.
O intervalo entre duas operaes de refresh consecutivas deveria ser
portanto de:

2 ms 128 = 15,625 s

Como o IBM PC no tinha um controlador de refresh especfico, era


utilizado o canal 0 do controlador de DMA (8237A DMA Controller) para
realizar leituras repetitivas, fazendo assim o refresh. Pulsos de clock a cada
15,625 s eram gerados pelo chip 8253 (programmable interval timer), que
tambm era responsvel pela gerao dos sons que iam para o PC Speaker.

O IBM PC XT j utilizava chips de DRAM mais modernos, como o 4164


(64kx1). Esses chips tinham matrizes de 256x256, duas vezes maiores, mas
seu perodo de refresh tambm era maior, com 4 ms. Desta forma os pulsos
de refresh a cada 15,625 s eram suficientes para o correto funcionamento
das memrias.

Nas placas de CPU atuais, o refresh no mais feito por DMA, apesar dos
seus chipsets conterem circuitos compatveis com o controlador 8237A,
porm utilizado para outras funes. Sendo assim, o canal 0 de DMA est
livre para outras aplicaes nos PCs modernos.

Memrias FPM antigas necessitavam de refresh externo. Modelos mais novos


de FPM DRAM e EDO DRAM eram oferecidos em verses com e sem self
refresh. As memrias mais novas operam exclusivamente com self refresh.
Captulo 11 - Memrias 11-39
Um outro tipo de memria que tambm faz refresh interno a chamada
pseudo static RAM. Essas memrias, alm de fazerem o refresh, possuem
tambm circuitos internos que desmembram o endereo em linha e coluna,
e geram os sinais RAS e CAS. Externamente esses chips possuem sinais de
dados, endereos, chip enable (CE), write enable (WE) e output enable
(OE). Para todos os efeitos, comportam-se como RAMs estticas. Note que as
atuais memrias DRAM fazem refresh interno mas seus sinais de controle
so tpicos de memrias dinmicas, dados, endereos divididos em linha e
coluna, RAS, CAS, write enable e output enable.

Porque a DRAM mais lenta que a SRAM


um erro clssico afirmar que o refresh o culpado pela lentido da
DRAM. uma grande injustia, pois o tempo perdido com o refresh no
chega a comprometer o desempenho do computador. No IBM PC e no PC
XT, as leituras da memria duravam cerca de 0,8 s, e ocorriam a cada
15,625 s. Essas leituras ocupavam portanto apenas 5% do tempo total da
memria, uma degradao bem pequena. Em um Pentium-200, com
barramento externo de 66 MHz, uma leitura de refresh demora cerca de 0,1
s, o que ocupa menos de 1% do tempo total, uma queda de desempenho
imperceptvel. Tambm menor que 1% a poro total do tempo que uma
DRAM moderna ocupa com o refresh. portanto um erro tcnico, e
tambm uma injustia, afirmar que a DRAM lenta porque necessita de
refresh.

A lentido da DRAM resultado de sua natureza capacitiva. Nas operaes


de escrita, os capacitores precisam ser carregados ou descarregados para
armazenar os bits. As leituras, como j apresentamos, provocam alterao na
carga do capacitor selecionado, que precisa ser posteriormente carregado. As
cargas e descargas no so instantneas, mas tm uma durao que depende
do valor do capacitor e da resistncia eltrica percorrida pela corrente. As
RAMs estticas podem operar de forma muito mais rpida porque no
precisam carregar e descarregar capacitores. Basta ligar os transistores e os
dados so recebidos ou armazenados de forma muito mais rpida que nas
DRAMs.

Comparando SRAM e DRAM


J citamos algumas diferenas fundamentais entre a SRAM e a DRAM.
Vamos resumir essas caractersticas na tabela abaixo. Como mostra a tabela,
a DRAM leva vantagem em todos os pontos, exceto na velocidade. Esta
desvantagem compensada com o uso de memria cache.
11-40 Hardware Total
SRAM DRAM
* Rpida Lenta
Baixa densidade * Alta densidade
Alto custo * Baixo custo
Alto consumo * Baixo consumo

A lentido da DRAM, como j explicamos, resultado da sua natureza


capacitiva. A alta densidade da DRAM devida ao fato das suas clulas
serem mais simples. Note que apesar dos diagramas mostrarem a matriz de
clulas em pequeno tamanho em comparao com outros mdulos, esta
matriz ocupa a maior parte da rea do chip. Uma clula de DRAM tem
apenas um transistor e um pequeno capacitor. Uma clula de SRAM tem 6
transitores, ou ento 4 transistores e 2 resistores. Portanto as clulas de
DRAM so de 3 a 4 vezes menores que as clulas de SRAM, ou seja, a
DRAM mais densa, permite a construo de maior nmero de clulas por
unidade de rea. A mesma tecnologia que permite produzir chips de SRAM
com 1 MB pode permitir produzir chips de DRAM com 4 MB.

Tambm como conseqncia das clulas da DRAM serem mais simples, seu
custo menor. Lembre-se que os chips so produzidos em pastilhas
circulares de silcio chamadas waffers). Quanto mais chips puderem ser
produzidos em cada waffer, menor ser o custo de cada chip. Alm disso o
processo de produo da DRAM mais simples, pois utiliza menos camadas
que a SRAM.

Finalmente, o consumo de cada clula de DRAM bem menor que das


clulas de SRAM. A maior parte da energia eltrica de um chip consumida
quando seus transitores mudam de estado, entre conduo e no conduo.
Nas clulas de DRAM temos apenas um transitor trabalhando, contra 6 na
clula de SRAM. Alm disso, mesmo quando uma clula est em repouso
(sem ser acessada), dois dos 6 transistores da SRAM esto operando mesmo
que consumindo baixa corrente. Na DRAM, as clulas em repouso ficam
com seus transitores cortados, sem consumir energia. Apanas para
exemplificar a diferena de consumo entre a SRAM e a DRAM, considere
os chips MT58L64L32P (SRAM, 256 kB) e MT48LC16M8 (DRAM, 4 MB),
ambos produzidos pela Micron Tecnhology utilizando tecnologias de
fabricao semelhantes, ambos operando a 100 MHz. Compare o consumo
dos dois chips:

Chip Capacidade Tenso Corrente Consumo Consumo por MB


SRAM 256 kB 3,3 V 225 mA 0,75 W 3 W/MB
MT58L64L32P
Captulo 11 - Memrias 11-41
DRAM MT48L- 4 MB 3,3 V 140 mA 0,5 W 0,125 W/MB
C16M8

A mesma tecnologia que resultou em uma SRAM que consome 3 watts por
cada MB de memria, permite produzir memrias DRAM com consumo de
0,125 watts por MB, ou seja, um consumo 24 vezes menor!

Reconhecendo a diferena entre FPM DRAM e EDO DRAM


Nem sempre fcil reconhecer primeira vista, a diferna entre memrias
FPM e EDO. Se o mdulo for do tipo SIMM/30 ou SIPP/30, obviamente
do tipo FPM, pois quando as memrias EDO chegaram ao mercado, os
mdulos de 30 vias j haviam cado em desuso. A confuso ocorre
basicamente com mdulos SIMM/72 produzidos entre 1994 e 1997, comuns
em placas de CPU 386, 486 e nas primeiras placas de CPU Pentium. Placas
de CPU 386 no funcionavam com memrias EDO, e placas de CPU 486
tambm normalmente no, mas existem alguns modelos que suportam tanto
FPM quanto EDO. J as primeiras placas de CPU Pentium com soquetes
SIMM/72 suportavam tanto memrias FPM quanto EDO. O BIOS dessas
placas era capaz de detectar o tipo de memria instalado em cada banco e
configura o chipset para acessos de acordo com o tipo detectado.

Figura 11.39
Alguns mdulos apresentavam uma
etiqueta EDO.

Alguns mdulos de EDO DRAM apresentam uma etiqueta indicadora


EDO, como na figura 39. Este um indcio para diferenciar memrias
EDO das memrias FPM, mas no nos deixa livres de falsificaes, j que
qualquer revendedor inescrupuloso pode produzir etiquetas falsas.
Felizmente esta falsificao no comum, j que as memrias EDO e FPM
tm preos similares.
11-42 Hardware Total
Em alguns casos possvel diferenciar entre FPM e EDO de acordo com a
numerao dos chips. Muitos fabricantes usarm para os chips FPM DRAM,
nmeros terminandos com 0, enquanto os chips EDO tm seus nmeros
terminados com 5. A tabela abaixo mostra os principais fabricantes e os
sufixos utilizados para cada tipo de DRAM:

Fabricante Inscries nos Sigla Exemplos Diferena entre FPM e


Chips EDO
OKI MSM MSM51V17400B FPM termina com 0
MD MSM51V17405D EDO termina com 5 ou 8

Samsung KM KM48V8100C FPM termina com 0 ou 3


KM48V8104B EDO termina com 4 ou 5

Texas TMS TMS417400A FPM termina com 0


Instruments TMS416409A EDO termina com 9

Fujitsu MB MB8118160A FPM termina com 0


MB8118165A EDO termina com 5
Mitsubishi M5M M5M417800D FPM termina com 0
M5M4V17405C EDO termina com 5
LG GM GM71V65160C FPM termina com 0
Electronics GM71V65163C EDO termina com 3

Hyundai HY HY51V17800B FPM termina com 0


HY51V17804B EDO termina com 4

Siemens HYB HYB3166160AJ FPM termina com 0


HYB3164165AJ EDO termina com 5
IBM IBM IBM01164DOT3E FPM termina com 0
IBM0116165BJ3E EDO termina com 5

Micron MT MT4C1M16C3DJ Normalmente o 4 dgito


MT4LC1M16E5DJ antes do - E nas
memrias EDO.
Motorola MCM MCM218160B FPM termina com 0
MCM218165B EDO termina com 5

NEC NEC 4265160G5 FPM termina com 0


4264165G5 EDO termina com 5

NPNX NN NN51V17800BJ FPM termina com 0


NN51V17805BJ EDO termina com 5
Panasonic MN MN41V18160ASJ FPM termina com 0
MN41V18165ASJ EDO termina com 5
Toshiba TC TC5118180BJ FPM termina com 0
TC5165165AJ EDO termina com 5
Captulo 11 - Memrias 11-43
Hitachi HM HM5165160A FPM termina com 0
HM5164165A EDO termina com 5

Note que os nmeros citados, como 0 e 5 na maioria dos casos, so em geral


seguidos de letras. Essas letras so cdigos dos fabricantes, e podem indicar
o encapsulamento, voltagem, faixa de temperatura e outras caractersticas.

Velocidade de memrias FPM e EDO


As memrias FPM e EDO, muito usadas nos PCs produzidos entre 1994 e
1997, apresentam em geral o encapsulamento SIMM/72, e so utilizadas aos
pares. O tempo de acesso dessas memrias medido em ns (nano-
segundos). Em geral os tempos de acesso so de 50, 60, 70 e 80 ns, sendo
que as de 60 e 70 ns so as mais comuns. Os fabricantes utilizam ao lado do
nmero de cada chip, um indicador de tempo de acesso. Por exemplo, 60 ns
pode ser indicado como 60, 06, -06 ou similar. A figura 39 mostra chips de
um mdulo SIMM/72, com tempo de acesso de 60 ns.

As marcaes usadas pelos vrios fabricantes, para memrias FPM e EDO,


so indicadas na tabela abaixo.

Tempo de acesso Marcaes


80 ns -80, -8, -08, -X8
70 ns -70, -7, -07, -X7
60 ns -60, -6, -06, -X6
50 ns -50, -5, -05, -X5

Por exemplo, os chips MT4C4007JDJ-6, mostrados na figura 39, so de 60 ns.


Note que as marcaes que indicamos dizem respeito a memrias FPM e
EDO, encontradas em mdulos SIMM/72 (e tambm em SIMM/30).
Memrias SDRAM possuem marcaes parecidas, mas os significados so
outros. Por exemplo, uma SDRAM com marcao 8 no de 80 ns, e sim,
de 8 ns.

Se um mdulo de memria SIMM/30, ento certamente FPM. Se um


mdulo SIMM/72, ento certamente FPM ou EDO. Se o mdulo do tipo
DIMM/168, ento provavelmente trata-se de uma SDRAM, mas existem
alguns raros casos de memrias FPM e EDO que usam o encapsulamento
DIMM/168.

EDO com encapsulamento DIMM/168


So bastante raras, mas existem algumas memrias EDO DRAM com
encapsulamento DIMM/168, apesar deste encapsulamento ser mais usado
11-44 Hardware Total
pela SDRAM. fcil esclarecer a dvida, basta procurar pelo chip de
EEPROM SPD (apresentado mais adiante neste captulo). Mdulos de
SDRAM possuem este chip, enquanto os raros mdulos EDO DRAM com
encapsulamento DIMM/168 no o possuem.

DRAMs sncronas
Com placas de CPU operando com barramentos mais velozes que 66 MHz,
tornou-se necessrio adotar novas tecnologias para acelerar a velocidade das
DRAMs, mesmo com as lentas clulas disponveis. O chamado Page Mode,
usado por memrias FPM e EDO DRAM j aproveitavam o fato de posies
consecutivas de memria poderem ser acessadas de forma mais rpida, j
que todas compartilham a mesma linha na matriz de clulas. Sem a
necessidade de selecionar novamente a linha, bastava selecionar as colunas,
o que cortava o tempo de acesso praticamente pela metade para clulas
consecutivas. Memrias de 60 ns podiam ento enviar dados em intervalos
de cerca de 30 ns em page mode. Ainda assim este tempo muito longo.
Barramentos de 100 MHz exigem novos dados a cada 10 ns, e barramentos
de 133 MHz a cada 7,5 ns. O uso do page mode no suficiente para
entregar dados nesta velocidade. Foi ento que surgiram as DRAMs
sncronas (Synchronous DRAM, ou SDRAM), ideais para barramentos de 66
a 133 MHz, e alguns modelos chegando a 166 MHz. Para barramentos mais
velozes, como 200, 266 e at 400 MHz, foram criadas novas verses ainda
mais velozes, como a DDR SDRAM (Double Data Rate SDRAM) e a
RDRAM (Rambus DRAM).

SDRAM
Esta a DRAM sncrona (Synchronous DRAM), muito utilizada nas placas
de CPU produzidas entre 1997 e 2001. A principal diferena em relao s
DRAMs dos tipos EDO e FPM que seu funcionamento sincronizado com
o do chipset (e normalmente tambm com o processador), atravs de um
clock. Por exemplo, em um processador com clock externo de 133 MHz, o
chipset tambm opera a 133 MHz, assim como a SDRAM. Existem
excees, como processadores Athlon com clock externo de 200 MHz mas
com memrias operando com apenas 100 ou 133 MHz. De qualquer forma,
sempre existir uma sincronizao entre o chipset e a SDRAM.

A SDRAM mais veloz que a EDO DRAM, suportada por todas as placas
de CPU produzidas a partir de meados de 1997, e seus mdulos usam o
encapsulamento DIMM/168, j mostrado no incio deste captulo.
Captulo 11 - Memrias 11-45
Internamente no existe diferena entre as clulas de memria DRAM
comum, da FPM DRAM, da EDO DRAM e da SDRAM. A diferena est
na forma como os dados dessas clulas so acessados. Uma SDRAM realiza
suas transferncias usando temporizaes como x-1-1-1. O primeiro acesso
o mais demorado, mas os acessos seguintes ocorrem em apenas um ciclo.
Essas memrias usam um velho truque para permitir acessos em um nico
ciclo. Este truque utilizado pelas placas de vdeo grfico, desde os anos 80.
Dentro de um chip de memria SDRAM, existem 4 bancos de memria
independentes. Quando so acessadas, as clulas de mesmos endereos em
cada um dos 4 bancos internos do chip so acessadas. Terminado o primeiro
acesso (digamos que este primeiro acesso demore 5 ciclos, portanto a
memria estaria operando com a temporizao 5-1-1-1), o dado do primeiro
banco poder ser transmitido ao chipset e ao processador, e os trs dados
dos outros trs bancos podero ser transmitidos imediatamente depois, sem
ter que esperar pelo seu tempo de acesso tradicional. A demora est em
chegar aos dados desejados. Uma vez acessados, podem ser rapidamente
transmitidos. Portanto, 4 circuitos lentos operando em conjunto, apresentam
o mesmo resultado de um circuito rpido.

*** 100%
***
Figura
11.40
Diagrama de um
chip SDRAM.

A figura 40 mostra o diagrama interno de uma SDRAM. Como vemos,


existem 4 matrizes de clulas, e cada uma delas com seus prprios circuitos
para selecionamento de linha e coluna e sense amplifiers. As 4 matrizes so
acessadas ao mesmo tempo, portanto uma vez que tenha sido feito o
primeiro (e mais demorado) acesso, os dados seguintes so transferidos mais
rapidamente, pois j foram acessados da segunda, terceira e quarta matriz.
Bastar apenas transferir os dados seqencialmente, operao que pode ser
feita em alta velocidade.
11-46 Hardware Total
Se a idia parece complicada, faamos uma comparao bem simples. V a
uma loja de suprimentos de informtica e pea um cartucho de tinta preta
para a sua impressora. Quando o vendedor trouxer o cartucho, pea um
com tinta amarela. Quando trouxer o segundo cartucho, pea um de tinta
cyan, por ltimo um de tinta magenta. Digamos que o vendedor tenha
demorado 20 segundos para buscar cada cartucho. Como os cartuchos de
todas as cores esto todos na mesma prateleira, seria mais rpido pedir os
quatro ao mesmo tempo. O vendedor demoraria os mesmos 20 segundos
para chegar ao primeiro cartucho, mas imediatamente poderia pegar os
outros trs (j acessados), economizando bastante tempo.

Observe no diagrama da figura 40 que existe um bloco chamado Refresh


Counter. Este mdulo est presente em todas as SDRAMs, e com ele o chip
capaz de fazer self refresh, ou seja, o controlador de memria no precisa
mais enviar comandos de refresh para os chips.

Como vemos, a SDRAM no um tipo de memria que usa uma nova


tecnologia de fabricao extremamente mais veloz. Apenas usa uma nova
forma de organizar as clulas de memria fazendo acessos simultneos, para
que a transferncia dos dados seja mais rpida. Truques semelhantes so
utilizados por memrias mais avanadas, como a DDR SDRAM e a
RDRAM, como veremos mais adiante.

Assim como as DRAMs convencionais, FPM e EDO, a SDRAM tambm


utiliza sinais de controle RAS, CAS, WE (Write Enable) e CS (Chip Select),
porm seu uso diferente. As DRAMs anteriores SDRAM so classificadas
como assncronas. Seus sinais de controle so ativados da forma assncrona,
ou seja, cada um tem um instante certo para ser ativado, mas esses instantes
tm liberdade para variar de acordo com o projeto. J na SDRAM, esses
sinais de controle so sincronizados a partir de um clock. No incio de cada
ciclo de acesso os sinais de controle j devem estar definidos de acordo com
o ciclo que vai ser realizado. Por exemplo, em comandos de leitura,
devemos ter no incio do ciclo, CS=0, WE=1, RAS=0 e CAS=0. Nos
comandos de escrita devemos ter CS=0, WE=0, RAS=0 e CAS=0. De acordo
com a combinao formada pelos sinais CS, RAS, CAS, WE e DQM, temos
diversos comandos possveis. A tabela da figura 41 mostra os comandos de
um tpico chip SDRAM. Na tabela, H singlifica nvel alto (bit 1), L
significa nvel baixo (bit 0) e X significa dont care, ou seja, tanto faz 0 ou
1. Note que as transferncias da SDRAM so feitas por padro no modo
burst. Para finalizar a transferncia preciso enviar ao chip um comando
burst terminate (CS=1, RAS=1, CAS=1 e WE=0).
Captulo 11 - Memrias 11-47
Figura 11.41
Comandos de uma SDRAM.

Os comandos da SDRAM so ativados no incio de cada ciclo, sempre no


instante da subida do sinal de clock (CLK). A figura 42 mostra a
temporizao do comando de leitura, que de acordo com a tabela da figura
41, obtido com CS=0, RAS=1, CAS=0 e WE=1.

*** 35% ***


Figura 11.42
Comando de leitura da SDRAM.

A SRAM usa uma forma diferente para enderear linhas e colunas da sua
matriz que resulta em mais um significativo aumento de desempenho,
utilizando a natureza seqencial dos acesso memria. Um chip de memria
RAM projetado para permitir acessos seguidos em posies aleatrias, mas
na prtica, a maioria dos acessos so seqenciais. Isto significa que quando
acessada uma posio de memria, muito grande a probabilidade de que
logo a seguir seja acessada a posio seguinte, ou uma outra posio
prxima. Possies prximas correspondem a clulas localizadas na mesma
linha. Se pudssemos anotar os valores de linha e coluna acessados em uma
memria tpica, veramos que o nmero da coluna varia continuamente, mas
o nmero da linha muito repetido. portanto uma perda de tempo enviar
vrias vezes o endereo da linha (acompanhado do sinal RAS).

A SDRAM aproveita esta natureza seqencial da seguinte forma: utiliza um


comando chamado ACTIVE (CS=0, RAS=0, CAS=1 e WE=1) apenas para
especificar o nmero da linha desejada na matriz de clulas. A seguir podem
ser usados comandos de leitura e escrita na linha j selecionada, bastando
especificar apenas o nmero da coluna. Portanto, enquanto nas DRAMs
convencionais, FPM e EDO precisamos especificar linha-coluna-linha-coluna-
11-48 Hardware Total
linha-coluna-linha-coluna, na SRAM especificamos linha-coluna-coluna-
coluna. Apenas quando necessrio acessar uma outra linha usado um
novo comando ACTIVE. Isto no uma novidade tecnolgica, e sim um
aperfeioamento de engenharia. Lembre-se que as memrias FPM e EDO
tambm tinham um recurso semelhante, que o page mode, no qual
indicada uma linha e os ciclos seguintes necessitam apenas da coluna.

Figura 11.43
Comando ACTIVE.

A figura 43 mostra o comando ACTIVE, usado para o selecionamento de


linha. No instante em que sobre o clock, o barramento de endereos da
memria deve ter recebido o endereo da linha desejada. Depois de um
tempo tRCD especificado pelo fabricante (varia de acordo com o chip de
memria), pode ser utilizado um comando de leitura e escrita. O tempo
tRCD dado em nanossegundos, mas o tempo de espera deve ser definido
em nmero de clocks. Por exemplo, se em uma SDRAM operando a 133
MHz (perodo de 7,5 ns) tivermos tRCD=20 ns, sero necessrios 3 perodos
de clock (3 x 7,5 ns = 22,5 ns) para que tRCD seja transcorrido. Nos ciclos
de espera o comando fornecido ao chip deve ser o NOP (No OPeration),
com CS=0, RAS=1, CAS=1 e WE=1.

Em uma placa de CPU, cabe ao processador indicar os endereos de


memria que deseja acessar. Cabe ao chipset (no qual est o controlador de
memria) decidir o instante correto de enviar um comando ACTIVE
quando acessada uma linha diferente da atual.

Como vimos na figura 43, terminado o nmero de ciclos suficiente para


transcorrer tRCD, podemos utilizar comandos de leitura e escrita. A figura 44
mostra a temporizao de um comando de leitura.
Captulo 11 - Memrias 11-49
Figura 11.44
Comando de leitura com latncia do CAS
igual a 2.

No instante em que sobe o clock (T0) deve ser indicado o endereo da


coluna e usado o comando de leitura (CS=0, RAS=1, CAS=0 e WE=1). A
partir da transcorrer um certo nmero de ciclos at que os dados sejam
fornecidos no barramento de dados (DQ). O nmero de ciclos transcorrido
um parmetro muito importante, chamado latncia do CAS (CL). Em geral
as memrias trabalham com CL=2 ou CL=3. Na figura 44 temos CL=2. Os
fabricantes de memrias especificam os valores de CL que podem ser usados
com seus chips, em funo da freqncia utilizada. A tabela abaixo mostra
os valores de CL que podem ser usados com cada clock, no chip
MT48L32M4A2, produzido nas verses de 7, 7.5 e 8 ns. interessante
operar com CL=2, j que resulta em desempenho melhor que o obtido com
CL=3. Mas para operar com CL=2 a memria tem que ser suficiente rpida
(por exemplo, a verso 7 operando com 133 MHz, ou as duas outras
verses operando a 100 MHz).

Velocidade CL=2 CL=3


-7 At 133 MHz At 143 MHz
-75 At 100 MHz At 133 MHz
-8 At 100 MHz At 125 MHz

O valor de CL pode ser ajustado pelo CMOS Setup, de forma manual ou


ento de forma automtica. Para usar o ajuste automtico basta programar o
item SDRAM timing com a opo by SPD. O SPD (Serial Presence Detect)
uma pequena ROM de configurao existente nos mdulos de SDRAM,
atravs da qual o BIOS pode identificar automaticamente as caractersticas
da memria.
11-50 Hardware Total
Figura 11.45
Leitura da SDRAM em modo burst.

Na maior parte do tempo, a SDRAM opera em modo burst, como mostra a


figura 45. Estando o endereo da linha previamente selecionado atravs do
comando ACTIVE e transcorrido tRCD, pode ser usado o comando de
leitura, com o fornecimento do endereo da coluna desejada. Transcorrido o
perodo de latncia do CAS (no exemplo da figura 45, CL=2), comeam a
ser enviados seqencialmente os dados a partir da coluna especificada. A
menos que seja usado um comando BURST TERMINATE, os dados das
clulas seguintes sero automaticamente fornecidos. Ao contrrio da EDO
DRAM e da FPM DRAM quando operam em page mode, no necessrio
fornecer os endereos das colunas. O barramento de endereos ignorado,
e comandos NOP devem ser fornecidos memria a cada ciclo. Note que
durante uma transferncia em modo burst, permitido especificar o
endereo de uma nova coluna, bastando usar um novo comando READ,
como tambm mostra a figura 41. Graas a este recurso, a SDRAM podem
operar em modo burst com clulas aleatrias dentro de uma mesma linha, e
no necessariamente consecutivas. Para isso basta usar vrios comandos
READ consecutivos, cada um com o seu prprio endereo.

Como a SDRAM to rpida?


Quando as SDRAMs surgiram, foi um espanto geral. Que avano
tecnolgico permitiu de uma hora para outra, passar de memrias EDO com
60 ns de tempo de acesso, para memrais SDRAM com 10 ns de perodo de
clock? No existe avano tecnolgico algum, e sim uma reengenharia na
forma como as memrais so construdas, utilizando o mesmo tipo de matriz
de clulas. Para acessar uma SDRAM preciso usar antes o comando
ACTIVE, que em geral tem durao de 2 ou 3 ciclos. S a partir da podem
ser usadas leituras e escritas. A leitura, a operao predominante, s fornece
os dados aps transcorrida a latncia do CAS, que tambm dura mais 2 ou 3
ciclos. Portanto at a chegada do primeiro dado transcorrem entre 4 e 6
ciclos. Memrias de clock elevado (-10 ns, por exemplo) ao operarem com
clocks baixos podem usar latncias menores. Em 66 MHz, 4 ciclos
correspondem a 60 ns. Em 100 MHz, 6 ciclos tambm so 60 ns. Portanto at
Captulo 11 - Memrias 11-51
obter o dado desejado, transcorrem os mesmos 60 ns (em mdia) verificados
nas velhas memrias EDO e FPM. A vantagem da SDRAM aparece nas
transferncias seguintes, quando o chip entra no modo burst. Sem dvida a
SDRAM uma excelente idia, uma forma de conseguir velocidades bem
mais altas usando matrizes de clulas relativamente lentas. Artifcios
semelhantes permitiram a criao da DDR SDRAM e da RDRAM, com
velocidades ainda maiores.

PC66, PC100, PC133


Inicialmente surgiram chips de SDRAM com clocks de 66, 100 e 125 MHz.
Teoricamente eram destinados a operar com barramentos externos de 66,
100 e 125 MHz, respectivamente. Como existiam vrias diferenas entre as
temporizaes das vrias verses de SDRAM de vrios fabricantes, algumas
incompatibilidades passaram a ocorrer. Visando resolver esses problemas, a
Intel criou os padres PC66 e PC100. So normas que definem todos os
parmetros de tempo que as memrias deveriam obedecer para operar
seguramente a 66 e a 100 MHz, o que acabou com os problemas de
compatibilidade. Os mdulos de 100 MHz j existentes no mercado no
atendiam plenamente s especificaes do padro PC100, por isso esses
mdulos passaram a ser designados como PC66. J os mdulos de 125 MHz
existentes tinham temporizaes compatveis com o PC100, e passaram a ser
assim designados. Portanto um mdulo com marcao de 10 ns ou 100 MHz
PC66. Pode ser usado com barramentos externos de 66 MHz, e
provavelmente tambm a 75 ou 83 MHz, mas no a 100 MHz. Os mdulos
com marcao de 8 ns ou 125 MHz so classificados como PC100.

Os primeiros mdulos para 133 MHz j foram criados obedecendo ao


padro PC133, portanto podem ser seguramente usados em barramentos de
133 MHz. Esses mdulos tm tempos de acesso de 7,5 ns ou menores.

O clock da SDRAM e a latncia do CAS


Como vimos, as memrias SDRAM podem ser classificadas de acordo com
o seu clock, ou de acordo com o tempo de acesso. Ambas as classificaes
so equivalentes. Por exemplo, um clock de 125 MHz resulta em um perodo
de 8 ns, portanto o fabricante pode utilizar qualquer um dos indicadores
para a velocidade: -125 ou 8, o que significa 125 MHz e 8 ns,
respectivamente. A tabela abaixo mostra a correspondncia entre os clocks e
os tempos de acesso.

Clock Ciclo
66 MHz 15 ns
83 MHz 12 ns
11-52 Hardware Total
100 MHz 10 ns
125 MHz 8 ns
133 MHz 7,5 ns
143 MHz 7 ns
166 MHz 6 ns

Ocorre que, na prtica, nem sempre os clocks mximos indicados pelos


fabricantes das memrias podem ser utilizados. O problema no est
relacionado a enviar um dado a cada perodo de clock, e sim, ao longo
tempo necessrio para enviar o primeiro dado. As primeiras memrias
SDRAM (no existiam na poca os padres PC66 e PC100) operavam com
temporizaes como 7-1-1-1, 6-1-1-1 e 5-1-1-1, ou seja, precisavam de um
tempo mais longo para encontrar o primeiro dado de um grupo, depois
enviavam os dados seguintes na sua velocidade mxima, com um dado a
cada ciclo de clock. As memrias atuais so ainda mais rpidas, e podem
operar nos modos 3-1-1-1 e 2-1-1-1. Esses modos so diferenciados por um
parmetro chamado CAS Latency, e est relacionado ao tempo transcorrido
entre o incio do ciclo e o sinal de CAS. So indicados como CL=3 e
CL=2. A maioria das memrias consegue operar com facilidade usando
CL=3, mas nem todas podem operar com CL=2. Um mdulo de memria
com marcao 75 (133 MHz) pode conseguir operar a 133 MHz usando
CL=3, mas pode no conseguir operar com CL=2, sendo necessrio utiliz-lo
com clocks mais baixos. Tome por exemplo as informaes apresentadas
pela Mcron sobre seus chips com ciclos de 7 e 7,5 ns:

Marcao Ao usar o clock Precisa de Latncia do Classificao


CAS de...
-75 66 MHz 2 PC66
-75 100 MHz 2 PC100
-75 133 MHz 3 PC133
-7 133 MHz 2 PC133
-7 143 MHz 3

O chip de marcao 75 opera com ciclos de 7,5 ns, ou 133 MHz. Esta
memria pode ser instalada em placas que exijam o funcionamento externo
a 66, 100 e 133 MHz, entretanto, para 66 e 100 MHz pode utilizar CL=2
(resultando em temporizaes 2-1-1-1). Estaria assim atendendo aos requisitos
dos padres PC66 e PC100. Para operar em placas com clock externo de 133
MHz, precisaria utilizar CL=3, operando ento com a temporizao 3-1-1-1,
ainda assim atendendo especificao PC133. O ideal entretanto utilizar a
temporizao 2-1-1-1, obtida com CL=2. Segundo este fabricante, isto
possvel com os seus chips de marcao 7. Esses chips podem operar ainda
com o clock mximo de 143 MHz, porm usando CL=3. Note que essas
Captulo 11 - Memrias 11-53
regras no so gerais, sempre preciso confirmar no manual do fabricante,
qual o CL que pode ser usado (2 ou 3) para cada clock. De um modo
geral, para fazer um chip de SDRAM operar com a sua mxima freqncia
preciso usar CL=3.

Muitas placas de CPU possuem no CMOS Setup, especificamente na seo


Advanced Chipset Setup, um item para indicar a latncia do CAS,
oferecendo as opes CL=2 e CL=3. Isto permite ao usurio fazer um
pequeno envenenamento, utilizando memrias mais rpidas que o
necessrio e programando CL=2. A configurao mais segura entretanto
utilizar o SPD (Serial Presence Detect). Esta identificao das memrias
SDRAM informa ao BIOS os seus parmetros temporais, e assim pode ser
feita automaticamente a programao do CL e outros parmetros de modo a
obter o melhor desempenho e com segurana.

De um modo geral, memrias SDRAM de 10 ns (100 MHz) podem operar a


66 MHz com CL=2. Essas memrias recebem a classificao PC66.
Memrias de 8 ns (125 MHz) normalmente podem operar 100 MHz (padro
PC100) e CL=2, mas alguns chips requerem CL=3. Memrias de 7.5 ns (133
MHz) em geral funcionam a 133 MHz (PC133) com CL=3. Para utilizar 133
MHz com CL=2, em geral preciso que as memrias sejam mais rpidas,
como 7 ou 6 (143 MHz e 166 MHz, respectivamente). Use a tabela abaixo
como referncia:

Memrias de.... Podem operar com... Usando CL


166 MHz (6 ns) 133 MHz CL=2
100 MHz CL=2
66 MHz CL=2
143 MHz (7 ns) 133 MHz CL=2
100 MHz CL=2
66 MHz CL=2
133 MHz (7,5 ns) 133 MHz CL=3
100 MHz CL=2
66 MHz CL=2
125 MHz (8 ns) 100 MHz CL=2
66 MHz CL=2
100 MHz (10 ns) 100 MHz CL=3
66 MHz CL=2

Note que esta tabela tem a inteno de ajudar, mas dependendo do chip de
memria utilizado, pode ser necessrio usar CL=3 em situaes nas quais a
tabela recomenda CL=2. A palavra final a do fabricante das memrias. Em
11-54 Hardware Total
caso de dvida, usar CL=3 sempre funciona quando o clock da memria
igual ou superior ao clock da placa de CPU.

*** 75%
***
Figura
11.46
Acessos de leitura
com CL=1, CL=2 e
CL=3. para
memrias Micro
MT48LC1M16A1

A figura 46 mostra as operaes de leitura em uma SDRAM modelo


MT48LC1M16A1, produzida pela Micron, usando CL=1, CL=2 e CL=3. Os
dados no devem ser generalizados para qualquer chip de SDRAM, so
especficos para o chip citado. Na prtica, CL=1 no utilizado, pois as
memrias SDRAM no podem operar com freqncias elevadas neste
modo. Com CL=1, o dado (DQ) acessado depois de apenas 1 ciclo de
clock. Note na figura que com CL=1, o comando de leitura (READ) foi dado
a subida do pulso de clock T0, e o dado (DQ) ficou pronto um ciclo depois,
ou seja, na subida de T1. Com CL=2, o dado est pronto depois de dois
ciclos de clock, e com CL=3, pronto com 3 ciclos de clock. Memrias
operando com CL=2 e CL=3 operam com temporizaes 2-1-1-1 e 3-1-1-1,
respectivamente. A figura mostra ainda uma pequena tabela indicando a
freqncia mxima que pode ser usada com CL=1, CL=2 e CL=3. A tabela
mostra que usando CL=1, memrias 6 (166 MHz) podem operar no
mximo a 50 MHz, memrias 7 (143 MHz) podem operar no mximo a 40
MHz, e memrias 8 (125 MHz) podem operar no mximo a 40 MHz,
valores muito baixos. J com CL=2 essas memrias operam de forma mais
confortvel: 125 MHz, 100 MHz e 77 MHz, respectivamente. Apenas com
CL=3 essas memrias conseguem operar com suas freqncias mximas.

DDR SDRAM
Apesar de envolver um grande esforo de engenharia na sua implementao,
a idia da DDR (Double Data Rate) SDRAM bastante simples. Ao invs
de uma nica SDRAM, coloque duas iguais, lado a lado. Quando uma for
acessada, a outra tambm ser. Cada SDRAM poder entregar um dado a
Captulo 11 - Memrias 11-55
cada pulso de clock. Como temos duas memrias em paralelo, o conjunto
poder entregar dois dados a cada pulso de clock. O resultado uma taxa
de transferncia duas vezes maior. Agora, ao invs de utilizar dois chips
SDRAM iguais, lado a lado, constri-se um nico chip com os circuitos
equivalentes aos das duas SDRAMs, e adiciona-se a ele, os circuitos
necessrios para fazer a transmisso dupla a cada pulso de clock. O chip
resultante uma DDR SDRAM.

*** 47% ***


Figura 11.47
Operao da SDRAM e da DDR SDRAM.

A figura 46 mostra a diferena, do ponto de vista externo, entre a SDRAM e


a DDR SDRAM. Os perodos de clock so representados por T0, T1, T2 e
T3. A SDRAM fornece um dado a cada perodo de clock, e o instante da
subida deste clock (transio de 0 para 1) indica que o dado est pronto
para ser lido. Na DDR SDRAM, utilizando perodos iguais, cada transio
de subida ou de descida indica a presena de um dado pronto. Portanto so
dois dados a cada clock.

As memrias DDR SDRAM recebem nomes de acordo com o clock que


trabalham, e tambm com a taxa de transferncia. Por exemplo, uma DDR
SDRAM que opera com 100 MHz realiza 200 milhes de transferncias por
segundo, portanto chamada de DDR200. Como se tratam de transferncias
de 64 bits (8 bytes), os 200 milhes de transferncias resultam em 1,6 bilhes
de bytes por segundo. Aqui comete-se mais uma vez, uma impreciso tpica
de fabricantes de memrias e de discos rgidos: confundir bilho com giga.
Como sabemos, 1 giga vale 1024 x 1024 x 1024, ou seja, 1.073,741.824.
Entretanto, para no criar confuso, consideraremos nesta discusso sobre
taxas de transferncia de memrias, um mega como sendo igual a um
milho, e 1 giga como sendo 1 bilho. Portanto diramos que a taxa de
transferncia de uma DDR200 1,6 GB/s. Devido a esta taxa, essas
memrias tambm so chamadas de PC1600.

A tabela que se segue mostra os diversos tipos de DDR, com seus clocks e
suas taxas de transferncia.
11-56 Hardware Total

Tipo Clock Taxa de transferncia


DDR200 ou PC1600 100 MHz 1,6 GB/s
DDR266 ou PC2100 133 MHz 2,1 GB/s
DDR300 ou PC2400 150 MHz 2,4 GB/s
DDR333 ou PC2700 167 MHz 2,7 GB/s
DDR400 ou PC3200 200 MHz 3,2 GB/s
DDR800 ou PC6400 400 MHz 6,4 GB/s

OBS: No confunda os termos PC66, PC100 e PC133, usados pela SDRAM, com os termos
PC1600 e superiores, usados pela DDR SDRAM. Na DDR SDRAM, o nmero representa a
taxa de transferncia mxima, medida em MB/s, enquanto na SDRAM, o nmero indica a
freqncia de operao. Uma SDRAM PC100, por exemplo, fornece 800 MB/s (j que
trabalha com 64 bits = 8 bytes em cada acesso), portanto tem a metade do desempenho de
uma DDR SDRAM padro PC1600.

A figura 48 mostra mais uma vez a diferena entre um mdulo DIMM/168,


usado pelas memrias SDRAM, e um mdulo DIMM/184, usado pelas
memrias DDR SDRAM.

Figura 11.48
Mdulos DIMM/168 (SDRAM) e
DIMM/184 (DDR SDRAM).

A figura 49 mostra o diagrama interno de um chip de DDR SDRAM.


bastante parecido com o de uma SDRAM, e a proncipal diferena fica por
conta dos acessos s matrizes de clulas, que so feitas com um nmero de
bits simultneos duas vezes maior que na SDRAM.
Captulo 11 - Memrias 11-57
***
100%
***
Figura
11.49
Diagrama de
um chip DDR
SDRAM.

A outra grande diferena est nos estgios de entrada e sada. Observe no


exemplo da figura 50 que sempre chegam 8 bits da matriz de clulas.
Circuitos multiplexadores selecionam ora o primeiro grupo de 4 bits, ora o
segundo grupo de 4 bits. Data forma feita a interface com um barramento
de dados de 4 bits. Em todos os chips de DDR SDRAM, o nmero de bits
que chegam das matrizes de clulas duas vezes maior que o nmero de bits
do seu barramento de dados.

Figura 11.50
Para o chip DDR SDRAM fornecer 4 bits, a
matriz de clulas tem que fornecer 8 bits.

Chips de DDR SDRAM operam com dois sinais de clock (na figura 49 so
CK e CK#). So clocks complementares, ou seja, quando um deles est em
nvel 1, o outro est em nvel 0, e vice-versa. Os comandos da DDR SDRAM
so semelhantes aos da SDRAM, e so sempre fornecidos na subida do
clock CK. Note que apenas a taxa de dados dobrada. Os comandos so
enviados aos chips com taxa normal, ou seja, a taxa dos comandos no
dobrada. Isto pode ser visto claramente na figura 51, que mostra um
comando de leitura em modo burst.
11-58 Hardware Total
*** 75%
***
Figura
11.51
Leitura de uma DDR
SDRAM em modo
burst.

Memrias DDR SDRAM podem utilizar latncias de CAS (CL) iguais a 2 ou


2,5. Significa que os dados estaro disponveis 2 ciclos, ou ento dois ciclos e
meio aps o envio do comando de leitura. Note que figura 51 que os
comandos so dados sempre na subida do clock CK. Terminado o perodo
de latncia do CAS, os dados comeam a ser enviados, tanto na subida de
CK quanto na subida de CK#, o que resulta em taxa de dados dupla.
Durante uma transferncia em burst, a memria pode receber um novo
comando de leitura, com a especificao de uma nova coluna. Um sinal
DQS (data strobe) usado para sincronizar os dados. Nas operaes de
leitura, o sinal DQS ir variar, e suas subidas e descidas indicaro os
instantes em que os bits lidos esto disponiveis. Este sinal usado pelo
chipset para que possa receber os dados no momento correto.

RDRAM
A RDRAM utiliza um processo similar ao da SDRAM para aumentar a taxa
de transferncia. Como vimos, cada chip SDRAM possui no seu interior,
quatro bancos que so acessados simultaneamente, e depois transferidos
rapidamente para o chipset e para o processador. Nas memrias RDRAM,
usado um nmero ainda maior de bancos para obter uma taxa de
transferncia ainda mais elevada. So 16 ou 32 bancos, dependendo dos
chips. As clulas de memria usadas nesses bancos, assim como ocorre nos
demais tipos de DRAM apresentados aqui, no so muito diferentes das
clulas usadas nas DRAMs convencionais, exceto pela sua voltagem e por
uma pequena reduo no tempo de acesso. Cada uma dessas clulas so to
lentas quanto as encontradas nas memrias FPM DRAM de 60 ns, por
exemplo, usadas em meados dos anos 90. A grande diferena que essas
memrias modernas utilizam muitas clulas trabalhando em paralelo,
visando obter mais bits de uma s vez, e assim transferi-los mais rapidamente
para o processador.

Um tpico chip de memria RDRAM opera com dados de 16 bits. Tambm


so comuns os chips de 18 bits. Os dois bits adicionais so usados como
Captulo 11 - Memrias 11-59
paridade, e servem para implementar mecanismos de deteco e correo de
erros, como mostraremos mais adiante neste captulo. Para simplificar a
discusso, consideremos apenas os chips de 16 bits.

A maioria das DRAMs atuais operam com 300 ou 400 MHz. Alguns
fabricantes oferecem freqncias intermedirias, como 333 ou 350 MHz.
Tambm para simplificar nossa explicao, consideremos os chips de 400
MHz. Assim como a DDR SDRAM, a RDRAM tambm realiza duas
transferncias por cada ciclo de clock, portanto tudo se passa como se a
operao fosse em 800 MHz. Esses 800 milhes de transferncias por
segundo, sendo cada uma de 16 bits (2 bytes), resultam na taxa de
transferncia de 1,6 GB/s aqui estamos fazendo como os fabricantes,
considerando por simplicidade, 1 GB como sendo igual a 1 bilho de bytes.
Note que esta taxa bem maior que a exigida pela maioria dos
processadores:

Processador bits clock Banda


Pentium III 64 100 MHz 800 MB/s
Pentium III B 64 133 MHz 1,07 GB/s
Athlon 64 200 MHz 1,6 GB/s
Athlon 64 266 MHz 2,13 GB/s
Pentium 4 64 400 MHz 3,2 GB/s

Um nico canal de memria RDRAM oferece uma taxa de transferncia


suficiente para atender maioria dos processadores, exceto os mais
avanados. O Pentium 4, por exemplo, com seu barramento de 400 MHz e
64 bits, exige 3,2 GB/s, o dobro da taxa de transferncia da RDRAM.
Portanto nas placas de CPU para Pentium 4, so utilizados dois canais de
RDRAM com 1,6 GB/s cada um, totalizando os 3,2 GB/s necessrios. Um
Athlon com barramento externo de 200 MHz poderia ser plenamente
atendido por um canal RDRAM de 1,6 GB/s, mas o mesmo no ocorre com
as novas verses, que usam o clock externo de 266 MHz. Seriam necessrios
dois canais de RDRAM, ou ento o uso de uma RDRAM mais veloz, ou
ento utilizar RDRAMs de 532 MHz, ao invs dos modelos de 400 MHz. Na
verdade no o que ocorre. A AMD uma das responsveis pelo
desenvolvimento da DDR SDRAM, e essas so as memrias usadas nas
placas de CPU para os modelos mais avanados do Athlon.
11-60 Hardware Total
Figura 11.52
O Pentium 4 operando com RDRAM
necessita de dois canais.

Os processadores modernos operam com 64 bits simultneos, enquanto a


RDRAM fornece apenas 16. Cabe ao chipset, que faz a ligao entre o
processador e a memria, obter 4 grupos consecutivos de 16 bits vindos da
RDRAM, formando os 64 bits exigidos pelo processador. Nas placas de CPU
para Pentium 4, so dois canais de 16 bits, ambos a 800 MHz (lembre-se que
so na verdade 400 MHz, mas com duas transferncias por cada clock).
Juntos formam 32 bits por 800 MHz. O chipset faz a composio para 64 bits
e 400 MHz, exatamente como exige o Pentium 4.

A incrvel velocidade de 800 MHz no existe entre as clulas de memria da


RDRAM. Esta velocidade existe apenas nos circuitos de entrada e sada.
Para fornecer nas suas sadas, 16 bits a 800 MHz, os circuitos internos da
RDRAM buscam 128 bits simultneos (8 vezes mais), na taxa de 100 MHz.
Esses 128 bits que chegam aos circuitos de sada a cada 10 ns (100 MHz) so
transferidos em grupos de 16, tomando 1.25 ns para cada grupo (800 MHz).
Portanto a RDRAM rpida apenas do ponto de vista externo.
Internamente uma memria mais lenta, de apenas 100 MHz, mas que
fornece um nmero de bits simultneos muito grande. A prpria operao
interna em 100 MHz (ciclos de 10 ns) tambm uma dificuldade para as
clulas de memria, que necessitam de no mnimo 60 ns para encontrar os
dados. Este aumento por sua vez feito pelo acesso simultneo a um grande
nmero de bits. Os bancos de clulas existentes no interior da DRAM
operam na verdade com clock de 12,5 MHz (ciclo de 80 ns), mas fornecem
1024 bits (128 bytes) simultneos. Note que 128 bytes x 12,5 MHz so
exatamente 1,6 GB/s. Essas clulas de memria operam portanto em uma
freqncia baixa, mas com um elevado nmero de bits simultneos, que
uma vez acessados, so transmitidos em altssima velocidade, em grupos de
16.

muito difcil tecnologicamente, fazer as clulas de DRAM serem mais


rpidas. Veja a evoluo nos seus tempos de acesso ao longo das ltimas
dcadas:
Captulo 11 - Memrias 11-61
Ano Tempo de acesso Bits do barramento Processador
1980 250 ns 8 bits 5 MHz
1985 150 ns 16 bits 12 MHz
1990 100 ns 32 bits 25 MHz
1995 60 ns 64 bits 100 MHz
2000 50 ns 64 bits 1000 MHz

Neste perodo de 20 anos, as memrias tornaram-se 5 vezes mais rpidas,


enquanto o clock dos processadores aumentou 200 vezes. Para compensar
esta desigualdade, os processadores passaram a utilizar barramentos com
mais bits. Um barramento de 64 bits com memrias de 50 ns
aproximadamente 40 vezes mais rpido que um barramento de 8 bits e 250
ns. Ainda assim este aumento de 40 vezes no aumentou tanto quanto o
clock dos processadores. A situao ainda pior quando consideramos que
o aumento do desempenho dos processadores foi muito maior que o simples
aumento de clock. Uma forma de solucionar o problema seria aumentar
mais ainda a largura dos barramentos, passando a 128 ou 256 bits, mas isto
tornaria os projetos de placas extremamente complexo devido ao grande
nmero de trilhas de circuito. A soluo mais simples e que foi realmente
adotada, foi aumentar o nmero de bits do barramento interno das
memrias. A RDRAM, por exemplo, busca 1024 bits simultneos. Uma vez
acessados, esses bits so transmitidos em alta velocidade, por um barramento
externo que continua com 64 bits, porm com clock elevadssimo.

Figura 11.53
Estrutura interna de uma RDRAM.

A figura 53 mostra a estrutura interna de um chip de RDRAM. A parte mais


importante, e que ocupa a maior parte dos circuitos, so os bancos de
DRAM em seu interior. Dependendo do chip, podem ser 16 ou 32 bancos.
11-62 Hardware Total
Esses bancos fazem acessos simultneos a grupos de 1024 bits a cada perodo
de 80 ns, enviando-os s sadas em grupos de 128 bits a cada 10 ns, que por
sua vez so enviados para o barramento externo, em grupos de 16 bits a
cada 1,25 ns.

SPD Serial Presence Detect


Este um recurso que possibilita ao BIOS identificar corretamente as
caractersticas dos mdulos de memria, e desta forma configurar o chipset
para realizar o acesso da forma mais eficiente. Foi introduzido nos mdulos
de memria SDRAM e mantido nos mdulos de DDR SDRAM e RDRAM.
implementado atravs de um minsculo chip de memria EEPROM
existente nos mdulos, onde esto armazenadas todas as suas caractersticas.
Normalmente este chip tem 8 terminais e fica localizado na parte direita do
mdulo, como mostra a figura 54.

Figura 11.54
O chip SPD de um mdulo de SDRAM.

Antes de existir o SPD, o BIOS precisava determinar atravs de contagem, a


quantidade de memria instalada. Vrios parmetros relacionados com a
temporizao de acesso s memrias deviam ser obrigatoriamente
programados no BIOS. Como existem mdulos com caractersticas bem
diferentes, os BIOS precisavam utilizar temporizaes longas, compatveis
com maior variedade de mdulos, e desta forma o desempenho no era
otimizado. O usurio mais experiente tinha que ajustar manualmente as
temporizaes, visando obter maior desempenho.

Com as memrias atuais, suas caractersticas so corretamente detectadas


atravs do SPD, e o BIOS pode programar o chipset para obter o mximo
desempenho possvel para as memrias instaladas. A seguir apresentamos
alguns dos diversos parmetros armazenados na EEPROM SPD:
Captulo 11 - Memrias 11-63
Alguns parmetros armazenados
Capacidade do mdulo
Nmero de bits
Tempo de acesso
Tipo da memria: SDRAM, DDR SDRAM, RDRAM
Nmero de bancos
Voltagem

O contedo completo de uma EEPROM SPD pode ser lido com o programa
HWINFO, obtido em www.hwinfo.com.

Figura 11.55
Obtendo o contedo da SPD EEPROM
com o programa HWINFO.

Escolhendo a DDR SDRAM correta


A DDR SDRAM um produto bastante recente, comeou a ser produzida
em alta escala no ano 2000. Sendo um produto novo, maiores so as chances
de ocorrerem incompatibilidades, j que nem sempre todos os fabricantes
seguem os mesmos padres. Vamos ento esclarecer os principais pontos.

Mdulos DDR Registered e Unbuffered


Um fato importante deve ser conhecido sobre as memrias DDR. Existem
duas categorias:

1) Registered
2) Unregistered ou Unbuffered.

Os fabricantes de memrias normalmente produzem ambos os tipos. O


segundo mais barato e mais indicado para PCs comuns. O tipo registered
mais caro, mas tem a vantagem de poder ser instalado em maiores
quantidades, sendo ideal para servidores. Cada mdulo registered consome
menos corrente nas suas entradas, portanto um mesmo chipset pode ser
ligado a um nmero maior de mdulos, o que resulta em maior quantidade
de memria. O prprio chipset AMD 760, primeiro a operar com DDR,
11-64 Hardware Total
pode controlar o mximo de 2 GB de DDR tipo unbuffered, ou at 4 GB do
tipo registered. Placas de CPU que suportam memrias DDR possuem em
geral um jumper para a indicao do tipo de DDR. o caso da placa de
CPU 7DXC, produzida pela Gigabyte (figura 56).

Figura 11.56
Jumper para indicar o tipo de DDR SDRAM
(Registered / Unbuffered).

fcil identificar a diferena entre memrias DDR nas verses Registered e


Unbuffered. A diferena est mostrada na figura 57. Ambos utilizam os chips
de memria similares, mas o mdulo Registered possui chips adicionais
localizados entre o conector e os chips de memria. Esses chips so os
chamados Registers (registradores).

Figura 11.57
Mdulos de DDR SDRAM DIMM/184 nas
verses Unbuffered e Registered.

OBS: A mesma regra vlida tambm para memrias SRAM. Os mdulos SRAM registered
possuem chips adicionais (registradores), como mostra a figura 57.

Voltagem da DDR SDRAM


Assim como as memrias SDRAM usadas na maioria dos PCs operam com
3,3 volts, as memrias DDR SDRAM mais usadas operam com 2,5 volts, mas
Captulo 11 - Memrias 11-65
existem ainda as verses de 1,8 volts, ainda pouco utilizadas. Existem
diferenas no soquete e nos mdulos, que impedem o uso de mdulos de 1,8
volts em soquetes de 2,5 volts, e vice-versa. A diferena fica por conta do
posicionamento do chanfro do soquete. A figura 58 mostra os chanfros para
os atuais mdulos de 2,5 volts (chanfro esquerda) e para as futuras
memrias de 1.8 volts (chanfro no centro). Existe ainda uma posio
reservada para uso futuro (chanfro direita), que poder ser usada com um
eventual novo padro de voltagem.

Figura 11.58
O chanfro indica a voltagem do mdulo
de memria DDR.

Velocidade da DDR SDRAM


O selecionamento da DDR SDRAM comea pelo seu clock, de acordo com
o apresentado na tabela abaixo. Note que as denominaes DDRxxx so
adotadas principalmente pelos chips de memria, enquanto nomenclaturas
como PCXXXX (PC1600, PC2100, etc.) so usadas para designar mdulo. O
correto portanto seria dizer, por exemplo, que um mdulo de DDR PC1600
utiliza chips DDR200.

Tipo Clock Taxa de transferncia


DDR200 / PC1600 100 MHz 1,6 GB/s
DDR266 / PC2100 133 MHz 2,1 GB/s
DDR300 / PC2400 150 MHz 2,4 GB/s
DDR333 / PC2700 167 MHz 2,7 GB/s
DDR400 / PC3200 200 MHz 3,2 GB/s
DDR800 / PC6400 400 MHz 6,4 GB/s

Como j explicamos para a SDRAM, diferentes mdulos podem operar com


latncia do CAS com valores 2 ou 3 (CL=2 / CL=3). Duas memrias
SDRAM PC133 podem operar com 133 MHz, porm uma com CL=2 e
outra com CL=3. As memrias com menor ciclo tm maiores chances de
operar com CL=2, o que resulta em melhor desempenho. Por exemplo, um
certo mdulo SDRAM com ciclo de 7 ns pode ser capaz de operar com 133
MHz e CL=2, enquanto outro de 7,5 ns pode operar com os mesmos 133
MHz, mas com CL=3.

Memrias DDR SDRAM tambm podem utilizar diferentes latncias do


CAS. As verses disponveis no mercado devem operar com CL=2 ou
11-66 Hardware Total
CL=2,5. Da surgem as verses DDR266A e DDR266B. Os chips
classificados como DDR266A podem operar com CL=2, enquanto os do tipo
DDR266B operam com CL=2,5. As placas de CPU que usam este tipo de
memria podem ser configuradas de forma automtica, na qual o CL
programado de acordo com as informaes na EEPROM SPD (Serial
Presence Detect), ou ento manualmente. A figura 59 mostra esta opo no
CMOS Setup de uma placa de CPU Gigabyte 7DX, equipada com DDR
SDRAM.

Figura 11.59
Indicando manualmente a latncia do CAS
de uma DDR SDRAM no CMOS Setup.

No comrcio encontramos mdulos DDR SDRAM apenas com as


indicaes PC1600 (DDR200) ou PC2100 (DDR266). Apenas com essas
informaes no podemos saber se o chip capaz de operar com CL=2
(melhor) ou CL=2,5 (pior). Isto no chega a dificultar a instalao, pois
usando no CMOS Setup a configurao automtica via SPD, os parmetros
corretos so automaticamente programados. Para checar o valor de CL
permitido antes de comprar um mdulo DDR, teramos que anotar o nome
e o fabricante dos seus chips, obter pela Internet o manual desses chips de
memria e finalmente ter acesso a informaes como a da figura 60. Neste
exemplo, vemos que os chips MT46V16M8TG, produzidos pela Mcron, so
produzidos nas verses 75 e 10 (7,5 ns e 10 ns). Esses chips podem operar
com CL=2 em 133 MHz (DDR266A) e 100 MHz. Podem ainda operar com
CL=2,5 em 150 MHz (DDR300) e 133 MHz (DDR266B).

Figura 11.60
Os fabricantes de DDR SDRAM indicam os
valores de CL que podem ser utilizados
com seus chips.

Escolhendo a RDRAM correta


Os mdulos de RDRAM so classificados de acordo com a velocidade,
nmero de bits e tempo de acesso:
Captulo 11 - Memrias 11-67
Velocidade PC800, PC700, PC600
Numero de bits 16 ou 18
Tempo de acesso 40 a 55 ns

Os mdulos de 18 bits so usados em sistemas que operam com cdigo de


correo e deteco de erros (ECC). Os mdulos de 16 bits so um pouco
mais baratos e no utilizam este recurso. As velocidades esto relacionadas
com a taxa de transferncia:

PC600 1,2 GB/s


PC700 1,4 GB/s
PC800 1,6 GB/s

O tempo de acesso outro fator importante. Assim como ocorre com as


memrias SDRAM e DDR SDRAM, as memrias RDRAM necessitam de
um pequeno tempo (similar latncia do CAS) antes que comecem a
tranferir dados no modo sncrono. Conforme abordamos, as memrias
RDRAM utilizam no seu interior, clulas de DRAM comuns, lentas como
todas as memrias deste tipo. O nico diferencial que fazem acesso
simultneo a um elevado nmero de bits, que uma vez acessados, podem ser
transferidos em alta velocidade. As memrias RDRAM so portanto
classificadas de acordo com o seu tempo de acesso, que o tempo
necessrio para que este grande nmero de bits sejam endereados,
acessados e estejam prontos para a transferncia. Os fabricantes indicam em
geral nos mdulos de RDRAM, a taxa de transferncia e o tempo de acesso.
A figura 61 mostra um mdulo padro PC800, com tempo de acesso de 40
ns. Observe a indicao 800-40 na parte direita da etiqueta.

Figura 11.61
Mdulo RIMM de 800 MHz e 40 ns.

Nos manuais dos mdulos de memria RDRAM, os fabricantes indicam as


opes de clock e tempo de acesso (ou latncia). A figura 62 mostra uma
tabela extrada de um manual, indicando as verses produzidas. Observe
que existem verses de 16 e de 18 bits, com clocks de 600, 711 e 800 MHz, e
diversos tempos de acesso. Para as verses PC800, por exemplo, so
oferecidos tempos de acesso de 40, 45 e 50 ns. Obviamente as verses com
menor tempo de acesso so mais caras.
11-68 Hardware Total

Figura 11.62
Opes de velocidade apresentadas por um
fabricante de RDRAM: Clock e tempo de acesso.

Nas placas de CPU equipadas com RDRAM, o BIOS pode obter os


parmetros de velocidade e tempo de acesso a partir dos dados armazenados
na EEPROM SPD (Serial Presence Detect) da RDRAM, e programar o
chipset para operar no modo correto. Em geral tambm possvel
programar manualmente esses parmetros atravs do CMOS Setup.

Mdulo RIMM de continuidade


O barramento das memrias RDRAM no pode ter soquetes vazios.
necessrio um casamento de impedncia devido sua elevada freqncia de
operao. Devemos completar os soquetes vazios com mdulos de
continuidade, como mostra a figura 63.
Captulo 11 - Memrias 11-69
Figura 11.63
Usando mdulos de continuidade RIMM.

Deteco e correo de erros na memria


Todos os chips de memria esto sujeitos a erros. A probabilidade da
ocorrncia de erros muito pequena, mas dependendo da aplicao, o erro
pode ser tolerado ou no. Se um computador usado exclusivamente para
jogos apresentar um erro por ano, isto no causar problema algum. Se um
computador usado no monitoramento de um reator nuclear, a taxa de um
erro a cada 10 anos seria catastrfica. Existem mecanismos para detectar
erros, e outros que permitem ainda corrigir o erro encontrado.

Paridade
A paridade um recurso que serve para aumentar a confiabilidade das
memrias DRAM (isto se aplica a qualquer tipo de DRAM: RDRAM, DDR,
SDRAM, EDO e FPM). Nos anos 80, as DRAMs eram muito suscetveis a
erros, e a tcnica da paridade foi amplamente utilizada com o objetivo de
detectar eventuais erros na memria. Com o passar dos anos, as memrias
DRAM foram aperfeioadas e tornaram-se mais confiveis, fazendo com que
o uso da paridade pudesse ser dispensado, pelo menos nas aplicaes menos
crticas. Ainda assim, computadores que necessitam de alta confiabilidade
continuam utilizando mdulos de memria com paridade para aplicar um
outro mtodo mais eficiente para correo de erros, conhecido como ECC
Error Correction Code.

A paridade nos PCs consiste em adicionar a cada grupo de 8 bits, um nono


bit, chamado de bit de paridade. Este bit funciona como um dgito
verificador, e permite detectar a maior parte dos erros na memria. Mdulos
11-70 Hardware Total
SIMM/72 com paridade operam com 36 bits ao invs de 32, e mdulos
DIMM/168 (SDRAM) e DIMM/184 (DDR) com paridade operam com 72
bits ao invs de 64. Mdulos RDRAM com paridade utilizam 18 bits, ao
invs de 16. A paridade que j foi to importante h alguns anos atrs, caiu
de importncia pelo fato das memrias terem se tornado mais confiveis.
Inclusive muitos chipsets para PCs de baixo custo no fazem checagem de
paridade, nem usam ECC.

Os bits de paridade no so acessveis ao processador. So usados por dois


circuitos existentes no chipset: circuito gerador de paridade e circuito
checador de paridade. O circuito gerador de paridade escreve o bit de
paridade de cada grupo de 8 bits nas operaes de escrita na memria. O
circuito testador de paridade verifica a paridade em cada grupo de 8 bits lido
da memria. Vejamos como funciona o bit de paridade e como feita a
deteco de erros na memria. Para simplificar a explicao, tomaremos
apenas um grupo de 8 bits, mais um bit de paridade. Nas placas de CPU
modernas, este mesmo circuito aparece repetido 8 vezes, completando assim
64 bits, ou 72 contando com os bits de paridade.

Figura 11.64
Gerao do bit de paridade.

A figura 64 mostra como ocorre uma operao de escrita na memria, com o


uso do bit de paridade. O circuito gerador de paridade recebe o valor que o
processador coloca na memria e "conta" quantos bits "1" esto sendo
escritos. A partir dessa "conta", escreve um bit de paridade de tal forma que,
ao considerar o conjunto de 9 bits, o nmero total de bits "1" ser sempre
mpar. Portanto, o circuito gerador de paridade garante que em cada grupo
de 9 bits da memria existir sempre um nmero mpar de bits "1".
Captulo 11 - Memrias 11-71
Figura 11.65
Checagem da paridade.

Vejamos agora como funciona a operao de leitura da memria. Nesse


caso, entra em jogo o circuito testador de paridade. Em cada operao de
leitura, este circuito recebe os 8 bits que o processador est lendo e mais o
bit de paridade, formando um total de 9 bits, e "conta" o nmero de bits "1"
que existem neste conjunto. Se tudo correr bem, dever existir
obrigatoriamente um nmero mpar de bits "1". Caso no exista um nmero
mpar de bits "1", significa que ocorreu um erro na memria. Este circuito
gerar o que chamamos de interrupo do processador, que imediatamente
suspender o processamento e apresentar uma mensagem de erro. Sob o
Windows, este ser um daqueles erros do tipo tela azul. Ser preciso
resetar o computador. Desta forma, o erro no ser propagado, evitando que
sejam causados danos aos dados.

Vejamos como feita a deteco de erros. Suponha que o processador


escreve na memria, um byte com valor binrio 01000001. O circuito
gerador de paridade, ao encontrar neste valor dois bits "1" gerar um bit de
paridade igual a 1. Suponha que depois deste dado estar armazenado na
memria, o segundo bit da direita para a esquerda transforma-se em "1",
devido a um erro na memria. Ficar ento armazenado o valor 01000011 e
o bit de paridade ser 1. Quando o processador ler este valor, o circuito
testador de paridade encontrar um total de 4 bits "1" no grupo de 9 bits, o
que caracteriza um erro na memria.

O circuito de paridade no capaz de detectar um erro em que existem dois


bits simultaneamente errados no mesmo grupo de 8 bits. Entretanto, o erro
em um nico bit o mais comum. A probabilidade de existirem dois bits
errados milhares de vezes menor que a de existir apenas um errado. A
paridade a tcnica mais simples para detectar erros na memria, mas
muito eficaz. Caso seja detectado um erro na memria, o usurio deve provi-
denciar sua manuteno. Ser necessrio substituir o mdulo de memria
defeituoso.
11-72 Hardware Total

ECC
Uma outra tcnica mais eficiente tem sido utilizada para detectar e corrigir
erros na memria. Trata-se do ECC, e tem sido utilizada em placas de CPU
de alta confiabilidade, como as usadas em servidores. Para cada grupo de 64
bits, 8 bits adicionais so usados para deteco e correo de erros. Por isso,
dizemos que os mdulos DIMM/168 de 72 bits no so ditos com
paridade, e sim, com ECC.

Qualquer bit armazenado na memria apresenta uma pequena


probabilidade de erro. Dentro de uma clula de memria, a probabilidade
de ocorrer erro em apenas um de seus bits muito maior que a
probabilidade de ocorrerem erros simultneos, ou seja, em dois ou mais bits.
Clculos de probabilidade podem ser feitos para mostrar que, sendo muito
pequena a probabilidade de um bit apresentar falha, temos:

Tipo de falha Probabilidade


Falha em um bit isolado p
Falha em 1 bits dentro de um grupo de 8 bits 8p
Falha em 2 bits simultneos em um grupo de 8 bits 28p2
Falha em 3 bits simultneos em um grupo de 8 bits 56p3

Para simplificar os clculos, suponha um chip de memria de baixssima


confiabilidade, com probabilidade de 1 em 1000 (p=0,001) de falha. As
probabilidades de falhas em grupos de 1, 2 e 3 bits seriam:

Tipo de falha Probabilidade


Falha em um bit isolado 0,001
Falha em 1 bits dentro de um grupo de 8 bits 0,008
Falha em 2 bits simultneos em um grupo de 8 bits 0,000028
Falha em 3 bits simultneos em um grupo de 8 bits 0,000000056

Comparando esses nmeros, vemos que a probabilidade de dois bits


falharem simultaneamente (0,008) 285 vezes maior que a probabilidade de
falharem dois bits simultaneamente. A chance de falharem 3 bits ao mesmo
tempo 142857 vezes menor que a de falhar apenas um bit. Na prtica esta
diferena ainda maior, portanto todos os mecanismos de deteco e
correo de erros so voltados a resolver problemas causados por erros do
tipo single bit.

As falhas nas clulas de memria so causadas por bombardeamento de


partculas alfa e raios csmicos. No s as memrias, chips em geral e os
Captulo 11 - Memrias 11-73
seres vivos so continuamente bombardeados por essas radiaes, porm em
intensidades baixssimas e inofensivas. Periodicamente ocorrem tempestades
eletromagnticas, que so exploses solares que emitem grande quantidade
de partculas alfa. Circuitos digitais podem ser afetados nessas ocasies,
atravs de rarssimos mas reais, erros nos bits armazenados nas suas clulas
de memria.

No incio dos anos 80, as clulas de DRAM eram muito sensveis, e podiam
apresentar em mdia, um erro a cada 30 horas. Note que este tempo mdio
entre falhas (MTBF) menor, quanto maior o nmero de clulas de
memria. Nos PCs atuais, o MTBF de um bit bem maior (ou seja, podem
passar muitos anos sem ocorrerem falhas), mas quando levamos em conta
memrias de 256 MB e superiores, comuns em servidores, chegamos a
MTBFs que variam entre 1 ms e 1 ano. Portanto real a probabilidade de
ocorrncia de um erro em um dos seus bits, em perodos razoavelmente
pequenos, principalmente quando levamos em conta que um servidor fica
ligado 24 horas por dia. No quer dizer que preciso ficar ligado um ms
para o erro ocorrer. Em um grupo de 256 MB, o erro pode acontecer depois
de um ano, em outro pode ser depois alguns meses ou semanas, em outro
pode ocorrer at no primeiro dia de uso. tudo estatstico, um MTBF de um
ms significa que se tomarmos vrios computadores e marcarmos o tempo
transcorrido at aparecer o primeiro erro, a mdia ser de um ms.

Esses erros no so permanentes, so apenas uma troca de bit (0 se


transforma em 1 ou 1 se transforma em 0). Se o bit errado for detectado e
corrigido, esta clula de memria continuar funcionando normalmente.

Cdigos de deteco e correo de erros so bastante utilizados em todos os


meios de armazenamento de dados, como:

Memria RAM
Disco rgido
Disquetes
CD-ROM
Fitas magnticas

Sempre que as informaes so guardadas em discos rgidos, disquetes e


outros meios de armazenamento, so adicionados cdigos para futura
checagem de erros, o que aumenta a sua confiabilidade. Memrias RAM so
bastante confiveis, mas nas aplicaes em que necessria uma
11-74 Hardware Total
confiabilidade ainda maior, tambm utilizam cdigos de correo de erros
(ECC).

Como corrigir um erro na memria


Partimos do princpio de que, quando um erro ocorre em uma clula, este
erro est em apenas um bit. A chance de ocorrerem dois erros simultneos
na mesma clula de memria praticamente nula. Entretanto so usados
cdigos sofisticados que permitem detectar (mas no corrigir) erros em dois
bits simultneos. O funcionamento desses cdigos muito complexo, por
isso mostraremos aqui como resolver o problema mais comum: detectar e
corrigir erros do tipo single bit, ou seja, quando ocorrem em um nico bit
dentro de uma clula de memria. O mtodo mais empregado o chamado
cdigo de Hamming. Vamos apresentar um mtodo mais simples, bastante
parecido com o cdigo de Hamming. Podemos chama-lo de mtodo de
Laercius que obviamente no usado na prtica, e tem apenas fins
explicativos. Ele no detecta erros em dois bits simultneos, mas de simples
entendimento. Este mtodo consiste em adicionar para cada dado, um grupo
de bits de checagem. Quanto mais bits de dados, mais bits de checagem
devem ser usados. A tabela abaixo mostra para dados de 8, 16, 32 e 64 bits,
quantos bits devem ser usados para checagem:

Tamanho dos dados Bits adicionais usando o Bits adicionais usando o


cdigo de Hamming cdigo de Laercius
8 bits 5 5
16 bits 6 6
32 bits 8 7
64 bits 8 8

Mostraremos o funcionamento da correo de erros pelo cdigo de Laercius


usando dados de 8 bits, por ser mais fcil de entender. O funcionamento
para 64 bits semelhante, mas didaticamente mais fcil explicar como
funciona para 8 bits. Para o grupo de 8 bits so adicionados 5 bits de
checagem. Note que na prtica no feita esta checagem para apenas 8 bits,
pois adicionando 5 bits, estamos quase dobrando o custo da memria. Para
grupos de 64 bits, usados nos PCs modernos, bastam 8 bits para fazer a
deteco e correo de erros, totalizando 72 bits, um aumento bastante
vivel que no afeta muito o custo das memrias.
Captulo 11 - Memrias 11-75
Figura 11.66
Um cdigo simples para correo de
erros.

A figura 66 mostra um dado de 8 bits, representado por b7b6b5b4b3b2b1b0. Os


5 bits de controle so p1, p2, p4, pd e pp. Esses 5 bits so calculados da
seguinte forma:

p1: Paridade calculada entre b5, b7, b3 e b1


p2: Paridade calculada entre b4, b6, b2 e b0
p4: Paridade calculada entre b5, b7, b4 e b6

pd: Paridade calculada entre b7, b6, b5, b4, b3, b2, b1, b0
pp: Paridade calculada entre p1, p2, p4 e pd.

Quando feita uma gravao na memria, so gerados e armazenados os 5


bits de checagem. Quando feita uma leitura, so lidos os dados e os bits de
checagem. Em funo dos dados lidos, os bits de checagem so novamente
calculados. So comparados os bits de checagem armazenados com os
calculados. Se forem iguais, est tudo correto. Se existirem diferenas, temos
um erro na memria.

recalculada a paridade dos dados pd. Tambm recalculada a paridade


dos bits de controle, pp. Se pd estiver correta, no existe erro nos 8 bits de
dados da memria. Se pd indicar erro, ento existe um bit errado, ou entre
os 8 bits de dados, ou ento o erro pode ser o prprio bit pd. Entrar ento
em jogo o bit de paridade pp. Se estiver errado, significa que existe um bit
errado, que ser necessariamente pd. Isto significa que os 8 bits de dados
esto corretos. Se pp estiver correto, significa que os bits p1, p2, p4 e pd esto
corretos, ento o erro est em um dos 8 bits de dados. A explicao pode ser
melhor visualizada atravs da figura 67.
11-76 Hardware Total
Figura 11.67
Correo de erros pelo mtodo de
Laercius.

O mais interessante de tudo a forma pela qual o bit errado identificado.


Ele indicado pelos valores de p1, p2 e p4 armazenados e calculados.
Quando esses bits armazenados so iguais aos calculados, recebem peso
zero, quando so diferentes, recebem peso 1, 2 ou 4 respectivamente. Por
exemplo, quando p1 calculado igual ao p1 armazenado, p2 calculado
diferente do p2 armazenado, e p4 calculado igual ao p4 armazenado, temos
0+2+4=6. Isto significa que o bit b6 est errado. Basta invert-lo (trocar de 0
para 1, ou de 1 para 0) e o erro estar corrigido.

Com dados de 64 bits, so usados os bits de checagem p1, p2, p4, p8, p16 e p32,
alm de pd para indicar a paridade dos dados e pp para indicar a paridade
dos bits de checagem. So portanto 8 bits de checagem ao todo. O mesmo
esquema da figura 67 utilizado, e os bits p1, p2, p4, p8, p16 e p32 so usados
para indicar a posio do erro.

OBS: Essa histria de cdigo de Laercius brincadeira. No sou o criador deste mtodo, estou
apenas repetindo o que aprendi em alguma aula de circuitos digitais, l pelo incio dos anos
80...

Voc no precisa conhecer os mtodos utilizados pelos chipsets para detectar


e corrigir erros na memria, mas precisa saber o seguinte:

a) para cada grupo de 64 bits, so necessrios 8 bits adicionais para


implementar o ECC, totalizando 72 bits.

b) No adianta simplesmente usar memrias de 72 bits. preciso que o


chipset da sua placa de CPU utilize a gerao e a checagem de erros. Muitos
chipsets para PCs de baixo custo no operam com ECC.

Memrias ROM
A ROM (Read Only Memory, ou memria de apenas leitura) tem duas
caractersticas principais. A primeira, trata-se de uma memria no voltil, ou
Captulo 11 - Memrias 11-77
seja, que no perde seus dados quando desligada. Por isso a memria
ideal para armazenar o BIOS, que precisa entrar em execuo assim que o
computador ligado. A segunda caracterstica, seu prprio nome j diz.
usada apenas para operaes de leitura, no permitindo gravaes. A
maioria das ROMs usadas em PCs utiliza o encapsulamento DIP (Dual In-
line Package). O usurio nem mesmo precisa se preocupar com a instalao
das ROMs. J vm instaladas e prontas para funcionar. As ROMs mais
comuns so as que armazenam o BIOS da placa de CPU e o BIOS da placa
VGA.

Figura 11.68
Diagrama de uma ROM.

A figura 68 mostra o diagrama de blocos de uma ROM. O chip recebe o


endereo a ser acessado, que por sua vez usado para acessar a matriz de
clulas. O valor lido da clula endereada colocado no buffer de sada,
que ligado ao barramento de dados. Existem ainda os sinais de controle
OE (Output Enable) e CE (Chip Enable). So comuns ROMs que operam
com clulas de 8 bits, e muitas operam com 16 bits. A ROM do nosso
exemplo pode operar nos modos de 8 e de 16 bits, bastando que seja
especificado o bit de controle Word/Byte. Note que esta uma caracterstica
particular do chip que usamos no exemplo, e no necessariamente est
disponvel na maioria das ROMs.
11-78 Hardware Total
Figura 11.69
Operao de leitura em uma ROM.

A figura 69 mostra o diagrama de tempo de uma operao de leitura.


Inicialmente especificado o endereo, e a seguir so ativados os sinais CE e
OE. Transscorrido o tempo de acesso, os dados estaro presentes no
barramento de dados. Terminada a leitura devemo ser desativados os sinais
CE e OE, fazendo com que o barramento de dados volte a ficar em alta
impedncia.

ROM, PROM, EPROM


As ROMs so encontradas em diversas modalidades. As principais
diferenas dizem respeito a como os dados originais so armazenados. Em
uso normal, a ROM aceita apenas operaes de leitura, e no de escrita, mas
antes disso, preciso que algum (normalmente o fabricante) armazene os
seus dados.

A ROM o tipo mais simples. Seus dados so gravados durante o processo


de fabricao do chip. Um fabricante de placas de CPU, por exemplo,
entrega ao fabricante de memrias, o contedo a ser gravado nas ROMs. A
partir deste contedo, o fabricante de memrias produz uma matriz, com a
qual sero construdos milhares de chips. Normalmente s vale a pena
utilizar ROMs quando se tem certeza de que seus dados no precisaro ser
alterados, e tambm quando so produzidas no mnimo 10.000 peas iguais.
Nessas condies, o custo de fabricao de cada chip bastante baixo.

A PROM (Programable ROM) um tipo de memria ROM, com uma


diferena: pode ser programada em laboratrio, atravs de um gravador
especial. Este tipo de gravao feito atravs da queima de microscpicos
elementos, que so como pequenos fusveis, feitos de material semicondutor.
Uma PROM nova vem em estado virgem, ou seja, com todos os seus
fusveis intactos. O processo de gravao faz a queima seletiva desses fusveis,
a fim de representar os bits desejados. Este processo irreversvel. Uma vez
Captulo 11 - Memrias 11-79
queimada, ou seja, programada, uma PROM no pode mais ser
modificada. No passado, as PROMs eram usadas em laboratrio, durante o
desenvolvimento de produtos que seriam posteriormente produzidos em
larga escala, utilizando ROMs. Hoje existem mtodos mais eficientes, mas as
PROMs ainda so bastante utilizadas quando necessrio criar circuitos de
alta velocidade.

A EPROM ou UV-EPROM (Eraseable PROM, ou Ultra Violet Eraseable


PROM) uma ROM programvel, que pode ser apagada e regravada. Seus
dados podem ser apagados atravs de um feixe de luz ultra violeta de alta
intensidade. As EPROMs possuem uma janela de vidro, atravs da qual
podem incidir os raios ultra violeta usados no processo de apagamento. Esses
raios so obtidos em um aparelho especial chamado apagador de
EPROMs, que consiste em uma caixa plstica com uma lmpada ultra
violeta.

Devido ao seu baixo custo em comparao com as PROMs, as EPROMs


foram muito utilizadas pela indstria de informtica, para gravao de BIOS,
geradores de caracteres e outros dados fixos. Um pequeno fabricante que
produz apenas algumas centenas de unidades de um produto no tem escala
de produo suficiente para utilizar ROMs, que precisam ser produzidas aos
milhares. Ao invs disso utilizam EPROMs, que mesmo sendo mais caras,
podem ser utilizadas em pequenas quantidades.

Figura 11.70
Um programador de ROMs, usado em
laboratrios de desenvolvimento e
manuteno.

Laboratrios de desenvolvimento ou manuteno podem utilizar gravadores


de ROMs (PROM, EPROM, EEPROM, UV-EPROM, FLASH ROM) que
so ligados diretamente ao PC, atravs da porta serial ou paralela. Mediante
o controle feito por um software que o acompanha, esses aparelhos so
capazes de ler e gravar o contedo de um grande nmero de chips de
ROMs programveis.

Flash ROM
Desde os anos 80 existe no mercado um tipo especial de ROM, que pode
ser programada e apagada eletricamente: a EEPROM ou E2PROM
11-80 Hardware Total
(Eletrically Eraseable Programable ROM). Essas memrias so antecessoras
das atuais Flash ROMs, que tm a mesma caracterstica. So ROMs que
podem ser regravadas atravs da aplicao de voltagens de programao
especiais. Em uso normal, esta voltagem de programao no chega ao chip,
e seus dados permanecem inalterveis. Este tipo especial de ROM tem sido
utilizado nas placas de CPU a partir de meados dos anos 90 para armazenar
o seu BIOS. Pelo fato de serem alterveis, permitem realizar atualizaes do
BIOS, atravs de programas especiais que ativam os seus circuitos de
gravao. Este programa fornecido pelo fabricante da placa de CPU.

Figura 11.71
O BIOS da placa de CPU armazenado
em uma Flash ROM.

As Flash ROMs tambm foram muito utilizadas para armazenar o BIOS do


modem. Este termo errado, o correto dizer o firmware do modem.
Trata-de de um software que executado pelo processador (DSP, ou
processador de sinais digitais) existentes no modem. Este software possui,
entre outros mdulos, os protocolos de comunicao. Logo que surgiram os
primeiros modems de 56k bps, dois protocolos de fabricantes diferentes
competiam para ser o padro do mercado: o X2 e o K56Flex. Nenhum
fabricante de modem tinha certeza sobre qual o protocolo seria adotado
como padro mundial, por isso passaram a escolher um deles e armazen-lo
em uma Flash ROM no modem. Uma vez que fosse adotado o padro
definitivo, o novo protocolo poderia ser gravado nesta Flash ROM. No incio
de 1998 foi finalmente estabelecido o padro V.90, e os fabricantes de
modems passaram a oferecer atravs dos seus sites, um programa de
atualizao para o novo protocolo, a ser gravado na Flash ROM.
Captulo 11 - Memrias 11-81
Figura 11.72
Flash ROM de um modem.

Shadow RAM
As ROMs so extremamente lentas para os padres atuais de velocidade das
memrias. Enquanto as DRAMs modernas apresentam tempos de acesso
inferiores a 15 ns (PC66), as ROMs tm tempos de acesso de 100 ns ou mais.
Uma outra limitao dos chips de ROM que normalmente fornecem
apenas 8 bits de cada vez. Os processadores modernos precisam ler 64 bits
de cada vez, portanto os dados das ROMs precisam ser agrupados de 8 em
8, at formar 64 bits, para s ento serem liberados para o processador.
Como resultado do elevado tempo de acesso e dos seus singelos 8 bits, as
ROMs usadas nos PCs so cerca de 100 vezes mais lentas que as RAMs.
Existem ROMs rpidas, porm so muito caras. Seria tambm possvel
agrupar 8 ROMs para formar um grupo de 64 bits, mas esta tambm uma
soluo bastante cara para o problema da sua lentido.

Felizmente existe uma tcnica bastante simples e econmica para a soluo


deste problema, tcnica esta utilizada desde o tempo dos PCs 286: a Shadow
RAM. A tcnica consiste em, logo no incio do processo de boot, copiar o
contedo da ROM (que armazena o BIOS da placa de CPU) para uma rea
da RAM. Feita esta cpia, a rea de RAM que recebeu a cpia dos dados da
ROM tem suas operaes de escrita desabilitadas. Isto faz com que o
comportamento seja similar ao de uma ROM (Read Only). Finalmente, esta
rea de RAM mapeada sobre o mesmo endereo antes ocupado pela
ROM, ao mesmo tempo em que a ROM desabilitada. A partir da passa a
vigorar a cpia da ROM, feita sobre a RAM.

A tcnica da shadow RAM utilizada para acelerar o BIOS da placa de


CPU, o BIOS da placa de vdeo e outros BIOS eventualmente existentes em
placas de expanso. A habilitao da shadow RAM feita atravs do CMOS
Setup.
11-82 Hardware Total
///////// FIM //////////

Você também pode gostar