Tijd voor een feestje
Zondag 8 juni is het precies dertig jaar geleden dat Intel de 8086 introduceerde, de eerste van de lange serie microprocessors die vandaag de dag vrijwel overal te vinden is. Genoeg reden om terug te blikken op dit invloedrijke stukje techniek.
De 8086 was de eerste echte 16-bits processor van Intel en ook de eerste die een hele megabyte geheugen kon aanspreken. Weliswaar alleen in blokken van 64KB, maar dat was nog steeds een flinke stap voorwaarts ten opzichte van zijn 8-bits voorgangers, die maar met één zo'n blok konden werken.
De 33mm² grote chip bevatte 29.000 transistors en werd gebakken met een 3200nm-procedé. De processor werkte op een spanning van 5V en had een maximaal verbruik van 2,5W. Het socket had veertig pinnen en de oorspronkelijke kloksnelheid was 5MHz. Latere versies gebruikten iets geavanceerdere productietechnieken om 8MHz en 10MHz te halen.

De 8086 was lang niet de eerste processor en had net als veel van zijn concurrenten kunnen eindigen als voetnoot in een technische handleiding. Kent iemand de National Semiconductor IMP-16 nog? Of de Texas Instruments TMS9900? De enige reden dat we de Intel 8086 herdenken en de anderen niet is omdat software geschreven voor de 8086 dertig jaar later nog steeds kan draaien op de nieuwste servers, desktops en notebooks. En de kans bestaat dat dit over dertig jaar nog steeds het geval is.
De oorsprong van x86
De instructieset van de 8086 bestaat uit ruim honderd verschillende opdrachten die grotendeels gebaseerd zijn op die van de 8080, die op zijn beurt weer gebaseerd was op de 8008. Geen van de chips was echter compatibel met elkaar. De assembleercode was relatief eenvoudig en soms deels automatisch te converteren, maar een 'gewone' gebruiker maakte geen schijn van kans om zijn oude software op een nieuw systeem te gebruiken.
De oorspronkelijke instructieset was overigens niet eens bedacht door Intel zelf, maar door Computer Terminal Corporation. Dit bedrijf wilde begin jaren zeventig een product gaan bouwen dat al veel op een desktop leek. De 8008 liep echter vertraging op en presteerde onder de maat, waardoor CTC hem nooit gebruikt heeft. Intel heeft hem toen nog wel op de markt gebracht, maar echt populair zou het als 'beperkt' en 'onhandig' omschreven ontwerp nooit worden.
De in 1974 uitgebrachte 8080 was een verbeterde versie van de 8008 en wordt door Intel gezien als de eerste 'echte' microprocessor. Vanaf die tijd begon het concept van de desktopcomputer ook steeds serieuzere vormen aan te nemen. Intel wist Altair ervan te overtuigen om de 8080 te gebruiken en trok de interesse van meer programmeurs, waaronder een 19-jarige Bill Gates.
Een tijdelijke oplossing - niet dus
Intel had geen intentie om nog veel verder te gaan met de instructieset van CTC. Het werkte koortsig aan de iAPX 432, een ambitieus ontwerp dat weer met een schone lei begon en rekening hield met allerlei 'moderne' concepten, zoals volledige 32-bits verwerking, multiprocessing, garbage collection, virtueel geheugen en 'capability based addressing'. Zaken die tot dan toe in het hart van de software werden geregeld wilde men de hardware in trekken.
Hoewel men vlak na het uitbrengen van de 8080 al was begonnen met dit project, was het zo complex dat een tussenoplossing moest komen. De concurrentie was immers talrijk en zou niet zes jaar lang stil blijven zitten (zo lang had Intel uiteindelijk nodig om het nieuwe 'superontwerp' af te krijgen). Daar kwam de 8086 dus in beeld: als tijdelijke prestatieverhoging tot de iAPX 432 de wereld kon gaan veroveren.
De 8086 was een redelijke haastklus; hij werd in slechts twee jaar tijd uit de grond gestampt. Ondanks de relatief kleine investering van Intels kant werd de chip een enorm succes. Verschillende bedrijven kozen de chip voor hun computers, waaronder Wang, Mycron en AT&T, maar de allerbelangrijkste deal die Intel sloot was die met IBM, dat een goedkopere afgeleide van de chip (de 8088) voor zijn personal computer wilde gebruiken. De pc die binnen de kortste keren eindeloos gekloond werd.
Langzaam werd duidelijk dat de iAPX 432 een flop zou worden. Deels omdat hij te duur, te laat en te traag was, maar ook deels omdat klanten gewend raakten aan computers die dezelfde taal spraken. 'IBM PC Compatible' werd een fenomeen waar de nieuwe chip niet aan mee kon doen.
De pc werd zo groot dat Intel hoe dan ook aan boord van het schip wilde blijven. Het had echter geen poot om op te staan als het ging om een wijziging van de architectuur. Het reusachtige IBM wilde niet afhankelijk zijn van de grillen van een klein chipbedrijfje. Daarom had het afgedwongen dat Intel zijn 8086-ontwerp aan een klein dozijn andere bedrijven moest geven, waaronder NEC, Siemens, Texas Instruments, AMD en Fujitsu.
Als ze er zelf niet meer verder mee zouden gaan, dan zou een van de concurrenten het wel doen. Hierdoor moest de 80286 bijna wel worden ontwikkeld, met extra features en instructies voor nieuwe programmatuur die het kon gebruiken, maar die wel oude 8086-software zonder enige aanpassing moest kunnen draaien. Zo werd x86 geboren, en zo werkt het vandaag nog steeds.
Machtsstrijd
IBM had zichzelf in eerste instantie in een machtige positie gewerkt door standaarden af te dwingen, maar uiteindelijk kreeg Intel hierdoor weer de overhand. Klonen vormden een steeds groter deel van de computermarkt en dat gaf Intel genoeg vertrouwen om dingen op zijn eigen manier te doen. Het ontwerp van in 1986 uitgebrachte 80386 werd dan ook niet meer afgegeven aan derde partijen. Sommigen van hen - waaronder AMD - kopieerden het toch, met jarenlange rechtszaken tot gevolg.
Uiteindelijk oordeelde de rechter in 1991 dat het klonen was toegestaan, maar door met het patentwapen te dreigen wist Intel het overnemen van zijn ontwerpen alsnog te stoppen en daarmee de meeste concurrentie op het gebied van x86-chips effectief uit te schakelen. Slechts een paar bedrijven slaagden erin om op eigen kracht een ontwerp in elkaar te zetten. AMD is daarvan nog steeds de grootste en meest invloedrijke.

