Home Computer x86 Prozessoren Site Map counter

Der Intel Pentium Prozessor

In einer lockeren Reihe will ich die Hardwareentwicklung der x86 Reihe beleuchten. Heute geht es um den Pentium, den dritten 32-Bit Prozessor von Intel. Er zeichnete sich durch umfangreiche interne Veränderungen aus.

Die offensichtlichste Änderung, auch für den nicht an der Hardware interessierten User war der Name: Intel versuchte seit der 386-Generationen Konkurrenten mit "Nachbauten" vom Markt zu verdrängen. ein Mittel dafür war auch der Schutz von Warenzeichen. Die Firma wollte die Ziffer 586 und 80586 als Warenzeichen oder Marke patentieren lassen, scheiterte aber vor Gericht, das befand das diese Ziffer nicht schützenswert sei, sondern für eine Computerarchitektur stehe.

Seitdem benennt die Firma ihre Prozessoren mit Phantasienamen, heute auch in Kombination mit einem Ziffernsystem. Der Erfolg des Pentiums führte dazu, dass die Firma noch die folgenden zehn Jahre ihre Chips als Pentium bezeichnete. Es folgten der Pentium Pro, Pentium II, III und Pentium 4. Später noch der Pentium M, Pentium D und Pentium Dual Core. Bis heute heißen einige Prozessoren im Einstiegssegment Pentium, auch wenn die Prozessorarchitektur inzwischen iCore heißt. (Stand Mitte 2014).

Aufbau

BlockdiagrammWährend die Pentium CPU nach außen hin keine revolutionäre Änderungen aufwies, gab es die meisten Änderungen unter der Haube. Obwohl der Pentium immer noch intern ein 32 Bit Prozessor war, hatte Intel den Datenbus auf 64 Bit erweitert, so konnte er mehr Daten übertragen.

Intern war der Pentium der erste superskalare x86 Prozessor, darunter versteht man, das er mehrere Funktionseinheiten hat, die parallel arbeiten können. Superskalarität gab es schon lange, die Ursprünge liegen in den früheren Sechzigern. Die CDC 6600 die 1965 erschien gilt als der erste wirtschaftlich erfolgreiche superskalare Computer. Der Pentium hatte erstmals zwei ALU (arithmetisch-logische Einheiten - diese führen die meisten Befehle aus die Daten verändern wie Integer-Rechenoperationen, Bitweise Verknüpfungen oder Vergleiche). Schiebebefehle nutzen eine eigene Einheit, die nur einmal vorhanden war, ebenso gab es nur eine Fließkommarecheneinheit. Die Superskalarität war dadurch gering, aber sie reichte aus um die Ausführung des Codes deutlich zu beschleunigen, da die meisten Rechnungen in Programmen mit Ganzzahlen erfolgten. Dabei war die x86 Architektur nicht gut geeignet für superskalare Anwendungen. Da man dort achten muss, ob Register oder Einheiten belegt sind und dann Befehle anhalten wenn dies der Fall ist, haben superskalare Rechner oft viele Register und verwenden die Drei-Adress-Operandenadressierung, dabei landet das Ergebnis in einem anderen Register als die beiden Operanden. Die Intel Architektur ist aber eine klassische Zwei-Adress-.Operanden Architektur bei der das Ergebnis eines der beiden Quellregister überschreibt. Zudem gab es beim Pentium nur vier universelle Rechenregister in der ALU: AX, BX, CX und DX. Um diese beiden Nachteile auszugleichen führte Intel Schattenregister ein. In diesen Schattenregister landen Zwischenergebnisse oder Ergebnisse die warten müssen bis die eigentlichen Register frei sind wie auch Operanden die so schon verarbeitet werden können auch wenn das "richtige" Quellregister gerade von einer anderen Operation belegt ist.

 Beim Pentium gab es während der ersten Jahre aber zuerst mal nur geringe Verkaufszahlen. Alle früheren Generationen steigerten die Geschwindigkeit. Zum einen durch Erhöhung der Taktfrequenz, zum anderen durch interne Verbesserungen. Das tat auch der Pentium, doch mit dem unveränderten Code war er nur rund 60% schneller als ein 486-er mit gleicher Taktfrequenz. Das war stark codeabhängig, mit Extremwerten von 15 und 70%. Der neue interne Aufbau erforderte auch einen neuen Code, bei dem die Compiler die Befehle so umgruppierten, dass die Einheiten auch optimal ausgelastet wurden. Nur dann war ein Pentium 2,3 mal schneller als ein 486, bei Fließkommaoperationen sogar 3,6 mal. Da er auch deutlich teurer als der 486-Prozessor war verkaufte er sich die ersten zwei Jahre nur schleppend.

