Home Computer x86 Prozessoren Site Map counter

Der Intel Pentium II + III Prozessor

BlockdiagrammIn einer lockeren Reihe will ich die Hardwareentwicklung der x86 Reihe beleuchten. Heute geht es um den Pentium II, den fünften 32-Bit Prozessor von Intel. Es handelte sich um keine Neuentwicklung, sondern eine Kombination der Features des Pentium Pro und des Pentium. Die zugrundeliegende Architektur war die P6-Architektur, wie die Nummer "6" schon andeutetet war es die des Pentium Pro. Intel benannte die ab Februar 1999 verfügbaren Versionen mit mehr als 450 MHz als Pentium III. Der Pentium III unterscheidet sich zwar in einigen Details vom Vorgänger, doch der generelle Aufbau wurde kaum verändert, so ging die Fachpresse von einer Umbenennungsaktion aus und ich behandle beide Prozessoren hier zusammen.

Aufbau

Die beiden unmittelbaren Vorgänger waren der Pentium und Pentium Pro. Eigentlich sollte der Pentium Pro den Pentium von PCs bis zu Supercomputern ablösen, doch das gelang nur bei Workstations und Server. Es gab zwei Probleme. Das eine war das der L2-Cache der mit voller Prozessorgeschwindigkeit arbeiten sollte. Das erlaubte es die Taktrate kaum nach oben zu steigern. Zum zweiten wiesen die Cachebausteine oft Defekte auf und das erniedrigte die Ausbeute: der Prozessor blieb teuer. Speziell im PC-Bereich war kam noch hinzu, dass der auf die Ausführung von 32 Bit Befehlen in einem flachen unsegmentierten Adressraum optimierte Prozessor bei 16 Bit Befehlen im Allgemeinen und beim Laden der Segmentregister im Besonderen stark in der Leistung einbrach. Damit war er unter Windows 95, der damals aktuellen "Consumer" Version von Windows langsamer als ein Pentium. Es hatte noch zahlreiche 16-Bit Treiber "unter der Haube" und viele der Programme die eingesetzt wurden waren für Windows 3.1 also ein 16-Bit Betriebssystem geschrieben worden.

Während man die zukunftsweisende Architektur des Pentium Pro beibehielt, besserte man bei den bekannten Mängeln nach. Intern heißt die Architektur daher auch "P6 Pro" - die Architektur des Pentium war die "P6" Architektur. Der Pentium II war der erste Prozessor der nicht als Chip sondern als Modul verkauft wurde. Das Modul enthielt den Prozessor auf einer Platine auf einer Seite und den Cachecontroller und zwei externe Cachebausteine auf der anderen Seite. Die Cachebausteine wurden zum einen extern gefertigt, was die Ausbeute steigerte, zum anderen waren sie langsamer als der Cache des Pentium Pro, das erlaubte es die Taktfrequenz zu steigern. Verwendet wurden kommerzielle SRAM für den Cache. Der Cache war limitiert auf einen cacheablen Hauptspeicherberiech von 512 MB.

In der internen Architektur übernahm man die Features des Pentium bei der schnelleren Ausführung von 16 Bit Code und die MMX Erweiterung des Pentium MMX samt der doppelt so großen L1-Caches, die damit auch den langsameren L2-Cache ausglichen.

Die Ausführungseinheiten waren die des Pentium Pro - es war ein dreifachskalarer Prozessor mit zwei Integereinheiten und einer FPU. Dabei führten diese Mikroops eines Riscprozessors aus, die von dem Dekoder aus den x86 Ops gebildet wurden. Dazu gab es eine eigene RISC Einheit mit Schattenregister, Scheduler, Out.of-Order Execution und Bereinigungsstufe. An die beiden Integereinheiten waren jals Erweiterung gegenüber dem Pentium Pro jeweils noch die MMX-Einheiten angeflanscht worden. Hinsichtlich der Beschreibung der Ausführung der Befehle über die interne RISC Einheit verweise ich auf den Artikel über den Pentium Pro.

Fetch/decode UnitZur Beschleunigung der Ausführung liest der Prozessor 20 bis 30 Anweisungen im Voraus, speichert in einem Branch-Target-buffer die letzten genutzten und folgenden Adressen bei Verzweigungen, um Sprünge schneller durchführen zu können und schon nach dem Sprung die richtigen Befehle zu lesen und die Pipeline zu füllen.  Schattenregister die über eine Register Alias Allocation Table auf die wenigen Allzweckregister der x86 Architektur gemappt wurden erlaubten es Befehle umzugruppieren und reduzierten Abhängigkeiten weil Befehle dieselben Register nutzten.

