Home Computer Hardware Site Map counter

CISC und RISC - Die Gegensätze der Rechnerarchitekturen

Was bedeuten die Abkürzungen?

RISC und CISC stehen für die Begriffe Reduced Instruction Set Computer bzw. Complex Instruction Set Computer. Damit sind zwei grundsätzliche Philosophien im Computerbau gemeint. Die ich im folgenden vorstellen will. Computer heute sind meistens keine reinen RISC oder CISC Maschinen sondern haben von beiden etwas übernommen.

CISC - die natürliche Evolution

Bei den Begriffen CISC und RISC geht es darum wie die CPU eines Computers arbeitet. Bei dem CISC Modell hat die CPU üblicherweise wenige Register (Speicherplätze in der CPU), wovon manche auch meist Spezialaufgaben haben. Dazu finden sich viele Befehle, darunter auch sehr mächtige, die z.B. in einer Schleife gleich mehrere Register bearbeiten. Die Befehle haben meist ungleiche Befehlslängen. Die am häufigsten benutzten nur ein Byte, weniger häufige zwei oder drei Bytes. Dadurch kann der Code kompakt gehalten werden.

Üblicherweise werden diese Befehle durch Mikrocode realisiert. Das ist eine Zerlegung der Befehle in kleinere Einheiten, eine Art "Interpreter" auf der CPU. Bei modernen CPUs ist dieser Mikrocode sogar noch änderbar, wodurch der Hersteller Bugfixes einspielen kann.

Wenn eine CPU weiterentwickelt wird, kommt es oft vor das sie immer mehr in Richtung CISC wandert. Der Grund ist relativ einfach. Man hat mit fortschreitender Zeit die Technologie, immer mehr Transistoren auf einem Chip zu integrieren. So hatte die erste 8086 CPU 29.000 Transistoren und ein Pentium 4 verfügt über 42 Millionen. Diese Möglichkeit wird fast immer genutzt um neue Befehle zu integrieren, die z.B. das Programmieren erleichtern. Dadurch wird aber das gesamte Design komplexer was CISC ausmacht.

Weitere Merkmale sind mächtige Befehle: Beim 8086 z.B. Stringbefehle die eine gesamte Zeichenkette mit einem Befehl kopieren oder die Möglichkeit nur Teile der Register zu benutzen, bei einem 32 Bit Prozessor also z.B. auch mit 8 Bit oder 16 Bit breiten Zahlen zu arbeiten und ein Register in zwei Hälften zu spalten wie beim 8086 z.B. das AX Register in 2 8 Bit Register AH und AL.

Auch bei den Großrechnern früherer Tage war oft die CISC Architektur vorherrschend: Man war der Überzeugung je "mächtiger" die Befehle einer CPU sind um so schneller diese und um so weniger Speicherplatz benötigt der Code. (Speicherplatz war schon immer knapp). Ein prinzipieller Nachteil von CISC ist, das es in der Regel nicht möglich ist viele Register zu verwenden. Register sind Speicherplätze in der CPU und der schnellste Speicher den eine CPU adressieren kann. Die kleine Anzahl liegt daran, das bei den meisten Befehlen auch das Register auf das er wirkt, mit einkodiert wird. Je mehr Register man hat desto weniger Befehle kann man realisieren. Sehr oft gab es dann Zwischenlösungen wie Befehle die nur mit bestimmten Registern arbeiteten.

RISC - Reduziert auf Geschwindigkeit

RISC geht einen anderen Weg. Man beschränkt sich auf die wirklich notwendigen Befehle. Als Ausgleich hat mehr erheblich mehr Register (bis zu 256) auf dem Chip, so das man viel öfters schnelle Register-Register Operationen hat als langsame Speicher-Register Operationen. Die wenigen Befehle machen das Design einfacher und man kann den Prozessor billiger herstellen.

Anstatt Mikrocode verwendet man eine direkte Verdrahtung der Befehle im Dekodierer, wodurch die Ausführung schneller als bei CISC ist. Gleichzeitig vereinheitlicht man das Datenformat. Bei CISC kann ein Befehl mal ein Byte, mal drei Byte lang sein, dazu kommen eventuell noch einige Bytes für Daten. Kurzum, das Dekodieren eines solchen Befehles dauert, wodurch Zeit verloren geht. Bei RISC haben alle Befehle eine einheitliche Länge, wodurch das Dekodieren schneller geht, aber Code zwangsläufig größer ist.

