Home Computer PC Quiz Site Map counter

Pentium - der 8086 Emulator

Die Geschichte der x86 Ahnenserie

Ausführlich findet man die Chronik der Intel Prozessoren in einem eigenen Artikel. Hier sollen nur einmal die wichtigsten Stationen bis zum Pentium aufgezeigt werden:

Wachtwechsel beim Pentium

Pentium Ein Nebeneffekt der bisherigen Entwicklung war, das die Anzahl der Takte die man brauchte um einen Befehl auszuführen immer kürzer wurde. Die Prozessoren wurden zwar vornehmlich schneller durch die Steigerung des Prozessortaktes von 4.77 MHz beim IBM PC auf 100 MHz bei den letzten 486 er Prozessoren, aber auch die Anzahl der Takte die ein Befehl brauchte konnte im Laufe der Entwicklung auf ein Sechstel gesenkt werden..

Nun führte der 486 er die einfachsten Befehle schon in einem Takt aus. Das ergab Probleme: Man konnte nun zwar die Ausführungszeit komplexer Befehl noch weiter senken, jedoch wäre der Zugewinn an Gesamtgeschwindigkeit gering.

Man befand sich in einer Sackgasse in der Entwicklung: Man konnte nicht viel mehr aus der alten x86 Architektur herausholen. Motorola, die mit der Weiterentwicklung ihres 68000 die gleichen Probleme hatten, verabschiedeten sich von der alten Architektur und hatten die Power PC Architektur mitentwickelt. Diese bietet die Unterstützung für die alten 68000 Befehle und neue Befehle, von denen mehrere parallel ausgeführt werden und die den Zugriff auf erheblich mehr Register erlauben und somit langsame Speicherzugriffe vermeiden helfen.

Intel befürchtete um die Marktdominanz, zumal sie ja immer die Hersteller von x86 Clones wie AMD, Cyrix und IBM im Nacken hatten. Sie erfanden den x86 Emulator on Chip!

Der Wechsel von CISC zu RISC

Pentium Pro Ende der achtziger Jahre brachten immer mehr Firmen Prozessoren heraus, die auf der RISC Technologie basierten. Der 8086 ist ein klassischer Vertreter einer Architektur die man CISC nennt: Ihr Kennzeichen sind viele leistungsfähige Befehle die einem Programmierer Arbeit abnehmen und die schneller sind als mehrere einzelne Befehle. So gibt es beim 8086 Instruktionen die einen ganzen Speicherblock kopieren oder einen Speicherblock nach einem Zeichen absuchen. Dies entspricht ganzen Routinen aus einfachen Befehlen. Der Nachteil dieser Architektur ist das man wenige Register benutzen kann. Man ist bestrebt möglichst die häufigsten Befehle in einem Byte zu kodieren. Je mehr Befehle es sind um so weniger Register können verwendet werden. So muss man z.B. bei einem Additionsbefehl das Register angeben welches einen Wert enthält. Hat man 8 Register so belegt ein Additionsbefehl 8 Einträge in der Opcodetabelle. Und da fast jeder Befehl eines oder sogar zwei Register benutzt wird der Platz hier schnell klein.

Das Gegenteil davon ist RISC. Hier verwendet man wenige Befehle die einfach sind, aber sehr schnell ausgeführt werden. Man verwendet mehr Register wodurch zwar die Befehlslängen länger werden, doch gleicht man dies dadurch aus, das man ein einheitliches Format nimmt, z.B. eine einheitliche Befehlslänge von 2 Bytes für den Opcode. Beim x86 muss man erst feststellen ob der Befehl eines oder zwei Bytes belegt. Die eingesparte Zeit dafür macht den höheren Aufwand wieder wett.

Pentium III RISC erfreute sich bei Firmen wie Sun (SPARC), MIPS (MIPS 1000,2000,3000) oder Digital (Alpha) aus verschiedenen Gründen großer Beliebtheit. Als erstes wurde schon Ende der achtziger Jahre der meiste Code nicht in Assembler geschrieben, sondern mit einem Compiler erzeugt. Ein Programmierer kann die vielen Befehle eine CISC Prozessors effektiv nutzen und auch entscheiden welche Register welche Werte aufnehmen sollen. Ein Compiler ist hier weitaus weniger intelligent. Es zeigte sich, das 80 % des Compilercodes nur 20 % der Befehle eines 8086/80286 Prozessors verwendeten. Weniger Befehle wie bei RISC wären hier also nicht ineffizienter.

Das zweite war, das man für die einfachere RISC Architektur erheblich weniger Transistoren pro Chip benötigte. Die senkte die Entwicklung- und Herstellungskosten. Anders als bei Intel wo der PC Markt jeden Preis akzeptiert, weil es keine Alternative gibt, ist dies ein wichtiger Punkt für Firmen die auch noch woanders ihre Prozessoren losbekommen wollen.

