Ivair José de Souza
Memórias
Click nos links abaixo| BIOS | Memória cache | DIMM-168 e DDR | Célula de memória |
A RAM é a área de trabalho do PC. Ao abrir um arquivo, o mesmo é copiado do disco rígido para a RAM.e ao desligar o computador deve-se salvar o trabalho para que as modificações feitas não sejam perdidas.
ROM: Read Only Memory (memória somente de leitura). A ROM aceita somente a operação de leitura. Outra característica da ROM é que os dados armazenados não são apagados mesmo desligando a fonte de energia isto é, a ROM não é volátil.
O tempo de acesso à ROM (200ns) é bem maior que o tempo de acesso à RAM isto é, a memória ROM é bem mais lenta do que a memória RAM. Devido a isto, durante a inicialização do PC é feita uma cópia do conteúdo da ROM/BIOS para a RAM e esta operação é denominada de SHADOW RAM. Esta função deve ser habilitada no SETUP do PC
A ROM armazena o BIOS do computador e é através do BIOS que pode-se configurar o SETUP. Os dados do SETUP ficam armazenados numa memória CMOS que é volátil e por isto, estes dados (configuração do hardware do PC) são perdidos quando a "bateria do SETUP" é removida ou descarregada. Sendo o BIOS armazenado na memória ROM (não-volátil) torna-se possível reconfigurar o setup.