Architektur

Weitgehend unverändert blieb die Buseinheit. Sie war für die gesamte Kommunikation des Prozessors mit dem Speicher und Ein/Ausgabegeräten zuständig. Bei ihr war die wichtigste Neuerung, dass der Datenbus auf 64 Bit vergrößert wurde. Damit war erstmals in der x86 Architektur der Datenbus größer als die interne Architektur. Der vergrößere Datenbus erlaubte es pro Takt mehr Instruktionen zu lesen und so auch die Instruktionen zu liefern, die die Funktionseinheiten brauchten, denn ohne die stetige Nachlieferung von Instruktionen drehen diese Däumchen.

Die Daten der Buseinheit landeten in zwei Caches. Caches wurden schon beim 386-er unterstützt und der 486 hatte erstmals einen auf dem Chip. Beim Pentium hatte man den Cache getrennt in Code und Datencache. Diese Trennung macht Sinn, weil die beiden Caches unterschiedliche Anforderungen haben. So verarbeitet ein Mikroprozessor mehr Instruktionen als Daten. Er hat auch eine größere Lokalität. So war der Code Cache auch mit 256 Bit angebunden, der Datencache dagegen nur mit 32 Bit.

Im Code kommen Sprünge vor, daher ist an den Code Cache ein Branch Target Buffer (BTP) angeschlossen, der die Adressen von Sprüngen oder Unteradressen aufnahm damit auf diese schneller zugegriffen werden kann. Das erspart das erneute Feststellen der Sprungadresse wenn diese mehrmals benötigt wird. Der BTB hatte beim Pentium 256 Elemente, war aber noch nicht an den L2-Cache angebunden, wie beim Pentium Pro. Die BTP sind um so nützlicher je länger die Pipeline ist. Bei den noch relativ kurzen Pipelines des Pentiums (5/9 für Integer/Fließkommaoperationen) reichten noch kleine Puffer. Sie wurden bei den folgenden Generationen deutlich größer und ausgeklügelter, merkten sich also nicht nur den letzten Sprung sondern mehrere Durchläufe und versuchten eine Vorhersage, da auch die Pipelines immer länger wurden. Die BTP wurden mit dem Pentium erstmals eingeführt. Vorherige Generationen hatten keine Möglichkeit sich die letzten Sprungadressen zu merken.

Pentium BlockdiagrammUmgekehrt wird Code nicht während der Laufzeit verändert. Daher hat nur der Datencache die Fähigkeit Daten zuerst in den Cache zu schreiben und dann verzögert den Hauptspeicher zu aktualisieren (Write-Back). Der Vorgänger 486 hatte noch einen einheitlichen Cache ohne Write Back Möglichkeiten, das bedeutet Schreibzugriffe wurden nicht gecacht. Sie dauerten länger, da der Hauptspeicher viel langsamer als der Cache war. Jeder Cache war 8 KByte groß und zweifach assoziativ. Beide Caches hatten Translation Lookaside Buffers, die die linearen Adressen in die physikalischen Adressen des Caches übersetzten. Der Codecache war mit einem 256 Bit breiten Bus an den Prefetch Buffer angebunden, der die Daten aus dem Cache holte.

