Home Computer x86 Prozessoren Site Map counter

Der 80286

In einer losen Reihe will ich die Hardwareentwicklung der x86 Architektur bis zum Pentium 4 nachvollziehen. Danach wird es für den Autor relativ schwer, weil zum einen Intel seine Produktpalette sehr stark erweiterte, zum anderen die Firma die Entwicklungszyklen aufspaltete in einen Teil, in dem man die Architektur erweitert und einem in dem man mehr Transistoren unterbringt, also die Herstellungstechnologie ändert. Dadurch gibt es nicht mehr eine "Generation" mit definierten Eigenschaften mehr.

Heute geht es um den Urvater des IBM AT, der zweiten Generation in der x86 Architektur dem 80286. Er erschien im Februar 1982, mehr als dreieinhalb Jahre nach dem 8086.

Intel 80286 (10 MHz)Zwischen dem 8086 und 80286 liegen drei Jahre. In diesen hat Intel die interne Funktionsweise des Prozessor dramatisch verändert. Das zeigt auch die Benennung des Chips, der nun erstmals eine fünfstellige Nummer erhielt. Vorher waren sie vierstellig und anhand der Nummer konnte man nicht die Entwicklung nachvollziehen. So war die verbesserte Version des 4004 der 4040 und die verbesserte Version des 8080 der 8085. Umgekehrt war der 8088 keine verbesserte Version des 8086 sondern eine "abgespeckte" mit halbiertem Datenbus.

Durch Hochzahlen der Nummer an der dritten Stelle konnte man dann leicht die Generation des x86 Prozessors erkennen. Kurz vorher erschien eine verbesserte 8086 Version dann als 80186. Das System schaffte Intel wieder ab, als man die Nummer 80586 als Warenzeichen schützen wollte um den Konkurrenten die Verwendung zu verwehren, dann aber vor Gericht damit unterlag.

Intern hatte man einen großen Schritt nach Vorne gemacht. So war ein 80286 bei gleicher Taktfrequenz zwei bis dreimal schneller als ein 8086 und mindestens viermal schneller als der im IBM PC verbaute 8088. Es gab auch keine Version mit 8-Bit-Datenbus wie Der 8086 bestand aus zwei Ausführungseinheiten, der 80286 hatte die Zahl auf vier verdoppelt. Die Bus Interface Unit (BIU) des 8086 wurde aufgeteilt in die Adressunit (AU) und Bus Unit (BU). Die Adressunit errechnete die realen physikalischen Adressen, da der Prozessor nach wie vor Segment und Offsetregister hatte, also keine 24 Bit langen Adressen wie er sie für den Adressraum benötigte. Sie überwachte auch die Einhaltung der Segmentgrenzen und löste eine Exception (Ausnahme) aus wenn diese verletzt wurden.

Die BU hatte die Aufgaben die Daten vom Speicher zu holen und zu schreiben auch Anweisungen vorrausschauend zu laden (Prefetch). Sie hatte dazu einen 6 Byte langen Buffer. Dazu kam eine zweite Queue, die drei dekodierte Instruktionen aufnahm. Um den Durchsatz weiter zu erhöhen erfolgte nun auch der Fetch mit 16 Bit. Beim 8086 und186 waren es noch 8 Bit gewesen.

Die Execution Unit (EU) des 8086 war aufgetrennt worden in die Execution Unit EU und Instruction Unit (IU). Letztere enthielt den Befehlsdecoder und die Pipeline. Die ALU in der EU selbst hatte sich kaum geändert, auch gab es noch die gleichen Register wie im 8086.

Den größten Sprung brachte die Einführung einer Pipeline. Sie ermöglicht es mehrere Befehle gleichzeitig zu laden und parallel zu dekodieren. Dadurch konnte die Ausführungszeit pro Takt deutlich reduziert werden. Zahlreiche Instruktionen brauchten nur noch 2 bis 3 Takte. Beim 8086 waren es noch durchschnittlich 7,7 Takte pro Befehl. Bei gleichem Takt war ein  80286 ohne Wartetakte 2,4mal schneller als ein 8086, das erforderte aber teure RAM, sodass die meisten Systeme einen Wartetakt einlegten. Das ergab dann immer noch den Faktor 2,2. Es war der größte Sprung in der Geschichte aller Intel-Prozessoren, wenn man die Steigerung der Taktfrequenz außen vorlässt.

Die Pipeline hatten bei 80286 drei Stufen. Sie sollte bei den folgenden Prozessoren sukzessive mehr Stufen erhalten und so zum einen die Taktzyklen pro Befehl senken, und zum anderen einen höheren Takt erlauben, da pro Stufe weniger zu tun ist. Drei Stufen entsprechen bei einfachen Befehlen (Beispiel MOV EX,BX, ADD CX,DX) ohne Zugriff auf den Speicher oder I/O-Ports den elementaren Operationen Fetch (Befehl aus dem Speicher holen), Decode (Dekodieren, also Befehl feststellen), und Execute (Befehl ausführen). Befehle die nur einen Takt pro Stufe brauchten waren dann in zwei Takten ausgeführt.

