Grundlagen der RISC-Architektur

Definition von RISC

Aus all diesen Gesichtspunkten ergaben sich neue Entwicklungsansätze für Mikroprozessorgenerationen. Die heutige Definition eines RISC-Prozessors, dessen Struktur erst in den nächsten Abschnitten dargestellt wird, kann anhand folgender Eigenschaften gut beschrieben werden:

  • Die Anzahl der Maschinenbefehle ist kleiner oder gleich 150.

  • Die Anzahl der Adressierungsmodi ist 4.

  • Die Anzahl der Befehlsformate ist 4.

  • Die Anzahl der allgemeinen CPU-Register ist 32.

  • Die Ausführung aller oder der meisten Maschinenbefehle erfolgt innerhalb eines (internen) Takts.

  • Der Speicherzugriff erfolgt nur über Load-/Store-Befehle.

  • Die Steuerung innerhalb der CPU ist fest verdrahtet.

  • Die CPU unterstützt in ihrem Befehlssatz höhere Programmiersprachen (beispielsweise durch CASE-Konstrukte).

Werden von diesen acht Bedingungen mindestens fünf erfüllt, kann die Architektur als RISC bezeichnet werden. Insbesondere die Eigenschaft der Befehlsausführung innerhalb eines Takts (zumindest bei Ausnutzung der Instruktions-Pipeline) erweist sich dabei als beschleunigend, denn dies führt tatsächlich zu schnelleren Programmen. Andererseits ist die pure Beschränkung auf wenige Befehle bei extremer Ausführung nicht sinnvoll, wie man an der 1-Befehl-Maschine erkennt: Diese Maschine kann lediglich den Befehl SUBBEQ X, Y, Z (subtract and branch if equal) ausführen, indem sie X = X-Y ausführt und an Z springt, wenn das Ergebnis 0 ist.

Es stellt sich damit die Frage nach dem Optimum zwischen Einfachheit und Ausführungsgeschwindigkeit. Diese Frage ist in den Projekten Anfang der 80er Jahre durchaus anders beantwortet worden als das heute der Fall ist. Der Streit um die Philosophie, CISC oder RISC, tritt jedoch Mitte der 90er Jahre klar in den Hintergrund; allein die Ausführungszeit von Befehlen ist noch relevant.

In diesem Kapitel wird der historische Weg von den Analysen der Befehlssätze und der Häufigkeit des Einsatzes einzelner Befehle über die Daten- und Kontrollflussanalyse in der CPU bis hin zur realen Performance-Bestimmung einer RISC-CPU mit verschiedenen Programmen nachvollzogen.