Zuletzt hat sich die Umgebung seit der 8086 entwickelt wurde, dramatisch geändert. Als dieser entwickelt wurde war RAM 200 ns schnell, der Prozessor arbeitete mit 4.77 MHz und brauchte durchschnittlich 10-20 Takte pro Befehl. Beim 486 er war RAM nun 60 ns schnell, aber der Prozessor nun 100 MHz schnell und brauchte 1-3 Takte pro Befehl, d.h. der Prozessor war erheblich schneller als das RAM, wodurch ausgeklügelte und teure Caches als Zwischenspeicher nötig waren. Ein Prozessor mit mehr internen Registern ist dagegen unabhängiger vom RAM, da er mehr Werte in den Registern halten kann. Daher verwenden RISC Prozessoren erheblich mehr Register als CISC: Anstatt 6-16 nun 64-256 Register.

Die Lösung von Intel

Pentium 4 Intel selbst hatte mit dem i860 eine RISC CPU Ende der Achtziger Jahre vorgestellt. Diese wurde aber im Markt nicht angenommen, obgleich ihre Rechenleistung beeindruckend war - sie bot keine Kompatibilität zur x86 Serie. Intel hat daraus gelernt und beim Pentium einen völlig anderen Weg eingeschlagen.

Für den Programmierer blieb alles beim alten: Die Befehle des 386 blieben. Äußerlich wurde der Datenbus von 32 auf 64 Bit vergrößert und das Speichermanagement verbessert. Das meiste tat sich jedoch intern. Intern gab es nun Datenpfade von 128 und 256 Bit Breite - nötig weil der Prozessor maximal 3 Instruktionen (zwei Integer und eine Fliesskomma) auf einmal bearbeiten konnte. Dazu hatte der Rechner auch zwei Integer und eine Flieskommarecheneinheit. Damit dies ging, analysierte der Prozessor eingehenden Code und sortierte die Befehle so um, das man sie möglichst parallel ausführen konnte. Für Verzweigungen im Programm wurde eigenes eine Tabelle aufgebaut, die im Voraus die Sprungadressen und Rücksprungadressen enthielt, so das hier die Pipeline, welche Prozessor mit Code versorgte nicht ins Stocken kam.

Die größte Änderung - die überhaupt diese parallele Ausführung möglich macht - war aber ein neuer CPU Kern. Anstatt wie bisher die x86 Befehle zu dekodieren und auszuführen, produziert nun der Befehlsdekoder einen weiteren Code aus RISC Befehlen für den neuen CPU Kern, die so genannten µOps (Sprich Mikro-Ops). Ein einfacher Befehl produziert nur einen µOps, die komplexeren Befehle aber mindestens 2. Die Art der Übersetzung ist nicht festverdrahtet sondern durch ladbaren Mikrocode realisiert. Damit kann man bei Fehlern einfach diesen während der Produktion ändern, ohne das gesamte Layout des Pentium neu machen zu müssen.

Damit die Geschwindigkeit auch nicht mehr so stark vom RAM abhängt, verfügt der RISC Kern auch über mehr Register, die durch Register-Remapping auf die nach außen hin sichtbaren abgebildet werden. Das ganze ist in der Summe ein Design, das nun mehrere x86 Befehle gleichzeitig ausführen kann - anstatt nur einen wie beim 486. Es ist aber kein x86 Prozessor mehr, sondern ein Prozessor der so tut als wäre er ein x86 er.

Limitiert wird die Geschwindigkeit eines Pentium (und auch seiner Nachfolger) von der Intelligenz des Compilers. Versteht er es Befehle so anzuordnen, das ein paralleles Arbeiten möglich ist, so ist der Gewinn beeindruckend. Wenn dies nicht gelingt so ist das Resultat schlechter. Intel hat dies lange Zeit für interne Vergleich den so genannten iComp Index ausgenutzt, die dem Pentium eine erheblich größere Performance bescheinigten, als er sie tatsächlich in normalen Anwendungen hatte.

Die Nachfolger: Die Architekturen des Pentium Pro und Pentium II/III haben das Parallele Arbeiten noch weiter ausgebaut indem sie weitere Fliesskomma und Speichereinheiten hinzufügten und die spekulative Ausführung verbesserten. Der Pentium 4 macht hier wieder einen Schritt zurück indem die Anzahl der Einheiten wieder verringert wird, dafür aber der interne Takt im Prozessor erhöht wird.

Der Nachteil des "Emulierens" - Design ist, das es Rechenzeit kostet und der Chip erheblich mehr Transistoren benötigt. Dies macht folgende Tabelle deutlich:

Prozessor Takt (MHz) SPEC fp_Base 2000 pro MHz
Pentium III 1080 1824 1.689
Athlon 1333 2672 2.004
Pentium 4 1700 3456 2.033
Ultrasparc III 900 3760 4.178
Alpha 21264A 833 4121 4.947

Es handelt sich um einen Fließkommabenchmark wie er bei Workstations üblich ist. Deutlich wird das die Intel Familie sowohl im Absolutwert, wie auch in der Leistung pro MHz Taktfrequenz hinten liegt. Nur durch den doppelt so hohen Takt wie bei der Konkurrenz kommt der Pentium 4 überhaupt in die Leistungsklasse der RISC Prozessoren Alpha und SPARC. Vertiefende Informationen über Rechnerarchitekturen gibt es auf der Seite über Rechnerarchitekturen und Was der PC vom Supercomputer gelernt hat.

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 Neues Hier werben Bücher vom Autor Buchempfehlungen Top 99