AufbauIntel hatte damals schon eine Philosophie die seitdem beibehalten wurden: Komptabilität ist heilig. Während man den 80286 entwickelte, kam der IBM PC auf den Markt. Als der 80286 im Februar 1982 erschien, war der IBM PC gerade mal fünf Monate auf dem Markt, aber die ersten Verhandlungen mit Intel gab es ein Jahr früher, die Firma wusste von IBMs Plänen und Intel musste man die Marktbedeutung von IBM nicht erklären. Der 8086 hatte ein sehr umständliches Programmiermodell. Er war schnell entwickelt worden und konnte seinen Adressbereich von 1 MByte nur mit vier Fenstern von je 64 KByte Größe ansprechen. Das war nicht nur aufwendig, es begrenzte bei Daten ohne Programmiertricks die Größe auch auf 64 KByte. Der 8086 behielt diesen Modus bei, der nun "Real Mode" getauft wurde. Damit war er zu nahezu 100% kompatibel zum 8086. Er eröffnete dem Programmierer aber auch einen neuen Modus, "Protected Mode" genannt. In ihm konnten 16 MByte ohne Segmentierung angesprochen werden. Es gab auch die Unterstützung für virtuellem Speicher von 1 GByte Größe. Der virtuelle Speicher war der adressierbare Gesamtspeicher in dem der 16 MByte große reale Arbeitsspeicher "gemapt" wurde. Griff ein Programm auf eine Adresse zu die nicht im gemappten Speicher lag, so erzeugte dies eine Ausnahme die vom Betriebssystem abgefangen werden konnte. Der gerade nicht benutzte virtuelle Speicher wurde dann üblicherweise auf eine Festplatte ausgelagert. Für die Verwaltung war eine MMU (Memory Mangement Unit) integriert worden.

Der Protected Mode hatte nicht nur den Vorteil einer besseren Speicheradressierung, in ihm waren auch Instruktionen vorhanden die nicht Anwendungsprogramme brauchten, dafür aber das Betriebssystem. So konnte ein Betriebssystem einen Task beenden. Es gab in diesem Modus auch Segmentbeschreibungsfelder, mit denen man die Eigenschaften des Segmentes (auch die Größe, die nun kleiner als 64 KByte sein konnte) aufnahmen. So konnte man festlegen, das Datensegmente nicht beschrieben werden können. Das ermöglichte es einem Betriebssystem viel besser zu kontrollieren was eine Anwendung tat.

Neu war auch die Unterstützung von mehreren Prozessen. Der 80286 hatte eine Rechenleistung die vor wenigen Jahren noch Minicomputer hatten und diese setzten ein multitaskingfähiges Betriebssystem wie UNIX ein. Tasks hatten z.B. eine Zuordnung von einem von vier Privilegleveln (0: Kernel, 4: Applikationsebene) die festlegte, was sie tun dürften und was nicht. Genutzt wurden meist nur die Ebenen 0 und 4. Beim Taskwechsel wurden die Register gesichert. Weitere Möglichkeiten, die es gab, war es zu testen ob ein Zeiger physikalischen Speicher ansprach oder nicht oder er in dem Segment lesen oder schreiben dürfte.

Aufbau 2Die Möglichkeiten des Protected Mode waren sehr weitgehend und sie boten eine optimale Unterstützung für Betriebssysteme die mehrere Programme parallel ausführten, es gab Schutz Mechanismen von wichtigen Strukturen des Betriebssystemen durch Programme dazu kam die Unterstützung für virtuellem Speicher, auch wenn die Verwaltung noch vom Betriebssystem geleistet werden musste. Klar war, das Intel diesen Prozessor sicher in Rechnern sehen wollte, die Minicomputern Konkurrenz machten. Mit Betriebssystemen wie UNIX oder VMS. Der Realmodus würde als Kompatibilität Modus für die Migration bestehender Software noch zur Verfügung stehen, aber wohl sicher bald nicht mehr benötigt werden. Daher verwundert es nicht, dass es einen Befehl gab um von Real Modus (in dem der Prozessor nach Anlagen der Spannung startete) in den Protected Mode zu wechseln, aber nicht umgekehrt (später entdeckte man eine nicht dokumentierte Anweisung dies das zuließ).

