Kurze Befehle für die Pipeline - ein Konzept für CPUs

Was ist RISC? Und was ist CISC?

| Autor / Redakteur: Ariane Rüdiger / Ulrike Ostler

Die CPU-Architekturen RISC und CISC wachsen zunehmend zusammen
Die CPU-Architekturen RISC und CISC wachsen zunehmend zusammen (Bild: © djama - stock.adob.com / Pixabay)

In den Achtzigern kamen die ersten CPUs mit so genannten RISC-Prozessor auf den Markt, vorher gab es CISC. Was steckt hinter den Kürzeln? Und wie hat sich die Technologie bis heute weiterentwickelt?

RISC steht für Reduced Instruction Set Computer und bezeichnet ein neues Arbeitskonzept bei CPUs. Entwickelt wurde es in den späten 70ern und frühen 80ern in Stanford.

Computer arbeiteten bis zur Erfindung von RISC nach dem CISP (Complex Instruction Set Computer)-Prinzip. Um RISC zu verstehen, ist es sinnvoll, zuerst einen Blick auf CISC zu werfen.

RISC in Abgrenzung zu CISC

Das CISC-Konzept zielte darauf, dass ein Befehl in so wenig wie mögliche Assemblerzeilen zu übersetzen ist. Assembler ist eine maschinennahe Programmiersprache. Außerdem sollte ein CISC-Befehl so wenig wie möglich weitere Befehle, etwa Registeraufrufe, zu seiner Ausführung benötigen. Daher wurden viele komplexe Befehle direkt in Hardware realisiert.

RISC dagegen setzt auf sehr einfache Befehle, die innerhalb eines Taktzyklus realisiert werden sollen. Komplexere Befehle werden aus einfacheren zusammengesetzt. Dadurch entstehen mehr Code-Zeilen, wobei aber jeder einzelne Befehl schneller abläuft.

Ein Beispiel, das aus einer Website der Standord-Universität zum Thema RISC/CISC stammt: In CISC würde eine Multiplikation durch einen MULT-Befehl realisiert, der direkt auf die Speicherbänke und die Register zugreift, die zu multiplizierenden Werte holt, sie miteinander malnimmt und das Ergebnis an einen Speicherplatz zurückschreibt.

In RISC würden vier Befehle gebraucht: Zwei Ladebefehle holen Daten aus dem Speicher ins Register. Einer findet das Ergebnis der Multiplikation. Einer schreibt das Ergebnis auf den Speicher.

Weitere Vorteile von RISC

Hardwaretechnisch benötigt CISC weniger RAM, RISC weniger Transistoren, was mehr Raum für Register lässt. Die standardisierte Ausführungsdauer (1 Takt) vereinfacht es, Befehlspipelines zu nutzen. Getrenntes Laden und Speichern kann einen Operanden im Register lassen, bis er überschrieben wird.

Nahezu jeder Anbieter von CPU-Chips hatte in den 80ern RISC-Chips im Programm, allerdings setzten die Computer- und Betriebssystemhersteller, etwa Windows mit seinen Desktop-Betriebssystemen weitgehend auf CISC. Die marktführende Prozessorlinie, Intel x86, ist ursprünglich ein reines CISC-Produkt. Typische RISC-Architekturen sind IBMs Power-Prozessoren oder Systeme von Fujitsu und Oracle, die auf Sparc-Prozessoren der aufgekauften Sun Microsystems aufbauen.

Ein Sun UltraSPARC-RISC-Prozessor. Später wurde Sun von von Oracle aufgekauft, so dass sich die Prozessoren u.a. in Oracle-Systemen finden
Ein Sun UltraSPARC-RISC-Prozessor. Später wurde Sun von von Oracle aufgekauft, so dass sich die Prozessoren u.a. in Oracle-Systemen finden (Bild: A Sun UltraSPARC, a RISC microprocessor / Konstantin Lanzet / CC BY-SA 3.0)

In den vergangenen Jahren haben Leistungssteigerungen bei der Hardware und immer stärkere Dominanz von Softwaretechnologien zunehmend dafür gesorgt, dass sich die Unterschiede zwischen RISC und CISC verringern: Höhere Prozessorgeschwindigkeiten ermöglichen es, auch komplexe Befehle in nur einem Zyklus auszuführen, was Pipelining erlaubt. Und es passen viel mehr Transistoren auf einen Chip.

Frischen Wind für RISC könnte RISC-V bringen. Daran wird in Berkeley seit 2015 entwickelt. Der Standard zielt bewusst auf ausdifferenzierte Rechnerwelten, beispielsweise Embedded-Systeme in unterschiedlichen Anwendungsfeldern. Er umfasst derzeit ein begrenztes Set von Befehlen, die um anwendungsbezogene Befehle erweitert werden können, beispielsweise für Big Data, Signalanalyse oder Bildverarbeitung. Das Betriebssystem von RISC-V ist Linux.

copyright

Dieser Beitrag ist urheberrechtlich geschützt. Sie wollen ihn für Ihre Zwecke verwenden? Kontaktieren Sie uns über: support.vogel.de/ (ID: 46002177 / Definitionen)