Information Technology Reference
In-Depth Information
Da i (alu2) noch ungleich 99 ist, verzweigt der Kontrollfluss zur Sprungmarke loop. Dies geschieht
jedoch nicht unmittelbar, sondern mit zwei Takten Verzögerung, weshalb noch vor dem nächsten
Schleifendurchlauf die Befehle in den Zeilen 4 und 5 ausgeführt werden können 1 . In Zeile 4 wird
der zweite Operand zur Multiplikationseinheit gebracht und damit die Multiplikation begonnen
sowie die Akkumulation der Ergebnisse durch die Rückführung des in alu1 gespeicherten Werts auf
dessen linken Eingang vorbereitet. Die Addition startet in Zeile 5 mit dem Transport des Multipli-
kationsergebnisses zum rechten Eingang der alu1. Nach vollständiger Bearbeitung der Schleife
wird schließlich in Zeile 6 das Ergebnis in das Register r0 übertragen und der noch in alu2 gespei-
cherte Schleifenzählwert konsumiert.
Befehlscodierung
Der in Bild 3.29 dargestellte Prozessor verarbeitet Befehle fester Breite, in denen
eine konstante Anzahl von Transportoperationen codiert sind (hier 6). Jede Trans-
portoperation enthält eine Quell- und eine Zieladresse. Da die Verarbeitungseinhei-
ten i.Allg. eine größere Anzahl von Ein- als von Ausgänge besitzen und außerdem
über die Eingänge vorgegeben wird, welche Operationen in den Verarbeitungsein-
heiten auszuführen sind, müssen die Zieladressen breiter als die Quelladressen sein.
Bei der Aufteilung des Zieladressraums ist weiter zu berücksichtigen, dass die Fest-
legung der auszuführenden Operation nur über einen einzelnen Eingang erfolgen
muss, wodurch sich Bits einsparen lassen.
Eine Vereinfachung der Operationscodierung ist außerdem erreichbar, indem
bestimmte Quellen und Ziele nicht über beliebige Busse miteinander verbunden
werden können, sondern nur über eine Teilmenge der verfügbaren Busse. Wenn z.B.
der Ausgang der ALU fest an den im Bild untersten Bus gekoppelt ist (e), muss in
einer entsprechenden Transportoperation keine Quelladresse codiert sein. Falls
außerdem der Ausgang der ALU ausschließlich über diesen Bus zugreifbar ist,
braucht er auch nicht über andere Busse adressiert werden zu können.
Vorteilhaft an einer festen Bindung von Ausgängen und Bussen ist auch, dass sich
auf diese Weise der schaltungstechnische Aufwand vermindern und die kapazitiven
Lasten auf den einzelnen Bussen senken lassen. Dies wirkt sich positiv sowohl auf
die maximale Taktfrequenz als auch den Strombedarf eines Prozessors aus. Soll es
dabei jedoch weiterhin möglich sein, einen Ausgang zeitgleich mit mehreren Ein-
gängen zu verbinden, muss entweder mehr als ein Bus verwendet oder das zu über-
tragende Ergebnis über einen einzelnen Bus auf unterschiedliche Eingänge verteilt
werden.
Letzteres erfordert, dass der Decoder die Transportoperationen nicht länger fest,
sondern variabel den verfügbaren Bussen zuordnet. Falls sich hierbei mehrere
Transportoperationen eines Befehls auf einen gemeinsamen Ausgang beziehen, der
fest mit einem Bus verbunden ist, sind die entsprechenden Transportoperationen
durch den Decoder diesem Bus zuzuordnen, wobei jeweils nur die Zieladressen der
Transportoperationen auszuwerten sind. - Als Nebeneffekt einer solchen Codierung
könnten die Befehle variabel breit sein. Die zur Extraktion eines Befehls zu verwen-
1.
Die hier angenommene Verzögerung ist durch geeignete technische Maßnahmen, wie z.B. einer
Sprungvorhersage, natürlich vermeidbar.
 
Search WWH ::




Custom Search