Bernd Leitenbergers Blog

Die glorreichen 10 – die fünf besten x86 Prozessoren

Die x86‑Linie besteht jetzt seit nahezu fünfzig Jahren, und sie lebt immer noch. Das ist außergewöhnlich. Alle Prozessorlinien, die es zur selben Zeit gab, wurden längst eingestellt oder spielen nur noch in Nischenanwendungen eine Rolle (die Z80‑Linie lebt noch genauso wie die 6502‑Linie). Motorola hat sogar zwei Konkurrenzlinien eingestellt – erst die MC68K‑Linie und dann die Power‑PC‑Linie, die gemeinsam mit Apple und IBM entwickelt wurde (IBM hält noch an dem Power PC fest, aber die Prozessoren werden nur noch in eigenen Großcomputern verbaut).

Ich habe mir überlegt, welche Prozessoren in der ganzen Zeit herausragend waren und welche nicht. Da ich nicht zehn jeder Sorte zusammenbekam, teile ich diese Folge in zwei Teile auf – die fünf schlechtesten und die fünf besten x86‑Prozessoren, wobei ich, weil der 8086 vom 8080 abstammt und dieser wiederum ein Nachfolger des 8008 war, bei diesem anfange.

Intel arbeitete schon damals mit einer Strategie, die seit zwanzig Jahren „Tick‑Tock“ heißt: Sie führen in einem Schritt deutliche Architekturverbesserungen ein und in einem zweiten Schritt verbessern sie diese, lange Zeit immer verbunden mit einem Wechsel der Lithografiemethode zu kleineren Maßstäben. Nach dem ersten Prozessor 4004 folgte der verbesserte 4040, auf den 8008 als ersten 8-Bit-Prozessor der verbesserte 8080, auf den 8086 dann der 80186. Danach wurde das System aufgegeben bis zur Einführung der Core-Architektur.

Es folgten schon vorgestern die fünf schlechtesten Prozessoren, nun die meiner Meinung nach fünf besten Mitglieder der Reihe oder eher die mit den besten technologischen Sprüngen. Die Reihenfolge ist chronologisch.

8080

Mit dem Intel 8080 begann die PC‑Revolution. Intel war als Erstes auf dem Markt, und der 8080 steckte in den ersten PCs. Gegenüber seinem Vorgänger war der 8080 deutlich verbessert worden. So war er sechsmal so schnell, bei einem höheren Takt von 2 MHz bei der Einführung. Der 8080 hatte mehr Register als seine Konkurrenten 6800 und 6502, und er hatte sogar die Möglichkeit, für einige Operationen zwei Acht‑Bit‑Register als ein 16‑bit‑Register zusammenzufassen.

Im Prinzip hätte Intel den Markt sogar noch mehr dominieren können, wären sie nicht zu habgierig gewesen. Der Einführungspreis des Chips lag anfangs bei 375 US‑Dollar. Inflationsbereinigt wären das über 2000 Euro im Wert von 2026. Das war so teuer, dass selbst ein einfacher PC unerschwinglich war. Hätte Ed Roberts, der den Altair konstruierte, nicht einen dicken Rabatt ausgehandelt, hätte er den Altair nicht für 399 Dollar anbieten können. Erstaunlicherweise dachte man bei Motorola genauso: Ihr 6800 Prozessor erschien kurz darauf, so war er nicht die Konkurrenz, die er hätte sein können. Die wurde erst der 6502, der ein Jahr später erschien. Ein Jahr, in dem Intel lieber viel Geld mit wenigen Prozessoren verdiente, anstatt dafür zu sorgen, dass die Prozessoren breit eingesetzt wurden und so den Standard setzten und die Firma dann den Gewinn über die Stückzahl machte.

Nach Erscheinen des 6502 senkte Intel den Preis des 8080, doch es war zu spät. Viele Rechner der späten Siebziger bis frühen Achtziger nutzten den 6502, so Apple, Atari und natürlich Commodore (Commodore hatte den Hersteller MOS‑Technology übernommen). Als dann kurz darauf der Z80 erschien – leistungsfähiger, aber kompatibel – brach der Absatz des 8080 ganz ein. Aber wer weiß, wie die PC‑Revolution verlaufen wäre, hätte Intel nicht Ed Roberts einen Sonderpreis von 125 Dollar pro Prozessor eingeräumt, sondern auf den regulären Preis bestanden. Ob der Altair dann auch so erfolgreich gewesen wäre? Er wäre schlussendlich mindestens doppelt so teuer gewesen. Die meisten Altair‑Besitzer kauften ja schon das Kit, bei dem sie alle Teile selbst zusammenlöten mussten, weil es billiger als das fertige Gerät war.

