Intel Core i7 8086K versus Intel 8086: wat levert 40 jaar innovatie op?

37 reacties
Inhoudsopgave
  1. 1. Inleiding
  2. 2. Hoeveel sneller?
  3. 3. Hebben we iets te klagen?
  4. 4. Besproken producten
  5. 5. Reacties

Inleiding

Dit jaar is het 40 jaar geleden dat Intel de 8086 processor op de markt bracht, de eerste chip met de x86-architectuur waar Intel processors (en exemplaren van AMD) tot op de dag van vandaag gebruik gaan maken. Volgens geruchten wil Intel deze mijlpaal vieren door de introductie van een speciale, op liefhebbers gerichte variant van hun nieuwste generatie processor (Coffee Lake) met een identiek modelnummer. Stel dat die Core i7 8086K er daadwerkelijk komt, hoeveel keer sneller zou die zijn dan zijn verre voorloper?

De Intel 8086 was niet Intels eerste processor; dat was de 4004 die enkele jaren eerder op de markt kwam. De 8086 was wel de eerste in een lange serie processors – tot de dag van vandaag – die gebruik maken van dezelfde microarchitectuur, zeg maar de “taal” die processors spreken. Software die was ontwikkeld voor de 8086 kon ook gebruikt worden op diens opvolger, de 80286, en later weer op de 80386, en zo verder. Uiteraard werd de microarchitectuur gedurende de afgelopen 40 jaar steeds verder uitgebreid, met nieuwe instructies, verbeterde parallelle verwerking van instructies, meer on-chip geheugen en nog veel meer.

In theorie zouden moderne Intel-processors van nu nog steeds software van 40 jaar geleden kunnen draaien. De praktijk is helaas wat weerbarstiger en doordat Intel gedurende de jaren wat gekke eigenschappen van de eerste implementaties van de x86-architectuur heeft moeten wegpoetsen, is het zonder enige vorm van emulatie op dit moment zeker niet mogelijk om MS-DOS 1.0 op een moderne PC aan te praat te krijgen. Als we ons afvragen hoeveel sneller die Core i7 8086K die we volgens de geruchten mogen verwachten daadwerkelijk is dan de 8086, kunnen we dat hooguit beredeneren. Daar kunnen we gelukkig wel een heel eind mee komen.


De Intel 8088, aan afgeleide van de Intel 8086.

Voordat we gaan rekenen aan het theoretische snelheidsverschil, is het goed om eerst even stil te staan bij de complexiteit van de twee CPU’s, die zich het best laten meten door het aantal transistors, oftewel de kleine schakelaars waaruit de chips zijn opgebouwd. Eén van de oprichters van Intel, Gordon Moore, werd immers beroemd door zijn “Wet van Moore”, waarin hij ten tijde van de ontwikkeling van die 8086 voorspelde dat het aantal transistors dat op een economisch verantwoorde manier in een chip geplaatst zou kunnen worden, dankzij steeds verder verbeterde miniaturisatietechnieken, circa iedere anderhalf jaar zou verdubbelen. De 8086 was opgebouwd op circa 29.000 transistors, elk circa 3,2 µm groot. De chip had een oppervlakte van 33 mm².

Fast forward naar vandaag: Intel geeft er geen officiële cijfers meer over, maar naar verluidt bevat een 6-core Coffee Lake processor, waar de Core i7 8086K volgens de geruchten op gebaseerd is, zo’n 2 à 5 miljard transistors, op een chip van 149 mm². Intel spreek bij Coffee Lake over een 14 nm productieprocedé. Het aantal transistors is dus met ruim een factor 100.000 toegenomen en op basis van het aantal en het chipoppervlak mogen we concluderen dat de transistors ruim een factor 20.000 kleiner zijn geworden.


Fake of niet? Het gerucht gaat dat Intel komt met een Core i7 8086K

Hoeveel sneller?

Hoeveel sneller is die 8086K nu dan zijn verre voorloper? Laten we met een simpel onderdeel beginnen. De Core i7 8086K wordt naar verluidt een 6-core processor. Multi-core chips ontwerpen waren iets waar men in 1978 nog lang niet mee bezig was; dat zou nog tientallen jaren duren. De 8086 was dus net als de meeste van zijn nakomelingen single-core. Het prestatieverschil is dus sowieso een factor 6x.

Van mega naar giga