Die Wurzeln von RISC

Schon immer war man bestrebt die Maschine mächtiger zu machen, so war die historische Entwicklung auch bei den Großrechnern, lange die von CISC. Eine Maschine aber zeigte was RISC bedeutete:

CDC 6600 Es war die Cyber 6600, der erste Supercomputer des legendären Computerbauers Seymour Cray. Die Cyber war darauf getrimmt schnell zu sein - Sie schaffte bei ihrer Einführung 1965 schon stolze 9 Megaflops. Die Cyber war ein Computer mit einer Arbeitsbreite von 60 Bit. Ein Byte waren damals nur 6 Bits. Mit einem Adressraum von 18 Bit (256 KByte). (Mehr Adressraum wäre auch nicht von Vorteil gewesen, denn Ringkernspeicher, die damals übliche Technik waren keine kleinen Chips sondern 5 × 5 cm große Module mit max. 1024 kleinen Eisenringen. So braucht Speicher viel Platz). Zur Verfügung standen 16 Register zum Adressieren (18 Bit Breite) und ganze 60 Datenregister à 60 Bit. Die Cyber nahm mit 2 Recheneinheiten schon das vorweg, was der Pentium erst 30 Jahre später schaffte: Das Pipelining von 2 Recheneinheiten, im Gegensatz zum Pentium waren aber diese unabhängig voneinander. Dafür hatte die CDC 6600 nur 64 Maschinenbefehle - genau so viele wie in ein Byte von 6 Bits passten. Zum Vergleich der 8086 hatte 90 Maschinenbefehle und seitdem sind viele weitere hinzugekommen.

Um maximale Performance zu schaffen, hatten alle Befehle ein einheitliches Format: Eine Länge von 15 oder 30 Bit, zusammen mit einem Halben Datenwort von 30 Bit. So hatten alle Befehle eine einheitliche Länge von 60 Bit. Der Lohn war die Geschwindigkeit. IBMs Standardmodell IBM 360 erreichte zur gleichen Zeit nur 330 KFlops, die Cyber 6600 war also nahezu 30 mal schneller als ein "normaler" Großrechner.

Obgleich die Cyber sehr erfolgreich war und die Basis für Seymour Crays spätere Supercomputer war, inspirierte sich keine anderen Computer dieser Zeit. Bei den üblichen Großrechnern blieb man lieber bei CISC.

CISC oder RISC - Der Kampf der Heimcomputer

10 Jahre später kamen die ersten 8 Bit Prozessoren auf den Markt und man könnte annehmen das man bei der beschränkten Anzahl von Transistoren, die man damals unterbringen konnte, der Weg zu RISC klar war. Doch dem war nicht so. Das historische Duell fing 1975 zwischen dem 8080 und 6502 an und sollte sich über 10 Jahre hinziehen.

Zilog Z801975, West Coast Computer Messe (WSCOM). Um einen Stand der kleinen Firma "MOS Industries" herrscht Andrang. Die Firma bietet in einem durchsichtigen Gefäß ihren neuen Mikroprozessor 6502 an - nichts neues so scheint es, es gibt bereits die Typen 8080 von Intel, 6800 von Motorola und RCA 1802. Doch eines war neu: Der Preis der neue Prozessor wurde für 25 USD angeboten, während der Preis des 8080 bei 175 USD liegt. Jeder kaufte einen Prozessor, am Ende des ersten Tages war das Gefäß leer.

Auf dem 6502 entstanden später eine Reihe von Computern die Geschichte machten - Der Apple II, der C64 oder die Atari VCS 2600 Spielkonsole. Aber auch auf dem 8080 Nachfolger Z80 entstanden viele Rechner - Der Schneider CPC, Tandy TRS-80, der Sinclair ZX-81 oder Spektrum. Beide Architekturen waren erfolgreich, obwohl Sie nicht verschiedener hätten sein können. Der 8080 war schon ein typischer CISC Vertreter. Aber der Z80, den ein ehemaliges INTEL Entwicklungsteam baute, toppte ihn leicht.

