Memória RAM, DRAM ou Memória Principal
É onde o computador armazena as instruções necessárias ao funcionamento do sistema operacional e programas. O processador precisa de espaço para arrumar as instruções contidas no programa de modo que ele, processador, possa executa-las rapidamente. Todo programa que você executa está na memória RAM, seja ele um software antivírus, um protetor de tela, impressão, etc.
Em termos de hardware, são pequenos pentes que são encaixados
nos slots de memória das placas motherboard. Atualmente, temos pentes
(os mais comuns) de 4 MB, 8 MB, 16 MB e 32 MB. A capacidade total de memória
depende do pente e do número de slots na motherboard, geralmente 4 slots
de 72 vias (Veja Colocação das Memórias na Motherboard
para mais
detalhes). É na memória que ficam todas as informações
utilizadas durante as operações de escrita ou leitura nas unidades
de armazenamento e os programas, cache de software para hard-disk, drives virtuais
e vírus.
As memórias FPM (Fast Page Mode) são de tecnologia mais antiga, apesar de serem encontradas nos 486 e nos primeiros Pentium. Possuem tempo de acesso de 80, 70 e 60ns. Suportam velocidades de barramento de até 66 MHz.
As memórias EDO (Extended Data Output) tem leitura mais rápida que as memórias do tipo FPM (Fast Page Mode), com cerca de 20% de vantagem. Esta tecnologia é usada em pentes de 72 vias, possui tempo de acesso de 70, 60 e 50ns, e suporta velocidades de barramento de até 66 MHz. Algumas memórias de melhor qualidade, utilizando a tecnologia EDO, suportam velocidades de barramento de 75 ou até mesmo 83 MHz. Como as novas CPUs requerem altas velocidades de barramento (a exemplo do processador Cyrix 6x86 P200+ que trabalha com um barramento de sistema de 75 MHz e o Pentium II 333 MHz que utiliza barramento de 100 MHz), a EDO RAM já está sendo substituída no mercado.
A SDRAM (Synchronous Dynamic RAM) já é considerada padrão
com a chegada dos novos processadores. São módulos de memória
DIMM (168 vias) que não necessitam do ciclo de "refresh". Trabalha com
tempo de acesso de 10 ou 8ns, suporta uma frequência de barramento de
100 (memórias com tempo de acesso de 10ns) ou 125 MHz (quando possui
tempo de acesso de 8ns) e é cerca de 15% mais veloz que a EDO RAM. As
memórias com tecnologia SDRAM já são suportadas pelo chipset
Intel Triton VX e os novos VIA 580VP, 590VP (para Pentium e 6x86) e 680VP (para
Pentium PRO). Espera-se porém, que os PCs futuros trabalhem com barramento
de 200 MHz ou mais rápido. Por isso, novas tecnologias de memória
estão em desenvolvimento, tais como RDRAM e SLDRAM.
Conceito de Paridade
Para mantermos a integridade dos dados na memória, evitando que defeitos nesta prejudiquem o funcionamento do sistema, o chipset gera um bit de paridade para cada byte de dado escrito na memória (baseado no número de bits de valor 1).
A lógica de teste da paridade gera o bit de paridade conforme o byte
armazenado no chip de memória fazendo a comparação deste
bit posteriormente quando for lido qualquer byte da memória. Caso seja
detectado um erro, o sistema travará gerando uma NMI (interrupção
sem possibilidade de uso do equipamento). Veja tabela de exemplos:
Byte | Bit de paridade |
00001111 | 0 |
00000111 | 1 |
01010101 | 0 |
10101100 | 0 |
11010101 | 1 |
00110100 | 1 |
Memória Cache secundária (level 2 cache)
Praticamente todas as placas possuem um cache memory. Nos 486 e Pentium este cache pode variar entre 128 KB e 2 MB (geralmente 256KB ou 512KB).
O cache L2 é um conjunto de chips de acesso rápido instalados na placa mãe, ou seja, externo ao processador. A memória principal do computador denominada DRAM é bem mais lenta que a memória cache secundária SRAM (Static Random Access Memory), que tem tempos de acesso de até 12 ns, mas em compensação é bem mais cara.
Assim o cache reduz sensivelmente a velocidade de acesso médio a memória principal armazenando as mais requisitadas instruções e dados. A efetividade do cache está relacionada com o seu tamanho, largura do byte, algorítimo de substituição de dados, esquema de mapeamento e do tipo do programa em execução.
Não é atoa que a tecnologia de cache está presente tanto em winchesters, processadores e em muitas outras placas. Nos processadores, encontramos a memória cache primária (level 1 cache), com 8 KB de dados nos 486, 16 KB nos Pentium e 32 KB nos chips com tecnologia MMX.
A construção das memórias cache segue princípios de construção totalmente diferentes das memórias comuns. Utilizam elementos lógicos compostos basicamente de transistores chamados flip-flops.
Resumindo tudo, o cache trabalha na velocidade do processador enquanto a memória DRAM depende da inclusão de wait states (estados de espera do processador) para disponibilizar o dado devido a sua lentidão.
A memória SRAM pode se apresentar de três formas: soldada na própria placa-mãe, na forma de pente para ser encaixado em um slot especial (possibilitando a expansão dessa memória com a troca do módulo), ou apresentando essas duas configurações simultaneamente.
INTRODUÇÃO
Um sistema digital é capaz de armazenar facilmente uma grande quantidade de informação por períodos de tempo curtos ou longos, sendo esta a sua principal vantagem sobre os sistemas analógicos, pois tal característica torna os sistemas digitais bastante versáteis e adaptáveis a um sem-número de situações.
Este capítulo é dedicado ao estudo dos tipos mais comuns de dispositivos e sistemas de memória empregados no armazenamento de informações em computadores digitais.
Já estamos familiarizados com o flip-flop. Sabemos também que
grupos de flip-flops denominados registradores são capazes de armazenar
informação estruturada (dados ou instruções), e
que tais informações podem ser recebidas/transferidas de/para
outros dispositivos de armazenamento.
Os registradores são elementos de memória de alta velocidade,
empregados no armazenamento de informação durante o processo de
execução de instruções pela unidade de controle
da máquina, havendo uma constante movimentação de informações
entre os registradores e os demais dispositivos componentes do sistema.
Em geral, um sistema de computador usa memória principal (interna) de
alta velocidade e dispositivos de memória secundária (externa
ou de massa) lentos, mas com alta capacidade de armazenamento.
TERMINOLOGIA
? CÉLULA DE MEMÓRIA - ( Flip-flop, armazenam um único
bit)
? PALAVRA DE MEMÓRIA - (Um grupo de células, normalmente 4 a 64
bits )
? CAPACIDADE - 1K = 1024 , 1M = 1.048.576 - ( 2K x 8 = 2048 x 8 = 16384 bits
)
? ENDEREÇO - Identifica a posição de uma palavra na memória.
? OPERAÇÃO DE LEITURA - Também chamada de �busca� na memória.
? OPERAÇÃO DE ESCRITA - Também chamada de �armazenamento�.
? TEMPO DE ACESSO - Quantidade de tempo necessária à busca ou
armazenamento.
? MEMÓRIA VOLÁTIL - Necessitam de energia elétrica para
reter a informação armazenada.
? MEMÓRIA DE ACESSO RANDÔMICO (RAM) - O tempo de acesso é
constante para qualquer endereço da memória.
? MEMÓRIA DE ACESSO SEQUENCIAL (SAM) - O tempo de acesso não é
constante, mas depende do endereço. Ex: fitas magnéticas.
? MEMÓRIA DE LEITURA/ESCRITA (RWM) - Qualquer memória que possa
ser lida ou escrita com igual facilidade.
? MEMÓRIA DE LEITURA (ROM) - Uma classe de memórias a semicondutor
projetadas para aplicações onde a taxa de operações
de leitura é infinitamente mais alta do que as de escrita. São
não-voláteis.
? DISPOSITIVOS DE MEMÓRIA ESTÁTICA - Enquanto houver energia elétrica
aplicada, não há necessidade de rescrever a informação.
? DISPOSITIVOS DE MEMÓRIA DINÂMICA - Necessitam de recarga ( refresh
)
? MEMÓRIA PRINCIPAL (INTERNA) - É a mais rápida do sistema.
( Instruções e dados ).
? MEMÓRIA DE MASSA - É mais lenta que a principal. Grande capacidade
de armazenamento
OPERAÇÃO DA MEMÓRIA
Apesar das diferenças existentes na implementação de cada um dos tipos de memória, um certo conjunto de princípios básicos de operação permanece o mesmo para todos os sistemas de memória.
Cada sistema requer um conjunto de tipos diferentes de entrada e saída para realizar as seguintes funções:
1. Selecionar o endereço que está sendo acessado para uma operação
de leitura ou escrita.
2. Selecionar a operação a ser realizada, leitura ou escrita.
3. Fornecer os dados de entrada para a operação de escrita.
4. Manter estáveis as informações de saída da memória
resultantes de uma operação de leitura, durante um tempo determinado.
5. Habilitar ( ou desabilitar ) a memória, de forma a fazê-la (
ou não ) responder ao endereço na entrada e ao comando de leitura/escrita.
MEMÓRIAS DE LEITURA - ROM
As ROMs são usadas para guardar instruções e dados que não vão mudar durante o processo de operação do sistema.
Uma vez que as ROMs são não-voláteis, os dados nela armazenados não se perdem quando o equipamento é desligado.
Uma das principais aplicações da ROM é no armazenamento de alguns programas do sistema operacional dos microcomputadores, e também para armazenar informações em equipamentos controlados por microprocessadores, como caixas registradoras eletrônicas, sistemas de segurança industrial e diversos aparelhos eletrodomésticos.
Para alguns tipos de ROM, os dados que estão armazenados foram gravados durante o processo de fabricação da memória. Para outros tipos, os dados são gravados eletricamente.
O processo de gravação de dados é chamado de programação,
ou queima, da ROM. Algumas podem apagar e regravar seus dados quantas vezes
forem necessárias.
ROM PROGRAMADA POR MÁSCARA - MROM
Este tipo tem suas posições de memória escritas
( programadas ) pelo fabricante de acordo com as especificações
do cliente. Um negativo fotográfico, denominado máscara, é
usado para especificar as conexões elétricas do chip. Uma máscara
diferente é requerida para cada conjunto de informações
a ser armazenado na ROM. Em razão de tais máscaras serem caras,
este tipo de ROM só será viável sob ponto de vista econômico,
se for produzido um número muito grande de ROMs com a mesma máscara.
A maior desvantagem destas ROMs é o fato de elas não poderem
ser apagadas e reprogramadas, quando uma mudança qualquer no projeto
do dispositivo exigir modificações nos dados armazenados. Neste
caso, a ROM com os dados antigos não pode ser reaproveitada, devendo
ser substituída por uma outra com os novos dados gravados.
ROMs PROGRAMÁVEIS - PROMs
Para aplicações mais modestas em termos de quantidades
de chips a ser produzidos, a indústria desenvolveu as PROMs a fusível,
programáveis pelo usuário, isto é, elas não são
programadas durante o processo de fabricação, e sim pelo usuário,
de acordo com suas necessidades. Porém, uma vez programada, a PROM torna-se
uma MROM, ou seja, não pode ser apagada e novamente programada.
O processo de programação de uma PROM com a conseqüente
verificação dos dados gravados pode ser muito tedioso e demorado,
se realizado manualmente. Existe no mercado um sem-número de dispositivos
programadores de PROMs que permitem a entrada da programação por
teclado, para então realizar a queima dos fusíveis e verificação
dos dados gravados, sem a intervenção do usuário.
ROM PROGRAMÁVEL APAGÁVEL - EPROM
Uma EPROM pode ser programada pelo usuário, podendo, além
disso, ser apagada e reprogramada quantas vezes forem necessárias. Uma
vez programada, a EPROM comporta-se como memória não-volátil
que reterá os dados nela armazenados indefinidamente.
Uma vez que uma célula da EPROM tenha sido programada, é
possível apagá-la expondo à radiação ultravioleta,
aplicada através da janela do chip. Tal processo de apagamento requer
uma exposição de 15 a 30 minutos aos raios ultravioletas. Infelizmente
não há como apagar células selecionadas. A luz ultravioleta
apaga todas as células ao mesmo tempo, de forma que, após a exposição,
a EPROM estará novamente armazenando apenas 1s. Uma vez apagada, a EPROM
pode ser reprogramada.
As EPROMs estão disponíveis numa faixa bem ampla de capacidade
e tempos de acesso. Dispositivos com capacidade de 128K x 8 com tempo de 45
ns são muito comuns.
ROM PROGRAMÁVEL APAGÁVEL ELETRICAMENTE - EEPROM
A EEPROM foi desenvolvida no início dos anos 80, e apresentada
ao mercado como um aperfeiçoamento da idéia da PROM.
A maior vantagem da EEPROM sobre a EPROM é a possibilidade de apagamento
e reprogramação de palavras individuais, em vez da memória
toda. Além disso, uma EEPROM pode ser totalmente apagada em 10 ms, no
próprio circuito, contra mais ou menos 30 minutos para uma EPROM que
deve ser retirada do circuito para submeter-se à ação da
luz ultravioleta.
Uma EEPROM também pode ser programada bem mais rapidamente do que uma
EPROM, requerendo um pulso de programação de 10 ms para cada palavra,
em contraste com o de 50 ms necessário a se programar uma palavra da
EPROM.
APLICAÇÕES DAS ROMs
FIRMWARE ( MICROPROGRAMA )
Programas que não estão sujeitos a mudança.
Sistemas Operacionais, Interpretadores de linguagem, etc.
MEMÓRIA DE PARTIDA FRIA ( BOOTSTRAP )
Programa que leva o processador a inicializar o sistema, fazendo com que
a parte residente do sistema operacional seja transferida da memória
de massa para a memória interna.
TABELAS DE DADOS
Exemplos: funções trigonométricas e de conversão
de código.
CONVERSORES DE DADOS
Recebem um dado expresso em determinado tipo de código, e produzem
uma saída expressa em outro tipo de código.
Por exemplo, quando o microprocessador está dando saída
a dados em binário puro, e precisamos converter tais dados para BCD de
forma a excitar corretamente um display de 7 segmentos.
GERADORES DE CARACTERES
Armazena os códigos do padrão de pontos de cada caracter
em um endereço que corresponde ao código ASCII do caracter em
questão.
Por exemplo: Endereço 1000001 ( 41H ) corresponde a letra �A�.
MEMÓRIAS DE ACESSO RANDÔMICO - RAM
O termo RAM é usado para designar uma memória de acesso randômico, ou seja, uma memória com igual facilidade de acesso a todos os endereços, no qual o tempo de acesso a qualquer um deles é constante.
As RAMs são usadas em computadores para armazenamento temporário de programas e dados.
A grande desvantagem reside no fato delas serem voláteis. algumas
RAMs CMOS têm a capacidade de operar em standby, consumindo muito pouca
energia quando não estão sendo acessadas. além disso, algumas
podem ser alimentadas por baterias, mantendo seus dados armazenados na ocorrência
de eventuais interrupções de energia.
RAM ESTÁTICA (SRAM)
São aquelas que só podem manter a informação
armazenada enquanto a alimentação estiver aplicada ao chip.
As células de memória das RAMs estáticas são formadas
por flip-flops que estarão em certo estado ( 1 ou 0 ), por tempo indeterminado.
Estão disponíveis nas tecnologias bipolar e mos.
bipolar: maior velocidade, maior área de integração.
MOS : maior capacidade de armazenamento e menor consumo de potência.
alto custo.
difícil integração ( pouca capacidade em muito espaço
).
TECNOLOGIAS
À medida que o tempo passa, mesmo as memórias estáticas
estão ficando lentas para as frequências de operação
utilizadas no barramento local do microcomputador.
A solução foi o desenvolvimento de novas tecnologias de memória estática:
ASYNCHRONOUS SRAM
Esse é o tipo tradicional de memória estática, utilizada
a partir do 80386. embora seja rápida, em frequências de operação
acima de 33Mhz, necessita utilizar wait states.
Tem um tempo de acesso típico de 20 a 12 ns.
SYNCHRONOUS BURST SRAM
Esse é o melhor tipo de memória estática para micros
que utilizem até 66Mhz como frequência de operação
do barramento local, pois não é preciso utilizar wait states.
Tem um tempo de acesso típico de 12 a 8,5ns.
PIPELINED BURST SRAM
Esse novo tipo consegue trabalhar com barramentos de até 133Mhz
sem a necessidade de wait states. Tem um tempo de acesso típico de 8
a 4,5ns.
RAM DINÂMICA ( DRAM )
São fabricadas usando a tecnologia MOS.
Apresentam :
alta capacidade de armazenamento.
baixo consumo de energia.
velocidade de operação moderada.
armazenam 1s e 0s como carga de microcapacitores mos.
baixo custo.
desvantagem:
necessitam de recarga periódica das células de memória
operação de refresh de cada célula a cada 2~10
ms.
Sempre que uma operação de leitura for realizada em determinada célula da dram, todas as células desta mesma linha sofrerão refresh.
Mesmo não podendo baixar o tempo de acesso da memória dinâmica
( sobretudo por causa da necessidade de ciclos de refresh ), os fabricantes
conseguiram desenvolver diversas novas tecnologias de construção
de circuitos de memória RAM.
Embora tenha o mesmo tempo de acesso, circuitos com tecnologias de construção
diferentes podem apresentar velocidades diferentes.
Para entendermos as novas tecnologias de construção de memórias dinâmicas e as suas vantagens, devemos ir um pouco mais a fundo no funcionamento das memórias dinâmicas.
As novas tecnologias são alterações na estrutura básica do funcionamento da memória, que fazem com elas gastem um número menor de wait states.
Podemos citar:
Memória Fast Page Mode ( FPM )
Memória Extended Data Out ( EDO )
Memória Burst Extended Data Out ( BEDO )
Memória Synchronous Dynamic RAM ( SDRAM )
Memória Double Data Rate SDRAM ( SDRAM-II )
RAM NÃO-VOLÁTIL ( NVRAM )
Contém uma matriz de RAM estática e uma matriz EEPROM no mesmo
chip.
cada célula da RAM estática tem uma correspondente na EEPROM,
e a informação pode ser transferida entre células correspondentes
em ambas as direções.
elas atuam na ocorrência de falta de energia, ou quando o computador
for desligado. a operação de transferência é realizada
em paralelo e gasta alguns poucos milissegundos.
a NVRAM tem a vantagem de não precisar de bateria.
não estão disponíveis em versões de grande
capacidade de armazenamento. neste caso, usa-se RAMs CMOS com bateria.