Hardware Reference
In-Depth Information
CtrlEX
CtrlRW
9 9
RegSet ARegY1
ARegY2
3
3
InstrMem
PCount
Instr
Opcode
DatMem
ROM
+1
1 2
x 1
a 1
4
w
a
y
5
RAM
5 5 11
10
x
w 1 y 1
5
ORegA
Ergeb-
0
1
nis KonstMem
y 2
5
3
a 2
11
5
a y
5
ORegB
ALU
6
11
y 3
5
7
3
a 3
IF
normaleVerarbei-
tungsoperationen
EX RW
8
Sprungbedingung
Erweitungenf¨uran-
dereOperationstypen
OF
1
2 4
tInstrAdr
3
tRegAdr tDaten
5
7 9
tFlags
tBed
tOpTyp tInstrMem
tDatMem
10
tInstr
tOpCode
6
tErgebnis
8
11
Abb. 5.25. Verarbeitungs-Pipeline des RISC-Prozessors
Die in Abb. 5.25 eingezeichneten Datentypen sind bereits alle bis auf
»tOpTyp« definiert. Für Letzteren wird die Definition jetzt entwickelt. In der
Ergebnisschreibphase (RW) wird anhand des Wertes im Register »Ctrl_RW«,
der vom Typ »tOpTyp« ist, unterschieden zwischen
non kein Ergebnis schreiben (bedingter Sprung und nop-Befehl),
wr
berechnetes Ergebnis in ein Register schreiben (Ergebnisspeiche-
rung für Verarbeitungsbefehle und Speicherung der Rückkehr-
adresse nach einem unbedingten Sprung),
st
Kopieren des Inhalts des adressierten Registers auf den adressier-
ten Datenspeicherplatz (Speicherbefehl),
ldd
Kopieren des adressierten Datenspeicherinhalts in das adressierte
Register (Laden aus dem Datenspeicher) und
ldc
Kopieren des adressierten Konstantenspeicherinhalts in das adres-
sierte Register (Laden aus dem Konstantenspeicher).
In der Ausführungsphase soll anhand des Wertes im Register »Ctrl_EX«, der
auch vom Typ »tOpTyp« ist, unterschieden werden zwischen Übertragsbit
setzen (setc), Übertragsbit löschen (clrc), Übertragsbit invertieren (cplc) und
den anderen Operationstypen (non, wr, ...), für die in der Ausführungsphase
die Operation mit dem Operationscode ausgewählt wird. Insgesamt muss der
Datentyp »tOpTyp« acht Operationstypen und den Pseudo-Wert für ungültig
darstellen können:
type tOpTyp is (XX, non, wr, st, ldd, ldc, setc, clrc, cplc);
Die Pipeline-Register bilden zusammen einen Verbund:
 
Search WWH ::




Custom Search