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.
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.