Dan de klokfrequentie. Volgens de geruchten krijgt de 8086K een basisklokfrequentie van 4 GHz met een Turbo-modus die de processor zou moeten versnellen tot een ongekende 5,1 GHz! Het is echter die basisklokfrequentie waarvan Intel altijd garandeert dat de processor daar langdurig op kan blijven werken, ook wanneer alle cores in gebruik zijn. Het zou tot circa de eeuwwisseling duren eer Intel überhaupt in gigahertz ging denken; de oorspronkelijke 8086 werkte op een klokfrequentie van 4,77 megahertz - laten we voor het gemak zeggen 5 MHz. Dat maakt dat de nieuwe 8086 alleen al vanwege het verschil in klokfrequentie een factor 4000 / 5 = 800x sneller is.

Vier keer zoveel bits

De oorspronkelijke 8086 is een 16-bit processor, wat betekent dat alle onderdelen van de chip – van de execution unit die daadwerkelijke berekeningen uitvoert, tot aan alle registers waarin tijdelijk data kan worden opgeslagen – kunnen werken met getallen die uit zestien 0’en en 1’en bestaan. Ten tijde van de 80386 werd de x86-architectuur opgewaardeerd naar 32-bit en sinds begin van deze eeuw op initiatief van AMD naar 64-bit. Toegegeven, dankzij instructieset uitbreidingen als SSE en AVX kunnen moderne x86-processors zelfs bepaalde instructies uitvoeren op primair floating point getallen (getallen met een komma) met een nauwkeurigheid van 128, 256 en bij de nieuwste Intel server-CPU’s zelfs 512 bits, maar aangezien die oorspronkelijke 8086 überhaupt nog geen floating point deed, houden we het voor het vergelijk toch even op de standaard 64-bit. Dat betekent dat bij iedere verwerking er vier keer zoveel bits verwerkt kunnen worden als weleer, dus een extra factor 4x.

Wanneer is het af?

Dan is er nog de vraag hoe lang duurt het voordat een instructie volledig verwerkt is door een processor. Ten tijde van de 8086 was het nog simpel: een processor verwerkte één instructie tegelijkertijd, voerde alles uit wat daarvoor nodig is en ging daarna pas verder met het volgende. Het snelst was de processor bij een simpele zogenaamde ALU-berekening (bijvoorbeeld twee getallen optellen of aftrekken) wanneer de te verwerken getallen beide in registers ofwel het snelste geheugen binnen de processor stonden. In een dergelijk geval kon een verwerking in drie klokslagen gebeurd zijn. Moest data van of naar het RAM-geheugen komen, dan kon het al snel 14 tot 28 klokslagen duren. Dan hebben we het nog niet gehad over complexere instructies als vermenigvuldigen of delen, die makkelijk 150 klokslagen of meer in beslag konden nemen. Als we in een theoretische benchmark de processor constant getallen uit het RAM-geheugen zouden laten optellen, zou de processor ruwweg dus één per 20 klokslagen een resultaat afleveren.

Super scalar

Hoe anders is dat tegenwoordig; sinds de Pentium Pro zijn Intel-processor zogenaamde super scalar, waardoor we niet langer praten over de hoeveelheid klokslagen per instructie, maar eerder over het aantal instructies dat een processor per klokslag kan verwerken. Hieraan ligt een aantal technieken ten grondslag, waarvan het feit dat een moderne processorcore meerdere execution units heeft en gebruik maakt van pipelining de belangrijkste zijn. De execution units zijn de onderdelen van een processorcore waar daadwerkelijk berekeningen plaats vinden; binnen de huidige Intel-processors vinden we er acht stuks, elk geschikt voor specifieke taken. Zo zijn sommige execution units puur geschikt voor het verwerken van geheugenadressen, slechts een beperkt aantal zijn geschikt voor floating point getallen, en zo verder. Van de 8 execution units binnen de Coffee Lake architectuur (die is gebaseerd op Skylake, die uiteindelijk weer is gebaseerd op de Core architectuur van de Core 2 Duo uit 2006) zijn er vier geschikt voor simpele berekeningen op integer getallen.

