- RISC
-
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
Konsequenzen des RISC-Befehlssatzes
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.
Geschichte
Die ersten Mikroprozessoren 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.
Eigenschaften
Load/Store-Architektur
Nur die Befehle LOAD und STORE greifen auf den Speicher zu, die restlichen Befehle arbeiten auf Registeroperanden. Es gibt keine Adressarithmetik auf CPU-Basis.
Großer Registersatz
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.
Regelmäßiger Befehlssatz
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.
Vergleich zu CISC
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.
Praktische Bedeutung - Systeme mit RISC CPU
- ARM — Die ARM Architecture ist in Stückzahlen gemessen wohl die erfolgreichste RISC-Familie, sie findet sich in vielen Systemen, bei denen es um hohe Leistung, geringen Stromverbrauch und niedrige Kosten geht (Typisch 100–500 MHz 2008). Die ARM Ltd., die diese Systeme konstruiert, baut allerdings selbst keine Prozessoren, sondern verkauft lediglich Lizenzen für das Design an ihre Kunden. Mittlerweile sollen 10 Milliarden ARM-CPUs im Umlauf sein, die unter anderem in folgenden Systemen zum Einsatz kommen:
- Apple: iPods (ARM7TDMI SoC), iPhone (Samsung ARM1176JZF)
- Canon: IXY Digital 700 Kamera (Eigenentwicklung, ARM-basiert)
- Hewlett-Packard: HP-49/50 Grafikfähiger Taschenrechner (ARM9TDMI)
- Linksys: NSLU2 Netzwerkspeicher/NAS [Intel XScale IXP420]
- Nintendo: Game Boy Advance (ARM7), Nintendo DS (ARM7, ARM9)
- Palm: PocketPC PDAs und Smartphones (Intel XScale und Samsung SC32442 - ARM9)
- Sony: verschiedene Mobiltelefone, Network Walkman (Eigenentwicklung, ARM-basiert)
- Power Architecture - Eine Entwicklung von IBM und Freescale (früher Motorola), ist heute die am weitesten Verbreitete RISC-CPU im HighEnd-Bereich, sie ist eine Architektur mit zahlreichen Einsatzgebieten, angefangen bei leistungsstarken eingebetteten Systemen wie Druckern oder Routern, über Workstations, bis hin zu Supercomputern der Spitzenklasse. Die Spitze der TOP500-Liste der schnellsten wissenschaftlichen Rechner wird heute (TOP500 11/2007) von dieser Plattform dominiert und von einem IBM BlueGene-Cluster mit 212992 Prozessoren und einer Maximalleistung von 596378 GFlop/s (Rpeak) angeführt. Weitere Beispiele:
- Apple: PowerPC-basierte Macintosh Computer
- Cisco: Router und Switches für den kommerziellen Einsatz bis zur Enterprise-Klasse
- IBM: Supercomputer, Mittelklasse-Server und Workstations
- Nintendo: Gamecube und Wii Spielkonsolen
- Microsoft: Xbox 360 Spielkonsole
- Motorola: verschiedene Bordcomputer für PKW und andere Fahrzeuge
- Sony: Playstation 3 Spielkonsole
- MIPS - Anfangs wurden die CPUs vor allem in klassischen Workstations und Servern eingesetzt, heute liegt der Haupteinsatzbereich, ähnlich wie bei ARM, im Bereich Eingebettete Systeme. Praktisch alle MIPS-basierten Workstation- und Server-Familien wurden mittlerweile auf Intel Itanium migriert. Anwendungsbeispiele:
- AVM: FRITZ!Box WLAN/Telefonie-Router
- SGI: Server und Workstations wie Indy, Onyx und Origin (R2000 bis R12000)
- Sony PlayStation, PlayStation Portable Spielkonsolen
- Nintendo 64 Spielkonsole
- Linksys WRT54G und zahlreiche ähnliche Geräte (openWRT unterstützte Router)
- MikroTik RouterBOARD
- Suns SPARC-Produktlinie wurde vor allem in klassischen Workstations und Servern von Sun eingesetzt. Heute nutzt Sun zusätzlich auch x86-Prozessoren von AMD.
- Fujitsu Supercomputer, Mittelklasse-Server und Workstations
- Sun: Supercomputer, Mittelklasse-Server und Workstations
- Hewlett-Packards PA-RISC - Bis zur Einführung des Intel Itanium wurden PA-RISC-CPUs vor allem in klassischen Workstations und Servern von HP eingesetzt. Die CPU-Familie wird nicht mehr weiterentwickelt. Praktisch alle PA-RISC-basierten Workstation- und Server-Familien wurden mittlerweile auf Intel Itanium migriert.
- Hewlett-Packard: Supercomputer, Mittelklasse-Server und Workstations, aber auch Grafikkarten
- Hitachi: Workstations
- Stratus: Stratus-Continuum-Serie, höchstverfügbare Supercomputer
- DEC Alpha - Bis zur Einführung der Intel Itanium-CPUs wurden Alpha-CPUs vor allem in klassischen Workstations und Servern von Digital, Compaq und HP eingesetzt. Die Alpha-Plattform war frei verfügbar und wurde von zahlreichen OEM-Partnern genutzt. Die CPU-Familie wird nicht mehr weiterentwickelt. Praktisch alle Alpha-basierten Workstation- und Server-Familien wurden mittlerweile auf Intel Itanium migriert.
- Hitachis SuperH, war weit verbreitet z.B. in Segas Super 32X-, Saturn- und Dreamcast-Konsolen. SuperH wird heute ähnlich wie die ARM-Plattform in eingebetteten Systemen eingesetzt.
- Atmel AVR wird in eingebetteten Systemen eingesetzt wie z.B. Xbox-Steuerkontrollern aber auch in BMW-Automobilen.
- ARM — Die ARM Architecture ist in Stückzahlen gemessen wohl die erfolgreichste RISC-Familie, sie findet sich in vielen Systemen, bei denen es um hohe Leistung, geringen Stromverbrauch und niedrige Kosten geht (Typisch 100–500 MHz 2008). Die ARM Ltd., die diese Systeme konstruiert, baut allerdings selbst keine Prozessoren, sondern verkauft lediglich Lizenzen für das Design an ihre Kunden. Mittlerweile sollen 10 Milliarden ARM-CPUs im Umlauf sein, die unter anderem in folgenden Systemen zum Einsatz kommen:
Wikimedia Foundation.