Você está na página 1de 13

Introdução

Considera-se memória como os elementos dum computador capazes de


conservar dados durante um período de tempo e sob condições específicas e
disponibilizá-los electronica e automaticamente para processamento na forma
binária.
Esta caracterização excluiu por exemplo uma folha de papel onde esteja
informação sobre a forma binária (0’s e 1’s), pois não é possível converter
automaticamente essa informação em impulsos binários eléctricos.

Um computador tem por norma vários elementos de memória, tenda cada um


propriedades e funcionalidades distintas. O conjunto de todos elementos de
memória do computador denomina-se sistema de memória. O sistema de
memória é um dos principais componentes do computador pois é aqui que
toda a informação necessária para que o sistema funcione é mantida:

• Configuração do computador, que corresponde à composição e


funcionamento básico do computador. Contém também as instruções
básicas de teste e validação dos componentes;
• Sistema Operativo, que corresponde às instruções mais simples do
sistema informático e ao qual as aplicações requererão funcionalidades
do hardware;
• Aplicações, correpondente às utilizações práticas do sistema, e sem as
quais o computador não teria aplicabilidade;
• Dados, correspondente aos valores numéricos e alfanuméricos que
serão processados pelas aplicações.

Dos vários elementos que compõem o sistema de memória, distinguem-se


dois grandes grupos:

• Memória Primária, implementada em circuitos eléctricos;


• Memória Secundária, implementada em suporte magnético, óptico ou
magneto-óptico. Esta expressão é vulgarmente substituída pelo termo
armazenamento.

Embora a memória secundária seja estudada posteriormente, importa


distinguir desde já estes dois grupos:

Velocidade Capacidade Persistência*) Expansão Espaço Preço


Primária Alta Pequena Volátil Díficil Grande Alto
Secundária Baixa Grande "Eterna" Simples Pequeno Baixo

Tabela 4.1 - Principais diferenças entre memória primária e secundária


*) No entanto, a propriedade da persistência da informação não é
generalizável a todo o tipo de memória primária, pois existem vários tipos
caracterizáveis segundo essa propriedade:

ROM (Read Only Memory)

• Memória apenas de leitura;


• Conserva os dados mesmo quando a corrente eléctrica deixa de
alimentar o sistema;
• A informação aí existente é definida aquando do fabrico, pelo que é
utilizada apenas em situações para que foi construída;

PROM (Programmable Read Only Memory)

• Memória programável, apenas de leitura;


• Permite ser programável (escrever) através de dispositivos apropriados;
• Comporta-se como ROM depois de programada;
• Não está dependente das especificações de fabrico;

EPROM (Erasable Programmable Read Only Memory)

• Memória programável, apagável, apenas de leitura;


• Pode ser apagada através de raios ultravioleta. Para isso faz-se incidir a
radiação ultravioleta durante alguns segundos sobre uma janela de
quartzo que o circuito integrado possuiu. Depois de apagada a janela
deve ser tapada com uma etiqueta opaca;
• Comporta-se como PROM depois de apagada;
• Tem múltiplas utilizações ao longo do seu ciclo de vida;
• Algo complicado de apagar/programar.

EEPROM (Electronically Erasable Programmable Read Only Memory)

• Memória apagável electronicamente, programável, apenas de leitura;


• É apagável electronicamente. Para isso emite-se uma descarga de
energia por uma das portas do circuito, que apaga a informação;
• Comporta-se como PROM depois de apagada;
• Tem múltiplas utilizações ao longo do seu ciclo de vida;
• Processo de apagar/programar facilmente automatizável.

RAM (Random Acess Memory)

• Memória de acesso aleatório;


• Representa a principal porção de memória primária, sendo com esta
memória que o CPU se relaciona directamente e onde é colocada toda a
informação para trabalho imediato;
• Perde os valores guardados se não for constantemente alimentada
electricamente (refresh);
• Permite o acesso directo a posições de memória, daí que o seu nome
correcto devesse ser memória de acesso directo.

Este módulo começa por caracterizar e classificar alguns dos muitos tipos de
RAM existentes, passando depois a explicar sucintamente a aplicação e
funcionalidade dos vários componentes do sistema de memória. Finalmente
apresenta alguns termos e expressões associados a esta tecnologia.

Classificação de RAM
No que se refere a memória RAM a sua classificação é feita segundo
diferentes aspectos:

• Funcionamento Interno;
• Assincronismo/Sincronismo;
• Funcionamento Interno Vs. Assincronismo/Sincronismo;
• Interface.

