# Intel 80286

Der Intel 80286, auch iAPX 286 oder Intel 286, war ein x86-Mikroprozessor mit 16-Bit-Architektur des Unternehmens Intel, der am 1. Februar 1982 als Nachfolger des 8086 auf den Markt kam. Der 286er – wie der 80286 häufig auch genannt wird (gesprochen Zweisechsundachtziger) – wurde zunächst in Büro-Mikrocomputeranlagen eingebaut, die unter Unix liefen. 1984 brachte dann das Unternehmen IBM den PC/AT auf 80286-Basis als Nachfolger des PC XT heraus. Fast ausschließlich durch die PC/AT-Computer und deren kompatible Nachbauten fand der 80286 Verbreitung.

## Geschichte

Der Intel 80286 erschien 1982 auf dem Markt, kurz nach dem Erscheinen des ersten IBM Personal Computer und vier Jahre nach dem 8086. Er stellt eine komplette Überarbeitung des 8086 dar, die Anzahl der verbauten Transistoren stieg um den Faktor 4,62. Er weist bei gleicher Taktfrequenz etwa die 3- bis 4-fache Leistung gegenüber einem 8086 auf. Die ersten Versionen waren noch vergleichsweise langsam mit 4 MHz, 6 MHz und 8 MHz getaktet, spätere Versionen erlaubten Taktfrequenzen bis 12,5 MHz. AMD und Harris stellten später auch CPUs mit 16 MHz, 20 MHz und 25 MHz her. Technologisch setzt er letztmals auf einen NMOS-Prozess mit 1,5 µm Strukturbreite. Spätere Prozessoren wie auch Nachbauten des 80286 durch Intersil und Fujitsu wechselten zum stromsparenderen CMOS-Prozess.

## Architektur

Grundlegende Unterschiede in der Architektur zum 8086:
* kein gemultiplexter Adress/Datenbus mehr (8086: Daten- und Adressbus gemultiplext)
* Schnellere Speicherzugriffe: 2 Takte (8088 und 8086: 4 Takte)
* zusätzlicher Adder für Adressberechnung (8086: normale ALU wurde zur Adressberechnung genutzt, 4 Takte zusätzlich bei einfachen Adressberechnungen [BP+SI], 8 Takte bei doppelten [BP+SI+nn])
* Hardware-Multiplizierer, 16 Bit-Multiplikation in 21 Takten (8086: 118–133 Takte, Z80: 214–667 Takte in SW)
* Hardware-Dividierer, 16 Bit-Division in 22 Takten (8086: 144–162 Takte)
* schnellerer Shifter (aber noch keinen Barrel-Shifter), 1 Takt pro Verschiebung (8086: 4 Takte)
* Zusätzliche Befehle: Verschiebe-Befehle: ROR/ROL/RCR/RCL/SAL/SAR/SHL immediate, MUL immediate, PUSH immediate, PUSHA/POPA, ENTER/LEAVE, INS/OUTS, BOUND
* Unterstützung eines Protected Mode, der physisch bis zu 16 MiB und logisch bis zu 512 MiB (8191 Segmente à 64 KiB) adressieren konnte.
* 4 weitere Adressleitungen A20 bis A23 zur Adressierung von 16 MiB statt 1 MiB
* Gleitkommabefehle für den 80287 erfordern keine Synchronisation mittels FWAIT mehr.
* Geschwindigkeitsgewinn des 80286 gegenüber 8088 (taktbereinigt): ca. 3,5 bis 4
* Geschwindigkeitsgewinn des 80287 gegenüber 8087 (taktbereinigt): ca. 1 bis 1,15 (interne Verarbeitungsgeschwindigkeit identisch, schnellerer Bus)

## Features
### Protected Mode