An dem 16 Kbyte großen L1-Cache (jeweils für Daten und Code vorhanden) der mit voller Prozessorgeschwindigkeit arbeitete waren gleich drei Befehlsdekoder geschaltet die drei Befehle simultan bearbeiteten. Die 12-stufige Pipeline hatte mehr Stufen erhalten und brauchte so pro Stufe 33% weniger Zeit als beim Pentium, wodurch ein höherer Arbeitstakt möglich war. Ein Memory Order Buffer sollte die Daten, die geladen und gespeichert werden aufnehmen und ihre Ablegereihenfolge so umsortieren, dass keine Blockierung verursacht wird, also die Parallelität weiter erhöhen.

Die MMX Instruktionen, die neu hinzukamen hatten den Vorteil, dass sie relativ wenige Mikroops erzeugten und in der Integer-Pipeline ausgeführt wurden (Fließkommaoperationen waren nicht gepipelinet).

Die beiden Caches von jeweils 16 KByte Größe waren in Cachelines mit 32 Bytes aufgeteilt. Sie waren vierfach assoziativ und bestanden aus acht Banken. Die Zugriffszeit des externen Caches betrug minimal 10 Takte. Da der interne Cache gleichzeitig einen Lese- und Schreibezugriff unterstützte gab es vier Schreibbuffer, welche die  Daten zum Speicher aufnahmen. Der Cache unterstützte Write Back. Der beim Pentium III nun in den Prozessor integrierte L2-Cache lief deutlich schneller mit halber Prozessorgeschwindigkeit.

Der Pentium III führte als neue Einheit SSE ein (Streaming Extension). SSE wurde seitdem mehrfach erweitert (Mitte 2014 ist SSE4 aktuell, wahrscheinlich die letzte Version, denn es gibt nun als leistungsfähigere Alternative AVX). SSE ist eine SIMD-Erweiterung. SIMD (Single Instruction, Multiple Data) verarbeitet mit einem Befehl mehrere Datenworte, in diesem Falle Fließkommazahlen. Der Vorteil ist, dass das Dekodieren des Befehles nur einmal anfällt. daneben haben die Fließkommarechenoperationen eine Latenz und einen "Throughput". Sie brauchen 2-4 Takte bis das erste Ergebnis vorliegt, folgende Operationen desselben Befehls werden aber in einem Takt ausgeführt. Indem nun mehrere Datenworte bearbeitet werden, fällt die Latenz nur einmal an.

AusführungseinheitBei SSE wurden die acht Fließkommaregister (XMM) von 80 auf 128 Bit erweitert. Sie erlauben nun aber nicht die Bearbeitung von 128 Bit langen Zahlen (obwohl diese auch standardisiert sind), sondern vier 32 Bit Fließkommazahlen gleichzeitig. 32 Bit Fließkommazahlen (Datentyp Float oder Single) haben einfache Genauigkeit von 7 signifikanten Stellen. Gedacht war an einen Einsatz im wissenschaftlichen Bereich (z.B. Supercomputer), doch hier reicht die einfache Genauigkeit nicht aus. SSE hatte in der Praxis wie MMX daher kaum Vorteile für den Anwender. Zudem liefen Programme die SSE nutzten weder auch einem Pentium II noch einem Athlon die beide nicht über diese Befehle verfügten. Weiterhin wurden die MMX Befehle erweitert, da die Fließkommaregister nun breiter waren, erlaubten diese nun auch 64 Bit breite Operanden.

Grafiken von oben: Gesamtaufbau, Fetch/Decode Unit, Dispatch/Execute Unit, Aufbau des Pentium III.

Modelle

Die ersten Pentium II kamen schon mit 233 MHz auf den Markt - einem höheren Takt als die Pentium Pro jemals erreichten. Diese Versionen die mit maximal 333 MHz getaktet waren hatten einen externen Bustakt von 66 MHz. Die zweite Generation mit 350 bis 450 MHz Takt hatte einen Systemtakt von 100 MHz. Beide waren mit 256 und 512 kByte L2-Cache verfügbar und hatten die Multiprozessorunterstützung für einen weiteren Prozessor. Diese zweite Generation steigerte auch den Systemtakt, mit dem Speicher und Slots angebunden waren von 100 auf 133 MHz.

Die folgenden Prozessoren nannte Intel Pentium III, wobei man auch hier drei Kerne: Katmai (450-600 MHz), Coppermine (500-1133 MHz) und Tualin (1000-1400 MHz) unterscheiden kann. Der Pentium III unterscheidet sich vom Pentium II durch die eingebaute Einheit SSE. Technisch unterscheid den Pentium III vom Pentium II, das man wieder abkam von der Verpackung auf einer kleinen Platine in einem Modul (vorne Prozessor und Tag RAM, Rückseite: Cache Controller und zwei Cachebausteine) sondern zu einem viereckigen Sockel. Auf diesen konnte man nun auch den Cache integrieren, da die höhere Integrationsdichte dies nun wieder ermöglichte.

Geschichtliche Bedeutung