Verzet is zinloos?
Er werd - en wordt - soms behoorlijk neerbuigend gedaan over x86. Het is zeker waar dat het de standaard is geworden door een chaotische samenloop van omstandigheden en niet vanwege de mooie architectuur. Veel concurrenten - en af en toe ook takken binnen Intel zelf - denken het dan ook beter te kunnen doen.
Vrijwel iedereen zette in de jaren tachtig in op risc, een ontwerpfilosofie voor chips waarin de complexiteit van cisc in het algemeen en x86 specifiek wordt vermeden. Zo ongeveer alle alternatieve architecturen die nog bestaan komen uit die periode, waaronder Sparc, Power, Mips en Arm. Intel werd hier zo zenuwachtig van dat het zijn eigen risc-chip ontwikkelde, de i860. Deze werd geen succes, in tegenstelling tot sommige andere varianten.
In embedded systemen, gameconsoles en een kleine tien procent van de servers zijn risc-chips nog goed vertegenwoordigd, maar vrijwel alle notebooks, desktops, workstations en goedkopere servers werken op basis van x86-processors, terwijl het steeds kleinere apparaten en steeds zwaardere servers op het oog heeft.
Intel is - na de iAPX 432 en i860 - nog een derde keer met een schone lei begonnen. De samen met HP ontwikkelde Itanium vormt voorlopig echter ook nog geen enkele bedreiging voor de dominante positie van de instructieset die is voortgevloeid uit de 8086.
Dit is het verschil tussen theorie en praktijk: x86 mag dan wel een aan elkaar gehechte bende van dertig jaar 'legacy' zijn, maar zo lang er de meeste software voor is, de beste compilers en het grootste budget voor de knapste ontwerpers en de beste fabrieken, maken nieuwkomers zelfs met de beste 'schone' ideeën nog geen schijn van kans. Dit systeem houdt zichzelf al decennia in stand en dat zal waarschijnlijk nog lang zo blijven.