80386

Am Nachfolger des 80286 scheiden sich die Geister. Meiner persönlichen Meinung nach war er ein schnellerer Nachfolger des 8086. Im Mittel bei gleichem Takt rund doppelt so schnell, weil durch eine Pipeline die Befehle viel weniger Taktzyklen brauchten. Bill Gates bezeichnete ihn dagegen als „Brainfuck“ und versuchte vergeblich, IBM zu überzeugen, dass man bei der Programmierung von OS/2 den Prozessor überspringt und gleich zum 386‑er übergeht. Dieses unterschiedliche Urteil liegt an der Nutzung: DOS nutzte nur den 1‑MB‑Adressraum des 8086, segmentiert. Da war der 80286 einfach nur ein schneller 8086, zudem höher getaktet. Es gab einen neuen Modus, mit dem der 80286 endlich auch 16 MB Adressraum wie seine Konkurrenten bot. Intel hatte aber vergessen, eine Rückkehr in den 8086‑Modus einzuführen. Das Problem: Die Programmierer des Betriebssystems arbeiteten im 8086‑Modus und konnten so ihren Code praktisch nicht debuggen.

Was hat das mit dem 80386 zu tun? Nun, Intel hat daraus gelernt und einen virtuellen 8086‑Modus eingeführt. In diesem konnte der 80386 beliebig viele 16‑bit‑Programme, jedes mit einem eigenen Adressraum und abgeschottet von den anderen Programmen, ausführen. Das wurde zum Erfolgskonzept für Windows. Windows startete als Oberfläche unter DOS, bis Windows 95 musste man es zum Beispiel vom DOS aus starten, der Computer bootete nicht gleich zu Windows. DOS‑Programme waren weit verbreitet, aber bis Windows 3 liefen sie nur instabil unter Windows, hatten wenig Speicher zur Verfügung und konnten beim Absturz auch Windows mit abstürzen lassen.

Möglich wurde dies, weil der 80386 ein 32‑bit‑Prozessor war. Intel hatte einfach alle Register auf 32‑bit erweitert. So konnte der Prozessor nun 4 GB adressieren. Es dauerte bis 2005, bis durchschnittliche PCs mit dieser Grenze nicht mehr auskamen. Die ersten 386‑PC hatten aber weniger Speicher, meist 4 MB. Dann konnte der Prozessor ein weiteres Feature nutzen: virtuelle Adressen. Er hatte intern eine Tabelle, in der er vermerkte, welche Adresse im virtuellen Adressraum in eine logische Adresse, also physikalisch vorhandenen Arbeitsspeicher, umgesetzt wurde. Nur so wurde der virtuelle 8086‑Modus möglich. Dieses Feature brauchen alle Multitasking‑Betriebssysteme, weil sie so jedem Task, der läuft, vorgaukeln können, er hätte den ganzen Arbeitsspeicher zur Verfügung. Wenn dieser fehlt, lagert das Betriebssystem selten benutzte Speicherbereiche auf die Festplatte aus.

Der 80386‑Befehlssatz war der Standard für die nächsten zwanzig Jahre. Der heutige 64‑bit‑Befehlssatz stammt übrigens nicht von Intel, sondern von AMD. Intel hatte einen eigenen Befehlssatz designt, er fand aber wenig Anklang bei den Softwareherstellern. AMD tat dagegen einfach das Gleiche wie beim Sprung auf 32‑bit: AMD erweiterte einfach die Register auf 64‑bit, und das kam viel besser an.

Pentium

Intel hat in der Prozessorentwicklung nach und nach Konzepte aufgegriffen, die schon Jahrzehnte vorher in Großrechnern eingesetzt wurden, so: Pipeline (80286) Caches und virtuelle Adressierung (80386)

