Intel feiert groß auf der Computex in Taipeh und verlost 4000 Jubiläums-Prozessoren namens Core i7-8086K. Vor genau 40 Jahren, am 8 Juni 1978, wurde der 8086 offiziell vorgestellt, als 16-bittiger Nachfolger des recht erfolgreichen 8-Bit-Mikroprozessors 8080. Letzerer war noch vom charismatischen italienischen Chefarchitekten Federico Faggin designt worden, bevor dieser tief beleidigt Intel verließ und die Firma ZiLOG gründete. Deren in Windeseile konzipierter Z80-Prozessor war 8080-binärkompatibel, aber weitaus leistungsfähiger, und so kaufte er dem 8080 schnell den Schneid ab.

Für 1978/79 hatte Faggin bereits den 16-Bit-Nachfolgeprozessor Z8000 angekündigt, der aber dann wegen zahlreicher Bugs nicht so richtig in Gang kam. Doch das wusste Intel noch nicht und so war Eile geboten, damit ihr 16-Bit-Prozessor nicht nur rechtzeitig vor der ZiLOG-Konkurrenz, sondern vor allem auch vor Motorolas 68000 herauskommt. Von jenem hörte man gar "Wunderdinge", sollte er doch mehr als eine nur 16-bittige-Hardware besitzen, nämlich eine Architektur, die zumindest teilweise schon für 32 Bit ausgelegt war.

Ein hochwertiges, völlig neuartiges 32-Bit-Design hatte Intel zwar auch in der Queue, den iAPX 432, doch der war für die fernere Zukunft gedacht (und scheiterte später ziemlich kläglich).

Man brauchte aber ganz schnell etwas gegen die in Fahrt kommende Konkurrenz und so schob Intel den mit 29.000 Transistoren halbwegs überschaubaren 8086 ein. Doch bis man tatsächlich nicht nur den Prozessor, sondern auch ein 8086-Evaluierungs-Kit in den Händen halten konnte, sollte es noch ein gutes Weilchen dauern. Der Hardware-Experte Steve Ciarcia des damals führenden Computermagazins Byte veröffentlichte jedenfalls seinen Überblick über die 8086-Prozessorarchitektur und seine ersten Erfahrungen mit dem MCS-86 System Design Kit (Kostenpunkt 780 US-Dollar) erst über ein Jahr später im November 1979, da hatte Motorola auch schon die ersten 68000er herausgebracht .

Es dauert dann aber noch über ein Jahr, bis man mit Intels 8086-Entwicklungssystem (MCS-86System Design Kit ) spielen konnte, hier bei Steve Ciarcia in der Novemberausgabe von Byte 1979 (Bild: Byte Publications Inc.)

Im Sommer zuvor hatte Intels Design-Center in Israel bereits eine Variante des 8086 fertiggestellt, den 8088. Dieser Chip war intern genauso aufgebaut wie der große 8086-Bruder, er kommunizierte jedoch die Daten von und nach außen in zwei Häppchen à 8 Bit. Dadurch opferte man zwar etwas Bandbreite, man verbilligte aber das Board-Design, denn so konnte man bewährte und preiswerte 8-bittige Peripheriebausteine verwenden. Auch Motorola fand diese Sparidee offenbar sinnvoll und folgte dem Beispiel mit dem 68008, der ebenfalls die Daten in zwei Häppchen aufteilte.

Von Intels Sparversion machten dann 1980/81 die IBM-Entwickler Gebrauch, als sie eine preiswerte Lösung suchten, um einen PC für zuhause und fürs Büro zu konzipieren – als Gegenstück zum erfolgreichem 8-Bit-Rechner Apple II. Das IBM-Management machte Druck und gab ihnen dafür nur ein Jahr Zeit, und so nahmen sie – wie IBMs PC-Entwickler David Bradley 2001 in einem c’t-Interview ausführte – fast ausnahmslos preiswerte Teile von der Stange, statt sie selbst zu entwickeln. Die Idee, so Bradley, war, dass der PC, so wie der Apple II eben auch, Büroapplikationen wie Textverarbeitung, Tabellenkalkulationen und kleine Datenbanken bieten sollte, aber daneben auch mal als Plattform für Spiele dienen konnte, etwa für "Colossal Cave" oder "Donkey" – letzteres stammte übrigens von einem damals weniger bekannten Programmierer namens Bill Gates.