Funcionamento Interno

A memória RAM é caracterizada por necessitar de "alimentação" contínua de


forma a não perder os valores aí registados. Este tipo de memória é
constituído por capacitadores (tipo bateria) que mantêm determinada carga
durante um curto espaço de tempo. Este processo denomina-se "refresh" e
ocorre todos 15 microsegundos (valor de referência em 1998).

Além desta característica, são distiguidos dois tipos fundamentais de memória


quanto ao seu funcionamento interno:

DRAM (Dynamic RAM)

Memória dinâmica. Caracteriza-se pelo facto de perder os valores sempre que


é lida. Os valores são perdidos e têm de ser reescritos, o que faz aumentar os
tempos de acesso. Funcionalmente caracteriza-se por:

• Grandes tempos de acesso (30 – 80 nanosegundos (ns));


• Pequeno espaço requerido;
• Baixo custo;

SRAM (Static RAM)


Memória estática. A sua denominção surge por contraponto com a DRAM,
pois esta conserva os seus valores aquando da leitura, não sendo necessário
perder o tempo de reescrita dos valores, aumentando por isso o seu
desempenho. Funcionalmente caracteriza-se por:

• Pequenos tempos de acesso (5-25 ns);


• Quatro vezes mais espaço requerido que DRAM;
• Custo elevado;

Assincronismo/Sincronismo

Este aspecto relaciona a forma como a RAM comunica com o sistema e


especialmente como responde ao CPU. Existem duas formas:

Assíncrona

