Alternative Rechnerarchitekturen (Teil 3)

rRISC Level 2 und 3

Neben dem Basisansatz, Instruktionen aus verschiedenen Klassen zu kombinieren, gibt es auch innerhalb der Befehlsklassen Parallelisierungsmöglichkeiten: Zum einen lassen sich vor allem bei den arithmetisch/logischen Befehlen Operationen identifizieren, die in disjunkten ALU-Bereichen ablaufen. Zum anderen können sehr preiswerte Funktionen wie Move (Kopie eines Registers in ein anderes) vervielfacht werden.

rRISC-Level

Instruktionen

Parallelitätsgrad

Tabelle 1: Definition der rRISC-Level für das modifizierte MPM3-Modell.

Level 1

1 M-Klasse 1 C-Klasse 1 I-Klasse

3 (4)

Level 2

1 M-Klasse 1 C-Klasse 1 AL-Subklasse (A, DI, L) 4 MC-Subklasse

7 (11)

Level 3

1 M-Klasse 1 C-Klasse 1 A-Subklasse 1 L-Subklasse 1 DI-Subklasse 4 MC-Subklasse

9 (13)

Zu diesem Zweck sind die Instruktionen weiter zu unterteilen: Die Subklasse MC (Move/Copy) enthält alle Befehle, die Daten zwischen Registern verschieben oder kopieren. Die arithmetischen und logischen Operationen werden weiterhin in die Subklassen A (arithmetisch), L (logisch) und DI (Dekrement/Inkrement) unterteilt, so dass die Klasse I nunmehr durch die Subklassen A, L, DI und MC darstellbar ist. Tabelle 10.2 zeigt, wie sich die verschiedenen rRISC-Level durch ihre Parallelitäten unterscheiden.

Der maximale Parallelitätsgrad ist noch zu erläutern. Die erstgenannte Zahl in der Klammer (siehe Tabelle 10.2, Spalte Parallelitätsgrad bei Level 3:9) entsteht durch die Summe über die Anzahl der Instruktionsklassen mit der Anzahl der Instruktionen pro Klasse, jeweils ohne Berücksichtigung der NOPs. Die zweite Zahl in der Klammer (bei Level 3:13) wird dadurch festgelegt, dass die MC-Subklasse pro Instruktion jeweils ein MOV/MOVH-Paar mit unmittelbarer Adressierung (pro Befehl nur 8 Bit Daten, zusammen 16 Bit) enthalten kann.