Es gab zwei Pipelines um mehrere Einheiten simultan ansprechen zu können. Unter idealen Umständen konnte der Pentium Prozessor so zwei Ganzzahloperationen oder eine Fließkommaoperation pro Takt ausführen. Die Integereinheit bestand wiederum aus Subeinheiten für zwei ALU und einem Barrel-Shifter um schnell Schiebeoperationen durchführen zu können. Die Pipelines waren aber noch nicht unabhängig voneinander. Ein Befehl der lange dauerte, entweder weil er eine lange Ausführungszeit hatte oder weil er wegen eines Konfliktes warten musste, hilt daher beide Pipelines auf.

Die U-Pipeline konnte nur Integeroperationen ausführen, die v-Pipeline auch Fließkommaoperationen. Sie waren über zwei 32 Bit breite Ports an den Datencache angebunden. Sie hatte vier Stufen (+ die Dekodierung). Die V-Pipeline hatte acht Stufen (+die Dekodierung als erste Stufe). Die letzten vier Stufen wurden nur für Fließkommabefehle genutzt.

Die Fließkommaeinheit wurde komplett neu ausgelegt und verwandte andere Algorithmen als die Vorgängerversion. Das beschleunigte die Ausführung unter Umständen um den Faktor 10. Es gab drei Einheiten für Additionen, Multiplikation und Division. Die Auslastung der Einheiten musste durch den Compiler erfolgen, der geeigneten Code erzeugte. Der Pentium war eine "in order" Architektur, er arbeitete also die Instruktionen in der Reihenfolge ab in der sie im Strom vorlagen. Spätere Generationen sortierten die Reihenfolge um, bis mit dem Atom wieder eine "In Order Archietktur" einzog.

Die integrierte MMU die für den virtuellen Speicher mitverantwortlich war bekam auch die Möglichkeit mit 2 und 4 MByte großen Seitengrößen zu arbeiten.

Neben den Optimierungen für die Ausführung gab es auch einen erweiterten Debugsupport. Dazu gehörte das Testen von Adressen und Daten über Paritätsprüfung, die Möglichkeit das ein zweiter Prozessor den ersten überprüfte und alle Signalausgaben mit seinen eigenen verglich wie auch die Unterstützung durch Software bei der es vier Breakpoint Kommandos gab. Der Breakpoint wurde aktiv wenn ein Register einen vordefinierten Wert hatte. Erstmals gab es auch eine Unterstützung für Mehrprozessorssysteme.

Der Datenbustakt war abgekoppelt vom internen Takt und betrug 60/66 MHz je nach Version (66,133,20, 266 MHz Version 66 MHz sonst 60 MHz).

Geschichtliche Bedeutung

Es gibt drei wesentliche Versionen des Pentium. Durch den Schutz der Marke gab es aber nur eine Bezeichnung. Die ersten waren die P5 Prozessoren, die im März 1993 bei der CeBIT vorgestellt wurden. Ein Jahr später folgte die P54C, ebenfalls auf der CeBIT vorgestellt. Sein Takt wurde bis auf 200 MHz gesteigert. 1995 folgte das P55C Design, das nun auch einen anderen Namen erhielt: Pentium MMX da neue Instruktionen eingeführt wurden. Die MMX (Multimedia Extensions) Anweisungen zweckentfremdeten die 80 Bit breiten Fließkommaregister um in ihnen mehrere 8 oder 16 Bit breite Werte gleichzeitig zu bearbeiten. Mobile Versionen (für Notebooks) des Pentium wurden noch bis 1999 vorgestellt. Sie erreichten einen Takt von 300 MHz, bei den Desktopsystemen war bei 266 MHz Schluss. 1999 gab es schon den zweiten Nachfolger Pentium III. Der Pentium wurde also sehr lange produziert. Diese lange Frist in der neue Prozessoren vorgestellt wurden war damals schon ungewöhnlich. Beim Vorgängermodell erschien die letzte Version vier Jahre nach der ersten.

