Explorar E-books
Categorias
Explorar Audiolivros
Categorias
Explorar Revistas
Categorias
Explorar Documentos
Categorias
Goiânia
2017
NOME DO AUTOR
Cidade
Ano
RESUMO
Este trabalho é dedicado ao estudo dos tipos de memórias mais comuns usados em
sistemas. No que se refere ao hardware dos computadores, entendemos como memória os
dispositivos que armazenam os dados com os quais o processador trabalha. Há, essencialmente,
duas categorias de memórias: ROM (Read-Only Memory), que permite apenas a leitura dos dados e
não perde informação na ausência de energia; e RAM (Random-Access Memory), que permite ao
processador tanto a leitura quanto a gravação de dados e perde informação quando não há
alimentação elétrica. Neste trabalho, será apresentado os principais tipos de memórias ROM e RAM,
assim como mostra as características mais importantes desses dispositivos, como frequência,
latência, encapsulamento, tecnologia, entre outros.
MEMÓRIA E PRINCIPIOS BÁSICOS
Célula de memória. Dispositivo ou circuito elétrico usado para armazenar um único bit (0 ou
1). Exemplos de células de memória incluem flip-flop, capacitor carregado e pequeno ponto
em uma fita ou disco magnético.
Palavra de memória. Grupo de bits (células) em uma memória que representa instruções ou
dados de algum tipo. Por exemplo, um registrador de oito FFs pode ser considerado uma
memória que armazena uma palavra de 8 bits. O tamanho da palavra em computadores
modernos varia de 8 a 64 bits, dependendo do porte.
Byte. Termo usado para um grupo de 8 bits. Um byte sempre consiste de 8 bits. Tamanhos
de palavras podem ser expressos em bytes e em bits. Por exemplo, um tamanho de palavra
de 8 bits também é de um byte, um tamanho de palavra de 16 bits corresponde a dois bytes,
e assim por diante.
Densidade. Outro termo para capacidade. Quando dizemos que um dispositivo de memória
tem densidade maior que outro, queremos dizer que ele pode armazenar mais bits no mesmo
espaço. Ele é mais denso.
Endereço. Número que identifica a posição de uma palavra na memória. Cada palavra
armazenada em um dispositivo ou sistema de memória tem um único endereço. Os
endereços existem em um sistema digital como um número binário, embora os números
octal, hexadecimal e decimal sejam usados, por conveniência, para representar o endereço.
Sempre que nos referirmos a uma palavra específica localizada na memória, usaremos o
código de seu endereço para identificá-la.
Operação de escrita. Operação segundo a qual uma nova palavra é colocada em uma
posição particular da memória. Também é chamada de operação de armazenamento.
Sempre que uma nova palavra é escrita em uma posição da memória, ela substitui a palavra
que estava armazenada lá.
Memória de leitura e escrita (read/write memory — RWM). Qualquer uma que possa ser lida
ou escrita de maneira fácil. „ Memória apenas de leitura (read-only memory — ROM).
Memórias semicondutoras projetadas para aplicações nas quais a razão de operações de
leitura por operações de escrita é alta. Tecnicamente, uma ROM pode ser escrita
(programada) em apenas um ciclo e é normalmente realizada na fábrica. Depois disso,
apenas informações podem ser lidas da memória. Outros tipos de memória ROM são,
principalmente de leitura (read-mostly memories — RMM) e podem ser escritas mais de uma
vez; a operação de escrita é mais complicada que a de leitura e não é realizada com
frequência. Os diversos tipos de ROM serão discutidos mais adiante. Todas as ROMs são
não voláteis e armazenam dados, mesmo quando a tensão elétrica é removida. „
Dispositivos de memória estática. Dispositivos de memória semicondutora nos quais os
dados permanecem armazenados enquanto a fonte de alimentação estiver aplicada, sem
necessidade de reescrever periodicamente os dados.
Memória de cache. Um bloco de memória de alta velocidade que opera entre a memória
principal mais lenta e a CPU a fim de otimizar a velocidade do computador. A memória de
cache pode estar localizada em uma CPU ou na placa mãe ou em ambos.
Embora cada tipo seja diferente em sua operação interna, certos princípios básicos de
operação são os mesmos para todos os sistemas de memória. Uma compreensão dessas ideias
básicas ajudará no estudo dos dispositivos individuais de memória. Todo sistema de memória requer
diversos tipos diferentes de linhas de entrada e de saída para realizar as seguintes funções:
1. Aplicar o endereço binário da posição de memória acessada.
4. No caso de operação de leitura, habilitar as saídas tristate, as quais aplicam os dados aos
pinos de saída.
6. Habilitar a operação de escrita, que faz com que os dados sejam armazenados na posição
especificada.
Entrada WE: A entrada WE (write enable, habilitação de escrita) é ativada para permitir que a
memória armazene dados. A barra sobre WE indica que a operação de escrita ocorre quando
WE = 0. Outras denominações são às vezes usadas para esta entrada. Duas das mais
comuns são W (escrita) e R/W. Mais uma vez, a barra
CONEXÕES CPU-MEMÓRIA
Operação de escrita:
1. A CPU fornece o endereço binário da posição da memória em que o dado será armazenado.
Ela o coloca nas linhas do barramento de endereço.
2. Um decodificador de endereços ativa a entrada de habilitação (CE ou CS) do dispositivo de
memória.
3. A CPU coloca os dados a serem armazenados no barramento.
4. A CPU ativa as linhas de sinal de controle apropriadas para a operação de escrita na
memória (por exemplo, WR ou R/W ) que é conectada a WE no CI de memória.
5. Os CIs de memória decodificam internamente o endereço binário para determinar a posição
para a operação de armazenamento.
6. Os dados no barramento são transferidos para a posição de memória selecionada.
Operação de leitura:
1. A CPU fornece o endereço binário da posição de memória da qual o dado deve ser
recuperado. Ela o coloca nas linhas do barramento de endereço.
2. Um decodificador de endereço ativa a entrada habilitada do dispositivo de memória (CE ou
CS).
3. A CPU ativa as linhas de sinal de controle apropriadas para a operação de leitura na memória
(por exemplo, RD) que é conectada a OE no CI de memória.
4. Os CIs de memória decodificam internamente o endereço binário para determinar a posição
selecionada para a operação de leitura.
5. Os CIs de memória colocam o dado da posição de memória selecionada no barramento de
dados, a partir do qual são transferidos para a CPU.
Agora será apresentado o real objeto deste trabalho, que são as características, tipos e
usos das memórias principais, RAM e ROM.
Memória ROM
Basicamente, essa é a função da memória ROM: oferecer dados apenas para leitura.
Normalmente, a ROM é utilizada para armazenar firmwares, pequenos softwares que funcionam
apenas no hardware para o qual foram desenvolvidos e que controlam as funções mais básicas do
dispositivo.
Na ROM de uma calculadora, por exemplo, podemos encontrar as rotinas matemáticas que
o estudante pode realizar ao usá-la. Já no caso de celulares, normalmente as ROMS carregam o
sistema operacional e os softwares básicos do aparelho, por exemplo
PROM (Programmable Read-Only Memory): esse é um dos primeiros tipos de memória ROM.
A gravação de dados neste tipo é realizada por meio de aparelhos que trabalham através de
uma reação física com elementos elétricos. Uma vez que isso ocorre, os dados gravados na
memória PROM não podem ser apagados ou alterados;
EPROM (Erasable Programmable Read-Only Memory): as memórias EPROM têm como
principal característica a capacidade de permitir que dados sejam regravados no dispositivo.
Isso é feito com o auxílio de um componente que emite luz ultravioleta. Nesse processo, os
dados gravados precisam ser apagados por completo. Somente depois disso é que uma nova
gravação pode ser feita;
Flash: as memórias Flash também podem ser vistas como um tipo de EEPROM, no entanto,
o processo de gravação (e regravação) é muito mais rápido. Além disso, memórias Flash são
mais duráveis e podem guardar um volume elevado de dados. É possível saber mais sobre
esse tipo de memória no artigo Cartões de memória Flash, publicado aqui no InfoWester;
- CD-ROM, DVD-ROM e afins: essa é uma categoria de discos ópticos onde os dados são
gravados apenas uma vez, seja de fábrica, como os CDs de músicas, ou com dados próprios
do usuário, quando o próprio efetua a gravação. Há também uma categoria que pode ser
comparada ao tipo EEPROM, pois permite a regravação de dados: CD-RW e DVD-RW e
afins.
ARQUITETURA DA ROM
A arquitetura interna do CI de uma ROM é complexa, e não precisamos nos familiarizar com
todos os detalhes. Entretanto, mostrado um diagrama simplificado, de uma ROM de 16 × 8. Existem
quatro partes básicas: matriz de registradores, decodificador de linhas, decodificador de colunas e
buffers de saída.
Matriz de registradores: A matriz de registradores armazena dados programados na ROM.
Cada registrador contém um número de células de memória igual ao tamanho da palavra e
cada registrador armazena uma palavra de oito bits. Os registradores são organizados em
uma configuração de matriz quadrada comum para muitos chips de memória semicondutora.
Podemos especificar a posição de cada registrador como se ele estivesse em uma linha e
uma coluna específicas. Por exemplo, o registrador 0 está na linha 0, coluna 0, e o registrador
9 está na linha 1, coluna 2. As oito saídas de dados de cada registrador são conectadas no
barramento interno de dados que percorre o circuito. Cada registrador tem duas entradas de
habilitação (E); as duas têm de estar em nível ALTO para que o dado do registrador possa
ser colocado no barramento.
Buffers de saída: O registrador habilitado pelas entradas de endereço colocará seus dados
no barramento. Esses dados vão para os buffers de saída, que os passam para as saídas
externas de dados, desde que CS e OE estejam em nível BAIXO. Se CS ou OE estiverem em
nível ALTO, os buffers de saída estarão no estado de alta impedância e D7 a D0, em
flutuação. A arquitetura mostrada na Figura 12.7 é similar à de muitos CIs de ROMs.
Dependendo do número de palavras armazenadas, os registradores em algumas ROMs não
são organizados na forma de uma matriz quadrada. Por exemplo, o CI Intel 27C64 é uma
ROM CMOS que armazena 8.192 palavras de oito bits. Seus 8.192 registradores são
organizados em uma matriz de 256 linhas × 32 colunas.
Firmware: Firmware são dados e códigos de programas que devem ser disponíveis ao se
ligar sistemas de microprocessadores. Equipamentos como automóveis, VCRs, CD players, e
outros empregam firmware em memórias ROM.
Tabela de Dados: As memórias tipo ROM podem armazenar tabelas de dados que não
mudam. Como exemplo, a ROM MM4220BM, que armazena as funções seno de 0 a 900. A
memória é organizada em 128 palavras de 8-bits cada, as entradas de endereços
representam os angulos em incrementos de 0,70.
Há dois tipos de tecnologia de memória RAM que são muitos utilizados: estático e dinâmico,
isto é, SRAM e DRAM, respectivamente. Há também um tipo mais recente chamado de MRAM. Eis
uma breve explicação de cada tipo:
SRAM (Static Random-Access Memory - RAM Estática): esse tipo é muito mais rápido que as
memórias DRAM, porém armazena menos dados e possui preço elevado se considerarmos o
custo por megabyte. Memórias SRAM costumam ser utilizadas como;
DRAM (Dynamic Random-Access Memory - RAM Dinâmica): memórias desse tipo possuem
capacidade alta, isto é, podem comportar grandes quantidades de dados. No entanto, o
acesso a essas informações costuma ser mais lento que o acesso às memórias estáticas.
Esse tipo também costuma ter preço bem menor quando comparado ao tipo estático;
As memórias DRAM são formadas por chips que contém uma quantidade elevadíssima de
capacitores e transistores. Basicamente, um capacitor e um transistor, juntos, formam uma célula de
memória. O primeiro tem a função de armazenar corrente elétrica por um certo tempo, enquanto que
o segundo controla a passagem dessa corrente.
A memória SRAM, por sua vez, é bastante diferente da DRAM e o principal motivo para isso
é o fato de que utiliza seis transistores (ou quatro transistores e dois resistores) para formar uma
célula de memória. Na verdade, dois transistores ficam responsáveis pela tarefa de controle,
enquanto que os demais ficam responsáveis pelo armazenamento elétrico, isto é, pela formação do
bit.
A vantagem desse esquema é que o refresh acaba não sendo necessário, fazendo com que
a memória SRAM seja mais rápida e consuma menos energia. Por outro lado, como sua fabricação é
mais complexa e requer mais componentes, o seu custo acaba sendo extremamente elevado,
encarecendo por demais a construção de um computador baseado somente nesse tipo. É por isso
que sua utilização mais comum é como cache, pois para isso são necessárias pequenas quantidades
de memória.
CAS e RAS
tCL (CAS Latency): quando uma operação de leitura de memória é iniciada, sinais são
acionados para ativar as linhas (RAS) e as colunas (RAS) correspondentes, determinar se a
operação é de leitura ou escrita (CS - Chip Select) e assim por diante. O parâmetro CAS
Latency indica, em ciclos de clock, qual o período que há entre o envio do sinal CAS e a
disponibilização dos respectivos dados. Em outras palavras, é o intervalo existente entre a
requisição de um dado pelo processador e a entrega deste pela memória. Assim, no caso do
nosso exemplo, esse valor é de 5 ciclos de clock;
tRCD (RAS to CAS Delay): esse parâmetro indica, também em ciclos de clock, o intervalo
que há entre a ativação da linha e da coluna de um determinado dado. No exemplo acima,
esse valor corresponde a 4;
tRP (RAS Precharge): intervalo em clocks que informa o tempo gasto entre desativar o
acesso a uma linha e ativar o acesso a outra. Em nosso exemplo, esse valor é de 4 ciclos;
tRAS (Active to Precharge Delay): esse parâmetro indica o intervalo, também em clocks,
necessário entre um comando de ativar linha e a próxima ação do mesmo tipo. Em nosso
exemplo, esse valor é de 15 ciclos de clock;
Assim, para se ter uma noção de qual é a frequência máxima utilizada pela memória, basta
dividir 1000 pelo seu tempo de acesso em nanossegundos (essa informação pode constar em uma
etiqueta no módulo ou pode ser informada através de softwares especiais). Por exemplo: se um pente
de memória trabalha com 15 ns, sua frequência é de 66 MHz, pois 1000/15=66.
Outros parâmetros
Algumas placas-mãe atuais ou direcionadas ao público que faz overclock (em poucas
palavras, prática onde dispositivos de hardware são ajustados para que trabalhem além das
especificações de fábrica) ou, ainda, softwares que detalham as características do hardware do
computador, costumam informar outros parâmetros, além dos mencionados acima. Geralmente, estes
parâmetros adicionais são informados da seguinte forma: tRC-tRFC-tRRD-tWR-tWTR-tRTP (por
exemplo: 22-51-3-6-3-3), também considerando ciclos de clock. Vejamos o que cada um significa:
tRC (Row Cycle): consiste no tempo necessário para que se complete um ciclo de acesso a
uma linha da memória;
tRFC (Row Refresh Cycle): consiste no tempo necessário para a execução dos ciclos de
refresh da memória;
tRRD (Row To Row Delay): semelhante ao tRP, mas considera o tempo que o controlador
necesita esperar após uma nova linha ter sido ativada;
tWR (Write Recovery): informa o tempo necessário para que o controlador de memória
comece a efetuar uma operação de escrita após realizar uma operação do mesmo tipo;
tWTR (Write to Read Delay): consiste no tempo necessário para que o controlador de
memória comece a executar operações de leitura após efetuar uma operação de escrita;
tRTP (Read to Precharge Delay): indica o tempo necessário entre uma operação de leitura
efetuada e ativação do próximo sinal.
Voltagem
Algumas pessoas com bastante conhecimento no assunto fazem overclock nas memórias
aumentando sua voltagem. Com esse ajuste, quando dentro de certos limites, é possível obter níveis
maiores de clock.
SPD (Serial Presence Detect)
O SPD é um pequeno chip (geralmente do tipo EEPROM) inserido nos módulos de memória
que contém diversas informações sobre as especificações do dispositivo, como tipo (DDR, DDR2,
etc), voltagem, temporização/latência, fabricante, número de série, etc.
Chip SPD
Muitas placas-mãe contam com um setup de BIOS que permite uma série de ajustes de
configuração. Nesses casos, um usuário experimente pode definir os parâmetros da memória, no
entanto, quem não quiser ter esse trabalho, pode manter a configuração padrão. Algumas vezes,
essa configuração é indicada por algo relacionado ao SPD.
Detecção de erros
Um desses mecanismos é a paridade, capaz apenas de ajudar a detectar erros, mas não de
corrigí-los. Nesse esquema, um bit é adicionado a cada byte de memória (lembre-se: 1 byte
corresponde a 8 bits). Esse bit assume o valor 1 se a quantidade de bits 1 do byte for par e assume o
valor 0 (zero) se a referida quantidade por ímpar (o contrário também pode acontecer: 1 para ímpar e
0 para par). Quando a leitura de dados for feita, um circuito verificará se a paridade corresponde à
quantidade de bits 1 (ou 0) do byte. Se for diferente, um erro foi detectado.
A paridade, no entanto, pode não ser tão precisa, pois um erro em dois bits, por exemplo,
pode fazer com que o bit de paridade corresponda à quantidade par ou ímpar de bits 1 do byte.
Assim, para aplicações que exigem alta precisão dos dados, pode-se contar com memórias que
tenham ECC (Error Checking and Correction), um mecanismo mais complexo capaz de detectar e
corrigir erros de bits.
DIP (Dual In-line Package): um dos primeiros tipos de encapsulamento usados em memórias,
sendo especialmente popular nas épocas dos computadores XT e 286. Como possui
terminais de contato - "perninhas" - de grande espessura, seu encaixe ou mesmo sua
colagem através de solda em placas pode ser feita facilmente de forma manual;
SOJ (Small Outline J-Lead): esse encapsulamento recebe este nome porque seus terminais
de contato lembram a letra 'J'. Foi bastante utilizado em módulos SIMM (vistos mais à frente)
e sua forma de fixação em placas é feita através de solda, não requerendo furos na superfície
do dispositivo;
TSOP (Thin Small Outline Package): tipo de encapsulamento cuja espessura é bastante
reduzida em relação aos padrões citados anteriormente (cerca de 1/3 menor que o SOJ). Por
conta disso, seus terminais de contato são menores, além de mais finos, diminuindo a
incidência de interferência na comunicação. É um tipo aplicado em módulos de memória
SDRAM e DDR (que serão abordados adiante). Há uma variação desse encapsulamento
chamado STSOP (Shrink Thin Small Outline Package) que é ainda mais fino;
CSP (Chip Scale Package): mais recente, o encapsulamento CSP se destaca por ser "fino" e
por não utilizar pinos de contato que lembram as tradicionais "perninhas". Ao invés disso,
utiliza um tipo de encaixe chamado BGA (Ball Grid Array). Esse tipo é utilizado em módulos
como DDR2 e DDR3 (que serão vistos à frente).
Módulos de memória
Entendemos como módulo ou, ainda, pente, uma pequena placa onde são instalados os
encapsulamentos de memória. Essa placa é encaixada na placa-mãe por meio de encaixes (slots)
específicos para isso. Eis uma breve descrição dos tipos mais comuns de módulos:
SIPP (Single In-Line Pins Package): é um dos primeiros tipos de módulos que chegaram ao
mercado. É formato por chips com encapsulamento DIP. Em geral, esses módulos eram
soldados na placa-mãe;
SIMM (Single In-Line Memory Module): módulos deste tipo não eram soldados, mas
encaixados na placa-mãe. A primeira versão continha 30 terminais de contato (SIMM de 30
vias) e era formada por um conjunto de 8 chips (ou 9, para paridade). Com isso, podiam
transferir um byte por ciclo de clock. Posteriormente surgiu uma versão com 72 pinos (SIMM
de 72 vias), portanto, maior e capaz de transferir 32 bits por vez. Módulos SIMM de 30 vias
podiam ser encontrados com capacidades que iam de 1 MB a 16 MB. Módulos SIMM de 72
vias, por sua vez, eram comumente encontrados com capacidades que iam de 4 MB a 64
MB;
DIMM (Double In-Line Memory Module): os módulos DIMM levam esse nome por terem
terminais de contatos em ambos os lados do pente. São capazes de transmitir 64 bits por
vez. A primeira versão - aplicada em memória SDR SDRAM - tinha 168 pinos. Em seguida,
foram lançados módulos de 184 vias, utilizados em memórias DDR, e módulos de 240 vias,
utilizados em módulos DDR2 e DDR3. Existe um padrão DIMM de tamanho reduzido
chamado SODIMM (Small Outline DIMM), que são utilizados principalmente em
computadores portáteis, como notebooks;
RIMM (Rambus In-Line Memory Module): formado por 168 vias, esse módulo é utilizado
pelas memórias Rambus, que serão abordadas ainda neste artigo. Um fato curioso é que
para cada pente de memória Rambus instalado no computador é necessário instalar um
módulo "vazio", de 184 vias, chamado de C-RIMM (Continuity-RIMM).
Tecnologias de memórias
Várias tecnologias de memórias foram (e são) criadas com o passar do tempo. É graças a
isso que, periodicamente, encontramos memórias mais rápidas, com maior capacidade e até
memórias que exigem cada vez menos energia. Eis uma breve descrição dos principais tipos de
memória RAM:
FPM (Fast-Page Mode): uma das primeiras tecnologias de memória RAM. Com o FPM, a
primeira leitura da memória tem um tempo de acesso maior que as leituras seguintes. Isso
porque são feitos, na verdade, quatro operações de leitura seguidas, ao invés de apenas
uma, em um esquema do tipo x-y-y-y, por exemplo: 3-2-2-2 ou 6-3-3-3. A primeira leitura
acaba sendo mais demorada, mas as três seguintes são mais rápidas. Isso porque o
controlador de memória trabalha apenas uma vez com o endereço de uma linha (RAS) e, em
seguida, trabalha com uma sequência de quatro colunas (CAS), ao invés de trabalhar com
um sinal de RAS e um de CAS para cada bit. Memórias FPM utilizavam módulos SIMM, tanto
de 30 quanto de 72 vias;
EDO (Extended Data Output): a sucessora da tecnologia FPM é a EDO, que possui como
destaque a capacidade de permitir que um endereço da memória seja acessado ao mesmo
tempo em que uma solicitação anterior ainda está em andamento. Esse tipo foi aplicado
principalmente em módulos SIMM, mas também chegou a ser encontrado em módulos DIMM
de 168 vias. Houve também uma tecnologia semelhante, chamada BEDO (Burst EDO), que
trabalhava mais rapidamente por ter tempo de acesso menor, mas quase não foi utilizada,
pois tinha custo maior por ser de propriedade da empresa Micron. Além disso, foi "ofuscada"
pela chegada da tecnologia SDRAM;
- SDRAM (Synchronous Dynamic Random Access Memory): as memórias FPM e EDO são
assíncronas, o que significa que não trabalham de forma sincronizada com o processador. O
problema é que, com processadores cada vez mais rápidos, isso começou a se tornar um
problema, pois muitas vezes o processador tinha que esperar demais para ter acesso aos
dados da memória. As memórias SDRAM, por sua vez, trabalham de forma sincronizada com
o processador, evitando os problemas de atraso. A partir dessa tecnologia, passou-se a
considerar a frequência com a qual a memória trabalha para medida de velocidade. Surgiam
então as memórias SDR SDRAM (Single Data Rate SDRAM), que podiam trabalhar com 66
MHz, 100 MHz e 133 MHz (também chamadas de PC66, PC100 e PC133, respectivamente).
Muitas pessoas se referem a essa memória apenas como "memórias SDRAM" ou, ainda,
como "memórias DIMM", por causa de seu módulo. No entanto, a denominação SDR é a
mais adequada;
- DDR SDRAM (Double Data Rate SDRAM): as memórias DDR apresentam evolução
significativa em relação ao padrão SDR, isso porque elas são capazes de lidar com o dobro
de dados em cada ciclo de clock (memórias SDR trabalham apenas com uma operação por
ciclo). Assim, uma memória DDR que trabalha à frequência de 100 MHz, por exemplo, acaba
dobrando seu desempenho, como se trabalhasse à taxa de 200 MHz. Visualmente, é possível
identificá-las facilmente em relação aos módulos SDR, porque este último contém duas
divisões na parte inferior, onde estão seus contatos, enquanto que as memórias DDR2
possuem apenas uma divisão.
DDR3 SDRAM: as memórias DDR3 são, obviamente, uma evolução das memórias DDR2.
Novamente, aqui dobra-se a quantidade de operações por ciclo de clock, desta vez, de oito.
Uma novidade aqui é a possibilidade de uso de Triple-Channel.
Rambus: as memórias Rambus, recebem esse nome por serem uma criação da empresa
Rambus Inc. e chegaram ao mercado com o apoio da Intel. Elas são diferentes do padrão
SDRAM, pois trabalham apenas com 16 bits por vez. Em compensação, memórias Rambus
trabalham com frequência de 400 MHz e com duas operações por ciclo de clock. Tinham
como desvantagens, no entanto, taxas de latência muito altas, aquecimento elevado e maior
custo. Memórias Rambus nunca tiveram grande aceitação no mercado, mas também, não
foram total fracasso. Foram utilizada no console de jogos Nintendo 64 por exemplo.
Curiosamente as memórias Rambus, trabalham em pares com módulos vazios ou pentes
cegos. Isso significa que para cada módulo rambus instalado, um módulo vazio tem que ser
instalado em outros slot. Essa tecnologia acabou perdendo espaço para as memórias DDR.
ARQUITETURA DA RAM
Da mesma maneira que fizemos com a ROM, é útil pensar na RAM como um número de
registradores armazenando uma palavra de dado e com um endereço. As RAMs são fabricadas com
capacidades de palavras de 1K, 4K, 8K, 16K, 64K, 128K, 256K e 1024K e com tamanhos de palavra
de 1, 4 ou 8 bits. Conforme veremos, a capacidade de palavras e o tamanho de palavra podem ser
expandidos combinando-se CIs de memórias. A Figura 12.20 mostra a arquitetura simplificada de
uma RAM que armazena 64 palavras de quatro bits cada (ou seja, uma memória de 64 × 4). Essas
palavras têm endereços que variam de 0 a 6310. Para selecionar um dos 64 endereços para leitura
ou escrita, um código binário de endereço é aplicado no circuito decodificador. Visto que 64 = 26, o
decodificador requer um código de entrada de seis bits. Cada código de endereço ativa uma saída do
decodificador que, por sua vez, habilita o registrador correspondente. Por exemplo, suponha que seja
aplicado o endereço A5A4A3A2A1A0 = 011010. Como 0110102 = 2610, a saída 26 do decodificador
vai para nível alto, selecionando o registrador 26 tanto para a operação de leitura quanto de escrita.
Operação de leitura
Operação de escrita
Para escrever uma nova palavra de quatro bits no registrador selecionado, é necessário
fazer WE = 0 e CS = 0. Essa combinação habilita os buffers de entrada de modo que a palavra de
quatro bits, aplicada nas entradas de dados, será carregada no registrador selecionado. A entrada
WE = 0 também desabilita os buffers de saída, do tipo tristate, para que as saídas de dados fiquem
em alta impedância durante a operação de escrita. A operação de escrita destrói a palavra
armazenada previamente naquele endereço.
Seleção do chip
A maioria dos CIs de memória tem uma ou mais entradas CS usadas para habilitar ou
desabilitar completamente o chip. No modo desabilitado, todas as entradas e as saídas de dados são
desabilitadas (alta impedância); assim, não há nenhuma operação de leitura ou escrita. Nesse modo,
o conteúdo da memória não é afetado. O motivo da existência de entradas CS torna-se claro quando
associamos CIs de memória para obter memórias de maior capacidade. Observe que muitos
fabricantes chamam essas entradas de chip enable (CE). Quando CS ou CE estão em seus estados
ativos, diz-se que o chip de memória está selecionado; caso contrário, diz-se que não está. Muitos
CIs de memória são projetados para ter consumo de potência baixo quando não estão selecionados.
Em grandes sistemas com memória, para dada operação, um ou mais CIs de memória serão
selecionados enquanto os outros não. Mais informações sobre isso serão vistas adiante.
TOCCI, Ronald J. – Sistemas Digitais – Princípios e Aplicações – 11ª Edição – Capitulo 12. - Pearson
2011.