Risc vs. Cisc am Beispiel "Intel"

zurück...

Der CISC-Prozessor

CISC steht für Complex Instruction Set Computer. Übersetzt ist das ein Computer(Prozessor) mit komplexem Befehlssatz.
Der CISC-Prozessor zeichnet sich durch einen großen Befehlsumfang und komplexe Adressierungsmöglichkeiten aus. Jeder Befehl ist ein eigenes Mikroprogramm im ROM-Speicher eines CISC-Prozessors.
Bei jedem Befehlsaufruf wird von der Dekoder-Einheit der Befehl in den Maschinenbefehl, die Adressierungsart, die Adressen und die Register aufgeteilt. Danach werden daraus kleine Anweisungen, der Mikrocode, an den Nanoprozessor geschickt. Das ist ein Prozessor im Prozessor, der den Mikrocode in seinen komplexen Schaltkreisen ausführt. Einige der Anweisungen benötigen mehrere Arbeitsschritte, was sehr viel Zeit kostet.
CISC-Prozessoren benötigen in der Regel vier bis zehn Takte, bis ein Befehl komplett ausgeführt ist.
Der Mikrocode wird der Reihe nach ausgeführt. Alle anderen Anweisungen müssen solange auf die Ausführung warten.

CISC-Prozessoren
808x und 80x86 von Intel
680x0 von Motorola
Prozessoren in den IBM-kompatiblen PCs, dem Macintosh, Amiga und Atari.
Die Prozessoren 80486, Pentium und 68060 wurden bereits mit Elementen der RISC-Prozessoren ausgestattet.

Der RISC-Prozessor

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 öfter schnelle Register-Register Operationen hat als langsame Speicher-Register Operationen. Die wenigen Befehle machen das Design einfacher und man kann den Prozessor billiger herstellen. 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.

Intel-Befehlssatz

Der 486 kam 1989 raus und zeigte das die x86 Architektur so langsam am Ende war. Der Nachfolger (Pentium) mußte kompatibel und neuer sein.
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.


RISC oder CISC

Es ist also nicht ganz richtigden Pentium-Prozessor als RISC-CPU zu bezeichnen, doch beispielsweise das Pipeling, die Möglichkeit, Mehrprozessor- systeme aufzubauen sowie weitere Features stammen eindeutig aus der RISC-Welt. Es handelt sich also um eine Mischform, die nicht eindeutig einzuordnen ist, und demnach werden für den Pentium - je nachdem, aus welcher Sicht er betrachtet wird - beide Zuordnungen verwendet.
Bereits beim 486-Prozessor ist ein Decoder enthalten, der die Befehle in einfache und komplexe Instruktionen aufteilt. Diese werden dann dem Teil der CPU, die mit der Hardware-Logik arbeitet (einfache Befehle) oder dem Microcode-Pfad(komplexe Befehle) übergeben. Ein optimierender Compiler erzeugt - wenn möglich - einfache Instruktionen.
Zum andern 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.

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 :

zurück...