Complex Instruction Set Computer
Complex Instruction Set Computer (CISC; engl. für Rechner mit komplexem Befehlssatz) ist ein Designkonzept für Computerprozessoren. Die Bezeichnung ist ein Retronym, das mit Einführung der RISC-Prozessoren geprägt wurde. Es beschreibt, wie ein Prozessor die Befehle verarbeitet, die Programmierern oder Compilern zur Verfügung stehen. Ein wichtiges Unterscheidungsmerkmal ist dabei die Ausführungsdauer: CISC-Architekturen bieten einen mächtigen und umfangreichen Befehlssatz, dessen komplexe Instruktionen in der Regel mehrere Taktzyklen zur Ausführung benötigen. Im Gegensatz dazu beschränkt sich RISC auf einfachere Befehle, die typischerweise in nur einem einzigen Zyklus abgearbeitet werden können.
Complex Instruction Set Computer (CISC; engl. für Rechner mit komplexem Befehlssatz) ist ein Designkonzept für Computerprozessoren. Die Bezeichnung ist ein Retronym, das mit Einführung der RISC-Prozessoren geprägt wurde. Es beschreibt, wie ein Prozessor die Befehle verarbeitet, die Programmierern oder Compilern zur Verfügung stehen. Ein wichtiges Unterscheidungsmerkmal ist dabei die Ausführungsdauer: CISC-Architekturen bieten einen mächtigen und umfangreichen Befehlssatz, dessen komplexe Instruktionen in der Regel mehrere Taktzyklen zur Ausführung benötigen. Im Gegensatz dazu beschränkt sich RISC auf einfachere Befehle, die typischerweise in nur einem einzigen Zyklus abgearbeitet werden können.[1][2]
Entwicklung
[Bearbeiten | Quelltext bearbeiten]Anfänglich wurden die Befehlssätze der Prozessoren immer umfangreicher, um auch komplexere Rechenschritte „auf einmal“ mit nur einem Maschinenbefehl ausführen zu können, um dadurch schneller und leistungsfähiger zu werden. Zugleich wurde dadurch jedoch auch der Prozessor komplex und schwierig weiterzuentwickeln – und auch schwieriger zu programmieren. Viele Hersteller setzten zunächst auf die Mikroprogrammierung der Rechenwerke, um Problemfälle leichter korrigieren zu können – dennoch nahm die Komplexität immer weiter zu.[3]
Die Bezeichnung CISC wurde in den 1970er Jahren von IBM gewählt, um klassische Befehlssätze von einer neuartigen Form abzugrenzen, dem Reduced Instruction Set Computer (RISC). Ein CISC-Befehlssatz zeichnet sich durch viele verhältnismäßig mächtige Einzelbefehle aus, wohingegen RISC zugunsten einer hohen Ausführungsgeschwindigkeit und eines niedrigeren Decodieraufwands weitgehend auf komplexe Befehle verzichtet.
CPUs mit CISC-Befehlssatz waren lange Zeit mikroprogrammiert. Heute findet man kaum noch mikroprogrammierte CISC-CPUs. Ab dem Pentium Pro verfügen die Intel-Prozessoren über eine vorgeschaltete Funktionseinheit, die komplexe Befehle in RISC-ähnliche einfache Befehle übersetzt, die ein RISC-ähnlicher CPU-Kern dann ausführt. Je nach Hersteller und CPU werden diese Einheiten ROP, Micro-Op oder µOp genannt.
Beispiele für CPUs mit CISC-Befehlssatz sind der Intel 8086, der Intel 80386, der Motorola 68000, der Zilog Z80 und die CPUs der System-z-Reihe von IBM.
Viele moderne Prozessoren, wie die spätere Intel-Prozessoren der Pentium-Reihe, stellen in gewisser Weise eine Mischform dar, da sie dem Programmierer (oder Compiler) zwar nach außen komplexe Instruktionen zur Verfügung stellen, diese aber intern in RISC-Instruktionen umsetzen. Die tatsächliche interne Abarbeitung beruht also auf RISC-Prinzipien.[3]