quinta-feira, dezembro 03, 2020

Memórias dos Anos 80 - 286 e o PC-AT

O IBM PC-AT foi um marco na história dos PCs e sua principal novidade foi o uso do processador 80286. Comento aqui um pouco dos seus pontos altos e baixos.

MBlairMartinCC BY-SA 4.0, via Wikimedia Commons


O 80286

Se a memória não falha, eu estudei este processador antes do PC-AT ser lançado. O estudo foi com o manual oficial da Intel, que era bastante confuso.

Como já comentei, a Intel tinha adotado uma estratégia diferente dos concorrentes ao projetar o 8086. A arquitetura era uma simples ampliação do 8080 para 16 bits. Isto simplificou o projeto e a produção e facilitou a adaptação de softwares escritos para o 8080 (como o dBase II e o WordStar, que foram  na maior parte convertidos automaticamente). Para conseguir acessar uma quantidade razoável de memória usando registradores de 16 bits, foi criada a gambiarra dos registradores de segmento. Os valores nestes registradores eram deslocados 4 bits para a esquerda e somados aos 16 bits gerados pela instrução para obter um endereço final de 20 bits (capaz de endereçar espantosos 1Mbyte). O problema é que os concorrentes tinham apostado em arquiteturas com registradores de 32 bits e tinham um caminho claro para evoluções. Estes concorrentes dispunham também de recursos de proteção para sistemas operacionais multitarefa.

Uma primeira melhoria do 286 foi de velocidade, mesmo inicialmente não suportando clocks mais altos que o 8086 e 8088. Na média, as instruções eram executadas na metade do número de ciclos que no 8086, principalmente graças à aceleração no cálculo dos endereços (antes era feito pela mesma ULA que fazia as operações das instruções e com o 286 passou a ser feito com um hardware separado, o que permitia fazer as duas coisas ao mesmo tempo).

Para permitir acessar mais memória e acrescentar recursos de proteção, foi criado um novo "modo protegido" onde os valores nos registradores de segmento são indíces para tabelas ao invés de gerar diretamente os endereços. Os projetistas da Intel acharam isso tão maravilhoso que concluíram que uma vez no modo protegido ninguém ia querer sair dele. A única forma de sair do modo protegido e voltar ao chamado "modo real" era reiniciando o processador. O que eles não imaginavam é que o 286 fosse ser usado em PCs, onde o modo protegido não seria compatível com os softwares existentes.

Como era praxe na época, a Intel licenciou o projeto para outros fabricantes. Alguns, como a AMD, projetaram versões capazes de operar com clocks bem mais altos (segundo a wikipedia, a Intel chegou a fabricar versões que operavam a 12,5MHz enquanto outros chegaram a 25MHz).

A Intel iria resolver estes problemas, com juros, com o 386. Mas isto é outra história.

O IBM PC-AT

Eu saí da Scopus antes dela projetar um micro compatível com o PC-AT, mas ainda estava lá quando chegou um IBM PC-AT legítimo.

Muita boataria circulou entre o lançamento do XT e o AT. Um dos boatos era que ele usaria chips proprietários. Na prática, o máximo que ele tinha era algumas PALs (circuitos simples configuráveis na fábrica) para a decodificação de alguns sinais.

O PC-AT era mais rápido que o XT, mas seu clock era apenas de 6MHz (contra os 4.77 do XT). Uma olhada no Technical Reference mostrava que em alguns diagramas o clock era indicado como 8MHz. Uma desconfiança (improvável) era que a IBM tivesse tido problemas ao tentar operar a 8MHz. Outra teoria é que as outras divisões da IBM teriam pressionado para o PC AT ter um desempenho menor e não competir com outros computadores da IBM,

A placa mãe tinha várias melhorias em relação ao XT. Os slots foram expandidos de 8 bits para 16 bits de dados (no que seria conhecido como ISA Bus). Um relógio com bateria foi adicionado. No lugar de usar a interface paralela 8255 para interfacear com o teclado, foi colocado um microcontrolador e o protocolo de comunicação foi alterado (surgindo assim as chavinhas XT/AT nos teclados compatíveis).

Um dos bits da 8255 permitia reiniciar o 286. Isto era usado por uma função do BIOS para oferecer o serviço de copiar dados entre a memória abaixo de 1M e a memória acima de 1M. Como as demais funções do BIOS, esta função era chamada no modo real. Ela colocava o 286 no modo protegido, fazia a copia e reiniciava o 286. Um valor no chip de relógio indicava o motivo do reset e a rotina de iniciação retomava o controle para quem tinha chamado a função. Uma gambiarra nível 2, que atrapalhava o funcionamento de softwares que dependiam de interrupção, como programas de comunicação. Mais popular foi uma gambiarra do nível 3: a soma do registrador de segmento deslocado com o offset não "dava a volta" no 286. Um outro bit da 8255 permitia mascarar isso, forçando a linha de endereço A20 em 0. Liberando o A20 era possível acessar os primeiros 64K bytes (para ser preciso, somente os primeiros 65520 bytes) acima de 1M sem sair do modo real. Nascia a HMA.

Duas interfaces bastante usadas no XT eram a paralela e a serial. Junto com o PC AT foi lançada uma placa de expansão com ambas. Como não tinha espaço para dois conectores DB25 na traseira, foi usado um conector DE9 para a serial e com isso nasceu um novo padrão.

O AT vinha com um HD de 20MB (o dobro do XT), que a wikipedia diz ter fama de pouco confiável. Mais polêmico foi o drive de disquete 5 1/4" HD. A capacidade maior (1.2M contra os 360K dos disquetes normais) até era bem vinda, mas assustava saber que um disco de 360K gravado na unidade HD podia não ser lido em uma unidade de 360K.

Do lado do software, o PC AT vinha com o DOS 3.0. Do ponto de vista externo era um mistério, pois o sistema era bem maior mas não tinha funções novas. O que aconteceu é que o DOS estava sendo alterado para suportar redes locais, mas não ficou pronto a tempo. Os recursos para a rede da IBM só ficariam prontos no DOS 3.2 e os bugs nesta parte do código só seriam amenizados com o lançamento do DOS 3.3

Mas o PC AT foi um marco por sinalizar o fim da (curta) história da IBM como líder de mercado dos micros. Não somente o mercado de compatíveis estava explodindo, mas os "clones" do AT vinham com clocks mais altos (acompanhados de displays de velocidade e botões de turbo). Lembro de uma revista americana anunciando: o líder do mercado são os "outros" (a soma das vendas das inúmeras pequenas marcas passava das vendas de cada uma das grandes empresas).

O declínio ficaria mais claro quando a Compaq lançou um modelo com 386 sem esperar um produto equivalente da IBM. A IBM tentaria ainda uma cartada com uma linha mais proprietária, o PS/2, mas o mercado seguiu em frente com os padrões definidos pelo PC AT e expandidos para 32 bits.

Um comentário:

Carlos Mendes disse...

Vi essa história, porém apenas como usuário. Que interessante saber como se deu a corrida da informática.