Der Pentium litt zuerst einmal darunter, dass er mit existierendem Code nur 40 bis 80% schneller als ein gleich schnell getakteter 486. Der 485 war aber als DX2 bzw. DX4 Version mit bis zu 100 MHz verfügbar, während der Pentium anfangs mit 60/66 MHz vorgestellt wurden, das bedeutete, dass der Anwender entweder einen teuren Pentium Rechner oder einen preiswerten 486 Rechner kaufen konnte, beide aber in etwa gleich schnell waren. Da die CPU Preise damals alleine 1.800 bzw. 600 DM betrugen (dazu kamen noch die Kosten für ein neues Mainboard, die beim Pentium auch teurer waren als die seit langem produzierten 486 Boards) bedeutet dies, das ein Pentiumsystem 50% teurer als ein 486 Rechner war bei gleichen Leistungsdaten. Seine volle Leistung konnte der Pentium nur mit optimiertem Code ausspielen, der fand sich aber in Standardsoftware nicht. Dies lag daran, dass der Prozessor zwar superkalar war, aber noch nicht über die Out of Order Execution und das dynamische Rescheduling beherrschte. Mit diesen beiden Mechanismen kann man die beiden ALUs des Pentium besser auslasten, da sie Befehle vorziehen (Out-of-Order Execution) bzw. die Pipeline nicht stillsteht wenn ein Befehl lange für die Ausführung braucht (dynamisches Scheduling). Intel lernte daraus und führte beides im Pentium Pro ein.

Daneben gab es Konkurrenz von AMD: die Zwitter aus dem 486 und Pentium herstellten und diese Prozessoren mit 133 und 160 MHz getaktet mit einem Pentium-Rating bewarben. Intel konnte aber schnell den Takt auf 90, 100, 120 und 133 MHz steigern, sodass die Pentium Prozessoren bald die Konkurrenten von AMD abhängten. Den Durchbruch brachte aber eine Werbekampagne, die seitdem fortgesetzt wird: Intel inside. Intel begann mit dieser Marketingmaßnahme schon 1991. Sie verhalf schon den 486 Overdrive Prozessoren zum Marktdurchbruch, wurde aber was Anzeigenvolumen angeht bei der Pentium Genration deutlich intensiviert. Hardwarehersteller konnten, wenn sie den Vorgaben entsprachen (Platzierung von Intel Produkten in gewünschter Form, Trennung von Nicht-Intel Produkten, Verwendung des Intel Inside Logos) bis zu 66% der Kosten für eine Medienkampagne ersetzt bekommen. Dazu kam eine eigene Werbung von Intel, die nun auch über den Computerbereich herausging und z.B. im Fernsehen erschien. Der Effekt zeigte sich mit der Einführung der MMX Befehle im Pentium. Innerhalb kürzester Zeit waren Rechner ohne MMX unverkäuflich. Das schadete auch den Konkurrenten die nicht nur nachziehen mussten, sondern die Bezeichnung MMX nicht aus markenrechtlichen Gründen verwenden konnten. AMD nannte eine MMX als Untermenge enthaltene Befehlserweiterung z.B. dann "3DNOW". Die MMX Erweiterung suggerierte dass man diesen Pentiumprozessor brauche, um Multimediainhalte anzusehen - in Wirklichkeit beschleunigte sie diese kaum und Programme die sie nutzten, waren rar gesät. Die MMX Version wurde als letztes produziert (Takt: 133 bis 300 MHz). Andere Verbesserungen des Pentium MMX waren eine weitere Stufe in der Pipeline und auf 16 KByte vergrößerte Caches. Damit war er bei gleichem Takt 15-20% schneller als ein P43C.

Ein weiterer Effekt der Kampagne war die Reduktion der Zeit in der eine Generation auf dem Markt war. Bei der 8086 Generation war das fast ein Jahrzehnt. Beim Pentium konnte sie Intel durch die Kampagne auf nur 3 Jahre drücken. Das bedeutete auch: Anwender kauften schneller einen neuen PC und die Konkurrenz hatte schlechte Karten, wenn sie nach 1 bis 2 Jahren mit Nachbauten auf den Markt kam, weil dann die nächste Generation von Intel schon vor der Tür stand.

