Hardware Reference
In-Depth Information
5.21 so abgewandelt werden, dass das Operandenregister »OReg_A« in der
Operandenholphase (OF) seinen Wert nicht aus dem Registersatz bezieht,
sondern mit einer 2-Bit-Konstanten aus dem Befehlswort geladen wird. Die
Operation für die Adressrechnung sei eine Addition ohne Auswertung und
Bildung des Übertrags.
Die beiden Sprungbefehle kommen jeweils mit sechs Parameterbits aus.
Der unbedingte Sprung benötigt zwei Registeradressen und der unbedingte
Sprung eine Registeradresse und einen Bitvektor für die Auswahl der Sprung-
bedingung. Für unseren Minimalprozessor soll ein 3-Bit-Auswahlvektor zur
Unterscheidung von acht Sprungbedingungen genügen. In der Bittafel für den
Befehlssatz in Abb. 5.24 ist dadurch noch Platz für einen weiteren Befehlstyp
mit acht Parameterbits. Dieser wird im Beispielentwurf für einen zusätzlichen
Lesebefehl, der einen Wert aus einem adressierbaren Zusatzspeicher für Kon-
stanten liest, verwendet. Die Assembler-Notationen für die Lade-, Speicher-
und Sprungbefehle seien:
st @( rb + c2 ), ra -- Schreiben in den Datenspeicher
ldd ra , @( rb + c2 ) -- Laden aus dem Datenspeicher
ldc ra , @( rb + c2 ) -- Laden aus dem Konstantenspeicher
jmb ra , rb
-- Sprung mit Aufbewahrung der Rückkehradresse
jc _ bed ra
-- bedingter Sprung
Die Symbole »st« (
st
ore), »ldd« (
l
oa
d d
ata), »ldc« (
l
oa
d c
onstant), »jmb«
(
j
u
mp
) und »jc« (
j
ump
c
onditional) sind die Schlüsselworte zur Kennzeich-
nung des Befehlstyps
Das Register ra ist für die Ladebefehle das Zielregister
und für den Speicherbefehl das Quellregister. Für die Sprünge steht in ra die
Adresse für das Sprungziel. Aus dem Inhalt von Register rb und der Konstan-
ten c2 wird bei den Lade- und Speicherbefehlen durch Addition die Datenspei-
cheradresse berechnet. Für den unbedingten Sprung ist rb der Speicherplatz
für die Rücksprungadresse. Die acht Symbole für die Sprungbedingung, die
für _bed einzusetzen sind, werden erst später in Abschnitt 5.4.8 festgelegt.
Mit der Befehlssatzdefinition bis hierher sind am Ende der Bittafel in Abb.
5.24 noch 2 6 = 64 Bitvektorwerte ungenutzt, von denen ein Teil für folgende
parameterfreie Befehle reserviert werden soll:
.
nop; -- keine Operation, no operation
set_cy; -- Übertragsbit setzen, set carry
clr_cy; -- Übertragsbit löschen, clear carry
cpl_cy; -- Übertragsbit invertieren, complement carry
Der Befehl »nop« (
eration) verbraucht nur Zeit und wird für War-
teschleifen und Ähnliches verwendet. Die Befehle »set_cy«, »clr_cy« und
»cpl_cy« setzen, löschen und invertieren das Übertragsbit. Sie werden für
arithmetische Berechnungen und für Einzelbitmanipulationen benötigt.
n
o
op
Search WWH ::




Custom Search