Bezüglich seines Befehlssatzes ist der 80286 abwärtskompatibel zum 8086, er führte aber einen zusätzlichen Betriebsmodus ein: den Protected Mode. Der zum 8086 abwärtskompatible Betriebsmodus erhielt die Bezeichnung Real Mode. Die Bezeichnung Real Mode wurde derart geläufig, dass sogar bis heute häufig über den 8086 und dessen Bruder 8088 vereinfachend gesagt wird, sie würden im Real Mode laufen, denn im Real Mode war der 80286 fast vollständig softwarekompatibel zum 8086 – einschließlich der Beschränkung auf 1 MiB Adressraum.
Der Protected Mode dagegen erlaubt es, über den 24 Bit breiten Adressbus bis zu 16 MiB zu adressieren. Die Beschränkung auf maximal 64 KiB große Segmente blieb jedoch auch in diesem Betriebsmodus bestehen – alle Adressregister waren nach wie vor nur 16 Bit breit. Allerdings konnte ein Segment auf eine nahezu beliebige Adresse im 24-Bit-Adressraum gelegt werden. Nur so erschloss sich für Programmcode der gesamte Adressraum. Durch die Speicherverwaltungsmöglichkeit des Protected Modes steht ein virtueller Speicher von knapp 1 GiB (16383 Segmente zu max. 64 KiB) zur Verfügung. Siehe dazu auch 16-Bit Protected Mode.
Der Protected Mode unterstützte Multitasking, Speicherschutz und weitere, im Real Mode nicht verfügbare Erweiterungen. Obwohl der Protected Mode schwieriger zu programmieren war als der Real Mode, bot er eine Vielzahl von Vorteilen und neuen Möglichkeiten. Die Entwickler von Intel glaubten, dass alte Programme, die sich an gewisse Regeln hielten, unverändert im neuen Modus laufen würden. In der Praxis zeigte sich jedoch, dass aufgrund vieler Probleme mit der PC-Architektur und dem Betriebssystem MS-DOS fast keine Real-Mode-Programme im Protected Mode lauffähig waren. Bill Gates bezeichnete den 80286 auch als hirnlosen Chip, da die CPU in einer Windows-Umgebung nicht mehrere MS-DOS-Programme gleichzeitig abarbeiten konnte. Dies wurde erst im Nachfolger 80386 ermöglicht, der dafür einen eigenen Betriebsmodus, den Virtual 8086 Mode bekam.
Die CPU konnte zwar relativ einfach in den Protected Mode geschaltet werden – der Weg zurück war jedoch nur über einen Reset möglich oder durch Benutzen eines undokumentierten Befehles (LOADALL 0x0F05 – lade alle Prozessorregister aus dem Speicher). Es wurde viel spekuliert, warum Intel keine einfachere Möglichkeit bot, vom Protected Mode in den Real Mode zurückzukehren – die am häufigsten angeführten Gründe sind:
* Intel betrachtete den Protected Mode als derart überlegen, dass niemand in den Real Mode würde zurückschalten wollen.
* Ein entsprechender Befehl sei vorgesehen gewesen, er habe jedoch nicht richtig funktioniert und wurde vor Markteinführung kurzfristig stillgelegt.
* Ein Designfehler an der Mikroarchitektur des 80286 habe ein problemfreies Zurückschalten nicht ohne tiefgreifende Veränderungen an dieser ermöglicht.
* Die Implementierung des Befehls wurde schlicht und einfach vergessen.
* Intel 80286 mit 10 MHz (PLCC-Gehäuse)
* Siemens SAB 80286 (PLCC-Gehäuse)
* IBM 80286 für 8 MHz (PGA-Gehäuse)

### Memory Extender

1987, mit Windows 2.1, realisierte das Unternehmen Microsoft zum ersten Mal einen sogenannten Memory-Extender, der den Protected Mode des 80286 zu Hilfe nahm. Mit solchen Memory-Extendern kann aus DOS heraus Speicher oberhalb der 1-MiB-Grenze und des High Memory, das sogenannte Extended Memory genutzt werden.
1988 wurde dieser Zugriff standardisiert. Der Standard hieß XMS. Die Memory-Extender hießen XMS-Extender. Der bekannteste unter ihnen wurde der ab 1990 mit DOS 5.0 mitgelieferte Extender HIMEM.SYS.

### DOS-Extender und Windows

Ab 1990 kamen dann auch DOS-Extender zur verbesserten Nutzung des Protected Mode der 80286- und 80386-Prozessoren auf.
Bis Windows 3.0 wurde der Real Mode des PC XT (8086/88) unterstützt, bis Windows 3.1 der Standard Mode (d. h. der 16-Bit-Protected-Mode) des AT (80286). Windows für Workgroups 3.11 lief allerdings nur noch im Enhanced Mode (d. h. 32-Bit-Protected-Mode), der einen 80386-Prozessor oder höher erfordert. Ebenso setzte Windows 95 einen 80386-Prozessor oder besser voraus.

### Unix

Das bereits zuvor von Microsoft und SCO auf den 8086 portierte Unix System V erschien 1985 als Xenix 286 System V Release 2.0 auch für den 80286. Auch Coherent lief auf dem 80286, jedoch konnte PC-Unix erst mit dem 80386 auf der x86-Architektur richtig Fuß fassen.

## Technische Daten

* Max. adressierbarer Speicher: 16 MiB
* Verarbeitungsbreite: 16 Bit
* Datenbus: 16 Bit
* Adressbus: 24 Bit
* L1-Cache: nicht vorhanden
* L2-Cache: nicht vorhanden
* Bauform: PGA, PLCC oder LCC mit 68 Pins
* Betriebsspannung (VCore): 5 V
* Erscheinungsdatum: 1982
* Fertigungstechnik: 1,5 µm
* Die-Größe: 47 mm² bei 134.000 Transistoren
* max. Taktfrequenzen:
** 04 MHz: nur für kurze Zeit erhältlich, externer Takt: 8 MHz
** 06/8/10/12/16 MHz
** 20 MHz: nur Harris/Intersil CS80C286-20 und AMD N80C286-20
** 25 MHz: nur Harris/Intersil CS80C286-25

## Peripheriebausteine

* Intel 82284: Taktgeber
* Intel 82288: Bus-Controller
* Intel 82289: Bus-Arbiter