RISC vs. CISC: Unterschiede und Beispiele
RISC (Reduced Instruction Set Computer) und CISC (Complex Instruction Set Computer) sind zwei Philosophien für den Entwurf eines Befehlssatzes. RISC verwendet wenige einfache Befehle fester Länge, die sich gut in einer Pipeline verarbeiten lassen. CISC verwendet mehr komplexe Befehle variabler Länge, die pro Befehl mehr Arbeit leisten. Heute ist die Grenze verwischt: Moderne x86-Prozessoren übersetzen CISC-Befehle in einfachere interne Operationen, sodass der Unterschied vor allem auf der Ebene des Befehlssatzes und des Software-Ökosystems eine Rolle spielt.
| Aspekt | RISC | CISC |
|---|---|---|
| Grundidee | Wenige einfache Befehle, die jeweils wenig tun und auf schnelle Ausführung ausgelegt sind | Viele leistungsfähige Befehle, von denen manche mehrere Schritte auf einmal ausführen |
| Befehlslänge | Fest (zum Beispiel 32 Bit in den Basis-Befehlssätzen von RISC-V und AArch64) | Variabel (x86-Befehle sind 1 bis 15 Byte lang) |
| Speicherzugriff | Load/Store-Architektur: Nur Load- und Store-Befehle greifen auf den Speicher zu; Rechenbefehle arbeiten mit Registern | Viele Befehle können Speicheroperanden direkt verwenden |
| Register | Viele Allzweckregister (32 bei RISC-V und AArch64) | Weniger (x86-64 hat 16 Allzweckregister) |
| Dekodierung | Einfach, was die Pipeline-Verarbeitung begünstigt und die Hardware klein hält | Komplex; moderne x86-Kerne übersetzen Befehle in interne Mikrooperationen |
| Codegröße | Größer, wobei komprimierte Befehlssatzerweiterungen (wie Thumb oder RISC-V C) sie verringern | Oft kompakter, weil ein Befehl mehr leistet |
| Beispiele | ARM, RISC-V, MIPS, PowerPC | x86 und x86-64 (Intel, AMD), IBM z/Architecture |
| Typische Einsatzgebiete | Smartphones, eingebettete Systeme und zunehmend Notebooks und Server | PCs und Server, wo Softwarekompatibilität entscheidend ist |
Die Zahlenangaben sind typische Größenordnungen und variieren je nach Prozessgeneration und Produkt.