Information Technology Reference
In-Depth Information
Zustandsregister entsprechend Bild 2.12 zu realisieren. Falls jedoch die Interpreta-
tion eines Befehl i.Allg. mehr als einen Mikrobefehl erfordert, ist es günstiger, statt
Sprüngen zum jeweils nächsten Mikrobefehl einen Mikrobefehlszähler vorzusehen,
der Sequenzen von Mikrobefehlen automatisch adressiert.
Ein entsprechendes Mikroprogrammsteuerwerk ist in Bild 2.13 dargestellt. Zunächst
ist der Mikrobefehlszähler µPC mit 0 initialisiert. Bei einem Unterprogrammaufruf
wird daher der dritte Eintrag des Decoders adressiert und u.a. über die mit a mar-
kierte Steuerleitung für die Inkrementierung des Mikrobefehlszählers gesorgt. Im
zweiten Taktschritt wird die Bearbeitung des call -Befehls beendet und im Mikrobe-
fehlszähler der Initialzustand hergestellt, und zwar mit einem Sprung ( goto ) zum
Zustand 0.
a
µPC
0
0
-
0
goto
goto
+1
goto
AC = AC + [ ADDR ], setze CC,
PC = PC + 1;
add
cmp
call
-
-
-
-
-
-
-
-
-
0
0
0
1
AC - [ ADDR ],
setze CC,
PC = PC + 1;
SP = SP - 1,
PC = PC + 1;
[SP] = PC,
PC = PC + ADDR;
b
ALU AC
SP CC
PC
M 1
M 2
M 3
M 4
M 5
ME
Bild 2.13. Mehrschrittig arbeitendes Mikroprogrammsteuerwerk mit Mikroprogrammzähler (µPC)
Die Registertransferschaltung mit Mikrobefehlszähler entsprechend Bild 2.13 ist
komplizierter beschaltet und enthält einen größeren Decoder als die Registertrans-
ferschaltung mit Zustandsregister entsprechend Bild 2.12. Worin liegt nun der Vor-
teil, statt eines Zustandsregisters einen Mikrobefehlszähler zu verwenden? In jedem
Mikrobefehl, in dem der Mikrobefehlszähler inkrementiert wird, darf das Sprung-
ziel undefiniert sein. Bei geeigneter technischer Umsetzung lassen sich undefinierte
Felder dadurch realisieren, dass im Decoder eine „Lücke“ vorgesehen wird. Je mehr
solcher Lücken existieren, desto geringer ist der Implementierungsaufwand, wes-
halb ein Befehlsdecoder entsprechend Bild 2.13 vor allem dann von Vorteil ist,
wenn der Decoder viele Einträge besitzt (weil dann das eingesparte Sprungziel sehr
breit ist) und viele Befehle als Sequenzen von Mikrobefehlen verarbeitet werden.
Die Verwendung eines Mikrobefehlszählers ist eine von zahllosen Techniken, die
Implementierung von Befehlsdecodern technisch zu vereinfachen. Andere Verfah-
rensweisen zielen darauf ab, Redundanzen zu vermindern, indem die Eingangssig-
nale oder Ausgangssignale vor- bzw. nachbearbeitet werden. Zum Beispiel unter-
scheiden sich die Einträge unterschiedlicher bedingter Sprungbefehle im Befehlsde-
coder entsprechend Bild 2.13 nur bezüglich der beiden Spalten COND und CC.
Werden diese Eingangssignale zu einer booleschen Bedingungsgröße vorverarbei-
tet, muss lediglich ein 1 Bit breites Eingangssignal vom Decoder ausgewertet wer-
 
Search WWH ::




Custom Search