RISC und CISC
RISC und CISC bezeichnen zwei gegensätzliche Philosophien von Befehlssätzen: Reduced Instruction Set Computer bevorzugen kleine Sätze einfacher, einheitlicher Register-zu-Register-Befehle, während Complex Instruction Set Computer viele leistungsstarke, variable Befehle bieten, die pro Befehl mehr leisten.
Definition
RISC (Reduced Instruction Set Computer) ist eine Entwurfsphilosophie, die einen kleinen Satz einfacher, festformatiger Befehle betont, die in einem Load-Store-Modell ausgeführt werden; CISC (Complex Instruction Set Computer) betont einen größeren Satz leistungsfähigerer, oft variabler Befehle, einschließlich Speicher-zu-Speicher-Operationen.
Scope
Dieses Thema behandelt die beiden Entwurfsphilosophien und ihre Kompromisse: Befehlseinfachheit und -regelmäßigkeit versus -reichtum und Codedichte, die Load-Store-Disziplin von RISC, die Pipelining-Vorteile einfacher Befehle und wie moderne Hochleistungs-CISC-Implementierungen komplexe Befehle intern in RISC-ähnliche Mikrooperationen übersetzen. Ausgeschlossen sind Bit-Level-Codierungen (Befehlsformate und Codierung) und Details der Pipeline-Implementierung (Pipelining und Hazards).
Core questions
- Welche Designziele motivieren die Reduzierung eines Befehlssatzes auf einfache, einheitliche Operationen?
- Wie unterscheidet die Load-Store-Disziplin RISC von CISC?
- Warum lassen sich einfache, reguläre Befehle leichter pipelinen?
- Wie vereinbaren moderne x86-Prozessoren einen CISC-Befehlssatz mit einer RISC-ähnlichen internen Ausführung?
Key concepts
- reduzierter Befehlssatz
- komplexer Befehlssatz
- Load-Store-Architektur
- Befehle fester vs. variabler Länge
- Mikrooperationen
- Compiler-Hardware-Co-Design
- Codedichte
Key theories
- Das RISC-Argument
- Patterson und Ditzel argumentierten, dass ein kleiner Satz einfacher Befehle, schnell ausgeführt und effizient mit guter Compiler-Unterstützung gepipelined, komplexere Befehlssätze übertreffen kann, deren aufwendige Befehle selten verwendet und schwer schnell zu implementieren sind.
Mechanisms
RISC-Designs halten Befehle einfach, fest codiert und Register-zu-Register, mit separaten Lade- und Speicherbefehlen für den Speicher; diese Regelmäßigkeit macht die Dekodierung und das Pipelining unkompliziert. CISC-Designs bieten komplexe, variable Befehle, die direkt auf den Speicher zugreifen und mehrstufige Operationen ausführen können. Moderne CISC-Implementierungen dekodieren komplexe Befehle in Sequenzen einfacherer interner Mikrooperationen, die dann von einem RISC-ähnlichen Kern ausgeführt werden.
Clinical relevance
Die RISC/CISC-Unterscheidung prägte die dominanten Computerplattformen: ARM und RISC-V verkörpern RISC-Prinzipien und sind führend in den Märkten für Mobilgeräte, eingebettete Systeme und zunehmend auch für Server und Laptops, während x86 (eine CISC-ISA mit RISC-ähnlichen Interna) lange Zeit PCs und Server dominierte. Die Debatte beeinflusst laufende Entscheidungen bezüglich Energieeffizienz, Leistung und Software-Ökosystemen.
History
Das RISC-Konzept entstand aus der IBM 801-Forschung und den Berkeley RISC- und Stanford MIPS-Projekten der frühen 1980er Jahre, artikuliert in Pattersons und Ditzels Arbeit von 1980. RISC-Ideen verbreiteten sich durch kommerzielle Designs wie SPARC, MIPS, PowerPC und ARM. Währenddessen überlebte x86 durch die Übernahme RISC-ähnlicher interner Mikrooperationen, und die offene RISC-V ISA erneuerte den Impuls für ein sauberes RISC-Design.
Debates
- Ist die Unterscheidung zwischen RISC und CISC noch relevant?
- Da moderne CISC-Chips intern als RISC-ähnliche Mikrooperationen ausgeführt werden und beide Lager Pipelining und Caching nutzen, argumentieren einige, dass die ursprüngliche Unterscheidung verschwunden ist; andere behaupten, dass die Regelmäßigkeit des Befehlssatzes immer noch die Dekodierungseffizienz, den Stromverbrauch und die Verifikation beeinflusst.
Key figures
- David A. Patterson
- David R. Ditzel
- John L. Hennessy
- John Cocke
Related topics
Seminal works
- patterson1980risc
- hennessy2019
- patterson2020
Frequently asked questions
- Ist RISC immer schneller als CISC?
- Nicht von Natur aus. Die RISC-Einfachheit erleichtert das Pipelining und hohe Taktraten, aber ein CISC-Befehl kann pro Instruktion mehr Arbeit leisten. In der Praxis übersetzen Hochleistungs-CISC-Prozessoren Befehle in RISC-ähnliche Operationen, sodass die tatsächlich erreichte Leistung von der gesamten Mikroarchitektur abhängt, nicht allein vom ISA-Label.
- Warum werden ARM und RISC-V als RISC-Architekturen bezeichnet?
- Beide verwenden kleine Sätze einfacher, meist fest codierter Befehle mit einem Load-Store-Speichermodell und wenigen Adressierungsmodi – den definierenden Merkmalen der RISC-Philosophie –, was sie effizient in der Implementierung und gut geeignet für energiebeschränkte und hochdurchsatzfähige Designs macht.