Processador Intel A80286-8 com dissipador cerâmico | |
| Fabricantes | Intel, IBM, AMD, Harris (Intersil), Siemens, Fujitsu |
|---|---|
| Produção | 1982–1991 |
| Frequência | 4–25 MHz |
| Barramento (FSB) | 4–25 MHz |
| Transistores | 120 000 ou 134 000 |
| Processo de fabricação | 1,5 µm |
| Arquitetura | x86 (16 bits, com MMU) |
| Largura de dados | 16 bits |
| Largura de endereço | 24 bits |
| Coprocessador | Intel 80287 |
| Encapsulamentos | PLCC 68 pinos LCC 68 pinos PGA 68 pinos PQFP 100 pinos (amostras de engenharia) |
| Soquetes | PGA68 PLCC-68 LCC-68 |
| Antecessor | 8086, 8088 (o 80186 era contemporâneo) |
| Sucessor | Intel 80386 |
| Status | Obsoleto |
O 80286 da Intel (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 no 8086 com barramento de endereço e barramentos de dados separados e não multiplexados, e também a primeira com gerenciamento de memória e amplas capacidades de proteção. Possuía um tamanho de dados de 16 bits e uma largura de endereço de 24 bits, o que podia endereçar até 16 MB de memória com um sistema operacional adequado, como o Windows, em comparação com 1 MB para o 8086. O 80286 usava aproximadamente 134.000 transistores em sua encarnação original nMOS (HMOS) e, assim como o contemporâneo 80186, ele consegue executar corretamente a maioria dos softwares escritos para os processadores anteriores Intel 8086 e 8088.
O 80286 foi empregado no IBM PC/AT, introduzido em 1984, e a partir daí foi amplamente utilizado na maioria dos computadores compatíveis com o PC/AT até o início da década de 1990. Em 1987, a Intel despachou seu microprocessador 80286 de número cinco milhões.

Os primeiros chips 80286 da Intel foram especificados para uma frequência de clock máxima de 5, 6 ou 8 MHz e lançamentos posteriores para 12,5 MHz. A AMD e a Harris produziram posteriormente componentes de 16 MHz, 20 MHz e 25 MHz. A Intel, a Intersil e a Fujitsu também projetaram versões CMOS totalmente estáticas da implementação original nMOS de carga de depleção da Intel, voltadas principalmente para dispositivos alimentados por bateria. A versão CMOS do 80286 da Intel foi o 80C286.
Em média, dizia-se que o 80286 tinha 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 loops curtos, já que muitas instruções podiam ser executadas em 2 ciclos de clock cada. Modelos de 6 MHz, 10 MHz e 12 MHz foram supostamente medidos operando a 0,9 MIPS, 1,5 MIPS e 2,66 MIPS, respectivamente.
A etapa de revisão (stepping) E posterior do 80286 estava livre das várias erratas significativas que causaram problemas para programadores e criadores de sistemas operacionais nas CPUs das revisões anteriores B e C (comuns no AT e nos clones do AT). Essa revisão E-2 pode ter ficado disponível no final de 1986.
A Intel licenciou o design (second source) deste microprocessador para a Fujitsu Limited por volta de 1985.
| Número do modelo | Frequência | Tecnologia | Processo | Encapsulamento | Data de lançamento | Preço em USD |
|---|---|---|---|---|---|---|
| 80286-10 | 10 MHz | HMOS-III | 1.5 μm | Julho/Agosto de 1985 | $155 | |
| 80286-12 | 12,5 MHz | HMOS-III | 1,5 μm | Julho/Agosto de 1985 | $260 | |
| MG80286 | Setembro/Outubro de 1985 | $784 | ||||
| 80286 | PGA de 68 Pinos | Janeiro/Fevereiro de 1986 | ||||
| 80286 | PLCC de 68 Pinos | Janeiro/Fevereiro de 1986 |

A Intel esperava que o 286 fosse usado primariamente em automação industrial, processamento de transações e telecomunicações, em vez de em computadores pessoais.
A CPU foi projetada para sistemas multiusuário com aplicativos multitarefa, incluindo comunicações (como centrais de PABX automatizadas) e controle de processos em tempo real. Ela tinha 134.000 transistores e consistia em quatro unidades independentes: a unidade de endereço, a unidade de barramento, a unidade de instrução e a unidade de execução, organizadas em um pipeline fracamente acoplado (com buffer), exatamente como no 8086. Foi produzida em um encapsulamento de 68 pinos, incluindo os tipos PLCC (plastic leaded chip carrier), LCC (leadless chip carrier) e PGA (pin grid array).
O aumento de desempenho do 80286 sobre o 8086 (ou 8088) podia ser de mais de 100% por ciclo de clock em muitos programas (ou seja, um desempenho duplicado na mesma velocidade de clock). Esse foi um grande aumento, totalmente comparável às melhorias de velocidade observadas sete anos mais tarde, quando o i486 (1989) ou o Pentium original (1993) foram lançados. Isso se devia em parte aos barramentos de endereço e de dados não multiplexados, mas principalmente ao fato de que os cálculos de endereços (como base+índice) eram menos custosos. Eles eram executados por uma unidade dedicada no 80286, enquanto o antigo 8086 tinha que fazer o cálculo do endereço efetivo 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 (prefetch) de instruções, no armazenamento em buffer, na execução de saltos e em operações numéricas complexas programadas por microcódigo, como MUL/DIV, do que seu predecessor.
O 80286 incluiu, além de todas as instruções do 8086, todas as novas instruções do 80186: ENTER, LEAVE, BOUND, INS, OUTS, PUSHA, POPA, PUSH imediato, IMUL imediato, além de deslocamentos e rotações imediatas. 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 delas (como SMSW e LMSW) são úteis para o próprio modo real.
O Intel 80286 possuía um barramento de endereços de 24 bits e, como tal, tinha um espaço de endereço físico de 16 MB, em comparação com o espaço de endereço de 1 MB dos processadores x86 anteriores. Foi o primeiro processador x86 a suportar memória virtual, suportando até 1 GB via segmentação. No entanto, o custo da memória e a raridade inicial de softwares que usassem a memória acima de 1 MB significaram que, até o final de sua produção, os computadores 80286 raramente eram despachados com mais de 1 MB de RAM. Além disso, havia uma penalidade de desempenho envolvida em acessar a memória estendida a partir do modo real, conforme observado abaixo.



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 capacidades de unidade de gerenciamento de memória (MMU) no chip (sistemas usando o contemporâneo Motorola 68010 e o NS320xx podiam ser equipados com um controlador MMU opcional). Isso permitiria que os compatíveis com IBM tivessem sistemas operacionais multitarefa avançados pela primeira vez e competissem no mercado de servidores/workstations dominado pelo Unix.
Várias instruções adicionais foram introduzidas no modo protegido do 80286, as quais são úteis para sistemas operacionais multitarefa.
Outra característica importante do 80286 é a prevenção de acesso não autorizado. Isso é alcançado através da:
No 80286 (e em seu coprocessador Intel 80287), as operações aritméticas podem ser executadas 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 básico compatível com 8086 ("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 BIOS em ROM e no microcontrolador de teclado 8042 para permitir que o software causasse a reinicialização (reset), permitindo a reentrada no modo real enquanto retinha a memória ativa e retornava o controle ao programa que iniciou a reinicialização. (A BIOS está necessariamente envolvida porque obtém controle direto sempre que a CPU é reiniciada). Embora funcionasse corretamente, o método impunha uma enorme penalidade de desempenho.
Em teoria, aplicativos de modo real poderiam ser diretamente executados no modo protegido de 16 bits se certas regras (recém-propostas com a introdução do 80286) fossem seguidas; no entanto, como muitos programas do DOS não estavam em conformidade com essas regras, o modo protegido não foi amplamente utilizado até o surgimento de seu sucessor, o Intel 80386 de 32 bits, que foi projetado para alternar facilmente entre os modos e fornecer uma emulação do modo real dentro do modo protegido. Quando a Intel projetou o 286, ele não foi projetado para ser capaz de executar aplicativos de modo real em multitarefa; o modo real pretendia ser uma maneira simples para um carregador de inicialização (bootstrap) preparar o sistema e então alternar para o modo protegido; essencialmente, no modo protegido, o 80286 foi projetado para ser um novo processador com muitas semelhanças aos seus predecessores, enquanto o modo real no 80286 era 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ções 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 existem novas exceções (interrupções internas): opcode inválido, coprocessador não disponível, falha dupla (double fault), superação do segmento do coprocessador, falha de pilha, superação de segmento/falha de proteção geral, e outras destinadas exclusivamente ao modo protegido.
O modo protegido do 80286 não foi 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 os softwares suportarem a 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. O DOS podia 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 residia na incompatibilidade dos programas DOS mais antigos de modo real com o modo protegido. Eles não podiam rodar nativamente neste novo modo sem modificações significativas. No modo protegido, o gerenciamento de memória e o tratamento de interrupções eram feitos de forma diferente do modo real. Além disso, os programas DOS geralmente acessavam diretamente segmentos de dados e código que não lhes pertenciam, pois o modo real permitia que fizessem isso sem restrições; em contraste, a intenção do design do modo protegido era impedir que os programas acessassem quaisquer segmentos além dos seus próprios, a menos que um acesso especial fosse explicitamente permitido. Embora fosse possível configurar um ambiente de modo protegido que permitisse a todos os programas acessar todos os segmentos (colocando todos os descritores de segmento na Tabela de Descritores Globais (GDT) e atribuindo a todos o mesmo nível de privilégio), isso minava quase todas as vantagens do modo protegido, exceto o espaço de endereço estendido (24 bits). A escolha que os desenvolvedores de SO enfrentavam era começar do zero e criar um SO que não rodaria a grande maioria dos programas antigos, ou criar uma versão do DOS que fosse lenta e feia (ou seja, feia de um ponto de vista técnico interno), mas que ainda rodasse a maioria dos programas antigos. O modo protegido também não fornecia uma vantagem de desempenho significativa o suficiente sobre o modo real compatível com o 8086 para justificar o suporte aos seus recursos; na verdade, exceto pelas trocas de tarefas (task switches) durante a multitarefa, ele gerava uma desvantagem de desempenho, retardando muitas instruções por meio de uma longa lista de verificações de privilégio 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, exatamente como no modo real.
A Intel não esperava que a falta de suporte de máquina virtual para software 8086 fosse um problema, porque achava que novos softwares usando todas as capacidades do 80286 apareceriam rapidamente. Bill Gates se referiu ao 80286 como um chip "com morte cerebral", porque ele não pode usar máquinas virtuais para executar em multitarefa vários aplicativos MS-DOS com um sistema operacional como o Microsoft Windows. Ele foi possivelmente o responsável pela divisão entre a Microsoft e a IBM, já que a IBM insistiu que o OS/2, originalmente uma joint venture entre a IBM e a Microsoft, rodasse em um 286 (e em modo de texto).
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 do 80286 (ou seja, modo protegido), permitindo aos usuários tirar o máximo proveito do modo protegido para realizar operações multiusuário e multitarefa enquanto executavam a emulação do 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 em nível de produção, em maio, o que não permitiria que o Concurrent DOS 286 executasse software 8086 no 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 testes extensivos em amostras da etapa E-1 do 80286, a Digital Research reconheceu que a Intel havia corrigido todas as erratas documentadas do 286, mas disse que ainda havia problemas não documentados de desempenho do chip com a versão de pré-lançamento do Concurrent DOS 286 rodando na etapa E-1. A Intel disse que a abordagem que a Digital Research desejava adotar para emular o software 8086 no modo protegido diferia 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 de forma muito mais rápida. Nomeado IBM 4680 OS, a IBM originalmente escolheu o DR Concurrent DOS 286 como base de seu computador IBM 4680 para produtos do IBM Plant System e terminais de ponto de venda em 1986. O 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 IBM 4690 OS, mas as mesmas limitações o afetaram.
Outros sistemas operacionais que usavam o modo protegido do 286 foram o Xenix da Microsoft (por volta de 1984), o Coherent, e o Minix. Estes foram menos prejudicados pelas limitações do modo protegido do 80286 porque não tinham o objetivo de rodar aplicativos MS-DOS ou outros programas de modo real.
Ao projetar o 80386, os engenheiros da Intel estavam cientes e concordavam com a má reputação do 80286. Eles aprimoraram o modo protegido do 80386 para endereçar mais memória e também adicionaram o modo virtual 8086 separado, um modo dentro do modo protegido com compatibilidade muito melhor com o MS-DOS.

Abaixo está uma lista de componentes de interface de barramento que se conectam a um microprocessador Intel 80286.