Technisch kann man drei Generationen unterscheiden: Die erste mit Taktraten von 60 bis 75 MHz die noch mit 5 V arbeitete. Die zweite P54C arbeitete mit 3,3 V und verbrauchte deutlich weniger Strom,  Sie erforderte auch einen neuen Sockel. Für alte Mainboards gab es auch eine Version mit 5V, der Pentium-Overdrive Prozessor. Sie erlaubte einen einfachen Prozessoraustausch um die Leistung zu steigern. Mit diesem Feature hatte Intel schon bei der 486-Generation deutlich mehr Umsatz zu verzeichnen, da Käufer so den Prozessor zweimal anschafften. Diese Bedeutung erreichte der Pentium Overdrive aber nicht, weil es ihn nicht in sehr hohen Taktfrequenzen gab.

Die Verkaufszahlen stiegen deutlich an, als die zweite Generation erschien die deutlich höher getaktet war und die 486-Rechner in der Geschwindigkeit deklassierte. Zudem waren diese deutlich billiger als die erste Generation.

Mit Schuld an dem langen Leben war auch der Nachfolger. Der Pentium Pro sollte den Pentium 1995 ablösen (er wurde also relativ schnell nach dem Pentium vorgestellt, typischerweise lagen vorher zwischen zwei Generationen 3-4 Jahre, diesmal nur zwei). Sein neuer RISC Kern war aber auf das flache Speichermodell ausgelegt, das beste für ein 32-Bit-Betriebssystem geeignete. Er unterstützte aus Komptabilität noch das alte Speichermodell, das mit Segmenten arbeitete, aber das Laden von neuen Segmentgrenzen bewirkte, dass der Prozessor seine bisher vorrausschauend übersetzten Befehle verwerfen musste, was 20-30 Prozessortakte brauchte. Dies kam bei alter DOS-Software, aber auch zahlreichen alten 16-Bit Treibern die es in Windows 3.1 und dem (damals neuen) Windows 95 gab sehr oft vor, wo jede Routine ein eigenes Daten und Stacksegment hatte, das heißt die Segmentregister laufend gewechselt wurden. Der Pentium Pro war dadurch langsamer als ein wesentlich billigerer Pentium bei gleichem Takt und bis Intel nachgebessert hatte (mit dem Pentium II) musste der Pentium weiter verkauft werden.

Das P54C Design, mit dem die 90-120 MHz Versionen und die ersten Pentium MMX entstanden, sollte ein langes Leben haben. Ende der 1999 Jahre verkaufte Intel die Patente an P54C an die NASA, die Weltraumorganisation plante damals einen strahlengehärteten Mikroprozessor basierend auf diesem Design zu entwickeln. Es kam nicht dazu. Intel kaufte das Design wieder zurück und machte es zur Basis des Xeon Phi Coprozessors. Er besteht aus 50+ Kernen, erweitert um Multithreading, 64 Bit Anweisungen und eine Vektorprozessingeinheit auf Basis von AVX.

Ein Ereignis dämpfte aber die Erfolgsstory. Das war der FDIV Bug. Die ersten Versionen des Pentium verrechneten sich bei bestimmten Werten bei der Fließkommadivision (Befehl FDIV). Das war nicht sehr häufig, aber reproduzierbar und beruhte auf einem Fehler in einer Tabelle in der zwei Bits vertauscht waren. Intel hatte den Fehler im Frühjahr 1994 entdeckt und bis Sommer 1994 stillschweigend korrigiert. Zum Skandal wurde er, weil er die Öffentlichkeit nicht informierte und als ein Professor ihn entdeckte den Prozessor nur austauschen wollte, wenn der Benutzer zu einer "besonders betroffenen Gruppe" gehörte. Zuerst zogen auch die Computerhersteller mit, die mittlerweile auch abhängig von Intel waren (Mittel für Werbekampagnen, frühzeitige Lieferungen von Prototypen der Chipsätze für neue Prozessoren). Erst als IBM aus der Allianz ausscherte wurde aus dem FDIV Bug ein Skandal und die öffentliche Reaktion war enorm: was maß sich der Computerhersteller an zu entscheiden wer einen neuen fehlerfreien Prozessor bekäme und wer nicht? Bei jedem anderen Produkt hätte es eine Rückrufaktion und einen kostenlosen Austausch gegeben. Intel musste nachgeben, machte im vierten Quartal 1994 deutliche Verluste am Gewinn weil er Rückstellungen für den Austausch der Prozessoren machen musste. Schwerwiegender war, dass das Renommee stark beschädigt war. Seitdem führt Intel vorbildlich Listen in denen jeder Bug beschrieben ist und wie er behoben wurde bzw. er nach Auslieferung korrigiert werden kann (das ist heute durch angepasste BIOSe die Regel).

