Intel 80286 - Intel 80286

Intel 80286
KL Intel i286.jpg
Um processador Intel A80286-8 com um dissipador de calor de cerâmica cinza
Informação geral
Lançado 1982
Interrompido 1991
Fabricante (s) comum (is)
atuação
Máx. Taxa de clock da CPU 5 MHz a 25 MHz
Velocidades FSB 5 MHz a 25 MHz
Largura de dados 16 bits
Largura do endereço 24 bits
Arquitetura e classificação
Min. tamanho do recurso 1,5 µm
Conjunto de instruções x86-16 (com MMU )
Especificações físicas
Transistores
Coprocessador Intel 80287
Pacote (s)
Tomadas)
História
Antecessor 8086 , 8088 (enquanto 80186 era contemporâneo)
Sucessor Intel 80386

O Intel 80286 (também comercializado como iAPX 286 e frequentemente chamado de Intel 286 ) é um microprocessador de 16 bits que foi lançado em 1 de fevereiro de 1982. Foi a primeira CPU baseada em 8086 com endereços e barramentos de dados separados e não multiplexados e também o primeiro com gerenciamento de memória e ampla capacidade de proteção. O 80286 usava aproximadamente 134.000 transistores em sua encarnação original nMOS ( HMOS ) e, assim como o 80186 contemporâneo , podia executar corretamente a maioria dos softwares escritos para os processadores Intel 8086 e 8088 anteriores .

O 80286 foi empregado para o IBM PC / AT , lançado em 1984 e amplamente utilizado na maioria dos computadores compatíveis com PC / AT até o início dos anos 1990.

História e atuação

AMD 80286 (versão de 16 MHz)

Os primeiros chips 80286 da Intel foram especificados para uma freqüência máxima de 5, 6 ou 8  MHz e versões posteriores de 12,5 MHz. AMD e Harris posteriormente produziram peças de 16 MHz, 20 MHz e 25 MHz, respectivamente. A Intersil e a Fujitsu também projetaram versões CMOS totalmente estáticas da implementação original do nMOS de carga de depleção da Intel , voltada principalmente para dispositivos alimentados por bateria.

Em média, o 80286 foi medido para ter uma velocidade de cerca de 0,21 instruções por clock em programas "típicos", embora pudesse ser significativamente mais rápido em código otimizado e em loops apertados, já que muitas instruções poderiam ser executadas em 2 ciclos de clock cada. Os modelos de 6 MHz, 10 MHz e 12 MHz foram medidos para operar a 0,9 MIPS, 1,5 MIPS e 2,66 MIPS, respectivamente.

O último nível E- stepping do 80286 estava livre de várias erratas significativas que causavam problemas para programadores e escritores de sistema operacional nas CPUs B-step e C-step anteriores (comuns nos clones AT e AT). Esta parte da etapa E-2 pode ter estado disponível no final de 1986.

Arquitetura

Microarquitetura simplificada 80286
Intel 80286 die shot

A Intel não esperava que os computadores pessoais usassem o 286. A CPU foi projetada para sistemas multiusuário com aplicativos multitarefa , incluindo comunicações (como PBXs automatizados ) e controle de processo em tempo real . Ele tinha 134.000 transistores e consistia em quatro unidades independentes: a unidade de endereço, unidade de barramento, unidade de instrução e unidade de execução, organizada em um pipeline fracamente acoplado (buffer) , assim como no 8086. Foi produzido em um pacote de 68 pinos , incluindo PLCC ( portador de chip com chumbo de plástico ), LCC ( portador de chip sem chumbo ) e pacotes PGA ( matriz de grade de pinos ).

O aumento de desempenho do 80286 em relação ao 8086 (ou 8088) pode ser superior a 100% por ciclo de clock em muitos programas (ou seja, um desempenho dobrado na mesma velocidade de clock). Este foi um grande aumento, totalmente comparável às melhorias de velocidade sete anos depois, quando o i486 (1989) ou o Pentium original (1993) foram introduzidos. Isso se deveu em parte ao endereço não multiplexado e aos barramentos de dados, mas principalmente ao fato de que os cálculos de endereço (como base + índice ) eram mais baratos. Eles eram executados por uma unidade dedicada no 80286, enquanto o 8086 mais antigo tinha que fazer um cálculo de endereço eficaz usando sua ALU geral , consumindo vários ciclos de clock extras em muitos casos. Além disso, o 80286 era mais eficiente na pré-busca de instruções, armazenamento em buffer, execução de saltos e em operações numéricas microcodificadas complexas , como MUL / DIV, do que seu predecessor.

O 80286 incluía, além de todas as instruções do 8086, todas as novas instruções do 80186: ENTRE, SAIA, LIMITE, INS, OUTS, PUSHA, POPA, PUSH imediato, IMUL imediato e muda e gira imediatamente. O 80286 também adicionou novas instruções para o modo protegido: ARPL, CLTS, LAR, LGDT, LIDT, LLDT, LMSW, LSL, LTR, SGDT, SIDT, SLDT, SMSW, STR, VERR e VERW. Algumas das instruções para o modo protegido podem (ou devem) ser usadas no modo real para configurar e alternar para o modo protegido, e algumas (como SMSW e LMSW) são úteis para o próprio modo real.