Mit dem Pentium wurde die x86‑Architektur superskalar. Unter diesem Begriff versteht man, dass ein Prozessor mehrere Befehle parallel verarbeitet. Einen Prozessor kann man in einzelne Teilbereiche unterteilen, und der Pentium hatte zum ersten Mal eine Einheit doppelt, nämlich die für Ganzzahlberechnungen. Bei arithmetischen und logischen Operationen konnte der Pentium dann gleichzeitig zwei Befehle ausführen.

Die Verdopplung klingt nach einer einfachen Maßnahme, hat es aber in sich. Damit man die beiden Einheiten voll auslasten kann, muss man Befehle umsortieren. Es ist ja nicht immer gesagt, dass die arithmetischen Instruktionen direkt hintereinander im Quelltext stehen. Das konnte der Pentium noch nicht. Dieses Feature, „Out‑of‑Order‑Execution“, führte erst der Nachfolger Pentium Pro ein, dessen grundlegende Architektur bis heute immer weiter ausgebaut wurde.

Damals machte aber der Pentium zuerst nur negative Schlagzeilen. Wie sein Nachfolger, der Pentium Pro, war er auf den 1985 eingeführten 32‑bit‑Befehlssatz optimiert. Benchmarks, die damals unter DOS liefen, zeigten, dass ein 100‑MHz‑hochgetakteter 486‑DX4‑Prozessor schneller war als die ersten Pentiums mit 50/66 MHz, aber dieser Prozessor und die ganzen Rechner waren viel billiger.

Ich habe nicht die aktuellen Zahlen für die vierzehnte Generation, aber bei der zwölften Generation, die auch in meinem PC steckt, stecken inzwischen 33 Ausführungseinheiten pro Kern, und es werden im Mittel 3,4 Instruktionen pro Takt ausgeführt. Beim Pentium waren es noch zehn Einheiten und 1,5 bis 1,8 Instruktionen pro Takt.

Icore

Mit dem Pentium 4 geriet Intel in die Bredouille. Die Netburst‑Architektur setzte – anders als die bisherige Entwicklung – nicht auf viele parallel arbeitende Einheiten, sondern auf eine hohe Taktfrequenz. Dieser Ansatz war nicht einmal so dumm, denn für viele Programme zählt die „Single‑Task‑Performance“, also wie schnell ein einzelner Task ist. Wer selbst programmiert, erstellt eigentlich, wenn er nicht schon beim Design darauf achtet, nur solche Programme: Es gibt zu einer Zeit nur eine Aufgabe, die durchgeführt wird. Bis heute ist dies deswegen wichtig bei der Prozessorentwicklung.

Nur konnte man die Taktfrequenz beim Pentium 4 nicht so steigern wie gewünscht. Die Verlustleistung in Form von Abwärme stieg rapide an, und bald überholten Athlons, die niedriger getaktet waren und weniger Abwärme produzierten, Intel nicht nur bei den Benchmarks, sondern verkauften sich auch besser. Dazu trug auch bei, dass der Athlon die erste Prozessorarchitektur war, die für mehrere Kerne ausgelegt war.

Die Lösung für Intel lag in der Core‑Technologie, die ein Intel‑Team in Israel für Chipsätze für Notebooks (Pentium‑M) entwickelt hatte – weil Notebooks Strom sparen müssen, brauchten diese Prozessoren viel weniger Strom. Die Core‑Architektur setzte wieder auf mehr parallel arbeitende Einheiten, und mit ihr führte Intel die „Core‑Nummerierung“ ein, anhand der die Prozessorbezeichnung Aufschluss gibt, welche Generation es ist (derzeit aktuell: 14). Lange Zeit gab es zusätzlich eine Einstufung, wo Intel die Chips einordnet (i3: Einstiegssegment, i5: Mittelklasse, i7, später i9: Ober‑/Spitzenklasse), und dann noch eine Ziffer, wobei gilt: je höher, desto besser.

Die Core‑Architektur wurde sehr lange praktisch nur evolutionär weiterentwickelt – bis zur zehnten Generation praktisch gar nicht. Ab der vierten Generation (Haswell) stieg so auch die Geschwindigkeit pro Takt nur homöopathisch an. Doch weil AMD lange Zeit versäumte, einen Nachfolger des erfolgreichen Athlon zu entwickeln, konnte Intel trotzdem so die Marktmacht behalten.

iCore 12x