Der 8080 hatte einen Akkumulator (A) und 6 mal 8 Bit Register (B,C,D,E,H,L) die zusammen zu 16 Bit Registern (BC, DE, HL) geschaltet werden konnten. Dazu kam der 16 Bit Stackpointer und der Programmzähler. Speicheroperationen gingen beim 8080 nur übers HL Register, dafür bot dieses auch 16 Bit Operationen wie Addition und Subtraktion. Der Zachtzigerweiterte das Design des 8080. Er führte einen zweiten Registersatz ein, dazu zwei neue Register IX und IY, die für Indexoperationen benutzt wurden. Die BC und DE Register wurden genauso tauglich wie das HL Register für Speicheroperationen und 16 Bit Rechnungen, dazu kamen eine Fülle von Befehlen - Für Blockoperationen, In/Out, Bitweise Rotation / Verschiebung. Aus den 57 Befehlen des 8080 machte der Z80 über 134! Das kostete aber Zeit beim Dekodieren. Ein Befehl konnte zwischen einem und 5 Byte lang sein. Die Ausführung dauerte zwischen 4 und 28 Takten.

NOS 6502Wie einfach war dagegen das Design des 6502, nur 3 Register à 8 Bit, sogar nur ein 8 Bit Stackpointer. Der Stack lag fest zwischen Adresse 256 und 511 und über die Indexregister konnte man die Adressen 0 bis 255 ansprechen (und darüber das restliche RAM). Man konnte aber diese 256 Byte RAM auch als 256 zusätzliche Register ansehen, denn bei Erscheinen des 6502 war RAM schneller als Mikroprozessoren. Zudem waren die Befehle schnell zu dekodieren - in 1-2 Takten, da der 6502 sowohl aufsteigende wie absteigende Flanke des Taktsignals nutzte (so konnte man die Taktfrequenz im Vergleich zu einem 8080 oder Z80 schon halbieren).

So verschieden die Designs waren, in der Realität waren beide erfolgreich. Zwar war der MOS 6502 schneller als ein Z80 bei gleicher Taktfrequenz, (er übertrug pro Flanke ein Byte vom Speicher, anstatt einmal pro Takt), aber das glich sich dadurch aus, das dieser meist zwischen 1-2 MHz lief, während der Z80 3-4 MHz aufwies. Ab 1983 wurden noch schnellere Z80 Versionen herausgebracht die bis 10 MHz gingen. Diese Entwicklung war beim 6502 nicht möglich, da er zwingend auf das schnelle RAM angewiesen war. Dafür war ein 6502 immer ein Stück preiswerter, weil er einfacher herzustellen war.

Der wohl radikalste Ansatz von RISC im 8 Bit Zeitalter war der relativ selten eingesetzte RCA 1802. Mit nur 16 Befehlen war der Prozessor ausgestattet, lief dafür schon 1975 mit 6 MHz, während der 6502 mit einem und der 8080 mit 2.5 MHz eingeführt wurden. Er spielte auf dem Heimcomputermarkt keine Rolle, steckt dafür aber in zahlreichen Raumsonden. Da er technisch sehr robust und wenig anfällig gegenüber statischer Elektrizität war.

Intel und der IBM PC

Intel 8086Der Intel 8086 ist ebenfalls ein typischer Vertreter von CISC. Er wurde im IBM PC verwendetet. Die Rechenleistung der x86 Architektur galt spätestens ab 1986, als mit dem Intel 386 man zur Konkurrenz aufschloss, als das Maß der Dinge. Grund für das CISC Design war, dass man um Entwicklungskosten und Zeit zu sparen man das 8080 Design aufgebläht hatte. Dadurch hatte der x86 einige Macken die, seine Architektur komplex machten. Die wichtigste war, das er direkt nur 3 Segmente (Code, Daten und Stack) à 64 K ansprechen konnte, diese Fenster wurden in einem Adressraum von 1 Megabyte verschoben. Als man später mit dem 286 er die Architektur erweiterte auf volle 16 MB Adressraum und mit dem 386 auf 4 GB und 32 Bit, blieb die alte "Real Mode", aber immer noch erhalten als zusätzlicher Modus. Zudem konnte man nicht einfach neue Register einführen, obwohl der Befehlssatz der x86 Serie im Laufe der Zeit erweitert wurde.

