02 – Módulos de Memória

Download Report

Transcript 02 – Módulos de Memória

ARQUITETURA DE COMPUTADORES II
Módulos de Memória
Antes, com a utilização de circuitos integrados discretos, era
muito difícil para o usuário comum instalar sozinho mais
memória em seu micro. Sempre havia problemas de mau
contato, terminais partidos ou a instalação invertida do circuito
integrado, fora a loucura que era ler um circuito integrado e
calcular como deveria ser formado um banco de memória.
ARQUITETURA DE COMPUTADORES II
Módulos de Memória
Módulos SIPP (Single In Line Pin Package)
Esse foi o primeiro tipo de módulo de memória a ser criado e sua
aparência lembrava um pente, daí o apelido “pente de
memória”‖ para os módulos de memória. Os seus terminais eram
similares aos utilizados pelos circuitos integrados, o que causava
mau contato, permitia que terminais dobrassem ou partissem e
ainda não impediam que o usuário encaixasse o módulo
invertido no soquete.
ARQUITETURA DE COMPUTADORES II
Módulos de Memória
Módulos SIMM-30 (Single In Line Memory Module, 30
Terminais)
O módulo SIMM-30 é basicamente o módulo SIPP com um novo
sistema de encaixe, parecido com o utilizado por placas no
encaixe aos slots de expansão do micro. Esse sistema não
permite que os módulos sejam encaixados invertidos e, como
seus terminais não são “pinos”‖ como no módulo SIPP, não há
problemas de terminal dobrado ou partido. Esses módulos têm
30 terminais, daí o “30”‖ em seu nome. Assim como os módulos
SIPP, são módulos de 8 bits e encontrados em versões de 256 KB,
1 MB e 4 MB.
ARQUITETURA DE COMPUTADORES II
Módulos de Memória
Módulos SIMM-72 (Single In Line Memory Module, 72
Terminais)
Os módulos SIMM-72 são módulos SIMM de 32 bits, criados para
serem usados em micros equipados com processadores 486,
Pentium e superiores. São encontrados em diversas capacidades,
sendo as mais usuais 4 MB, 8 MB, 16 MB e 32 MB.
ARQUITETURA DE COMPUTADORES II
Módulos de Memória
Módulos DIMM (Double In Line Memory Module)
Os módulos DIMM normalmente têm 168 terminais e são de 64
bits. Módulos DIMM com paridade são conhecidos como
módulos de “72 bits”. Atualmente os módulos DIMM utilizam
memórias SDRAM. Os primeiros módulos DIMM eram
alimentados com 5 V (os atuais são alimentados com 3,3 V) e
usavam memórias com outras tecnologias, como FPM e EDO.
ARQUITETURA DE COMPUTADORES II
Módulos de Memória
Módulos DDR-DIMM
Os módulos DDR-DIMM foram criados para que pudéssemos
facilmente diferenciar os módulos que usam memórias SDRAM
dos módulos que usam DDR-SDRAM. O tamanho do módulo é o
mesmo do DIMM tradicional tendo, porém, 184 terminais e
apenas um chanfrado delimitador, enquanto o módulo DIMM
tradicional tem dois chanfrados. Isso faz com que os módulos
DDR-DIMM não consigam ser instalados em soquetes DIMM e
vice-versa.
ARQUITETURA DE COMPUTADORES II
Módulos de Memória
Módulos RIMM (Rambus In Line Memory Module)
Esse tipo de módulo foi padronizado pela empresa Rambus para
a utilização de memória Rambus (RDRAM) no micro. Dessa
forma, os módulos RIMM utilizam circuitos RDRAM. Fisicamente
falando, esses módulos têm semelhanças com os módulos
DIMM, porém não é possível o encaixe de módulos RIMM em
soquetes DIMM e vice-versa.
ARQUITETURA DE COMPUTADORES II
Módulos de Memória
Detecção de Erros
A confiabilidade de um dado armazenado em memória não é
muito alta: basta um “0”‖ ou um “1”‖ trocarem de valor para que
o dado perca qualquer sentido, atrapalhando a execução do
programa, seja travando o micro ou corrompendo dados. Por
esse motivo, os micros utilizam algum esquema de detecção de
erros. O mais rudimentar chama-se paridade e acompanha o PC
desde o seu nascimento. O esquema mais moderno e que está
cada vez mais sendo utilizado chama-se ECC (Error Correction
Code, Código de Correção de Erros).
ARQUITETURA DE COMPUTADORES II
Módulos de Memória
Paridade
A cada 8 bits (ou seja, a cada byte) de dado armazenado, um
nono bit pode ser adicionado de forma a acrescentar uma
informação de verificação de erros. Na hora de armazenar um
dado de 8 bits em memória, um circuito chamado gerador de
paridade (atualmente integrado no chipset da placa-mãe) gera
um bit extra — chamado bit de paridade — de modo que o
número total de “1”‖ seja par.
ARQUITETURA DE COMPUTADORES II
Módulos de Memória
Paridade
Por exemplo, se o número 01101101b fosse armazenado em
memória, o bit de paridade teria o valor “1”‖, de modo que
houvesse, no total, seis “1‖s”, um número par. Já para o dado
10011001b, o bit de paridade teria o valor “0”, para que o
número de “1‖s” no total continuasse sendo quatro, um número
par.
ARQUITETURA DE COMPUTADORES II
Módulos de Memória
Paridade
Na hora de recuperar um dado armazenado em memória, um
circuito chamado testador de paridade (que também está
integrado ao chipset) trata de refazer a conta e verificar qual
deveria ser o valor do bit de paridade e o compara esse valor
com o valor armazenado e calculado anteriormente. Caso os
valores não sejam iguais, isso significa que algum dos bits
armazenados trocou de 0 para 1 ou vice -versa, causando um
erro chamado Erro de Paridade. Uma mensagem de erro será
apresentada na tela do micro, seguida do endereço onde o
problema ocorreu.
ARQUITETURA DE COMPUTADORES II
Módulos de Memória
Paridade
O esquema de paridade é, contudo, extremamente rudimentar e
não detecta erros mais sérios. Caso dois bits (ou qualquer outro
número par de bits) alterem seus valores, o circuito testador de
paridade concluirá, erroneamente, que não houve erros. Além
disso, o teste de paridade não aponta o bit defeituoso nem faz
nada no sentido de tentar corrigir o erro. Por conta disso, muitos
fabricantes deixaram de incluir espaço de memória extra para o
armazenamento do bit de paridade em seus módulos de
memória, economizando dinheiro, como veremos mais adiante.
ARQUITETURA DE COMPUTADORES II
Módulos de Memória
ECC (Error Correction Code)
O ECC é um esquema de verificação de erros muito mais
confiável e que pode, inclusive, corrigir erros ocorridos,
automaticamente. É claro que há um custo para isso: o preço. Ao
contrário do esquema de paridade que necessita de apenas um
bit a cada byte de dado armazenado, o esquema ECC necessita
de alguns bits a mais. Porém, como você pode observar na
tabela, para barramentos de 32 bits ou 64 bits, o esquema ECC
apresenta uma alternativa viável para a detecção e correção de
erros, pois não aumenta muito o custo da construção de
módulos de memória.
ARQUITETURA DE COMPUTADORES II
Módulos de Memória
ECC (Error Correction Code)
É importante notar que o esquema ECC diminui o desempenho
do micro, já que é tomado tempo na verificação da integridade
dos dados. Dessa forma, a vantagem dos módulos DIMM ECC
não é oferecer desempenho ao micro (pelo contrário, estes são
mais lentos), mas sim confiabilidade aos dados armazenados. Em
micros onde a confiabilidade de dados é um fator crítico — como
em servidores de rede, por exemplo — essa pequena queda no
desempenho do micro é compensada pela segurança de manter
os dados 100%íntegros, já que o esquema ECC não só aponta
erros, como também os corrige.
ARQUITETURA DE COMPUTADORES II
Módulos de Memória
ECC (Error Correction Code)
No caso dos módulos DIMM, é fácil identificar aqueles que são
ECC, pois possuem 5, 9 ou 18 chips, ao invés dos habituais 4, 8 e
16. O número de bits adicionais diminui conforme o aumenta o
tamanho do barramento da memória. Para utilizar memória RAM
ECC, é preciso ter uma placa mãe compatível.
ARQUITETURA DE COMPUTADORES II
Módulos de Memória
Bancos de Memória
Damos o nome de banco de memória ao conjunto de módulos
(ou circuitos integrados, nos micros mais antigos) que perfazem o
mesmo número de bits do processador. No caso do 486DX4-100,
se a placa-mãe só permitir a inserção de módulos SIMM-30 (que
são de 8 bits) serão necessários quatro módulos para formar um
banco de memória (ou seja, para “casar”‖ os 32 bits que o
processador manipula).
ARQUITETURA DE COMPUTADORES II
Módulos de Memória
Bancos de Memória
No caso de processadores Pentium e superiores, o banco de
memória deverá ser de 64 bits. Utilizando módulos SIMM-72 (32
bits), serão necessários dois módulos para “casar”‖ os 64 bits que
o processador manipula. Já no caso de módulos DIMM ou DDRDIMM, não há mistério: como são módulos de 64 bits, basta
apenas um módulo para formar um banco.
ARQUITETURA DE COMPUTADORES II
Módulos de Memória
Exercícios:
1. Qual eram as dificuldade antes de existirem os módulos de
memória?
2. O que caracterizava os módulos SIPP?
3. Diferencie módulos SIMM de módulos DIMM.
4. Qual a principal característica dos módulos RIMM?
5. Como funciona a detecção de erros por bit de paridade?
6. Quais as vantagens de se utilizar detecção de erros ECC?