* 286
O 286 foi lançado em Fevereiro de 1982. Ele trouxe vários avanços
sobre o 8088. Ele utilizava palavras binárias de 16 bits, tanto
interna quanto externamente, o que permitia o uso de periféricos de 16
bits, muito mais avançados do que os usados no PC original e no XT. O
custo dos periféricos desta vez não chegou a ser um grande obstáculo,
pois enquanto o PC AT estava sendo desenvolvido, eles já podiam ser
encontrados com preços mais acessíveis.
Para manter compatibilidade com os periféricos de 8 bits usados no PC
original e no XT, a IBM desenvolveu os slots ISA de 16 bits, que
permitem usar tanto placas de 8 bits, quanto de 16 bits. As placas de
8 bits são menores e usam apenas a primeira série de pinos do slot,
enquanto as placas de 16 bits usam o slot completo. Devido à sua
popularidade, o barramento ISA continuou sendo usado por muito tempo.
Em 2004 (10 anos depois do lançamento do PC AT) ainda era possível
encontrar placas mãe novas com slots ISA, embora atualmente eles
estejam extintos.
O principal avanço trazido pelo 286 são seus dois modos de operação,
batizados de "Modo Real" e "Modo Protegido". No modo real, o 286 se
comporta exatamente como um 8086 (apesar de mais rápido), oferecendo
total compatibilidade com os programas anteriores, escritos para
rodarem no 8088. Já no modo protegido, ele manifesta todo o seu
potencial, incorporando funções mais avançadas, como a capacidade de
acessar até 16 MB de memória RAM (apesar de ser um processador de 16
bits, o 286 usa um sistema de endereçamento de memória de 24 bits),
multitarefa, memória virtual em disco e proteção de memória.
Assim que ligado, o processador opera em modo real e, com uma
instrução especial, passa para o modo protegido. O problema é que,
trabalhando em modo protegido, o 286 deixava de ser compatível com os
programas escritos para o modo real, inclusive com o próprio MS-DOS.
Para piorar, o 286 não possuía nenhuma instrução que fizesse o
processador voltar ao modo real, o que era possível apenas resetando o
micro. Isso significa que um programa escrito para rodar em modo
protegido, não poderia usar nenhuma das rotinas de acesso a
dispositivos do MS-DOS, tornando inacessíveis o disco rígido, placa de
vídeo, drive de disquetes memória, etc., a menos que fossem
desenvolvidas e incorporadas ao programa todas as rotinas de acesso a
dispositivos necessárias.
Isso era completamente inviável para os desenvolvedores, pois, para
projetar um simples jogo, seria praticamente preciso desenvolver todo
um novo sistema operacional. Além disso, o programa desenvolvido
rodaria apenas em micros equipados com processadores 286, que ainda
eram minoria na época, tendo um público-alvo muito menor. De fato,
apenas algumas versões do UNIX e uma versão do OS/2 foram
desenvolvidas para utilizar o modo protegido do 286.
Basicamente, os micros baseados no 286 eram usados para rodar
aplicativos de modo real, que também podiam ser executados em um XT,
aproveitando apenas a maior velocidade do 286.
* SIMM
Nos micros XT, 286 e nos primeiros 386, ainda não eram utilizados
módulos de memória. Em vez disso, os chips de memória eram instalados
diretamente na placa-mãe, encaixados individualmente em colunas de
soquetes (ou soldados), onde cada coluna formava um banco de memória.
Esse era um sistema antiquado, que trazia várias desvantagens, por
dificultar upgrades de memória ou a substituição de módulos com
defeito. Foi questão de tempo até que alguém aparecesse com uma
alternativa mais prática, capaz de tornar a instalação fácil até mesmo
para usuários inexperientes.
Os módulos de memória são pequenas placas de circuito onde os chips
DIP são soldados, facilitando o manuseio e a instalação.
Os primeiros módulos de memória criados são chamados de módulos SIMM,
sigla que significa "Single In Line Memory Module", justamente porque
existe uma única via de contatos, com 30 vias. Apesar de existirem
contatos também na parte de trás do módulo, eles servem apenas como
uma extensão dos contatos frontais, de forma a aumentar a área de
contato com o soquete. Examinando o módulo, você verá um pequeno
orifício em cada contato, que serve justamente para unificar os dois
lados.
Os módulos de 30 vias possuíam sempre 8 ou 9 chips de memória. Cada
chip fornecia um único bit de dados em cada transferência, de forma
que 8 deles formavam um módulo capaz de transferir 8 bits por ciclo.
No caso dos módulos com 9 chips, o último era destinado a armazenar os
bits de paridade, que melhoravam a confiabilidade, permitindo
identificar erros. Hoje em dia os módulos de memória são mais
confiáveis, de forma que a paridade não é mais usada. No lugar dela,
temos o ECC, um sistema mais avançado, usado em módulos de memória
destinados a servidores.
Os módulos de 30 vias foram utilizados em micros 386 e 486 e foram
fabricados em várias capacidades. Os mais comuns foram os módulos de 1
MB, mas era possível encontrar também módulos de 512 KB, 2 MB e 4 MB.
Existiram também módulos de 8 e 16 MB, mas eles eram muito raros
devido ao custo.
Os processadores 386 e 486 utilizavam um barramento de 32 bits para o
acesso à memória, o que tornava necessário combinar 4 módulos de 30
vias para formar um banco de memória. Os 4 módulos eram então
acessados pelo processador como se fossem um só. Era preciso usar os
módulos em quartetos: 4 módulos ou 8 módulos, mas nunca um número
quebrado.
A exceção ficava por conta dos micros equipados com processadores
386SX, onde são necessários apenas 2 módulos, já que o 386SX acessa a
memória usando palavras de 16 bits.
Apesar de serem muito mais práticos do que manipular diretamente os
chips DIP, os módulos SIMM de 30 vias ainda eram bastante
inconvenientes, já que era preciso usar 4 módulos idênticos para
formar cada banco de memória. Eles foram desenvolvidos pensando mais
na questão da simplicidade e economia de custos do que na praticidade.
Para solucionar o problema, os fabricantes criaram um novo tipo de
módulo de memória SIMM, de 32 bits, que possui 72 vias. Os módulos de
72 vias substituíram rapidamente os antigos nas placas para 486 e se
tornaram o padrão nos micros Pentium, sendo em seguida substituídos
pelos módulos de 168 vias.
Em vez de quatro módulos, é preciso apenas um módulo SIMM de 72 vias
para formar cada banco de memória nos micros 486. Como o Pentium
acessa a memória usando palavras de 64 bits, são necessários 2 módulos
em cada banco. É por isso que nos micros Pentium 1 precisamos sempre
usar os módulos de memória em pares.
O acesso de 64 bits à memória foi introduzido para permitir que o
processador conseguisse acessar grandes quantidades de dados mais
rapidamente. O processador é tão mais rápido que a memória RAM, que
depois de esperar vários ciclos para poder acessá-la, o melhor a fazer
é pegar a maior quantidade de dados possível e guardar tudo no cache.
Naturalmente os dados serão processados em blocos de 32 bits, mas a
poupança ajuda bastante.
Dentro de um banco, todos os módulos são acessados ao mesmo tempo,
como se fossem um só, por isso era sempre recomendável usar dois
módulos iguais. Ao usar quatro módulos, o importante era que cada par
fosse composto por dois módulos iguais. Não existia problema em usar
dois pares de módulos diferentes, como ao usar dois de 16 MB e mais
dois de 8 MB para totalizar 48 MB, por exemplo.
Uma curiosidade é que algumas placas-mãe para Pentium podem trabalhar
com apenas um módulo de 72 vias. Nesse caso, a placa engana o
processador, fazendo dois acessos de 32 bits consecutivos, entregando
os dados de uma só vez para o processador. Apesar de funcionar, esse
esquema reduz bastante a velocidade do micro, pois a taxa de
transferência ao ler dados a partir da memória é efetivamente reduzida
à metade.