O Intel 80286 tinha um barramento de endereço de 24 bits e era capaz de endereçar até 16  MB de RAM , em comparação com a capacidade de endereçamento de 1 MB de seu predecessor. No entanto, o custo da memória e a raridade inicial do software usando a memória acima de 1 MB significava que 80.286 computadores raramente eram enviados com mais de um megabyte de RAM. Além disso, havia uma penalidade de desempenho envolvida no acesso à memória estendida no modo real (no qual o DOS, o sistema operacional dominante do PC até meados da década de 1990), conforme observado abaixo.

Recursos

Siemens 80286 (versão de 10 MHz)
IBM 80286 (versão de 8 MHz)

Modo protegido

O 286 foi o primeiro da família de CPUs x86 a suportar o modo de endereço virtual protegido , comumente chamado de " modo protegido ". Além disso, foi o primeiro microprocessador disponível comercialmente com recursos MMU no chip (os sistemas que usam o Motorola 68010 e o NS320xx contemporâneos podem ser equipados com um controlador MMU opcional). Isso permitiria que os compatíveis com a IBM tivessem sistemas operacionais multitarefa avançados pela primeira vez e competissem no mercado de servidores / estações de trabalho dominado por Unix .

Várias instruções adicionais foram introduzidas no modo protegido de 80286, que são úteis para sistemas operacionais multitarefa.

Outra característica importante do 80286 é a prevenção de acessos não autorizados. Isso é conseguido por:

  • Formando diferentes segmentos para dados, código e pilha, e evitando sua sobreposição.
  • Atribuição de níveis de privilégio a cada segmento. Os segmentos com níveis de privilégio mais baixos não podem acessar segmentos com níveis de privilégio mais altos.

No 80286 (e em seu coprocessador Intel 80287 ), as operações aritméticas podem ser realizadas nos seguintes tipos diferentes de números:

Por design, o 286 não podia reverter do modo protegido para o modo de endereço real compatível com 8086 básico (" modo real ") sem uma reinicialização iniciada por hardware. No PC / AT introduzido em 1984, a IBM adicionou circuitos externos, bem como código especializado na ROM BIOS e no microcontrolador periférico 8042 para permitir que o software causasse a reinicialização, permitindo a reentrada em modo real, mantendo a memória ativa e devolvendo o controle ao programa que iniciou a reinicialização. (O BIOS está necessariamente envolvido porque obtém o controle diretamente sempre que a CPU é reinicializada.) Embora funcionasse corretamente, o método impunha uma grande penalidade de desempenho.

Em teoria, os aplicativos de modo real poderiam ser executados diretamente no modo protegido de 16 bits se certas regras (recentemente propostas com a introdução do 80286) fossem seguidas; no entanto, como muitos programas DOS não estavam em conformidade com essas regras, o modo protegido não era amplamente usado até o aparecimento de seu sucessor, o Intel 80386 de 32 bits , que foi projetado para alternar entre os modos facilmente e fornecer uma emulação de modo real dentro do modo protegido. Quando a Intel projetou o 286, ele não foi projetado para executar multitarefa em aplicativos de modo real; o modo real foi planejado para ser uma maneira simples de um carregador de bootstrap preparar o sistema e, em seguida, alternar para o modo protegido; essencialmente, no modo protegido, o 80286 foi projetado para ser um novo processador com muitas semelhanças com seus predecessores, enquanto o modo real no 80286 foi oferecido para sistemas de menor escala que poderiam se beneficiar de uma versão mais avançada do núcleo da CPU 80186, com vantagens como taxas de clock mais altas, execução de instrução mais rápida (medida em ciclos de clock) e barramentos não multiplexados, mas não o espaço de memória de 24 bits (16 MB).

Para suportar o modo protegido, novas instruções foram adicionadas: ARPL, VERR, VERW, LAR, LSL, SMSW, SGDT, SIDT, SLDT, STR, LMSW, LGDT, LIDT, LLDT, LTR, CLTS. Também há novas exceções (interrupções internas): opcode inválido, coprocessador não disponível, falha dupla, saturação de segmento do coprocessador, falha de pilha, saturação de segmento / falha de proteção geral e outros apenas para o modo protegido.

Suporte de sistema operacional

