Escritos
B. Piropo
Anteriores:
< Trilha Zero >
Volte de onde veio
17/05/1993

< A CPU do AT >


Após o 8088 as coisas ficaram calmas por um longo período: foi somente em fevereiro de 82, quase três anos depois, que a Intel criou seu sucessor, o 80286 - ou simplesmente 286, como é hoje conhecido. E passaram-se ainda mais dois anos até que a IBM lançasse o AT, o primeiro micro a usá-lo. AT vem de Advanced Technology. Quais seriam as vantagens desse novo microprocessador para justificar um nome assim pomposo?

Para começar, o 286 tem registros internos de dezesseis bits como o 8088. Porém, ao contrário deste, usa um barramento de dados também de dezesseis bits. O que não era novidade: o velho 8086 já fazia isso desde 1978. Então porque tanto alvoroço? Simples: devido à ampliação do campo de memória. Pois como vocês se lembram, tanto o 8088 como o 8086 somente enxergavam um megabyte. E isso é muito pouco. Pois o 286 endereçava um campo dezesseis vezes maior. Além disso, foi a primeira CPU capaz de manejar memória virtual, o que ampliava ainda mais seu universo: através dessa pequena prestidigitação, um 286 pode endereçar todo um Gigabyte, trocando "páginas" de 4K de memória RAM com o disco (para os esquecidos: um Gigabyte é igual a 1024Mbytes). Um avanço e tanto para quem estava limitado ao mísero primeiro mega.

Além disso, o 286 era rápido: foi lançado com uma frequência de operação de 6MHz, logo seguido pelas versões de 8MHz, 10MHz, 12MHz e 16MHz. E continha muito mais componentes: cento e trinta mil transistores. Curiosamente, no lançamento custava os mesmos US$360 que um 8088 - se bem que hoje pode ser comprado por US$8.

O 286 foi o único microprocessador da Intel que não foi "clonado" pelos concorrentes. Talvez por isso tenha sido seu maior sucesso de vendas: quase trinta e sete milhões de unidades. O que não quer dizer que tenha sido o mais eficiente. E, de fato, não foi, se bem que não por sua culpa, mas do DOS. Vejamos porque.

Quando a Intel lançou o 286, estabeleceu também uma diretriz que cumpre até hoje: toda sua linha de microprocessadores deve manter compatibilidade. Isso quer dizer que, por mais revolucionárias que venham a ser as novas características adicionadas, os programas desenvolvidos para as antigas CPU da Intel devem rodar nas novas. E o 286 incorporou conceitos até então inexistentes, como a multitarefa, ou execução de tarefas simultâneas.

Como isso pode ser possível se a CPU só processa instruções sequencialmente, jamais ao mesmo tempo? Não é difícil de entender: basta lembrar que ela é capaz de executar milhões de instruções por segundo. Imagine que você acabou de escrever um relatório em seu editor de textos e deseja imprimi-lo. E enquanto isso pretende consultar um banco de dados. Em um sistema multitarefas, basta mandar imprimir o arquivo, carregar o banco de dados e efetuar a consulta. O resto é com a CPU e com o sistema operacional. Este último informa à primeira que ela deve dedicar, digamos, cem milésimos de segundo à impressão do arquivo e os próximos cem milésimos ao banco de dados. E alternar entre um e outro. O intervalo é tão pequeno que a execução parece simultânea. É simples assim.

A questão é que a multitarefa não é compatível com as antigas CPU da Intel: o gerenciamento de memória é completamente diferente. E muito mais seguro, do contrário um programa pode acessar trechos de memória usados por outro, o que causaria um inevitável desastre. Para contornar o problema a Intel tornou o 286 capaz de operar em dois modos diferentes: o modo protegido, onde poderia acessar memória virtual e proteger os trechos de memória em uso por cada programa, e o modo real, no qual seria uma cópia exata do 8086. Mas uma cópia exata traz consigo todas as qualidades e defeitos. Inclusive o limite do campo da memória. Logo, um 286 rodando no modo real é pouco mais que um 8086 mais rápido.

O modo real foi implementado apenas por questões de compatibilidade. E sendo tão inferior ao modo protegido, imaginou-se que após sair dele, jamais alguém poderia desejar retornar. Por isso o 286 foi concebido de tal forma que permite passar do modo real para o protegido, mas uma vez neste, é impossível retornar a não ser reinicializando o sistema. E essa foi sua grande falha.

Não que a premissa fosse falsa. O modo protegido é mesmo infinitamente superior ao real. Mas acontece que ele mostrou-se incompatível com o DOS, um sistema operacional desenvolvido especialmente para o 8088, uma CPU muito mais limitada que o 286. Quando o DOS foi concebido, nem se sonhava com a possibilidade de multitarefa. E portanto ele não faz qualquer previsão relativa à proteção da memória. Na verdade, em um 286 é impossível rodar dois programas DOS ao mesmo tempo (se você achou essa afirmação estranha porque roda Windows no modo Standard em um 286, cuidado: não confunda multitarefa com alternância entre tarefas, onde um programa tem sua execução suspensa, passa o controle a outro e depois retoma a execução no mesmo ponto).

Quando o AT foi lançado já existia uma enorme base instalada de centenas de milhares de programas DOS. Que os usuários relutaram em abandonar. O resultado disso foi curioso: ao invés de explorar as potencialidades muito superiores do 286 com programas e sistemas operacionais especialmente desenvolvidos para ele, ocorreu exatamente o oposto. Os usuários continuaram com o DOS e seus programas, transformando seus inovadores AT 286 em XT mais rápidos, já que para usar DOS a CPU deve permanecer em modo real.

O panorama era esse até 85, quando afinal foi lançada uma nova CPU que permitiu algo muito próximo da multitarefa real mesmo sob DOS. Nosso assunto da próxima semana.

B. Piropo

 


URL: http://www.bpiropo.com.br
Copyright © Benito Piropo Da-Rin
WebMaster:
Atualizada em
(MM/DD/AA) + Hora