Hardware Reference
In-Depth Information
Befehls-
MCtrl1 Schreibdeaktivier-
MCtrl2
PCount
non
speicher
rungf¨urdenDa-
Instr
Registersatz
+1
tenspeicherund
0
1
ROM
x 1
RAM y 1
denRegistersatz
EX
a 1
w 1
Ergebnis
IF
x 2
a 2
y 2
0
Flags
Sprung-
w 2
tBed
bedingung
non
keineErgebnis-
speicherung
OFundSprung,wennBedingungerf¨ullt
Abb. 5.23. Pipeline für bedingte Sprünge
5.4.4 Entwurf eines Befehlssatzes für einen Minimalprozessor
Zur Präzisierung der Pipeline-Abläufe sind einige Grundsatzentscheidungen
zu treffen. Dazu zählen die Festlegung der Datenwortbreite, der Befehlswort-
breite, der Adressbreiten und der Registeranzahl. Das Ziel in diesem Abschnitt
ist der Entwurf eines möglichst kleinen und einfachen Prozessors. Die zu verar-
beitenden Daten, Befehlsadressen und Datenspeicheradressen sollen acht Bit
breit sein. Die Registeranzahl sei gleichfalls acht. Diese Entscheidung begrenzt
die Größe des Befehlsspeichers und des Datenspeichers auf je 256 Speicher-
plätze. Mit einer 16-Bit-Architektur ließen sich Daten- und Befehlsspeicher
mit 2 16 und mit einer 32-Bit-Architektur Daten- und Befehlsspeicher mit 2 32
Speicherplätzen adressieren. Zur Bestimmung der minimalen Befehlswortbrei-
te ist der Befehlssatz zu konstruieren.
Ein RISC-Prozessor liest in jedem Takt einen Befehl aus dem Befehlsspei-
cher. Das setzt voraus, dass alle Befehlsworte gleich groß sind. Jeder der be-
trachteten Befehlstypen benötigt Parameter:
• Die Verarbeitungsbefehle nach Abb. 5.19 benötigen drei Registeradressen
und den Operationscode.
• Der Befehl zum Laden einer Konstanten nach Abb. 5.20 benötigt eine
Registeradresse und eine 8-Bit-Konstante.
• Die Lade- und Speicherbefehle nach Abb. 5.21 benötigen je drei Register-
adressen.
• Ein unbedingter Sprung mit Aufbewahrung der Rückkehradresse nach
Abb. 5.22 benötigt zwei Registeradressen.
• Ein bedingter Sprung nach Abb. 5.23 benötigt eine Registeradresse und
einen Bitvektor für die Codierung der Sprungbedingung.
Die Registeradressen sind alle drei Bit groß. Zusätzlich zu den Parameterbits
muss jedes Befehlswort konstante Bits enthalten, in denen es sich von allen
anderen Befehlsworten unterscheidet. Jetzt folgt ein Puzzle für die Bitauftei-
lung, bei dem möglicherweise für einen Teil der skizzierten Register-Transfer-
Operationen die Pipeline-Abläufe geändert werden müssen.
Die Befehlswortbreite soll minimal sein. Der Befehl zur Initialisierung ei-
nes Registers mit einer Konstanten braucht elf Parameterbits, acht für die
Search WWH ::




Custom Search