Die Konkurrenz musste sehen, wie die x86 Rechner immer größere Marktanteile einnahmen. Mit der weiten Verbreitung hatte Intel zwei Trümpfe in der Hand: Sie verdienten mehr durch die größere Stückzahl und die Entwicklungskosten verteilten sich auf mehr Chips. Doch andere Hersteller hatten auch die Chance neue Wege zu gehen, sie waren nicht unbedingt aus sklavische Abwärtskompatibilität angewiesen.

Die Renaissance von RISC

Nun änderte sich aber auch in der Programmierung bis Mitte der achtziger Jahre etwas. Bis zum 8086 mit seiner begrenzten Rechenleistung und kleinem Speicher, war es nötig für schnelle Programme in Assembler zu programmieren. Bei der Einführung des viermal schnelleren 286 und mehr Speicher gewannen aber Programme, die mit Hochsprachen wie C entwickelt wurden immer mehr Bedeutung und Assembler wurde auf kleine systemnahe Routinen beschränkt. Nun ergaben aber Untersuchungen, das Compiler weitaus weniger als der menschliche Programmierer den Befehlssatz eines Prozessors ausschöpften. 80 % des Compilercodes verwendeten nur 20 % der Befehle, ja bestimmte Befehle wurden überhaupt nicht verwendet. Dies liegt daran das Compiler ein sehr starres Muster haben. Mehr noch: viele Vorteile von CISC - mächtige Befehle die nur mit einem bestimmten Register arbeiteten - wurden oft gar nicht genutzt. Dies liegt auch am starren Vorgehen eines Compilers. Dieser hat nicht mehrere Codealternativen vorrätig - Eine wenn man Register X benutzen kann, eine andere wenn man Register Y benutzen kann, sondern eben nur eine Version und verwendet dazu idealerweise die Befehle die mit allen Registern arbeiten.

Intel 80386 Dies war die Renaissance von RISC. Ende der achtziger Jahre bauten nahezu alle Hersteller RISC Prozessoren. Das gemeinsame Merkmal waren: Wenige, schnell zu dekodierende Befehle, einheitliches Befehlsformat und schnelle Dekodierung. Die einzelnen Konzepte waren durchaus unterschiedlich. RISC war auch eine Möglichkeit mit relativ wenigen Transistoren eine sehr hohe Rechenleistung zu erreichen. Dies war wichtig für Hersteller denen im Prozessormarkt von Intel immer mehr Marktanteile entzogen wurden. Motorola erschuf zusammen mit Apple und IBM den Power PC Chip. Der Chip hatte dadurch sehr unterschiedliche Anforderungen zu erfüllen: Apple und Motorola wollten einen Nachfolger für die in die Jahre gekommene 68000 Serie, so konnte dieser deren Befehle emulieren. IBM wollte aber gleichzeitig einen schnellen Prozessor für Minicomputer und sogar Großrechner. Der Power PC ist sehr erfolgreich und hat seit 1993 schon die vierte Generation erlebt. Erst mit dieser ist die Einführung eines Passivkühlers notwendig geworden bei sonst ähnlicher Rechenleistung wie ein Pentium Pendant (aber immer etwas niedrigerem Takt).

Transputer T400 Eine traurige Rolle spielte der ARM Prozessor. Die meisten neuen RISC Prozessoren waren gedacht für Workstations. Doch Acorn - eine in England bekannte Firma, brachte 1988 einen PC mit diesem Prozessor heraus, der es mit einem 386 er aufnehmen konnte - zu einem Bruchteil der Kosten. Doch es fehlte der Firma an Bekanntheit um dieses Gerät, den Archimedes zu etablieren. ARM hat die Zeichen der Zeit erkannt und den ARM Prozessor als Mikrocontroller erfolgreich gemacht. ARM Prozessoren haben im 32 Bit Mikrocontroller Bereich einen Marktanteil von 70 % und werden in Lizenz von zahlreichen Unternehmen - sogar von Intel gefertigt. Die meisten PDAs mit Windows CE benutzen diesen Prozessor, da er schnell und stromsparend ist.