Das änderte sich mit dem Ryzen von AMD. AMD brachte auch Versionen des Ryzen mit mehr Kernen heraus als die maximal acht, die Intel bot. Mit der zwölften Generation „Alder Lake“ hat Intel einen guten Gegenentwurf vorgestellt. Während der Pentium‑4‑Generation wurden Doppelkerne eingeführt, aber noch nicht richtig – so hatten die Kerne zum Beispiel noch keinen eigenen Cache. Seitdem nahm die Zahl der Kerne nur langsam zu, zumindest bei Desktop‑Rechnern. (Server haben mehr Kerne, der Flaschenhals ist der Speicher, der auch die Daten für die Kerne bereitstellen muss. Desktop‑Rechner haben typisch ein oder zwei DIMM‑Speichermodule, Server normalerweise sechzehn Module.)

Intel fand einen guten Weg zwischen der Forderung nach einer hohen Single‑Task‑Performance, die für den normalen PC‑Anwender oft wichtig ist (Ausnahmen sind Bild‑ und Videobearbeitung und Spiele, die hochgradig parallelisiert werden können), und dem für das Marketing wichtigen Begriff der vielen Kerne (acht Kerne pro Prozessor sind eben besser als sechs). Ein Prozessor hat seitdem zwei Kerntypen:

Die E‑Kerne werden für die nicht so bedeutenden Tasks genutzt, die es auch beim Arbeiten mit nur einem Programm gibt. So laden Browser oft verlinkte Seiten im Hintergrund. Da man sie nicht gleich anzeigt, kann man hier mit einer kleinen Verzögerung arbeiten. Oder bei der Textverarbeitung laufen Seitenformatierung und Rechtschreibprüfung im Hintergrund. Hier ein Vergleich bei der 12-ten Generation:

P-Kern E-Kern
Fläche (Die: 209 mm²) 7,3 mm² 2,18 mm²
Maximaltakt (ohne Turbo Boost) 2,4 1,8
IPC 3,4 2,6
Cinebench R23 pro Core 2352 942
Cinebench R23 pro Thread 1176 942

Ein P-Kern ist durch das Hyperthreading, höhere IPC-Werte und höheren Maximaltakt etwa 2,5-mal schneller als ein E-Kern, belegt aber die 3,34-fache Fläche. Pro Fläche ist ein Vierer-Cluster aus E-Kernen also effizienter. Im Allgemeinen gilt: Je teurer ein Prozessor ist, umso mehr P‑Kerne hat er im Verhältnis zu den E‑Kernen. Die ganz billigen Atoms müssen sogar ganz ohne P‑Kerne auskommen.

Seitdem ist das Rennen offen. Je nach Aufgabenstellung findet man bei Intel oder AMD den günstigeren Prozessor. Die Probleme, die Intel derzeit hat, liegen nicht in der Architektur der Prozessoren, sondern darin, dass Intel in der Fertigungstechnologie hinterherhinkt. Jahrzehntelang war Intel immer die erste Firma, die kleinere Strukturen einführte. Der erste Prozessor, der 4004, 1971 also vor fünfundfünfzig Jahren erschienen, wurde mit einer Strukturbreite von 12 Mikrometern gefertigt. Heute liegt TSMC vorn mit 2‑nm‑breiten Strukturen (6000‑mal kleiner). Die Firma hat den 1,4‑nm‑Prozess angekündigt, Samsung will bis 2030 1 nm erreichen, und IBM hat einen Testchip mit 0,7 nm Breite gefertigt. Damit ist man nahe an den Grenzen, die physikalisch erreichbar sind und zwischen 0,5 und 0,7 nm liegen sollen. Zwischen zwei Siliziumatomen in einem Kristallgitter liegen nur 0,222 nm. Bei diesen Strukturen besteht ein Element also aus nur noch 3 Atomen. Dann fangen an Quantendefekte eine Rolle zu spielen und selbst kleine Strukturfehler im Kristallgitter haben dramatische Auswirkungen.

Intel gibt inzwischen sogar die Strukturbreite falsch an und fertigt derzeit im 18A Verfahren (18 Angström = 1,8 nm), es ist aber TSMC 2 nm Prozess unterlegen. Intel bringt 238 Millionen Transistoren pro Quadratmillimeter unter, TSMC 313 Millionen. (Der Intel 4004 hatte 2.200 Transistoren). Die Transistordichte entspricht also einem 2,6 nm Prozess.

Die mobile Version verlassen