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,Um parente mais simples na linha 8086 com periféricos integrados, destinado a sistemas embarcados. 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.Teixeira, Kevin, "What's Next For The 80286?", Intel Corporation, Microcomputer Solutions, Novembro/Dezembro de 1987, página 16
História e desempenho
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.Intel Corporation, "NewsBits: Second Source News", Solutions, Janeiro/Fevereiro de 1985, Página 1.
Variantes
Número do modelo Frequência Tecnologia Processo Encapsulamento Data de lançamento Preço em USDEm quantidades de 100. 80286-10Intel Corporation, "New Product Focus Components: 80286 Workhorses: Twice As Fast", Solutions, Julho/Agosto de 1985, Página 17. 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 MG80286Intel Corporation, "New Product Focus Components: Highest Ranking 16-bit Microprocessor Meets Military Objectives", Solutions, Setembro/Outubro de 1985, página 13. Setembro/Outubro de 1985 $784 80286Ashborn, Jim; "Advanced Packaging: A Little Goes A Long Way", Intel Corporation, Solutions, Janeiro/Fevereiro de 1986, Página 2 PGA de 68 PinosAmostragem no 3º Trimestre de 1985 Janeiro/Fevereiro de 1986 80286 PLCC de 68 PinosAmostragem no 2º Trimestre de 1986 Janeiro/Fevereiro de 1986
Arquitetura
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.Intel Corporation, "New Product Focus Components: Highest Ranking 16-bit Microprocessor Meets Military Objectives", Solutions, Setembro/Outubro de 1985, página 13 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.
Recursos
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 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: Formação de diferentes segmentos para dados, código e pilha (stack), e a prevenção da sua sobreposição. Atribuição de níveis de privilégio a cada segmento. Segmentos com níveis de privilégio menores não podem acessar segmentos com níveis de privilégio maiores.
No 80286 (e em seu coprocessador Intel 80287), as operações aritméticas podem ser executadas nos seguintes tipos diferentes de números: decimal compactado sem sinal, binário sem sinal, decimal descompactado sem sinal, binário com sinal, números de ponto flutuante (apenas com um 80287).
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.
Suporte em SOs 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.