Aufbau des Pentium IIIAMD war sehr lange Zeit keine Konkurrenz für Intel gewesen. Seit der 486-er Generation hinkten sie Intel hinterher. Mit der zweiten Generation des K6 Prozessors gelang es aber leistungsmäßig zumindest ins Mittelfeld aufzuschließen.  Vor allem aber im Einstiegssegment verkauften sich Rechner mit AMD-Prozessoren sehr gut. Intel reagierte mit der Einführung einer eigenen Linie, den Celeron Prozessoren. Es gab schon früher "abgespeckte" Versionen für preiswertere Rechner - man könnte den 8088 dazu zählen, auch wenn von ihm weil IBM ihn als Basis des IBM PC nahm mehr als vom 8086 verkauft wurden. Später folgten die "SX" Versionen des 386 und 486. Mit dem Celeron vollzog Intel dieselbe Marketingmaßnahme wie beim Pentium: Celeron steht nicht mehr für eine bestimmte Architektur, sondern für preiswerte Prozessoren. Pentium dann die nächsthöhere Linie für den Desktop und später folgte noch Xeon für Serverprozessoren (meist mit sehr großen Caches und nach Einführung der Mehrkernprozessoren auch mit mehr Kernen als die Desktopvarianten). Der erste Celeron hatte keinen externen Cache, was ihn sehr langsam machte. Der Celeron A der dann nachfolgte dagegen einen verkleinerten (128 KByte) großen Cache.

Auch zur Zeit des Pentium II und III behielt Intel die Vormachtstellung, sowohl bei der Performance wie auch bei dem Markterfolg. Das änderte sich im August 1999, als AMD den Athlon Prozessor vorstellte. Er verfügte über drei interne Ganzzahleinheiten und eine Fließkommaeinheit, wobei deren Subfunktionen über drei separate Ports angesprochen werden konnten (dadurch konnten Store/Additions- und Multiplikationsbefehle parallel ausgeführt werden). Dadurch war er schneller als ein Pentium III und AMD gewann Marktanteile. Intel konnte nichts mehr tun als den Takt zu steigern. Konkurrieren sollte mit dem Athlon die nächste Mikroarchitektur: Netburst die im Pentium 4 erst im November 2001 debütierte sollte AMD kontern

Nach Vorstellung des Pentium 4 mit seiner "Netburst" Technologie sollte die Fertigung des Pentium III auslaufen. Es gab noch eine Ausnahme, eine Version für mobile Rechner (Notebooks). Diese wird meist nach der Desktopversion vorgestellt, da sie stromsparend sein muss. Beim Pentium 4 gelang es nicht den Stromverbrauch in Grenzen zu halten. Der Stromverbrauch stieg rasch mit steigendem Takt an und erreichte schließlich eine Grenze die mit herkömmlichen Kühlern, die die Wärme an die Umgebungsluft abgeben nicht mehr bewältigt werden konnte. AMD hatte zur selben Zeit mit dem Athlon, der mit niedriger Taktfrequenz, aber mehr internen Rechenwerken arbeitete eine Alternative parat die bald den Pentium 4 in der Leistung überholte.

Aus dem Pentium M für Mobilanwendungen schuf Intel dann die erste Generation von Intel Core Prozessoren. Aus ihre entwickelte sich die heutige Architektur der iCore Serie. Mit ihr konnte Intel dann auch AMD wieder in die Schranken weisen.Pentium III

Technische Daten  
Erschienen: 16.2.1998 (Pentium II)
Mai 1999 (Pentium III)
Transistoren: 7,5 Millionen - 27,4 Millionen (Pentium II)
9,5 Millionen - 29 Millionen (Pentium III)
Technologie 0,35 - 0,18 µm (Pentium II)
0,25 - 0,13 µm (Pentium III)
Taktfrequenzen: 233 - 450 MHz (Pentium II)
450 - 1400 MHz (Pentium III)
Geschwindigkeit: 700 - 4100 MIPS (1354 MIPS Pentium III mit 500 MHz)
Recheneinheiten Ganz/Fließkomma 2 / 2
Geschwindigkeit Ganzzahlen 544 Dhrystones bei 300 MHz (P-II), 1858 bei 1000 MHz (Pentium III)
Geschwindigkeit Fließkommazahlen 245 Whetstones bei 300 MHz (P-II),816 bei 1000 MHz (Pentium III)
Spannung: 3,3 - 2 Volt (Pentium II)
2 - 1,45 Volt (Pentium III)
Gehäuse: Slot 1 mit 242 Pins
Sockel 370 und 478 (Pentium III)
Speicher: 64 GByte physikalisch, 64 TByte virtuell
Datenbus: 64 Bit breit
Vorgänger: Pentium Pro
Nachfolger: Pentium 4

Quellen:

Pentium II Processor Developer Manual

Pentium II Processsor at 233, 266, 300 and 350 MHz

Pentium II Processor at 350, 400 and 450 MHz

Artikel erstellt am 25.10.2014, Artikel zuletzt geändert am 17.12.2014

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