Moderne processors maken verder gebruik van pipelining, zeg maar “lopende band werk”. In plaats van een taak van begin tot eind uit te voeren en dan over te gaan naar de volgende, wordt een taak opgedeeld in meerdere mini-taakjes die stap-voor-stap worden uitgevoerd. Net als bij een echte lopende pand doorlopen instructies deze stappen achter elkaar door; wanneer de ene instructies gaat van stap 1 naar stap 2, wordt voor de volgende instructie alweer stap 1 uitgevoerd. Het volledig doorlopen van het gehele proces kan dan meerdere klokslagen duren (de gemiddelde pipeline-lengte bij moderne Intel processors is 14 stappen) zolang de aanwas van nieuwe instructies maar gestaag blijft doorlopen – en technieken als instructie en data pre-fetching, branch prediction en vele andere slimme trucs zorgen daar wel voor – kunnen er dus netjes iedere klokslag resultaten opgeleverd worden.  We schreven al dat er in Coffee Lake vier execution units zitten die berekeningen kunnen uitvoeren op 64-bit integer getallen. Ook alle andere onderdelen van de processor, zoals bijvoorbeeld het gedeelte waar instructies worden gedecodeerd en klaargezet of de caches, zijn breed genoeg uitgevoerd om minimaal vier instructies tegelijkertijd door de pipeline te laat vloeien. In onze theoretische benchmark, waar we de processor constant integer getallen uit het geheugen bij elkaar laten optellen, zou de moderne Intel processors dus in principe iedere klokslag vier resultaten kunnen opleveren. Afgezet tegen 20 klokslagen voor één resultaat, is dat nog eens een factor 80x.

Als we deze basale zaken combineren komen we erop uit dat de Core i7 8086K die Intel zou willen gaan introduceren minstens 6 x 800 x 4 x 80 = 1.536.000x sneller is dan z’n voorloper. En dan hebben we het nog positief berekenen voor die oorspronkelijke 8086; als we uit zouden gaan van workloads met meer verschillende en complexere instructies en grotere, complexere datastructuren dan zou het prestatieverschil nog véél groter zijn.

Als we dit weer terugrekenen naar 40 jaar komen we op gemiddelde circa 42,8% prestatiewinst per jaar! Als we dan ook nog even met een schuin oog naar de Wet van Moore kijken – die puur ging over het aantal transistors binnen chips en dus niet zoals veel mensen denken over de prestaties van CPU’s – komen we op gemiddeld 70,6% betere prestaties per periode van 1,5 jaar.

Hebben we iets te klagen?

Met een prestatiewinst van een factor anderhalf miljoen in 40 jaar tijd, ofwel gemiddeld ruim 40% per jaar hebben we in principe weinig te klagen. Toch is dat iets te rooskleurig geredeneerd: juist de laatste jaren maakt Intel slechts zeer beperkte stapjes om processors sneller te maken. De zogenaamde IPC (het gemiddelde aantal instructies dat per klokslag kan worden afgeleverd) is de afgelopen processorgeneraties slechts met enkele procenten per generatie toegenomen en ook qua klokfrequentie staan we eigenlijk al jaren stil. Eind vorig jaar maakten we met de komst van Coffee Lake bij betaalbare desktopprocessors eindelijk weer eens een significante stap in aantal cores (van 4 naar 6), maar de jaren daarvoor gebeurde er weinig tot niets.

De rek lijkt er al jaren een beetje uit bij Intel. De moeizame overgang naar het 10nm productieprocedé, waar we onlangs in een ander artikel al uitgebreid op ingingen, maakt dat we ook de komende tijd weinig magie mogen verwachten. Dat Intel achter de schermen druk in de weer lijkt te zijn met een geheel nieuwe implementatie van hun x86 architectuur, met de codenaam Ocean Cove, is wat dat betreft goed nieuws.

Laat de beperkte innovatie van de afgelopen jaren het feest van 40 jaar 8086 niet verpesten. De processor die 40 jaar geleden werd geïntroduceerd staat aan de basis van het complete PC ecosysteem dat we vandaag de dag kennen. Dat hadden de ontwikkelaars destijds natuurlijk niet durven dromen.

Gaat die Core i7 8086K er daadwerkelijk komen? Geen idee, het is een gerucht en de “uitgelekte” CPU-Z zou zo maar eens het werk kunnen zijn van een creatieve hobbyist. Maar, als de chip er komt en ook nog eens een vriendelijke prijskaartje krijgt, is het zonder meer een mooie manier om het 40 jarige jubileum van de x86-architectuur te vieren, die de indrukwekkende ontwikkeling sinds de oorspronkelijke 8086 goed zou illustreren.


Besproken product

Vergelijk  

Product

Prijs

Intel Core i7 8086K Boxed

Intel Core i7 8086K Boxed

  • Socket 1151
  • 4.0 GHz
  • 6 cores
  • 95 W
  • 14 nm
  • Geïntegreerde GPU

€ 585,85

4 winkels
0
*