Technische Daten
Erschienen: März 1993
Transistoren: 3,1 Millionen (P5)
3,3 Millionen (P54C)
4,5 Millionen (P55C)
Technologie 0,8 µm BiCMOS (60-66 MHz), 0,6 / 0,35 BiCHMOS (75-200 MHz, P54C), 0,35/0,28 µm BiCHMOS (Pentium MMX)
Taktfrequenzen: 60,66 (P5)
75, 90, 100, 120, 133, 166, 200 MHz (P54C)
166,200, 233 MHz (P55C MMX)
Mobile Versionen bis 300 MHz
Recheneinheiten Ganz/Fließkomma 2 / 1
Geschwindigkeit Ganzzahlen 352 Dhrystones bei 200 MHz
Geschwindigkeit Fließkommazahlen 132 Whetstones bei 200 MHz
Geschwindigkeit: 100 - 575 MIPS
Spannung: 5 V, später 3,3 V
Gehäuse: PGA mit 273 / 321 Pins (P5 / P55C)
Speicher: 4 GByte physikalisch, 64 TByte virtuell
Datenbus: 64 Bit breit
Vorgänger: 80486
Nachfolger: Pentium Pro

Quellen:

Pentium Processor Family Developers Manual

Georg Schnurer: Die fünfte Generation

Pentium Processor Datasheets (diverse ausgaben)

Artikel erstellt am 5.10.2014.
Artikel zuletzt aktualisiert 30.8.2016

Zum Thema Computer ist auch von mir ein Buch erschienen. "Computergeschichte(n)" beinhaltet, das was der Titel aussagt: einzelne Episoden aus der Frühzeit des PC. Es sind Episoden aus den Lebensläufen von Ed Roberts, Bill Gates, Steve Jobs, Stephen Wozniak, Gary Kildall, Adam Osborne, Jack Tramiel und Chuck Peddle und wie sie den PC schufen.

Das Buch wird abgerundet durch eine kurze Erklärung der Computertechnik vor dem PC, sowie einer Zusammenfassung was danach geschah, als die Claims abgesteckt waren. Ich habe versucht ein Buch zu schreiben, dass sie dahingehend von anderen Büchern abhebt, dass es nicht nur Geschichte erzählt sondern auch erklärt warum bestimmte Produkte erfolgreich waren, also auf die Technik eingeht.

Die 2014 erschienene zweite Auflage wurde aktualisiert und leicht erweitert. Die umfangreichste Änderung ist ein 60 Seiten starkes Kapitel über Seymour Cray und die von ihm entworfenen Supercomputer. Bedingt durch Preissenkungen bei Neuauflagen ist es mit 19,90 Euro trotz gestiegenem Umfang um 5 Euro billiger als die erste Auflage. Es ist auch als e-Book für 10,99 Euro erschienen.

Mehr über das Buch auf dieser eigenen Seite.

Hier geht's zur Gesamtübersicht meiner Bücher mit direkten Links zum BOD-Buchshop. Die Bücher sind aber auch direkt im Buchhandel bestellbar (da ich über sehr spezielle Themen schreibe, wird man sie wohl kaum in der Auslage finden) und sie sind natürlich in den gängigen Online-Plattformen wie Amazon, Libri, Buecher.de erhältlich.


© des Textes: Bernd Leitenberger. Jede Veröffentlichung dieses Textes im Ganzen oder in Auszügen darf nur mit Zustimmung des Urhebers erfolgen.
Sitemap Kontakt Impressum / Datenschutz Neues Hier werben / advertisment here Buchshop Bücher vom Autor Top 99