Das erwies sich als ein großer Nachteil, denn so war es so, dass ein Benutzer eines Betriebssystems im Protected Mode keine Programme ausführen konnte die im Real Mode liefen. Das bedeutete für die PC Plattform, dass man die DOS Programme nicht nutzen konnte, wenn man ein Betriebssystem im Protected Mode wie OS/2 einsetzte. Bill Gates hielt dies für einen so starken Nachteil, dass er IBM drängte bei OS/2 die 80286 Architektur zu überspringen und gleich auf den 80386 zu setzen, bei dem es möglich war Real Mode Programme als Task im Protected Mode auszuführen.

Geschichtliche Bedeutung

In der Praxis wurde der 80286 nur als schneller 8086 eingesetzt. Als 1984 die ersten Rechner (IBM PC/AT) mehr als 1 MByte RAM hatten wurde der Speicher für eine RAM Floppy genutzt. DOS würde bis zur letzten Version, die 1994 erschien nur 640 KByte Speicher und den real Mode unterstützen. Erst 1987 kam mit DOS 3.3 ein Treiber dazu, der den Speicher über 1 MByte als erweiterten Speicher zum Auslagern von Daten zu benutzen. Er nutzt ein zweites Relikt des 8086 aus, das der 80286 emulieren musste, das A20 Gate. Beim 8086 war es ohne Fehler möglich mehr als 1 MByte zu adressieren. Die Adressen wurden vom Prozessor einfach abgeschnitten. Beim 80286 griff man so aber auf die ersten 65520 Bytes des zweiten Megabytes zu. Ein Treiber in diesem Bereich konnte dann auf den restlichen Speicher zugreifen und in Blöcken Daten vom unteren ersten MB nach oben transferieren und umgekehrt.

Der IBM PC/AT konnte z. B. nicht mehr als 1 Megabyte für Programme nutzen. Der DOS-Speicher war auf 640 Kbyte beschränkt. Bis Windows mit der Version 3.0 die Unterstützung von mehr Speicher erlaubte war die Blütezeit des 80286 schon vergangen. Der zusätzliche Speicher wurde für RAM-Floppies oder Speichererweiterungen nach dem XMS oder EMM-Standard genutzt.

intel 80286 DieBeim 80286 wirkte es sich schon langsam aus, dass Intel die Taktgeschwindigkeit schneller steigern konnte, als die Speicher schneller wurden. Bedingt durch die Pipeline holte der Prozessor viel schneller Daten vom Speicher. Die 8 MHz Version kam noch gut mit den schnellsten Speicherchips mit 125 ns Zugriffszeit zurecht, doch bei der kurz darauf vorgestellten 10 MHz Version musste man Wartetakte einführen. Ein Wartetakt verlangsamte den Prozessor um rund 5%, immerhin ein Viertel des Geschwindigkeitsgewinns zur 8 MHz Version. Intel hörte daher auch bei 16 MHz Taktfrequenz auf da RAM sonst zu langsam war. Harris und AMD, die Lizenznehmer waren bauten auch 20 und 25 MHz Versionen, die jedoch ohne Cache nicht die Geschwindigkeitssteigerung hatten, die man sich vom hohen Takt erhoffte. Sie wurden aber auch länger produziert, sodass sie von gestiegenen RAM Geschwindigkeiten profitierten. (Die 20 MHz Version vom AMD z.B. noch 1993, als es 60 ns EDO-RAM gab, gut genug für 16,7 MHz ohne Wartetakte). Der 80286 hatte noch keine technische Unterstützung für einen externen Cache.

Technisch hatte Intel mit dem 68010 von Motorola gleichgezogen. Auch er bot virtuelle Speicheradressierung und war auch in etwa gleich schnell. Ein 80286 erreichte im Dhrystone Benchmark bei 6 MHz 0,8 bis 0,9 MPS, 10 MHz schon 1,5 MIPS und war damit schneller als eine VAX 11/780 die den Standard von 1 MIPS setzte (allerdings real eher 0,5 MIPS schnell). Die 12 MHz Version als schnellste Version von Intel erreichte 1,66 Dhrystone MIPS. (Hinweis: Dhrystone MIPS sind keine Prozessor MIPS, die lagen etwas geringer). Die 25 MHz Version (die nicht von Intel aber Harris und AMD gefertigt wurde) erreichte 3,2 MIPS. In der Geschwindigkeit konnte er sogar mit dem 68020 mithalten, zumindest in den höheren Taktstufen. Die 8 MHz Version des 80286 war in Benchmarks typisch doppelt so schnell wie die 5 MHz Version des 8086 oder 1,5-mal schneller als die gleich hoch getaktete 8085 Version. Der 80286 benötigte im Instruktionsmix 4,76 - 4,92 Takte/Befehl.

