O 386 e a era dos 32 bits

Em outubro de 1985 a Intel lançou o 386, que marcou o início dos tempos modernos, trazendo a primeira encarnação da arquitetura de 32 bits que continua em uso basicamente até os dias de hoje.

Além de utilizar um barramento de 32 bits (o que resultou em um grande ganho de desempenho no acesso à memória e a possibilidade de usar barramentos mais rápidos que o ISA), o 386 adotou o uso de endereçamento de 32 bits para acesso à memória, o que tornou possível acessar até 4 GB (2 elevado a 32ª potência), mesmo sem usar a segmentação de endereços, como no caso 8088.

Assim como o 286, o 386 continua possuindo os dois modos de operação. A diferença é que no 386 é possível alternar entre o modo real e o modo protegido livremente. Isso fez toda a diferença, já que aplicativos que rodavam sobre o MS-DOS passaram a poder chavear o processador para o modo protegido e assim se beneficiarem das novas instruções e voltarem ao modo real sempre que precisavam usar alguma sub-rotina do BIOS ou do MS-DOS, de maneira rápida e inteiramente transparente.

Nesses casos, era usado um programa de DPMI (“DOS Protected Mode Interface”, ou “interface DOS de modo protegido”) para fazer o chaveamento entre os dois modos. Toda vez que o programa precisava usar alguma sub-rotina do DOS, ele passava o comando ao chaveador e aguardava em segundo plano. O chaveador colocava o processador em modo real, executava os comandos agendados, chaveava o processador para o modo protegido e entregava o resultado ao aplicativo, que continuava trabalhando como se nada tivesse acontecido.

Um bom exemplo de programa de DPMI é o DOS4GW, que é usado por muitos jogos antigos que rodam sobre o MS-DOS, como o DOOM, SimCity 2000 e vários emuladores de videogames.

O esquema de chaveamento também era utilizado pelo Windows 3.x, que incluía todas as rotinas necessárias, dispensando o uso do programa de DPMI. O Windows 95/98 também pode chavear para o modo real caso precise carregar algum driver de dispositivo de modo real.

A partir do Windows XP os aplicativos MS-DOS passaram a ser executados dentro de um emulador, o que resolveu os problemas de estabilidade, mas reduziu a compatibilidade do sistema com os aplicativos MS-DOS.

Ter um processador 386 é o requisito mínimo para rodar qualquer sistema operacional moderno. Com um 386, memória RAM e espaço em disco suficiente, você pode rodar o Windows 95 e aplicativos, embora bem lentamente devido à pouca potência do processador. Você pode também instalar distribuições Linux antigas e (usando algum truque para burlar a detecção da configuração mínima ao instalar o sistema) até mesmo instalar o Windows 98.

Apenas o Athlon 64 e os processadores Intel com o EM64 (o conjunto de instruções compatíveis com os processadores de 64 bits da AMD) vieram a quebrar essa compatibilidade histórica. Os processadores de 64 bits atuais são perfeitamente compatíveis com os aplicativos de 32 bits, mas programas otimizados para eles não rodam mais nas máquinas antigas. Embora mais suave e gradual, estamos assistindo a uma migração similar à que ocorreu na transição do 286 para o 386.

Voltando ao lançamento do 386, embora o processador tenha sido lançado em 1985, a IBM só foi capaz de lançar um PC baseado nele em 1987, dando tempo para a Compaq sair na frente, marcando o fim do domínio da IBM sobre a plataforma.

O primeiro 386 operava a apenas 16 MHz, o que permitia que o processador operasse à mesma velocidade dos chips de memória, assim como nos processadores anteriores. Quando foi lançada a versão de 20 MHz, o clock do processador havia se tornado maior que o suportado pelos chips de memória, o que obrigou os projetistas a introduzirem o uso de ciclos de espera, prejudicando o desempenho. Para amenizar o problema, foi introduzido o uso da memória cache.

Na foto a seguir temos um exemplo de placa para 386. A memória cache é composta pelos 5 chips, posicionados entre o slot ISA e os pentes de memória. Esta placa ainda utiliza módulos de memória de 30 vias e os 4 módulos instalados somam apenas 4 MB de memória. Note ainda que ela possui apenas slots ISA, sem nenhuma opção de barramento mais rápido:

51b90c9c

4 MB de memória, com direito a coprocessador aritmético! 🙂

Outro componente exótico usado na época era o co-processador aritmético, um processador adicional, que executava cálculos complexos, as famosas operações de ponto flutuante. Até o 386, o co-processador aritmético era um componente opcional, que podia ser instalado num soquete vago disponível na placa-mãe. Ele era necessário para rodar programas de engenharia, modelagem 3D e alguns jogos, mas não era muito popular, pois custava quase tanto quanto o processador principal.

A partir do 486, o co-processador passou a ser incorporado diretamente ao processador principal, eliminando o soquete separado. Com a miniaturização dos transistores, os processadores passaram a trazer cada vez mais componentes.

Os processadores atuais incluem várias unidades de execução, o que os torna capazes de processar várias instruções por ciclo, quantidades generosas de memória cache, componentes extras destinados a organizar e decodificar as instruções que serão processadas, conjuntos de instruções extras e, no caso dos Athlon 64 (e derivados), também o controlador de memória, que antes fazia parte da placa-mãe. Os processadores dual-core, onde temos dois processadores completos na mesma pastilha de silício, também estão se tornando cada vez mais comuns, seguidos pelos processadores quad-core. É uma corrida que ainda está longe de acabar.

Voltando ao 386, como as placas-mãe da época eram muito caras, existiam várias opções de upgrade. O 386SX, por exemplo, podia ser instalado em muitas placas para 286. Existiam também os processadores 486 DLC e 486 SLC (fabricados pela Texas Instruments), que podiam ser instalados em placas para o 386, servindo como uma opção de upgrade.

Aqui temos um 486 DLC, instalado numa placa de 386. O soquete vago ao lado do processador é o encaixe para o co-processador aritmético. Note que naquela época ainda eram usados pentes de memória de 30 vias. Eles eram pentes de 8 bits, por isso era necessário instalar sempre 4 ou 8 módulos, para que eles fornecessem os 32 bits usados pelo processador. O mais comum na época era usar pentes de 1 MB, totalizando 4 ou 8 MB. Em 1990, cada megabyte de memória custava mais de 100 dólares:

m793080e

Sobre o Autor

Redes Sociais:

Deixe seu comentário

X