Sun läutete mit der Sun 4 und dem SPARC Prozessor 1987 als erste Firma den Wechsel ein. Der SPARC hatte in der ersten Version nur 55.000 Transistoren, aber eine höhere Geschwindigkeit als ein 386 er mit 275.000 Transistoren. Spezielle Features machten vor allem die Hochsprachenprogrammierung auf diesem Prozessor schnell. Bald zogen andere Workstation Hersteller nach wie MIPS oder DEC mit dem Alpha, der bis heute die Krone in der Geschwindigkeit hält. Eine Besonderheit waren die Transputer Prozessoren von INMOS. Mehrere dieser Prozessoren konnten zusammengeschaltet werden und parallel an einem Problem arbeiten. Die Abbildung der zeitgleich erschienen Prozessoren Intel 80386 und INMOS T400 zeigt auf dem Prozessor Die Unterschiede zwischen CISC und RISC: Große gleichförmige Felder beim T400 mit viel internen Registern und 1 KByte Cache on Board und "rauhe" wirkende Felder beim 80386, mit Logikfunktionen die erheblich mehr Transistoren erfordern. Der INMOS T400 war trotz geringerer Integrationsdichte schneller als der 80386.

Wodurch wird RISC schnell?

Nun dazu muss man wissen wie ein Befehl von einem Mikroprozessor ausgeführt wird. Jeder Prozessor hat mindestens 4 elementare Operationen pro Befehl auszuführen: Für jede Stufe braucht ein Prozessor mindestens einen Taktzyklus, meistens aber mehr. Nun gibt es hier einige Dinge die wichtig sind.

CISC Prozessoren haben nun folgende Strategie: Das Dekodieren dauert hier länger, da der Code kein einheitliches Format hat, dafür sehr kurz ist (geringerer Speicherzugriff). Als Ausgleich können die Befehle mehr, so dass weniger ausgeführt werden müssen. Viele Register sind wegen der Forderung nach kurzem Code nicht möglich. Die komplexen Befehle werden im Chip in einfachere Instruktionen zerlegt. Dafür gibt es Mikrocode - ein ROM auf dem Chip. Auch die einzelnen Funktionseinheiten sind sehr mächtig, z.B. indem es Hardware Multipliziereinheiten gibt, die zwar schnell sind, aber auch viele Transistoren benötigen.

RISC versucht die Speicherzugriffe auf zwei Weisen zu minimieren:

Erstens - viele Register

Die Daten können in diesen gehalten werden. Es fallen die Angaben von Speicheradressen bei den meisten Befehlen weg. Idealerweise gibt es nur einen Befehl der direkt mit dem Speicher kommunizieren - Einen Lade und Speicherbefehl der immer ein Register benutzt. Alle anderen Befehl arbeiten mit Registern und sind so schnell. Als weiteren Vorteil entfallen die zusätzlichen Zyklen für einen Speicherzugriff. RISC Prozessoren verfügen je nach Typ zwischen 32 und 256 Register die universell benutzt werden können. CISC Typen wie der Motorola 680x0 oder Intel 80x86 haben 16 bzw. 12 Register.

Zweitens einheitliches Befehlsformat

Es gibt verschiedene Befehle in einem Prozessor. Manche benötigen Daten, andere keine. Bei einem CISC Prozessor wie dem 80386 kann ein Befehl z.B. so aussehen:

Das macht das Dekodieren kompliziert. Man kann nicht einfach jedes Byte dekodieren, denn es könnte sich auch um Daten oder den zweiten Teil eines Befehles handeln. Das Problem existiert prinzipiell auch bei RISC. Doch versucht man es dort zu minieren, indem man den Code so macht, das man zumindest Vorhersagen über das Ende des Befehles machen kann. Ich möchte dies an einem hypothetischen Beispiel erläutern:

Damit ist jeder Befehl 6 Bytes lang und auf den ersten Blick sieht es nach Platzverschwendung aus. Man brauchte bei 16 Bit Werten z.B. keine 32 Bits für Daten und bei den Registerbefehlen sind immer mindestens 2 Bytes nicht belegt.