Das Schicksal des 80286 war es, dass er nicht die Softwareunterstützung erhielt, die ihm gebührte. Obwohl IBM ihren IBM PC/AT auf Basis dieses Prozessors erst mehr als zwei Jahre nach der Verfügbarkeit des 80286 einführte, nutzt die Software (MS DOS 3.0) die Möglichkeiten des Prozessors in keiner Weise aus. Die neue DOS Version 3.0 hatte einige neue Features, arbeitete aber nach wie vor im Realmode. Mit der Entwicklung von OS/2, das auf dem Protected Mode wurde erst im August 1985 begonnen, als es den IBM PC/AT schon gab und man das Problem hatte, das bei den Rechnern mit 1 MByte RAM man nur den Speicher über 640 KByte als RAM Floppy nutzen konnte. Als es erschien, war schon der 803856 aktuell, der Real Mode Programme geschützt im Protected Mode ablaufen lassen konnte und dessen Fähigkeiten dann den Durchbruch für Windows 3 bringen sollten. Bis Windows 3.0 erschien vergingen aber noch weitere drei Jahre und zu diesem Zeitpunkt spielte der 80286 bei den Verkäufen keine große Rolle mehr. Der 80286 wäre ein guter Prozessor für die zeitgleich erschienen Workstations gewesen. Doch die meisten dieser z.B. von Sun oder Apollo setzten den 68000 und seine Nachfolger ein, weil sie schon länger auf dem Markt waren und es angepasste und lauffähige UNIX Versionen für die MC 68K Reihe gab.

Windows 3.0 basierte auf dem Befehlssatz des 80286 ("Standard Modus", bekam aber auch eine Unterstützung für den 80386, diese wurde vor allem eingesetzt wenn DOS-Programme im virtuellen 8086-Modus ausgeführt wurden.

Technische Daten
Erschienen: Februar 1982
Transistoren: 134.000
Technologie 1,5 µm HMOS
Taktfrequenzen: 6, 8, 10, 12,5, 16, 20, 25 MHz
Recheneinheiten Ganz/Fließkomma 1 / 0
Geschwindigkeit Ganzzahlen 1,889 Dhrystones bei 10 MHz
Geschwindigkeit Fließkommazahlen 0,0852 Whetstones bei 10 MHz
Geschwindigkeit: 0,8 - 2,5 Dhrystone MIPS
Spannung: 5 V
Gehäuse: PGA / PLCC mit 68 Pins
Adressierbarer Arbeitsspeicher: 16 MByte
Datenbus: 16 Bit breit
Vorgänger: 8086
Nachfolger: 80386

Links:

https://www.cs.uaf.edu/2013/fall/cs441/Pres/Intel_80x86.pdf

http://bitsavers.informatik.uni-stuttgart.de/pdf/amd/_dataSheets/80286_Nov85.pdf

Artikel erstellt am 3.7.2014, aktualisiert am 9.4.2022

Zum Thema Computer ist auch von mir ein Buch erschienen. "Computergeschichte(n)" beinhaltet, das was der Titel aussagt: einzelne Episoden aus der Frühzeit des PC. Es sind Episoden aus den Lebensläufen von Ed Roberts, Bill Gates, Steve Jobs, Stephen Wozniak, Gary Kildall, Adam Osborne, Jack Tramiel und Chuck Peddle und wie sie den PC schufen.

Das Buch wird abgerundet durch eine kurze Erklärung der Computertechnik vor dem PC, sowie einer Zusammenfassung was danach geschah, als die Claims abgesteckt waren. Ich habe versucht ein Buch zu schreiben, dass sie dahingehend von anderen Büchern abhebt, dass es nicht nur Geschichte erzählt sondern auch erklärt warum bestimmte Produkte erfolgreich waren, also auf die Technik eingeht.

Die 2014 erschienene zweite Auflage wurde aktualisiert und leicht erweitert. Die umfangreichste Änderung ist ein 60 Seiten starkes Kapitel über Seymour Cray und die von ihm entworfenen Supercomputer. Bedingt durch Preissenkungen bei Neuauflagen ist es mit 19,90 Euro trotz gestiegenem Umfang um 5 Euro billiger als die erste Auflage. Es ist auch als e-Book für 10,99 Euro erschienen.

Mehr über das Buch auf dieser eigenen Seite.

Hier geht's zur Gesamtübersicht meiner Bücher mit direkten Links zum BOD-Buchshop. Die Bücher sind aber auch direkt im Buchhandel bestellbar (da ich über sehr spezielle Themen schreibe, wird man sie wohl kaum in der Auslage finden) und sie sind natürlich in den gängigen Online-Plattformen wie Amazon, Libri, Buecher.de erhältlich.


© des Textes: Bernd Leitenberger. Jede Veröffentlichung dieses Textes im Ganzen oder in Auszügen darf nur mit Zustimmung des Urhebers erfolgen.
Sitemap Kontakt Impressum / Datenschutz Neues Hier werben / advertisment here Buchshop Bücher vom Autor Top 99