Der andere IT-Gigant jener Zeit, die Digital Equipment Corporation, sah das mit den PCs offenbar ganz anders: "Es gibt keinen Grund, warum irgend jemand einen Computer in seinem Haus wollen würde", so Ken Olson, DEC-Präsident, -Vorsitzender und -Gründer im Jahre 1977. Diese Einstellung war womöglich der erste Sargnagel für die Corporation, die ironischerweise einige Jahre später vom IBM-PC-Nachbauer Compaq geschluckt wurde.

Erfolg dank IBM

Der Erfolg des mit Intel 8088 bestückten IBM-PCs war jedenfalls überwältigend, in den ersten fünf Jahren wurden zehnmal mehr PCs verkauft, als von IBM erwartet. In der Zwischenzeit sprangen zahlreiche andere Firmen so wie Compaq auf den PC-Zug auf, einige Designs verwendeten auch den "großen" 8086 – insbesondere auch das erste Selbstbauprojekt mit dem 8086, der c’t-8086 im Jahre 1984. Dieses c’t-Projekt verwendete allerdings keinen PC-Bus, sondern den in Europa verbreiteten und besser designten Europe Card Bus von Kontron.

Intel vergab damals recht großzügig Prozessorlizenzen und so wurde der 8086/88 Prozessor von vielen Firmen nachgebaut: AMD, NEC, Harris, Siemens, Fujitsu, OKI, TI, Matsushita, Mitsubishi … Insbesondere die schneller getakteten NEC-V20/30-Prozessoren machten Furore, sie boten auch ein paar Erweiterungen. Daneben gab es auch Nachbauten ohne Lizenz, etwa den K1810BM86 in der Sowjetunion.

Konnte man damals noch bequem mit der Lupe anschauen, das Layout auf dem Die. Hier nicht der Chip von Intel sondern der SAB8086 von Siemens. (Bild: Pauli Rautakorpi, Creative Commons Attribution-Share Alike 3.0 Unported)

In den frühen 80er-Jahren brachte Intel dann in schneller Folge die erheblich verbesserten und erweiterten Nachfolger 80186, 80286 (IBM-AT) und schließlich im Oktober 1985 den von Pat Gelsinger designten 32-Bit-Prozessor 80386, dessen Architektur wohl die entscheidende Basis für den Erfolg der nächsten Jahrzehnte legte und der vom Start weg mit weitaus höherer Performance das konkurrierende hausinterne (lahme) Prestige-Projekt iAPX432 geradezu wegputzte. So etwas ähnliches wiederholte sich dann später nochmal mit dem edlen 64-Bit-Serverprozessor Itanium, der von den Desktop-Kollegen Pentium Pro und Pentium 4 in der Performance locker an die Wand gespielt wurde.

Der 386-Prozessor selbst wurde erst 2006 abgekündigt, seine grundlegende Architektur ist bis heute Kernbestandteil aller iA-Prozessoren. Und bis heute sind die Intel-Prozessoren immer noch weitgehend kompatibel zum Urahn 8086 – allein, das wird kaum noch ausgenutzt, da moderne Betriebssysteme meist keine 16-Bit Unterstützung mehr anbieten.

Und immer wieder …

Wenn man jedoch spaßeshalber mal ein altes Betriebssystem, etwa DOS 6.22 (von allbootDiskISO als ISO verfügbar) startet, so läuft dieses samt Uralt-Programmen prinzipiell, nur wird man bei modernen Prozessoren ab Haswell über eine kleine, aber feine Inkompatibilität stolpern. Erfahrene heise-online- und c’t-Leser wissen, was jetzt kommt – jaja, das putzige A20-Gate. "Leitung A20 kann nicht gesteuert werden" meckert dann der XMS-Treiber Himem.sys. Auf Sandy-Brigde-Systemen kann man hingegen A20M zumeist noch im BIOS-Setup freischalten.

Dieses A20-Gate simuliert eine Eigenheit der 8086/88-Prozessoren, die mit ihren 16-Bit-Registern nur 64-KByte-Blöcke adressieren können. Um auf 1 MByte Adressraum zu kommen (20 Bit) verwenden sie zusätzliche Segment-Register, deren Inhalt um 4 Bit nach links verschoben hinzuaddiert wird. Damit lässt sich dann jede physische Adresse auf 16 verschiedene Weisen aus Segment:Offset zusammensetzen. Zum Beispiel physisch FFFF0 aus FFFF:0000 = FFFE:0010= FFFD:0020 etc. Auf die Art konnten findige Programmierer bei Unterprogramm-Aufrufen zusätzlich vier Bits an Informationen mitliefern, ohne zusätzliche Register zu belegen. Das geht auch heute noch, aber der 8086/88 hatte nur 20 Adressbits. Die Segment:Offset-Adresse FFFF:0010 fängt dann physisch wieder von vorn an ("Wrap around"), das entspricht also 0000:0000. Und niemand anderes als Microsoft hatte just diesen Trick mit Wrap around verwendet. Nicht Intel, sondern IBM kam dann bei dem IBM-AT auf die Idee, dieses Verhalten einfach durch Abschalten der A20-Leitung zu simulieren. Intel hat das Gate dann aber später ab dem 486 in den Prozessor integriert – volle Kompatibilität war eben heilig.