Aber das ganze hat auch eine Kehrseite. Denn nun stehen zwei Dinge fest: Erstens: Das erste Byte ist immer ein Befehl, und das zweite ein Register, man kann diese automatisch dekodieren. Man muss sich keine Gedanken machen, wie bei CISC was im zweiten Byte stecken könnte. Nach dem Dekodieren des Befehles weiß man auch sofort was in den anderen Bytes steckt.

Der wichtigere Vorteil aber: Der nächste Befehl fängt garantiert 6 Bytes weiter an. Warum ist dies wichtig? Nun etwa zeitgleich mit RISC setzte man Pipelines in Mikroprozessoren ein. Pipelines holen die Daten und fangen schon mal an zu dekodieren. Die Länge einer Pipeline gibt man in Stufen an. Eine 5 stufige Pipeline wie sie der 486 Prozessor hat, z.B. 5 Befehle in unterschiedlichen Stadien der Dekodierung im "Fluss". Wenn nun die Ausführungszeit des einfachsten Befehls 5 Takte beträgt, so kann eine solche Pipeline bei jedem Takt einen Befehl dekodiert anbieten und so die Performance steigern.

CISC Prozessoren müssen sich viel einfallen lassen, um die verschiedenen Kombinationsmöglichkeiten in einer Pipeline zu dekodieren. Die Pipelines sind dort lang, weil es so viele Möglichkeiten gibt und man deswegen mehr Stufen braucht. RISC Prozessoren wissen dagegen genau wo der nächste Befehl beginnt und können mehr automatisieren. Die Pipeline ist kürzer. Das ist von Vorteil wenn ein Sprung im Programm kommt, denn dann stimmen alle Daten in der Pipeline nicht mehr.

Die Forderung nach einfachen Befehlen erwächst auch hieraus: Das schnelle Dekodieren der Befehle im "Fließband" hat nur einen Vorteil, wenn auch die Befehle schnell ausgeführt werden, denn sonst hat man nichts von dem Geschwindigkeitsvorteil. Daher gibt es nur elementare Befehle die idealerweise in einem Takt ausgeführt werden.

Intel Sieg - Ein CISC Sieg?

Selbst INTEL brachte 1989 einen RISC Prozessor heraus, den Intel 860. Doch selbst bei Intel waren Kunden nicht bereit vom althergebrachten PC Standard zu lösen. Mitte der neunziger Jahre hatte Intel seine x86 Reihe soweit gesteigert, das er nun auch mit Multiprozessorsystemen in den Markt der RISC beherrschten Workstations eindrang. Dank Rückgriff auf PC Hardware waren diese deutlich billiger herzustellen. Nun rächte es sich, das Hersteller wie Sun, Silicon Graphics oder DEC den PC Markt nie beachteten. Als dann etwa zur gleichen Zeit auch vermehrt Netzwerke ihren Einzug in Firmen hielten, blieben die Kunden, die bisher eben PCs hatten auch bei dem was sie kannten: Server mit x86 Hardware und Windows NT anstatt Workstations und UNIX.

Athlon Prozessor Den Endverbraucher interessiert das "was hinten rauskommt" um einen Bundeskanzler zu zitieren. Was nützt es wenn ein Power PC mit 450 MHz und passivem Kühler genauso schnell ist wie ein Pentium III (Bild links) mit 700 MHz und aufwendigem Kühler? Solange ein PC billiger als ein Mac ist, weil er viel häufiger hergestellt wird geht die Rechnung zugunsten des PC auf. Und Intels Prozessoren können mithalten, anstatt den Prozessorcode zu verändern steigerte man Taktfrequenz, integrierte L1 und L2 Cache in den Kern um die Geschwindigkeit zu steigern. Dafür hat Intel zusammen mit HP's PA Serie die Krone was Transistoren pro Chip betrifft: Niemand treibt soviel Aufwand um eine bestimmte Rechenleistung zu erreichen.

CISC hat also gesiegt oder?

