Rešitev v naglici, ki je spremenila svet: 40-letnica arhitekture x86

Matej Huš

8. jun 2018 ob 21:40:46

Še eno obletnico praznuje Intel te dni. Pred pol stoletja je podjetje nastalo, pred natančno 40 leti, 8. junija 1978, pa je Intel predstavil procesor 8086. Šestnajstbitni procesor, interno poimenovan tudi iAPX 86, je izšel, ko je bil 32-bitni iAPX432 še precej oddaljen. Namesto tega je 8086, ki je predstavljal naslednika 8-bitnega Intelovega čipa 8080, ustoličil nepozabno arhitekturo x86, ki je ključno vplivala na razvoj računalništva.

Čip 8080 je v Intelu zasnoval še legenarni Federico Faggin, ki je zatem odšel na svoje in s podjetjem ZiLOG izdal Z80. Ta procesor, ki je bil združljiv z 8080, je Intelu povzročal preglavice, saj je bil zmogljivejši. ZiLOG je hitro rasel in ob uspešni prodaji je podjetje kmalu zaposlovalo več kot tisoč ljudi. Čeprav je bil Z80 v glavnem namenjen vgradnim sistemom, na primer pametnim terminalom in tiskalnikom, je postal priljubljen tudi v namiznih računalnikih. Ko je Faggin za leto 1978 napovedal naslednika Z8000, ki je sicer zaradi težav s hrošči zamujal, se je Intel moral hitro odzvati. Na drugi strani je grozila Motorola z 68000, zato so se v Intelu podvizali. V načrtu so sicer imeli IAPX 432, ki pa ni mogel biti nared pravočasno.

Intel je v naglici spravil skupaj 16-bitni procesor z 29.000 tranzistorji in rodil se je 8086. Čeprav ga je Intel predstavil leta 1978, smo morali na prve prave izdelke počakati še leto dni, ko je Motorola že izdala 68000. Leto pozneje je Intel izdal še 8088, ki je bil zelo podoben, le da je imel 8-bitno zunanje vodilo, medtem ko je imel v notranjosti še vedno enako izvajalno enoto (execution unit), 16-bitne registre in zmožnost nasloviti 1 MB pomnilnika. Intel je predvideval, da bo 8086 kratkega veka in da ne bo imel naslednikov, ker ni bil mišljen kot dolgoročna rešitev, je povedal Stephen Morse. Več se je pričakovalo od iAPX 432, medtem ko naj bi 8086 zgolj premostil obdobje do takrat. Če bi bil Intel vedel, kaj bo sledilo iz 8086, bi ga zasnoval precej drugače, dodaja Morse.

Da sta čipa 8086/8088 spremenila tok zgodovine, se ima Intel v glavnem zahvaliti IBM-u, ki je leta 1980 ugotovil, da bo to zelo primeren procesor za izgradnjo Applu II konkurenčnega računalnika. Medtem ko je na primer DEC trdil, da so osebni računalniki neumnost, je IBM intenzivno razvijal to področje. Računalniki z 8088 so se odlično prodajali, ker so bili poceni, a tudi 8086 kot dražja in zmogljivejša verzija ni bil za odmet. Intel je ravnal modro in procesorsko licenco zaupal številnim podjetjem (AMD, NEC, Harris, Siemens, Fujitsu ...), kar je zacementiralo uspeh arhitekture x86. Sledili so nasledniki 80186, 80286 in leta 1985 legendarni 32-bitni 80386. Zadnja oštevilčena izdaja je bil 80486, potem pa se je začela dinastija Pentium. Ostalo je zgodovina.

Razumeti moramo, da x86 ni zmagal, ker bi bil najboljša ali revolucionarna tehnologija. V resnici je bila tehnologija, ki je bila dovolj dobra, ob pravem času na pravem mestu in dovolj podprta z marketingom. Ker je istočasno revolucijo doživljalo področje računalništva, je to pač neslo x86 s seboj. Intel je v resnici večkrat poizkusil zamenjati x86 - iAPX 432, Intel i960, Intel i860 in Itanium so bili milijardni projekti, ki so klavrno propadli. Arhitektura x86 je delovala dovolj dobro, hkrati pa so inženirji in razvijalci ves čas uspešno reševali probleme in odkrivali nove možnosti, ki so njeno uporabno vsakokrat podaljšale. V resnici danes ne uporabljamo x86, ampak moderni procesorji razumejo isto mikrokodo in jo prevajajo v svoje nativne ukaze. Navsezadnje prvi 8086 ni vedel nič o špekulativnem izvajanju in predvidevanju razvejitev, ki sta nam prinesla Spectre in Meltdown.

Intel se je na Computexu obletnice spomnil tako, da je razdelil spominske inačice procesorja Intel Core i7-8086K. In z nekaj truda je tudi na teh procesorjih mogoče poganjati 32-bitne emulatorje, v katerih lahko poženemo tudi 16-bitne programe izpred 40 let.