• Significa que existem mecanismos de coordenação (para elém da sinal


de relógio do sistema), tipicamente um protocolo de comunicação,
entre o barramento, CPU e RAM,(e.g IRQ's);
• O CPU faz o pedido à memória e espera que esta devolva os valores, o
que faz com que o processamento efectivo do processador diminua;
• Desempenho deste tipo de memória mede-se em função dos tempos de
acesso, ou seja em nanosegundos (ns);
• Tipo de memória mais comum até há pouco tempo (1997), mas hoje em
está obsoleto (2000);
• Referida habitualmente pela sigla DRAM;
• A memória DRAM e SRAm referidas anteriormente, são do tipo
assíncrona.

Síncrona

• Significa que a velocidade de relógio do sistema é o mecanismo de


coordenação entre CPU, memória e barramento;
• O CPU faz o pedido à memória, que internamente trata o pedido e o
disponibiliza em posteriores pedidos, libertando o CPU para outras
tarefas;
• Desempenho desta memória é medido em ciclos de relógio, ou seja
MHz;
• Vulgarmente referida pela sigla SDRAM (Syncronous DRAM);
• Existe memória síncrona do tipo static, embora pouco usada;
• Por exemplo, determinada memória é síncrona com o (relógio de)
sistema e funciona a 66 MHz;
• Velocidades típicas são hoje em dia de 100 MHz, 133, 166 e um
standard emergente que trabalha a 400MHz.

Funcionamento Interno Vs. Sincronismo/Assíncronismo

Em termos de comparação de tecnologias/siglas, as relações são as seguintes:

Dinâmica Estática
Assincronismo DRAM SRAM
Sincronismo SDRAM BSRAM

Interface

A memória apresenta-se em diferentes formatos, correspondendo a cada um


várias características de interligação com o sistema. Ou seja, determinada
"apresentação" não pode ser aplicada em qualquer tipo de sistema.
No seu aspecto mais básico, a memória é um circuito integrado (tal como se
apresenta na Figura 4.1).

Figura 4.1 - Representação de um chip de memória

• Inicialmente toda a memória existia neste formato, sendo (tipicamente)


aplicada na motherboard como qualquer outro chip, o que dificultava
bastante a sua evolução;
• Por volta de 1987 surgiram os SIPP’s. São pequenas placas que
incluem diversos chips de memória (Figura 4.2) e encaixam na placa
mãe através duma fila de pinos metálicos. Esta forma de conecção era
mais evolutiva na medida em que se podiam substituir mais facilmente
estes módulos, no entanto nunca vingou comercialmente devido à
fragilidade dos pinos metálicos;
• Pouco tempo depois surgiram os SIMM’s (Single Inline Memory
Module), que evoluiram dos anteriores, mas em vez de pinos metálicos
interligavam-se através de contactos (Figura 4.2) que encaixavam num
conector (slot) normalizado e muito funcional.
Figura 4.2 - Representação da agregação de chips em módulos [fonte]

• Em 1997 surgiram os DIMM’s (Double Inline Memory Module), que


mais não são do que SIMM’s que contém uma dupla fila de módulos de
memória, facilitando a interface e diminuindo o número de slots
necessários. Este modelo difere também na largura de interface com o
barramento.

Um dos problemas relacionados com o acesso a memória é a largura do


barramento (em bits). Quanto mais largo fôr mais eficiente será, tendo por
contraponto o desempenho do tempo de resposta da própria memória, o
tamanho físico da interface e o custo.
Quando os primeiros SIMM's surgiram tinham 30 pinos para conexão, tendo
posteriormente evoluído para 72. Com o aparecimento da memória SDRAM
(DRAM síncrona) em DIMM's, este número aumentou para 168. A Figura 4.3
apresenta esses três tipos de conectores.

Figura 4.3 - SIMM's de 30, 72 e 168 conectores [fonte]


Aplicação e Funcionalidade
Distinguem-se fundamentalmente 2 aplicações ao sistema de memória:

• Arranque;
• Operação.

Arranque

Na altura em que o computador é ligado, é necessário que algum dispositivo


saiba o procedimento de arranque, que dispositivos existem, como se
interligam com os outros, como se deve verificar a sua validade e
funcionalidade, etc. Esta funcionalidade está dependente de instruções e dados
inseridos em memória.

Tal dispositivo é o BIOS (Basic Input/Ouput System), que não é mais do que
uma ROM, PROM, EPROM ou EEPROM (cada vez mais são EEPROM), na
qual existem vários programas que permite ao sistema auto-verifiar-se,
auxiliar a configurar, agrupar informação de coordenação, arrancar o sistema
operativo e posterior operação.
Quando o CPU recebe energia, transfere o comando do sistema para o BIOS,
que posteriormente lho devolverá através do Sistema Operativo.

Cada dispositivo exterior poderá dispor de um BIOS particular. Os programas


aí existentes, denominadas habitualmente rotinas de E/S, serão transferidas
para memória central e agrupada com as rotinas do BIOS de sistema. Desta
forma os dispositivos externos podem evoluir sem que o BIOS do sistema seja
alterado. Por exemplo a unidade de disquetes é completamente dependente da
BIOS do sistema, pelo que não é possível alterá-la sem disponibilizar um
BIOS particular.
Os programas do BIOS de cada dispositivo, servirão posteriormente para que
o S.O. aceda e disponibilize para as aplicações, os recursos de cada um.

A fase de arranque é composta por três passos:

• POST;
• Configuração;
• Carregamento do Sistema Operativo.

POST
O primeiro procedimento de arranque é o POST (Power-On Self Test), auto-
teste no arranque. Tem por missão executar procedimentos de teste dos
componentes fundamentais instalados do sistema, tal como BIOS (nome e
versão), CPU (tipo e quantidade), Memória (tipo e quantidade), Barramento
E/S, etc.

Neste momento no entanto, não há garantias de que qualquer dispositivo E/S


esteja a funcionar correctamente, pelo que este não deve recorrer ao monitor
para apresentar as mensagens de erro. Assim, se ocorrer algum erro estes
serão apresentados sobre a forma de som emitido pelo altifalante (nem sempre
presente e nem sempre operacional!...). Para cada programa de POST existe
no manual uma tabela com o número de sons emitidos e a respectiva descrição
do erro.

Depois de todos os testes serem realizados, o BIOS organiza informação de


coordenação dos vários componentes do sistema, nomeadamente IRQ's,
prioridades, endereços de E/S, que serão posteriormente passados para
arranque e operação do S.O..

Configuração

No entanto, o BIOS não é auto-suficiente em informação acerca do sistema,


pois este pode evoluir ao longo da vida. Por exemplo, a data e hora, unidades
de discos, dispositivos externos, disco primário, etc. são evolutíveis. Estas
características são necessárias aquando do arranque, mas não deverão ser
constantemente definidas pelo utilizador.

Figura 4.4 - Representação da agregação de chips em módulos [fonte]

Como é que tudo isto fica armazenado de uma sessão para outra? Existe um
componente do sistema de memória que mantem esses dados ao mesmo
tempo que permite alterá-los. Este componente pode ser de dois tipos:

• CMOS (Complementary Metal Oxide Semiconductor) que é uma


memória que tem a particularidade de necessitar de muito pouca
energia para manter os dados. O termo CMOS corresponde à tecnologia
empregue no fabrico deste tipo de memória, não sendo portanto
correctamente utilizado;
• EEPROM, que se comporta como uma ROM mas tem a capacidade de
ser apagada e reescrita electronicamente, não necessitando portanto de
ser alimentada nos períodos em que não existe corrente eléctrica
exterior.

Nota: Em qualquer dos casos deverá existir uma bateria, capaz de fornecer
corrente eléctrica ao relógio do sistema, para que os valores se mantenham
actualizados.

A alteração dos valores aí existentes é realizada a comando do utilizador por


um aplicação existente no BIOS, que se designa Configuration Setup. Para se
executar essa aplicação devem seguir-se as instruções que aparecem no ecran,
sendo necessário carregar numa tecla (normalmente DEL) em determinado
momento do arranque.

Carregamento do Sistema Operativo

O arranque do S.O. é também dependente do BIOS. Um dos parâmetros


existentes na memória associada ao BIOS é a unidade de disco primária, ou
seja, onde existe o sistema operativo.

Quando os testes terminam, o BIOS é responsável por procurar no primeiro


sector (Boot sector) da unidade de disco especificada e transferir para
memória o que se designa por Master Boot Record. O programa encontrado
no Master Boot Recorddenomina-se Boot Loader e não é mais do que um
conjunto de instruções que o CPU seguirá para o carregamento e arranque do
sistema operativo.
Por norma cada sistema operativo disponibiliza um Boot Loader específico
que carrega apenas o sistema operativo para que foi criado. Existem no
entanto outros boot loader's que permitem especificar determinados
parâmetros de arranque, nomeadamente o próprio S.O.. Ou seja, um utilizador
que disponha de vários S.O. nas unidades de armazenamento do seu
computador, pode especificar aquando do arranque qual o S.O. que deseja
carregar.

Existe também a possibilidade de, aquando da junção dos BIOS dos diversos
dispositivos exteriores na RAM, um deles especificar uma forma alternativa
de carregamento do S.O.. Por exemplo, no caso do sistema operativo existir
num servidor de ficheiros, o BIOS do adaptador de rede deverá informar o
BIOS do sistema de que deverá passar a esse adaptador a competência de
arranque. Outro exemplo é o caso do MS-Windows CE, existente nalguns
computadores de bolso que existe em ROM, PROM, EPROM ou EEPROM e
que substitui o S.O. tradicional existente em disco.
A Figura 4.5 resume o processo descrito.

Figura 4.5 - Esquema básico de utilização de memória ao longo de várias fases do funcionamento do computador [fonte]

Operação

Inicia-se então a fase de operação, na qual o S.O. é responsável pela gestão e


coordenação do sistema. O S.O. e aplicações são transferidas para memória
para serem executadas pelo CPU. Como é evidente, a aplicação é transferida
para memória apenas na altura em que é necessário. Essa tarefa é realizada a
pedido do utilizador ou mediante qualquer instrução interna. O S.O. é então
responsável por encontrar a aplicação (em disco local, disco de rede, internet,
etc.) e carregá-la em memória.

Memória Principal

Esta memória é habitualmente do tipo DRAM, devido ao seus custo e


características físicas. Não se trata dum tipo de memória de desempenho
óptimo, mas o tipo razoável mediante custo Vs. desempenho e aplicação Vs.
solução.
Este tipo, apesar da evolução registada nos últimos anos (sincronismo e
aumento de barramento), tem um desempenho abaixo das exigências do CPU,
o que implica que o desempenho do sistema seja afectado por este baixo
(relativo) desempenho. Assim sendo, acontece por vezes compassos de espera
(wait states) por parte do CPU e que são inconvenientes para o bom
desempenho do sistema.

Memória Cache

Por isso revelou-se necessário criar sistemas de memória mais rápidos e


próximos do CPU capazes de diminuir ou excluir os estados de espera. Surgiu
assim o conceito de memória cache, que se caracteriza por ser em pequena
quantidade mas de grande desempenho, normalmente do tipo SRAM.

Esta memória pretende substituir a memória principal sempre que possível.


Assim, quando o CPU manipular informação em memória pede ao sistema de
memória (via controlador de memória), que se encarrega de cumprir os
pedidos do CPU. Este por sua vez, fá-lo-á prioritariamente na memória cache,
sendo acedidos na memória principal apenas quando não existam em
memória cache. Se os dados não existirem em cache ou não poderem ser
escritos aí, o controlador de memória encarrega-se de gerir o acesso à
memória principal de forma transparente para o CPU. Os valores escritos
em cache serão escritos na memória principal (pelo controlador de memória),
quando não existirem pedidos a satisfazer, não prejudicando por isso o
desempenho do resto do sistema.

• Quando a informação existe em memória cache diz-se que


ocorreu cache hit;
• Caso não exista ocorre cache miss, o que provoca normalmente
alguns wait states no CPU. Neste caso a informação lida da memória
principal é armazenada na cache com vista a alguns potenciais e
posteriores acessos.
• Sistemas com cache garantem normalmente zero wait states em caso
de cache hit.

Um computador actual típico dispões de vários tipos de cache,


denominados níveis. Por norma existem três níveis:

• Nível 1 (Level 1-L1)


• Situado normalmente dentro do próprio CPU;
• 16+16 KB no Intel Pentium II;
• Memória SRAM sincronizada com o relógio do sistema;
• Zero wait states em caso de cache hit.
• Nível 2 (L2)
• Situado muito próximo do CPU;
• 512 KB no Intel Pentium II (o Intel Pentium Celeron não
tem cache L2);
• Memória síncrona, SRAM ou BSRAM;
• Zero wait states em caso de cache hit.
• Nos dispositivos. Existem actualmente dispositivos que dispõe
de cache, sendo as unidades de disco e dispositivos multimédia os
casos mais típicos. No caso das interfaces de disco a quantidade
de cache chega a atingir os 16 MB.

Termos e Expressões
BSRAM Burst Synchronous RAM, também conhecido por
SynchBurst RAM. É um tipo de SRAM que funciona
em modo síncrono, o que facilita a sincronização com o
CPU. Usa o sinal de relógio do sistema ou do sistema
de cache para sincronismo. Aplica-se fundamentalmente
em cache de Nível 2.
EDO RAM Extended Data Output RAM. Diz respeito a uma forma
avançada de acesso aos valores dentro da própria
memória, normalmente do tipo DRAM. Surgiu como
uma melhoria do modoFPM, o que melhorou
consideravelmente o desempenho da memória. Esta
melhoria levantou a ideia de que a cache de Nível 2 era
dispensável, mas com a evolução dos CPU's essa ideia
foi abandonada.
FPM Fast Page Mode DRAM. É um modo de acesso aos
valores dentro da própria memória, noramalmente do
tipo DRAM. Este modo está completamente obsoleto e
não é utilizado vulgarmente. Os tempos de acesso
conseguidos com este modo são superiores a 70 ns.
Posteriormente surgiu o modo EDO.
PC100 É uma especificação de memória síncrona, desenvolvida
pela Intel para ser aplicada pelos fabricantes de
memória. Esta especificação surgiu no sentido de
caracterizar o tipo de memória necessário no chip
set i440BX. Posteriormente vulgarizou-se o
termo SDRAM.
RAMDAC RAM Digital-to-Analogic Converter. É um tipo de
RAM, composta por uma parte de SRAM e outra de 3
conversores de sinais analógicos em digitais (DAC). Na
parte de SRAM existe uma tabela que relaciona os
índices das cores recebidas da VRAM, com o sinal
analógico referente a cada uma das cores Vermelho,
Verde e Azul (RGB) com os quais qualquer outra cor é
produzida. Os 3 DAC são responsáveis por traduzir os
valores recebidos da parte SRAM em sinal analógico e
emitir o sinal para o Tubo de Raios Catódicos.
RDRAM Rambus Dynamic RAM é uma tentativa de
especificação da memória do futuro, em
desenvolvimento pela Rambus e Intel. Esta memória,
síncrona, funcionará potencialmente a velocidades de
600MHz.
VRAM Video RAM é o nome genério dum tipo de memória
utilizado em adaptadores de video, e que se caracteriza
pelo seu alto desempenho e pela sua dupla porta, o que
significa que cada posição de memória pode ser
simultaneamente lida e escrita, aumentando por isso o
desempenho. Na realidade o que se passa é que cada
posição de memória são duas, enquanto uma delas é lida
a outra pode se escrita.

Sumário
É objectivo deste estudo:

• Compreender o conceito de sistema de memória;


• Compreender as diferenças entre os dois grandes grupos de
componentes do sistema de memória;
• Compreender os vários tipos de memória, funcionalidade, integração e
apresentação;
• Ser capaz de argumentar sobre determinada opção;
• Compreende os mais importantes termos associados a este domínio.

Você também pode gostar