Nein! Zum einen gibt es zahlenmäßig erheblich mehr RISC als CISC Prozessoren. Denn zum Einsatz kommen Sie überall dort wo keine IBM Kompatibilität verlangt wird - Als Druckerkontroller, in PDAs (wegen dem Stromverbrauch), in den Spielkonsolen und im zahllosen Elektronikbauteilen im Auto. (Ein Mittelklassewagen besitzt zwischen 13 und 30 Mikroprozessoren, die meisten als Embedded Controller).

Zum anderen gibt es heute die Trennung CISC und RISC nicht mehr. Intels erster 64 Bit Prozessor Itanium hat Anleihen an RISC gemacht. Die RISC Prozessoren wurden mit der Weiterentwicklung auch komplexer und nähern sich CISC. Schlussendlich aber gibt es die CISC Architektur des x86 Prozessors nicht mehr...

Bei Intel hat sich seit dem 486 einiges getan. Der 486 kam 1989 raus und zeigte, das die x86 Architektur so langsam am Ende war. Durch eine 5 stufige Pipeline konnte man nun 80 % der Befehle in einem Taktzyklus ausführen - schneller ging es mit der x86 Architektur nicht, trotzdem war der 486 nur zirka 60 % schneller als ein 386 und lange Zeit zu teuer. Erst 1993 konnten die Verkäufe die des 386 überflügeln, wobei Intel noch geärgert haben dürfte, das vorher AMD mit der 40 MHz Version des 386 (Intel hatte nur eine 33 MHz Version), das große Geschäft machte.

Kurzum: der 486 Nachfolger Pentium musste kompatibel sein, aber neu sein. Was Intel machte war folgendes: Nach dem Dekodieren der Befehle werden diese in einfachere RISC Befehle übersetzt, umgruppiert und zwei Rechenwerken die reine RISC Maschinen sind, zugeführt. Seit dem Pentium Pro ist dies so und ein Pentium 4 ist im Prinzip ein guter x86 Emulator... Eine x86 Instruktion kann dabei nur eine aber auch 3 oder 4 einfache RISC Operationen umfassen. Dabei sind diese relativ lang, beim Pentium III 118 Bit. Beim Pentium 4 wahrscheinlich nur etwa die Hälfte.

Bei dem Umsetzen in RISC Befehle blieben gab es allerdings ab und zu Fehler, was für schöne Aufregung sorgte. Alle Konkurrenten (AMD, Cyrix, IDT) machen es ähnlich, nur natürlich nicht identisch. So waren Taktgeschwindigkeiten Makulatur, weil jeder eine andere RISC Maschine einsetzte.

Mit dem neuen 64 Bit Itanium Prozessor wird auch bei Intel eine RISC Einheit mit 128 Registern einziehen. Der neue 64 Bit Modus ist eine richtige RISC Architektur mit konstanter Befehlsbreite von 41 Bit, wobei zur Optimierung 3 Befehle zu einem 128 Bit Doppelwort zusammengefasst werden - Der Compiler und nicht der Prozessor soll in den verbleibenden 5 Bits Informationen über die Abhängigkeit der Befehle speichern. Dadurch will man die aufwendige spekulative Ausführung und Umgruppierung der x86 Serie erleichtern.

Noch immer allerdings sind klassische RISC Prozessoren wie der Alpha oder Ultrasparc in der Performance führend, wie folgende Tabelle zeigt:

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

Nur durch den doppelt so hohen Takt kann der Pentium annähern mithalten. Da allerdings dieser sehr rasant angestiegen ist, ist abzusehen, das in den nächsten Jahren die Intel Prozessoren auch die absolute Geschwindigkeitskrone holen werden. Man muss allerdings auch dazu sagen, dass dieser Benchmark nur die Rechengeschwindigkeit angibt. Die meisten Prozessoren die hier auftauchen arbeiten aber als Server Prozessoren. Hier geht es um das schnelle Schaufeln von Daten. Hier sind Prozessoren im Vorteil die dicke Datenbusse schnell an die CPU angebunden haben. So erreichen die Power PC 4 Prozessoren von IBM hier sehr gute Werte, während ein Pentium 4 hier durch einen 16 bittigen RAMBUS sehr alt aussieht. Nicht umsonst fertigt Intel separate Server Prozessoren und Chipsätze für Server, die dann schon mal mehr kosten als 2 normale PCs (nur Prozessor und Mainboard...).

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