Gleitkomma beherrschte der 8086 selbst nicht, aber er konnte mit einem externen Coprozessor 8087 zusammenspielen. Dieser 8087-Coprozessor, der fast dreimal so viel Transistoren wie der Hauptprozessor hatte und der das Sechsfache kostete, wurde ebenso wie der 8088 in Haifa entwickelt, – unter der Leitung von Dadi Perlmutter, der vor einigen Jahren in den Wirren um die Nachfolge von Ex-Intel-Chef Otellini die Firma enttäuscht verließ. IBM hatte einen Sockel für den 8087 im PC vorgesehen, aber richtig erhältlich war er erst etliche Monate später.

Die Kommunikation zwischen Haupt- und Co-Prozessor per I/O war allerdings ausgesprochen lahm. Insgesamt kam das Gespann auf etwa 50 KFlops – da ist man heute mit AVX512 pro Kern etwa 1,5 Millionen Mal so schnell.

8086 und die Nasa

Zu den ebenfalls immer wieder gerne kolportierten Geschichten rund um den 8086 gehört die, dass die Nasa im Jahre 2002 verzweifelt über Ebay und Yahoo 8086 Prozessoren gesucht und eingekauft hat. Die Prozessoren wurden nämlich seit 1981 im Diagnosesystem des Space Shuttle eingesetzt – das spricht immerhin für eine gute Langzeittauglichkeit. Doch auch in dieser Disziplin klaut Federico Faggin Intel wieder die Show. Sein Z80-Prozessor ist heute selbst nach 40 Jahren noch vielfach im Einsatz, etwa in dem grafikfähigen Taschenrechner TI-84 Plus, den viele Eltern weiterhin für ihre Schulkinder anschaffen dürfen.

Über 20 Jahre in den Space Shuttles im Einsatz, die 8086-Prozessoren (Bild: NASA)

…und Spectre?

Der 8086 kannte keinerlei Schutzfunktionen – Protected Mode oder Paging waren ihm fremd. Dennoch gab es schon früh Multi-Tasking und Multi-User-Betriebssysteme wie Concurrent CP/M oder Concurrent DOS . Da brauchte man kein aufwendiges Spectre, um mitzulauschen, was der andere Benutzer so treibt. Die Spectre-Techniken würden auf einem 8086 allerdings gar nicht funktionieren, denn Spekulationen waren ihm ebenfalls fremd, er arbeitete streng in order, einen Befehl nach dem anderen. Das heißt, so ein ganz bisschen spekulierte er doch, nämlich dass sich die Instruktions-Bytes direkt "vor seinen Füßen" nicht noch kurzfristig ändern. Er lud nämlich immer gleich sechs Bytes in seine Prefetch-Queue und kriegte dann nicht mit, wenn doch noch eines dieser sechs Bytes – damals die maximale Befehlslänge – im Speicher verändert wurde. Entsprechend programmiert liefen damit per Single-Step im Debugger ausgeführte Programme anders, als wenn man sie in einem Rutsch ausführte – dieses nette Feature konnte c’t mal für einen schönen Aprilscherz missbrauchen …

Der 8086 Stapellauf 08.Juni 78 Transistorzahl

29.000 Prozess 3 µm NMOS Die-Größe 33 mm² Taktfrequenzen 4, 5, 8, 10 MHz Pipeline 4 Stufen Register 14 (16 Bit) Integer-Performance (Dhrystone) Etwa 0,33 MIPS @5 MHz Gleitkomma-Performance

(mit 8087) Etwa 50 KFlops @5 MHz Spannung: 5 V Gehäuse

40 Pins DIL Adressbus 20 Bits (1 MByte) Datenbus 8086 16 Bit, multiplexed A0-A15 Datenbus 8088 8 Bit. multiplexed A0-A7 Preis (bei Start) $99 @5 MHz

(as)