Memória viva (RAM ou PC)

Julho 2017

Tipos de memória viva

De um modo geral, existem duas grandes categorias de memória viva ou memória de acesso aleatório:


As memórias dinâmicas (DRAM – Módulo de Acesso Aleatório Dinâmico), pouco dispendiosas. São principalmente utilizadas para a memória principal do computador;

As memórias estáticas (SRAM – Módulo de Acesso Aleatório Estático), são rápidas e relativamente caras. As SRAM são utilizadas principalmente na memória cache do processador.

Como funciona a memória viva

A memória viva é constituída por centenas de milhares de pequenos condensadores que armazenam cargas. Ao carregar-se, o estado lógico do condensador é igual a 1; no caso contrário é igual a 0, o que significa que cada condensador representa um bit de memória.


Visto que os condensadores se descarregam, é preciso recarregá-los constantemente (o termo exato é atualizar) a intervalos de tempo regulares chamados ciclo de atualização. As memórias DRAM, por exemplo, requerem ciclos de atualização de uns 15 nanossegundos (ns).

Cada condensador está acoplado a um transistor (MOS) que permite recuperar ou alterar o estado do condensador. Estes transistores estão dispostos em uma tabela (matriz), de modo que se acesse a caixa de memória (também chamada ponto de memória) por uma linha e uma coluna:

representação

Assim, cada ponto de memória se caracteriza por um endereço que, por sua vez, corresponde a um número de linha e um número de coluna. Este acesso não é instantâneo e efetua-se durante um prazo chamado tempo de latência. Consequentemente, o tempo necessário para acessar a informação na memória é igual ao tempo de ciclo e o tempo de latência.