HÁ basicamente dois tipos de memória RAM que são:
SRAM (RAM estática) e a DRAM (RAM dinâmica). A DRAM é a memória utilizada em larga escala nos
PCs. Quando
um PC possui 256 MB, quer dizer que no mesmo há 256 MB de memória DRAM.
Vantagens da DRAM:
- Baixo custo e integração de uma grande quantidade de células num pequeno espaço.
- Pode-se produzir chips em uma larga escala de integração visto que as
células de memória são mais simples de serem construídas. (um transistor MOS e um capacitor).
- Baixo consumo de energia.
Desvantagens da DRAM:
A memoria DRAM é uma célula capacitiva e como estes "minúsculos capacitores"
perdem a sua carga rapidamente torna-se necessário"regravar" os dados num pequeno
intervalo, sendo esta operação denominada de
refresh.
SRAM: Static RAM (RAM estática)
Desvantagens da SRAM:
- É lenta isto é, o tempo de acesso é relativamente alto.
- Exigem refresh isto é, deve-se reforçar os dados armazenados por que o capacitor perde
a sua carga num tempo de 2 ms aproximadamente (Este capacitor é minúsculo e por isto descarrega rapidamente).
Vantagem da SRAM:
- São mais rápidas que a DRAM
(tem um tempo de acesso muito baixo).
- Alto custo.
- Ocupam um espaço relativamente grande para cada célula de memória.
O alto custo da SRAM aliado ao grande espaço ocupado pela célula de memória (transistor bipolar) dificultam o
desenvolvimento de uma grande quantidade de memória SRAM nos PCs.
PROM: Programmable Read Only Memory
Não são programadas durante o processo de
fabricação e podem ser programadas pelo usuário de acordo com suas necessidades. Após ser programada não pode ser apagada e
reprogramada.
EPROM: Erasable
Programmable Read Only Memory
A EPROM pode ser
apagada e reprogramada. Os dados gravados na EPROM
são apagados através de radiação ultravioleta.
Há nestes chips uma abertura ou janela para a entrada da luz ultravioleta
e com um tempo de exposição de 20 minutos em média. A EPROM não é volátil isto é, os dados gravados não são perdidos mesmo desligando a
fonte de energia. Os PCs antigos utilizavam a memória EPROM para
armazenar o BIOS .
Também, diversos tipos de equipamentos eletrônicos
fizeram uso da mesma.
Pode-se
selecionar áreas especificas de dados para serem apagados ou reprogramados.
Na EPROM todos os dados da memória eram apagados após a
exposição à luz ultravioleta. O
tempo de programação das células da EEPROM é menor do que
para a EPROM mas é, ainda, um processo lento. A tensão de programação da
EEPROM é alta (tipicamente 20 a 25 volts)
ROM programável apagável
ROM programável e apagável eletricamente
Foi desenvolvida no início da década de 80.
As vantagens da EEPROM em RELAÇÃO à
EPROM são:
Menor tempo para apagar os dados gravados:
alguns milésimos de segundos (10 ms) para a EEPROM contra 20 minutos, em média, da
EPROM.
É uma
evolução da EEPROM e tem um tempo de gravação menor do que
a EEPROM. Utiliza pulsos rápidos e tensões menores para a gravação
(tipicamente 5 volts). Atualmente, este tipo de memória é muito utilizado nos
computadores para armazenar o BIOS e com isto, o BIOS do PC pode ser atualizado
(regravado) para atender a novos dispositivos de hardware como HDs por exemplo.
Outras áreas
utilizam muito desta tecnologia de memória como a robótica e a automação
industrial. Há diversos dispositivos e equipamentos eletrônicos que utilizam
a memória flash ROM visto que os mesmos, sempre, estão exigindo mudanças no projeto e na
sua funcionalidade.
Memória Cache:
Os PCs utilizam em conjunto com a DRAM uma memória mais rápida,
a SRAM, que é denominada de
cache. A cache aumenta o desempenho
da DRAM aumentando com isto o desempenho do PC.
Um
sistema de memória CACHE / DRAM bem projetado apresenta ao usuário uma
memória de alta capacidade de armazenamento aliada a um tempo de acesso
muito baixo. Temos, então, uma memória com alta capacidade e alta
velocidade a um custo reduzido.
Para que o
sistema seja eficiente é necessário ter uma alta taxa de acerto isto é, o
dado a ser utilizado pelo processador, deve estar disponível na cache. Caso
haja falta (erro), isto é, o dado não se encontra na cache tem-se uma penalidade.
Esta penalidade será tanto maior quanto mais distante estiver o dado
solicitado pelo processador. O tempo de busca do dado aumentará se o dado
estiver nos níveis mais baixos da hierarquia de memória.
Este
é o princípio da localidade que é visto em duas situações que são
descritas da seguinte forma:
Localidade
espacial: Blocos ou dados adjacentes aos
que estão sendo processados podem ser facilmente acessados. Assim que os
endereços das informações solicitadas vão sendo referenciados os
endereços adjacentes (próximos) aos endereços dessas informações serão
mais facilmente acessados.
Apesar da alta velocidade, a memória estática (SRAM) está ficando lenta, atualmente, para as freqüências de operação do barramento local do PC.
As tecnologias utilizadas para a memória estática são:
SYNCHRONOUS
BURST SRAM
É a memória SRAM mais adequada para PCs que operam com uma freqüência de até 66MHz no barramento local
e não utilizam, neste caso, wait states. O tempo de acesso típico
é de
8,5ns
a
12ns
Êste tipo de memória SRAM é utilizado nos cartuchos dos processadores Pentium II Xeon e Pentium
III Xeon e trabalham na mesma freqüência destes processadores e portanto, não utilizam wait states.
Os primeiros
processadores usados nos PCs não necessitavam de memória cache.
Nesta época, a memória DRAM disponível era veloz, o suficiente, para
estes processadores. O IBM PC
XT tinha um clock de apenas 4,77 MHz Apenas computadores de grande
porte que custavam
alguns milhões de dólares, tinham memória cache. A memória cache é uma
pequena quantidade de memória veloz e cara que acelera o desempenho de uma
grande quantidade de memória mais lenta, a DRAM.
Necessidade
da memória cache
Em 1989, surge o Processador Intel
80486DX com um Clock de 25 MHz (período de 40
ns)
e
o primeiro
a utilizar memória
cache.
Na época, as memórias mais rápidas eram para 10 MHz (100ns),
e eram lentas para o 80486.
Para ler um dado na
memória perdia-se tempo ao esperar alguns ciclos do clock para que o dado
fosse liberado pela memória e acessado pelo processador.
A cache interna
de 8 KB permitia um
bom desempenho do processador, mesmo com a memória DRAM mais lenta.
Processadores 386
produzidos pela AMD na época (1991-1993)
eram concorrentes do 486,
até então produzidos apenas pela Intel. Assim como ocorria no 486, os
proces. 386 passaram também a necessitar de cache para melhorar o seu
desempenho. O 386 não tinha cache interna então, foram produzidas placas
de CPU 386 com cache externa. chips
de memória SRAM na
placa-mãe. Com isto, tinha-se placas-mãe 386 com 8 kB, 16 kB, 32
kB, 64 kB e 128 kB de cache externa.
Um 386 de
40 MHz e 128 KB de cache externa era tão veloz quanto um 486 de 25 MHz e 8
KB de cache interna e era, ainda, uma opção mais barata.
A cache externa melhorava o desempenho, assim
foram criadas placas-mãe para 486, também com cache externa.
Eram comuns placas para 486 com 256 KB de cache externa, além dos 8 kB
de cache interna existentes no processador.
Este esquema de dupla cache (interna e externa)
utilizada em processadores 486 foi mantido em processadores mais
modernos, como o 586, o Pentium e todos os demais processadores para
Soquete 7, com exceção do AMD K6-III, que operava com 3 caches.
Write Through: O
cache é utilizado para as operações de leitura ao passo que as
operações de escrita são feitas na memória RAM utilizando wait
states o que diminui o desempenho do PC.
Write Back: É o
método ideal pois utiliza a cache para ler e escrever em memória.
O controlador de cache é bem mais complexo para este método.
Cache L1 e L2
Atualmente as caches L1 e L2 ficam dentro do
processador e não faz mais sentido classificá-las como interna e
externa. A cache interna é a cache primária ou cache L1. A cache
externa é a cache secundária ou cache L2.
L vem de Level
(nível)
A cache do Pentium Pro
O Pentium e o Pentium MMX eram utilizados em
computadores de uso pessoal. A Intel produziu o Pentium Pro para
aplicações de nível profissional e em servidores (1995-1997). Foi o
primeiro com cache L2 embutida. Dentro do Pentium Pro havia a cache L1
e a cache L2 de 256 KB.
A cache do Pentium II
O Pentium II, tem núcleo similar ao do Pentium Pro.
A principal diferença está na cache L2. Ao invés de uma única
pastilha de silício com o processador e a cache L2, o Pentium II
fica numa placa de circuito, junto aos chips da cache L2. O conjunto
é montado num cartucho metálico. Do ponto de vista do núcleo do
processador, esta cache L2 é externa, mas considerando o cartucho
como um todo, a cache L2 é interna. Não
se utiliza mais os termos cache interna e cache externa.
Pentium II: Cache L1
de 32KB sendo 16KB para dados e 16KB para instruções.
A cache L2, de
512KB, trabalha à metade da frequência do processsador.
Este sistema de cache L2 foi utilizado nas
primeiras versões do Pentium III e AMD Athlon.
Processador Pentium II
Módulos de memória para computadores
Descrição dos módulos de
memória acima
SIMM-72 vias:
São utilizados nos PCs 486 e nos primeiros PENTIUMs.
Localidade temporal: Um determinado bloco ou dado
pode ser utilizado várias vezes num curto espaço de tempo como por exemplo, a execução de um loop no programa.
Neste caso, o dado solicitado está na cache.

