Articles

RISC- vs. CISC-Architekturen: Welche ist besser?

Posted on

Reduced Instruction Set Computer (RISC) ist ein Typ oder eine Kategorie des Prozessors bzw. der Instruction Set Architecture (ISA). Ganz allgemein gesprochen ist eine ISA das Medium, über das ein Prozessor mit dem menschlichen Programmierer kommuniziert (obwohl es mehrere andere, formal identifizierte Schichten zwischen dem Prozessor und dem Programmierer gibt). Eine Anweisung ist ein Befehl, der dem Prozessor gegeben wird, um eine Aktion auszuführen. Ein Befehlssatz ist die gesamte Sammlung von Befehlen für einen bestimmten Prozessor, und der Begriff Architektur impliziert eine bestimmte Art des Aufbaus des Systems, aus dem der Prozessor besteht.

RISC bezieht sich im Allgemeinen auf eine vereinfachte Version seines Vorgängers, des Complex Instruction Set Computer (CISC). In den Anfängen der Prozessoren gab es keine formale Kennzeichnung als CISC, aber der Begriff wurde seitdem geprägt, um sie als anders als die RISC-Architektur zu identifizieren. Einige Beispiele für CISC-Mikroprozessor-Befehlssatzarchitekturen (ISAs) sind der Motorola 68000 (68K), die DEC VAX, die PDP-11, mehrere Generationen des Intel x86 und der 8051.

Beispiele für Prozessoren mit der RISC-Architektur sind MIPS, PowerPC, Atmels AVR, die Microchip PIC-Prozessoren, Arm-Prozessoren, RISC-V, und alle modernen Mikroprozessoren haben zumindest einige Elemente von RISC. Das Fortschreiten von 8- und 16-Bit- zu 32-Bit-Architekturen erzwang im Wesentlichen die Notwendigkeit von RISC-Architekturen. Dennoch dauerte es ein Jahrzehnt, bis sich RISC-Architekturen durchzusetzen begannen, hauptsächlich aufgrund des Mangels an Software, die auf RISC-Architekturen laufen würde. Auch Intel hatte einen Einfluss, da es die Mittel hatte, die CISC-Architektur weiter zu verwenden und keine Notwendigkeit sah, diese von Grund auf neu zu entwickeln. Die MIPS-Architektur war eine der ersten RISC ISAs und wurde weithin verwendet, um die RISC-Architektur zu lehren.

Ein wenig Geschichte
Der erste integrierte Chip wurde 1958 von Jack Kilby entworfen. Mikroprozessoren wurden in den 1970er Jahren eingeführt, der erste kommerzielle kam von der Intel Corporation. In den frühen 1980er Jahren wurde die RISC-Architektur eingeführt. Das RISC-Design entstand als völliges Redesign, weil die CISC-Architektur immer komplexer wurde. Die meisten schreiben John Cocke von IBM zu, das RISC-Konzept entwickelt zu haben. Die Geschichte lehrt uns, dass, um einen schnelleren Computer zu bekommen, einige wichtige Änderungen in der Mikroprozessorarchitektur stattfanden, die zu RISC wurden, einschließlich eines einheitlichen Formats für Anweisungen und leicht zu pipelinierende Anweisungen. (Pipelining bedeutet, dass der Prozessor mit der Ausführung des nächsten Befehls beginnt, bevor der aktuelle Befehl abgeschlossen ist.) In den 1970er Jahren war der Speicher teuer, so dass kleinere Programme im Mittelpunkt standen.

Was sind die Unterschiede zwischen RISC und CISC?
Die kurze Antwort ist, dass RISC von vielen als eine Verbesserung gegenüber CISC wahrgenommen wird. Es gibt keine beste Architektur, da verschiedene Architekturen in einigen Szenarien einfach besser, in anderen aber weniger ideal sein können. RISC-basierte Maschinen führen eine Anweisung pro Taktzyklus aus. CISC-Maschinen können spezielle Anweisungen sowie Anweisungen haben, die mehr als einen Zyklus zur Ausführung benötigen. Das bedeutet, dass derselbe Befehl, der auf einer CISC-Architektur ausgeführt wird, auf einer RISC-Maschine möglicherweise mehrere Befehle zur Ausführung benötigt. Die RISC-Architektur benötigt mehr Arbeitsspeicher (RAM) als die CISC-Architektur, um Werte zu halten, während sie jede Anweisung lädt, auf sie reagiert und dann die nächste lädt.

Die CISC-Architektur kann eine, wenn auch komplexere Anweisung ausführen, die dieselben Operationen auf einmal direkt im Speicher durchführt. Die RISC-Architektur benötigt also mehr Arbeitsspeicher, führt aber immer eine Anweisung pro Taktzyklus aus, um eine vorhersehbare Verarbeitung zu ermöglichen, was gut für das Pipelining ist. Einer der Hauptunterschiede zwischen RISC und CISC ist, dass bei RISC die Effizienz in Zyklen pro Anweisung und bei CISC die Effizienz in Anweisungen pro Programm im Vordergrund steht. Ein schneller Prozessor hängt davon ab, wie viel Zeit pro Taktzyklus benötigt wird, wie viele Zyklen für die Ausführung von Befehlen benötigt werden und wie viele Befehle in jedem Programm enthalten sind. Bei RISC liegt der Schwerpunkt auf größeren Programmcodegrößen (aufgrund eines kleineren Befehlssatzes, so dass mehrere nacheinander ausgeführte Schritte einem Schritt bei CISC entsprechen können).

Der RISC ISA betont die Software gegenüber der Hardware. Der RISC-Befehlssatz erfordert, dass man mit weniger Befehlen effizientere Software (z. B. Compiler oder Code) schreiben kann. CISC ISAs verwenden mehr Transistoren in der Hardware, um mehr Befehle und auch komplexere Befehle zu implementieren.

RISC benötigt mehr RAM, während CISC den Schwerpunkt auf kleinere Codegröße legt und insgesamt weniger RAM als RISC benötigt. Viele Mikroprozessoren weisen heute jedoch eine Mischung aus RISC- und CISC-ähnlichen Eigenschaften auf, wie z. B. einen CISC-ähnlichen ISA, der Befehle so behandelt, als wären sie eine Aneinanderreihung von RISC-artigen Befehlen.

Ein paar wesentliche Unterschiede zwischen CISC- und RISC-Architekturen sind in Tabelle 1 aufgeführt.

RISC vs. CISC
Tabelle 1: Tabelle mit einigen Unterschieden zwischen CISC- und RISC-Befehlssatzarchitekturen (ISAs).

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.