Deste modo, no caso da memória DRAM, por exemplo, o tempo de acesso é de 60 nanossegundos (35 ns do tempo de ciclo e 25 NS do tempo de latência). No computador, o tempo de ciclo corresponde ao oposto da frequência do relógio. Por exemplo, em um computador cadenciado a 200 MHz, o tempo de ciclo é de 5 NS (1 (200*106).

Consequentemente, em um computador com alta frequência usando memórias cujo tempo de acesso é muito mais longo que o tempo de ciclo do processador, deve efetuar ciclos de espera (wait state) para que se acesse a memória. No caso de um computador cadenciado a 200 MHz que utiliza memórias DRAM (cujo tempo de acesso é de 60ns), há 11 ciclos de espera para um ciclo de transferência. O desempenho do computador diminui a medida que aumenta o número de ciclos de espera, por conseguinte, é aconselhável implementar o uso de memórias mais rápidas.

Formatos de barras de memória viva

Existem vários tipos de memória viva. Elas se apresentam sob a forma de módulos de memória que podem ser conectadas à placa-mãe.


As primeiras memórias apresentavam-se sob a forma de micro-plaquetas chamadas DIP (Double Inline Package). Hoje em dia, as memórias encontram-se geralmente sob forma de barras, ou seja, cartas encaixadas em conectores previstos para esse efeito. Habitualmente, existem três tipos de barras RAM:

As barras em formato SIMM (Individual Inline Memory Module): são placas de circuito impressas em que um dos lados possui micro-plaqueta de memória. Existem dois tipos de módulos SIMM, de acordo com o número de conectores: as barras SIMM com 30 conectores (de 89x13mm) são memórias 8 bits que equipavam as primeiras gerações de PCs (286, 386):

barra de memória SIMM 30 conectores

As barras SIMM com 72 conectores (de 108x25mm) são memórias capazes de armazenar, simultaneamente, 32 bits de informação. Estas memórias se encontram nos PCs, que veem desde o 386DX aos primeiros Pentium. No caso dos Pentiums, o processador funciona com um barramento de informação de 64 bits, razão pela qual estes computadores precisam estar equipados com módulos SIMM. Os módulos de 30 pinos não podem se instalar em posições de 72 conectores, já que o encaixe (entalhadura no centro dos conectores) impede a conexão:

barra de memória SIMM 72 conectores

As barras no formato DIMM (Double Inline Memory Module) são memórias de 64 bits, por isso não é necessário emparelhá-las. As barras DIMM possuem micro-plaquetas de memória em ambos os lados da placa de circuito impresso e têm igualmente 84 conectores de cada lado, somando um total de 168 pinos. Além de serem maiores do que as barras SIMM (130x25mm), elas possuem um segundo encaixe para evitar confusões:

barra de memória SIMM 72 conectores

Cabe observar que os conectores DIMM foram melhorados para facilitar a sua inserção, graças a alavancas situadas de ambos os lados de cada conector.

Também existem módulos menores, chamados SO DIMM (Small Outline DIMM) desenvolvidos para computadores portáteis. As barras SO DIMM comportam apenas 144 pinos para as memórias 64 bits e 77 para as memórias 32 bits.

As barras no formato RIMM (Rambus Inline Memory Module ou RD-RAM ou DRD-RAM) são memórias de 64 bits desenvolvidas pela empresa Rambus. Elas possuem 184 pinos. Estas barras possuem dois entalhes de posição, evitando qualquer risco de confusão com os módulos precedentes. Tendo em conta a sua velocidade de transferência elevada, as barras RIMM possuem um filme térmico encarregado de melhorar a transferência de calor.

Como no caso dos DIMM, existem módulos menores chamados SO RIMM (Small Outline RIMM) para os computadores portáteis. As barras SO RIMM comportam apenas 160 pinos.

DRAM PM

A DRAM (RAM dinâmico) é o tipo de memória mais divulgado. É uma memória cujos transístores estão dispostos numa matriz em linhas e colunas. Um transístor, acoplado a um condensador fornece informação em forma de bit. Já que 1 byte compreende 8 bits, uma barra de memória DRAM de 256 MB conterá, então, 256*2^10*2^10 = 256*1024*1024 = 268.435.456 bytes = 268.435.456*8 = 2.147.483 e 648 bits = 2.147.483.648 transístores. Assim, uma barra de 256 MB possui, na realidade, uma capacidade de 268.435.456 bytes, ou seja 268 MB. O tempo de acesso destas memórias é de 60 ns.

Por outro lado, o acesso à memória, em geral, está relacionado aos dados armazenados consecutivamente na memória. Assim, o modo burst (acesso em rajada) permite o acesso às três partes de informação que seguem a primeira parte, sem tempo de latência adicional. Deste modo, o tempo necessário para acessar a primeira parte da informação é igual ao tempo do ciclo mais o tempo de latência, enquanto que o tempo necessário para acessar as outras três partes da informação só é igual ao tempo de ciclo. Assim sendo, os quatro tempos de acesso se expressam sob a forma X-Y-Y-Y. Por exemplo, 5-3-3-3 indica que a memória necessita 5 ciclos do relógio para acessar a primeira parte da informação dado, e 3, para acessar as seguintes.

DRAM FPM

Para acelerar os acessos ao DRAM, existe uma técnica chamada paginação, que consiste em acessar a informação situada numa mesma coluna, alterando apenas o endereço da linha, para evitar a repetição do número de coluna entre a leitura de cada uma das linhas. Este processo se chama DRAM FPM (Fast Page Mode). O FPM permite obter tempos de acesso de aproximadamente 70 a 80 nanossegundos para uma frequência de funcionamento que pode ir de 25 a 33 MHz.

DRAM EDO

A DRAM EDO (Extended Data Out, também chamado de ‘hiperpágina’) surgiu em 1995. A técnica utilizada neste tipo de memória consiste em direcionar a coluna seguinte durante a leitura dos dados de uma coluna anterior. Isto cria uma sobreposição dos acessos que permite ganhar tempo em cada ciclo. O tempo de acesso à memória EDO é de 50 a 60 nanossegundos para uma frequência de funcionamento que vai de 33 a 66 MHz.

Assim, a RAM EDO, quando utilizada em modo burst, permite obter ciclos sob a forma 5-2-2-2, que representa um ganho de 4 ciclos sobre o acesso a 4 dados. Já que a memória EDO não aceitava frequências superiores a 66 MHz, ela desapareceu em detrimento do SDRAM.

SDRAM

A SDRAM (Synchronous DRAM ou DRAM sincrônico), introduzida em 1997, permite a leitura da informação sincronizada com o barramento da placa-mãe, contrariamente ao que ocorre com as memórias EDO e FPM (qualificadas de assíncronas) que possuem o seu próprio relógio. Desta maneira, a SDRAM elimina os tempos de espera devidos à sincronização com a placa-mãe. Graças a isso, é possível obter um ciclo em modo burst de 5-1-1-1, ou seja, um ganho de 3 ciclos em relação à RAM EDO. Assim sendo, a SDRAM pode funcionar com uma frequência superior a 150 MHz, obtendo tempos de acesso de cerca de 10 ns.

DR-SDRAM (Rambus DRAM)

A DR.-SDRAM (Direct Rambus DRAM ou RDRAM) é um tipo de memória que permite transferir os dados em um barramento de 16 bits de amplitude num ritmo de 800 MHz, o que proporciona uma largura de banda de 1,6 GB/s. Assim como a SDRAM, este tipo de memória está sincronizada com o relógio do barramento para melhorar as trocas de dados. Por outro lado, a memória RAMBUS é um produto de tecnologia patenteada, o que significa que qualquer empresa que deseje produzir módulos RAM que utilizem esta tecnologia deverá pagar os direitos (royalties) às empresas RAMBUS e Intel.

DDR-SDRAM

A DDR-SDRAM (Double Data Rate SDRAM) é uma memória baseada na tecnologia SDRAM, permitindo duplicar a taxa de transferência alcançada por ela, a frequência igual.

A informação é lida ou escrita na memória como um relógio. As memórias DRAM padrão utilizam um método chamado SDR (Taxa Simples de Transferência de Dados), que consiste em ler ou escrever um dado em cada fronteira de entrada:

SDR - Single Data Rate

A DDR permite duplicar a frequência de leitura/escrita, com um relógio cadenciado à mesma frequência, enviando os dados a cada borda de entrada e a cada borda posterior:

DDR - Double Data Rate

As memórias DDR possuem geralmente possuem uma marca, como PCXXXX, em que XXXX representa a velocidade em MB/s.

DDR2-SDRAM

As memórias DDR2 (ou DDR-II) atingem velocidades duas vezes maiores do as memórias DDR com a mesma frequência externa.

A QDR (Taxa Quadrupla de Transferência de Dados ou Quad-pump) designa o método de leitura e escrita utilizado. Na realidade, a memória DDR2 utiliza dois canais separados para os processos de leitura e escrita, com o qual é possível enviar ou receber o dobro de informações em relação à DDR:
QDR - Quad Data Rate

A DDR2 também possui mais conectores do que a DDR tradicional (240 para a DDR2 contra 184 para a DDR).

Quadro sumário

O quadro abaixo mostra a equivalência entre a frequência da placa-mãe (FSB), a da memória (RAM) e a sua velocidade:



MemóriaDenominação Frequência (RAM) Frequência (FSB)</th> Velocidade
DDR200 PC1600200 MHz 100 MHz1,6 GB/s
DDR266 PC2100266 MHz 133 MHz2,1 GB/s
DDR333 PC2700333 MHz 166 MHz2,7 GB/s
DDR400 PC3200400 MHz 200 MHz3,2 GB/s
DDR433 PC3500433 MHz 217 MHz3,5 GB/s
DDR466 PC3700466 MHz 233 MHz3,7 GB/s
DDR500 PC4000500 MHz 250 MHz4 GB/s
DDR533 PC4200533 MHz 266 MHz4,2 GB/s
DDR538 PC4300538 MHz 269 MHz4,3 GB/s
DDR550 PC4400550 MHz 275 MHz4,4 GB/s
DDR2-400 PC2-3200400 MHz 100 MHz3,2 GB/s
DDR2-533 PC2-4300533 MHz 133 MHz4,3 GB/s
DDR2-667 PC2-5300667 MHz 167 MHz5,3 GB/s
DDR2-675 PC2-5400675 MHz 172,5 MHz5,4 GB/s
DDR2-800 PC2-6400800 MHz 200 MHz6,4 GB/s

Sincronização (timings)

Não é raro ver valores do tipo 3-2-2-2 ou 2-3-3-2 para descrever as configurações da memória viva. Esta sequência de quatro números descreve a sincronização da memória (timing), ou seja, a sequência de ciclos de relógio necessária para acessar a informação armazenada na memória viva. Estes quatro números correspondem, na ordem, aos seguintes valores:


Demora de CAS ou latência de CAS (CAS - Column Address Strobe ou Sinalizador de Direcionamento em Coluna): é o número de ciclos de relógio que transcorre entre o envio do comando de leitura e a chegada efetiva da informação. Em outras palavras, é o tempo necessário para acessar uma coluna.

Tempo de pré-carga RAS (RAS - Row Address Strobe): é o número de ciclos de relógio entre duas instruções RAS, ou seja, entre dois acessos a uma linha.

Demora de RAS para CAS (também chamado de tRCD): trata-se do número de ciclos de relógio que correspondem ao tempo de acesso de uma linha para uma coluna.

Tempo ativo de RAS(ou tRCD): é o número de ciclos de relógio que correspondem ao tempo de acesso a uma coluna.

Os cartões de memória são equipadas com um dispositivo chamado SPD (Serial Presence Detect), que permite que o BIOS conheça os valores nominais de ajustamento definidos pelo fabricante. Esta é uma EEPROM cujos dados podem ser carregados no BIOS se o usuário escolher o ajuste Automático.

A correção de erros

Algumas memórias possuem mecanismos de correção de erros, a fim de garantir a integridade das informações que elas contêm. Este tipo de memória é utilizado geralmente em sistemas que trabalham com dados críticos, motivo pelo qual este tipo de memória se encontra nos servidores.

Bit de paridade

Os módulos com bits de paridade garantem que os dados contidos na memória sejam efetivamente necessários. Para obter isso, um dos bits de cada byte armazenado na memória serve para armazenar a soma das bits de dados. O bit de paridade vale 1 quando a soma dos bits de dados gera um número ímpar e 0 no caso contrário.

Deste modo, os módulos com bit de paridade permitem verificar a integridade dos dados mas não preveem a correção dos erros. Além disso, para 9 MB de memória, apenas 8 servirão para armazenar dados, já que o último megabyte é usado para armazenar os bits de paridade.

Módulos ECC

Os módulos de memória ECC (Error Correction Coding – Códigos de correção de Erros) são memórias que possuem vários bits dedicados à correção de erros (chamados bits de controle). Estas barras (ou módulos), utilizadas principalmente em servidores, permitem detectar e corrigir os erros.

Canal Duplo

Alguns controladores de memória dispõem de um canal duplo (Dual Chanel) para a memória. Os módulos de memória são usados por pares a fim de alcançar uma maior largura de banda e, consequentemente, explorar ao máximo as capacidades do sistema. Ao utilizar o canal duplo, torna-se indispensável utilizar um par de barras idênticas (mesma frequência, mesma capacidade e, de preferência, da mesma marca).

Veja também


Random access memory (RAM or PC memory)
Random access memory (RAM or PC memory)
Memoria de acceso aleatorio (memoria RAM o PC)
Memoria de acceso aleatorio (memoria RAM o PC)
Der Arbeitsspeicher (RAM oder PC-Speicher)
Der Arbeitsspeicher (RAM oder PC-Speicher)
RAM - Mémoire vive
RAM - Mémoire vive
Memoria ad accesso casuale
Memoria ad accesso casuale
Última modificação: 17 de julho de 2017 às 06:35 por ninha25.
Este documento, intitulado 'Memória viva (RAM ou PC)', está disponível sob a licença Creative Commons. Você pode copiar e/ou modificar o conteúdo desta página com base nas condições estipuladas pela licença. Não se esqueça de creditar o CCM (br.ccm.net) ao utilizar este artigo.