SIMM: Single In line Memory Module
DIMM: Double In line Memory Module
Tempo de acesso de 50ns a 80ns sendo de tecnologia FPM DRAM (
Raramente, tem-se um PC486 que aceita a memória EDO sendo esta mais
utilizada no PC Pentium. Como são de baixa capacidade e lentos, esses módulos
já não são mais utilizados nos PCs atuais.
Os módulos SIMM-72 mais utilizados são de 4MB, 8MB e 16MB e trabalham com 32 bits.
Completa-se um banco de memória com um módulo para o 80486 e dois módulos para o Pentium.
O processador 80486 acessa a memória a 32 bits e o Pentium a 64 bits
DIMM-168 vias: Utilizado
nos PCs PENTIUMs.
Tempo de acesso de 10ns (PC100), 7,5ns (PC133). O
número entre parênteses refere à freqüência de operação, por exemplo
PC100 é um módulo de memória que opera a 100MHz.
Utiliza tecnologia SDRAM que é uma DRAM Sincronizada com o clock
externo do processador ou freqüência do barramento.
Opera com 64 bits portanto, basta um módulo para completar um banco
de memória nos PCs Pentiums.
Os primeiros Pentiums utilizavam, também, módulos DIMM-168 com tecnologia EDO
DRAM.
RAMBUS (RIMM-184): Utilização principal é nos primeiros PCs Pentium
4 . Opera com bancos de 16 bits e numa velocidade muito alta (800MHz)
com uma taxa de
transferência. de 1600 MB/s (1,6 GB/s). É utilizada em pares formando
bancos de 32 bits e uma uma taxa de transferência de 3200MB/s ou 3,2 GB/s.
Esta memória, além de ser muito cara tem uma latência alta. Com isto, o Pentium 4,
atualmente, utiliza memória DDR-SDRAM.
Os processadores atingem a todo momento maiores velocidades de processamento e para que os
mesmos desempenhem bem suas tarefas devem ter o auxílio de memórias cada vez mais rápidas
e com maior capacidade de armazenamento. A velocidade das memórias ainda não acompanha a
velocidade exigida pelos processadores. Avanços significativos têm sido conseguido através de
diversas técnicas. Uma opção é aumentar o número de bits da memória mas isto é limitado
tecnicamente sendo um dos problemas, a interferência eletromagnética. A célula de memória DRAM é constituída de um transistor
e um capacitor o que dificulta o aumento da velocidade devido ao efeito capacitivo.
A principal vantagem da célula de memória ser constituída de um capacitor e um transistor MOS
(MOS - Semicondutor de óxido metálico) é a simplicidade de implementação visto que um número
muito grande de células pode ser construído num pequeno espaço a um custo reduzido.
Uma das alternativas feita para diminuir a velocidade de acesso às memórias é obter uma melhor
organização física e uma melhor forma de acesso.
As células de memória são organizadas em uma matriz de linhas e colunas. Para acessar uma
célula para ler ou gravar um bit basta selecionar a linha e a coluna onde se encontra a célula.
Envia-se então o endereços das linhas e colunas que são:
RAS (Row Address Strobe) para selecionar a linha.
CAS (Column Address Strobe) para selecionar a coluna.
Para os módulos de memória SIMM-30 vias desenvolvidos
para 386 e 486 foi feita uma melhoria na forma de acesso onde envia-se uma vez o endereço RAS e
partir daí envia-se os endereços CAS. Esta tecnologia é denominada de FPM
DRAM.
FPM DRAM: Fast Page Mode DRAM.
EDO DRAM:
Extended Data Out DRAM.
Tecnologia das memórias SIMM-72 e alguns módulos DIMM-168.
(o mais comum dos módulos DIMM-168 é a tecnologia SDRAM). Na EDO DRAM,
pode-se iniciar uma nova leitura antes de completar a leitura anterior tornando a EDO DRAM
mais rápida do que a FPM DRAM.
SDRAM: Synchronous DRAM.
Opera sincronizada com o clock externo do processador e com isto podem entregar o dado solicitado pelo
processador a cada ciclo do CLOCK. Tem um tempo de acesso igual ou menor do que
10 ns e podem operar com freqüências do barramento de 100 MHz, 133MHz ou superior.
Detecção e correção de erros
Normalmente,
os dois métodos para detecção e correção de erros mais utilizados são: O método do bit de paridade e o método ECC (Error Correcting Code --
Código de correção de erros).
Bit
de paridade: Adiciona-se o bit de paridade ao byte
transmitido e com isso tem-se 9 bits transmitidos sendo a função do bit de paridade (nono
bit) verificar se há erro no dado transmitido.
No receptor, o verificador de paridade compara a informação recebida com o bit de paridade P. A saída do verificador será 0 (zero) se o dado recebido estiver correto e será 1 (um) se o dado recebido for falso.
Este método não permite a correção de erros e ainda tem o inconveniente de não informar se há erro quando ocorre a inversão de 2 bits ou quando a quantidade de bits invertidos ainda gerar um número par de bits 1 (um). Por exemplo, o byte 1 0 1 1 0 0 1 0 ao ser transmitido poderá ter dois bits com erro e será recebido como 1 0 0 0 0 0 1 0 e o erronão será detectado por que o número de bits 1 (um) continuou par. Portanto, o método da paridade só é seguro se houver somente erro (inversão) em um bit. Nos módulos de memória antigos SIMM-30 e SIMM-72 era comum a utilização de paridade para detectar erros e neste caso, os módulos SIMM-30 operavam com 9 bits e os módulos SIMM-72 operavam com 36 bits. Atualmente este método não é, praticamente, utilizado para detecção de erros nas memórias.