Reduced Instruction Set Computing (RISC) (engl. für Rechnen mit reduziertem Befehlssatz) ist eine bestimmte Designphilosophie für Prozessoren. Es steht im Gegensatz zum CISC-Prozessor-Design.
Inhaltsverzeichnis |
Ein RISC-Befehlssatz verzichtet – zugunsten eines niedrigeren Dekodierungsaufwands auf Seiten der CPU – konsequent auf komplexe Befehle, wodurch die Ausführung einfacher als bei einem CISC-Befehlssatz ist. Dadurch sind die Einzelbefehle einfacher ausführbar, was letztlich zu schnelleren Prozessoren führt. Von sehr großer Bedeutung ist die Aufeinanderfolge kurzer Befehle, wenn es darum geht, das aktuelle Programm zu unterbrechen, um zwischendurch ein anderes auszuführen (Interrupt). Diese Unterbrechungen werden oft durch externe Signale (Sensoren oder Zeitgeber) hervorgerufen, und der Computer soll darauf mit möglichst kurzer Verzögerung reagieren. Diese Zeitspanne ist bei RISC-Architekturen meist erheblich kürzer als bei CISC-Design, wo die Zeit pro Befehl meist deutlich länger ist, und zudem merklich variieren kann, wenn gerade ein Mikroprogrammschritt ausgeführt wird. Muss der Computerhersteller eine kurze Antwortzeit auf Interrupts garantieren können, werden stets RISC-Prozessoren eingesetzt.
Der reduzierte Befehlssatz ist das Ergebnis des RISC-Designs. Die Befehle, die der Prozessor ausführen kann, sind bei RISC-Prozessoren fest verdrahtet. Jede Operation wird also durch tatsächliche Leiterbahnen auf dem Prozessor repräsentiert. Der Befehlssatz von CISC-Prozessoren liegt hingegen meist mikroprogrammiert vor, d. h. die „Bibliothek“ der Befehle ist auf einem Chip gespeichert.
Die ersten Microprozessoren arbeiteten alle nach RISC. Da aber in den Anfangstagen Speicher sehr teuer war, versuchte man, möglichst viel Logik in der CPU unterzubringen, und erreichte dies durch CISC-Prozessoren und Mikroprogrammierung. Eine Assembleranweisung wie eine Division zweier Zahlen kann intern einige hundert Einzelschritte auslösen. Erst zur Mitte der Achtziger Jahre hin, als man die Grenzen des CISC-Designs langsam erkannte, und höhere Integrationsdichten technisch machbar waren, kehrte man langsam wieder zum RISC-Design zurück. Zu diesem Zeitpunkt wurde auch der Begriff RISC geprägt, um sich von den mikroprogrammierten CPUs abheben zu können.
Daher werden die folgenden Techniken oft ebenfalls als typische RISC-Eigenschaften geführt, obwohl sie mit der ursprünglichen Definition, dem eingeschränkten Befehlssatz, nichts zu tun haben.
Nur die Befehle LOAD und STORE greifen auf den Speicher zu, die restlichen Befehle arbeiten auf Registeroperanden. Es gibt keine Adressarithmetik auf CPU-Basis.
Dadurch, dass ein Speicherzugriff immer einen expliziten Befehl benötigt, erhöht ein großer Registersatz, d. h. viele allgemeine Register (general purpose register), die Effizienz, da Zwischenergebnisse dann lokal vorgehalten werden können. Auch kann sich bei Rechenoperationen das Zielregister von den Quellregistern unterscheiden. Muss der Rechner sehr häufig zwischen zwei Aufgaben A und B hin- und herwechseln, kann man jeder Aufgabe getrennte Sätze von Registern zuweisen. Dadurch erspart man sich das Sichern der aktuellen Inhalte von A im RAM, das Neuladen der Register für Aufgabe B, Bearbeiten der Aufgabe B, Sichern der Register von B und Zurückholen der Inhalte von A aus dem RAM. Die Zeit für den Transport der Daten vorher und nachher kann länger dauern als die Bearbeitung selbst.
RISC-CPUs stellen nur wenige Befehle zur Verfügung. Diese Befehle sind zudem in der Regel alle gleich breit, während z. B. die Befehle von x86-Prozessoren (CISC) zwischen einem und 15 Bytes breit sind. Außerdem gibt es nur wenige Befehlsformate, d. h. bei vielen Befehlen ist die Lage von Opcode, Operanden und Immediates gleich.
RISC-Prozessoren werden auf der Liste der SPEC (Standard Performance Evaluation Corporation) mit den schnellsten Prozessoren weit oben angeführt. Sie werden u. a. von IBM (IBM POWER und PowerPC-Prozessoren), Renesas (SuperH-Prozessoren), Freescale (PowerPC-Prozessoren), Intel (StrongARM und XScale), MIPS Technologies (MIPS-Architektur), Hewlett-Packard (PA-RISC) und Sun Microsystems (SPARC) hergestellt. Auch die mittlerweile nicht mehr produzierten Alpha-Prozessoren der Firma Digital Equipment (heute Hewlett-Packard) basieren auf dem RISC-Design.
RISC-Prozessoren bilden das Gegenstück zu CISC-Prozessoren. Heutige RISC-Prozessoren überschreiten die Grenzen der engen Definition und enthalten auch komplexere Befehle. So wurde der Befehlssatz des PowerPC-Prozessors, der von IBM und Freescale (ehem. Motorola) hergestellt wird (und beispielsweise bis zum Wechsel zu Intel-CPUs in den Computern von Apple Verwendung fand), durch eine Befehlserweiterung namens „AltiVec“ ergänzt, die in den PowerPC-Prozessoren spezielle Multimediafähigkeiten nachrüstet (vgl. MMX bei x86-Prozessoren). Allerdings folgt auch AltiVec den Eigenschaften von RISC.
Anfang der 1990er-Jahre brachte der britische Hersteller Acorn den Heimcomputer Archimedes auf den Markt, der einen speziell für diese Anwendung konzipierten RISC-Prozessor einsetzte, dessen Leistungsfähigkeit die der damals in Heimcomputern eingesetzten Prozessoren weit in den Schatten stellte. Dieser Prozessor war einer der Stammväter der heutigen ARM-Prozessoren, die in eingebetteten Systemen sehr verbreitet sind.