O modo protegido do 80286 não era utilizado rotineiramente em aplicativos de PC até muitos anos após seu lançamento, em parte devido ao alto custo de adicionar memória estendida a um PC, mas também devido à necessidade de software para oferecer suporte à grande base de usuários de PCs 8086. Por exemplo, em 1986, o único programa que fazia uso dele era o VDISK, um driver de disco RAM incluído no PC DOS 3.0 e 3.1. Um DOS poderia utilizar a RAM adicional disponível no modo protegido ( memória estendida ) por meio de uma chamada de BIOS (INT 15h, AH = 87h), como um disco RAM ou como emulação de memória expandida . A dificuldade estava na incompatibilidade de programas DOS de modo real mais antigos com o modo protegido. Eles simplesmente não podiam ser executados nativamente neste novo modo sem uma modificação significativa. No modo protegido, o gerenciamento de memória e o tratamento de interrupções eram feitos de maneira diferente do modo real. Além disso, os programas DOS normalmente acessariam diretamente os dados e segmentos de código que não pertenciam a eles, como o modo real permitia que eles fizessem sem restrições; em contraste, a intenção do projeto do modo protegido era impedir que os programas acessassem quaisquer segmentos diferentes dos seus, a menos que o acesso especial fosse explicitamente permitido. Embora fosse possível configurar um ambiente de modo protegido que permitia a todos os programas acesso a todos os segmentos (colocando todos os descritores de segmento no GDT e atribuindo a todos o mesmo nível de privilégio), isso minou quase todas as vantagens do modo protegido, exceto o espaço de endereço estendido (24 bits). A escolha que os desenvolvedores de sistema operacional enfrentaram foi começar do zero e criar um sistema operacional que não executasse a grande maioria dos programas antigos, ou criar uma versão do DOS que fosse lenta e feia (ou seja, feia em termos técnicos internos ponto de vista), mas ainda executaria a maioria dos programas antigos. O modo protegido também não forneceu uma vantagem de desempenho significativa o suficiente sobre o modo real compatível com 8086 para justificar o suporte de seus recursos; na verdade, exceto para alternância de tarefas durante a multitarefa, na verdade gerava apenas uma desvantagem de desempenho, ao desacelerar muitas instruções por meio de uma litania de verificações de privilégios adicionais. No modo protegido, os registradores ainda eram de 16 bits, e o programador ainda era forçado a usar um mapa de memória composto por segmentos de 64 kB, assim como no modo real.

Em janeiro de 1985, a Digital Research fez uma prévia do sistema operacional Concurrent DOS 286 1.0 desenvolvido em cooperação com a Intel . O produto funcionaria estritamente como um sistema operacional de modo nativo 80286 (ou seja, modo protegido), permitindo que os usuários aproveitem ao máximo o modo protegido para realizar operações multiusuário e multitarefa durante a execução da emulação 8086. Isso funcionou na etapa de protótipo B-1 do chip, mas a Digital Research descobriu problemas com a emulação na etapa C-1 de nível de produção em maio, o que não permitiria que o Concurrent DOS 286 rodasse o software 8086 em modo protegido. O lançamento do Concurrent DOS 286 foi adiado até que a Intel desenvolvesse uma nova versão do chip. Em agosto, após extensos testes em amostras da etapa E-1 do 80286, a Digital Research reconheceu que a Intel corrigiu todas as erratas 286 documentadas, mas disse que ainda havia problemas de desempenho do chip não documentados com a versão de pré-lançamento do Concurrent DOS 286 rodando no E- 1 passo. A Intel disse que a abordagem que a Digital Research pretendia adotar ao emular o software 8086 em modo protegido era diferente das especificações originais. No entanto, na etapa E-2, eles implementaram pequenas alterações no microcódigo que permitiriam à Digital Research executar o modo de emulação muito mais rápido. Chamado de IBM 4680 OS , a IBM originalmente escolheu DR Concurrent DOS 286 como base de seu computador IBM 4680 para produtos IBM Plant System e terminais de ponto de venda em 1986. FlexOS 286 versão 1.3 da Digital Research , uma derivação do Concurrent DOS 286, foi desenvolvido em 1986, introduzido em janeiro de 1987 e posteriormente adotado pela IBM para seu sistema operacional IBM 4690 , mas as mesmas limitações o afetaram.

Os problemas levaram Bill Gates a se referir ao 80286 como um "chip com morte cerebral", já que estava claro que o novo ambiente do Microsoft Windows não seria capaz de executar vários aplicativos do MS-DOS com o 286. Ele era indiscutivelmente o responsável por a divisão entre a Microsoft e a IBM, já que a IBM insistia que o OS / 2 , originalmente uma joint venture entre a IBM e a Microsoft, funcionasse em um 286 (e em modo texto).

Outros sistemas operacionais que usaram o modo protegido do 286 foram Microsoft Xenix (por volta de 1984), Coherent e Minix . Eles foram menos prejudicados pelas limitações do modo protegido 80286 porque não tinham como objetivo executar aplicativos do MS-DOS ou outros programas em modo real. Em seu chip sucessor 80386 , a Intel aprimorou o modo protegido para endereçar mais memória e também adicionou o modo 8086 virtual separado , um modo dentro do modo protegido com compatibilidade MS-DOS muito melhor, a fim de satisfazer as necessidades divergentes do mercado.

Componentes de suporte

Esta lista de componentes de interface de barramento que se conecta ao microprocessador Intel 80286.

  • 82258 Advanced Direct Memory Access Controller - Taxa de transferência de 8 MB por segundo, suporta até 32 subcanais, máscara e comparação, verificação, tradução e operação de montagem / desmontagem que estão sendo processadas simultaneamente. Ele também suporta faixa de endereçamento de 16 MB. Isso estava disponível por US $ 170 em quantidades de 100.
  • 82C284 Gerador e driver de clock
  • 82288 Bus Controller
  • 82289 Bus Arbiter

Veja também

Referências

links externos