Information Technology Reference
In-Depth Information
spricht dem, was im ersten Schritt des Prologs zu bearbeiten ist (siehe Tabelle 3.1;
vgl. auch Bild 3.27b zum Zeitpunkt t -2 ).
Durch die Sprungoperation br.ctop werden als Seiteneffekt die Registerinhalte
rotiert und zum Anfang der Schleife verzweigt, und zwar, solange der im Spezialre-
gister lc (loop counter) befindliche Schleifenzähler einen Wert ungleich Null ent-
hält. Insbesondere übernimmt dabei r33 den Inhalt von r32 und p17 den Inhalt von
p16. Außerdem wird p16 implizit gesetzt und auf diese Weise dafür gesorgt, dass im
zweiten Schleifendurchlauf die in den Zeilen 4 und 5 stehenden Operationen sowie
die Sprungoperation ausgeführt werden (siehe den zweiten Zyklus in Tabelle 3.1
und vgl. Bild 3.27b zum Zeitpunkt t -1 ). Die Leeroperation in Zeile 5 ist dabei nur
der besseren Verständlichkeit halber angegeben und in einem realen Programm
unnötig. Mit dem dritten Schleifendurchlauf wird in gleicher Weise dafür gesorgt,
dass p16 bis p18 gesetzt sind und deshalb neben der Lade- und Sprungoperation
noch die Addition ausgeführt wird. Sie verarbeitet mit r34 den Inhalt, des zuvor in
r33 befindlichen, im ersten Schleifendurchlauf aus dem Hauptspeicher geladenen
Operanden (in Tabelle 3.1 wird angenommen, dass in r9 der Wert 10 gespeichert
ist). Mit dem nächsten Sprung, der zum Anfang der Schleife führt, endet der Prolog.
Tabelle 3.1. Zeitlicher Ablauf bei Bearbeitung der in Bild 3.28b dargestellten Operationsfolge. Der
Übersichtlichkeit halber werden gelöschte Prädikatsregister durch leere Felder repräsentiert
Zyklus
Befehle
Zustand vor Ausführung von br.ctop
r32
r33
r34
r35
r36
lc
ec
1
ld4
br.ctop
0
-
-
-
-
1
199
4
2
ld4
br.ctop
1
0
-
-
-
1
1
198
4
3
ld4 || add
br.ctop
2
1
0
10
-
1
1
1
197
4
4
ld4 || add || st4
br.ctop
3
2
1
11
10
1
1
1
1
198
4
5
ld4 || add || st4
br.ctop
4
3
2
12
11
1
1
1
1
197
4
...
...
...
...
...
...
200
ld4 || add || st4
br.ctop
199
198
197
207
206
1
1
1
1
0
4
201
add || st4
br.ctop
-
199
198
208
207
1
1
1
0
3
202
add || st4
br.ctop
-
-
199
209
208
1
1
0
2
203
st4
br.ctop
-
-
-
-
209
1
0
1
...
-
-
-
-
-
0
0
In der sich anschließenden Kernphase werden mit jedem Zyklus alle in Bild 3.28b
zwischen den Zeilen 4 bis 8 dargestellten Operationen parallel bearbeitet, und zwar
so lange, bis der Inhalt des Schleifenzählregister lc den Zählwert Null erreicht und
die Sprungoperation br.ctop erneut ausgeführt wird. Dies kennzeichnet den Beginn
des Epilogs, der sich vom Prolog insbesondere dadurch unterscheidet, dass nach der
Registerrotation das Prädikatsregister p16 nicht mehr gesetzt, sondern gelöscht
wird. Demzufolge bearbeitet man mit weiteren Schleifendurchläufen nach und nach
eine immer geringere Anzahl von Operationen - das Fließband läuft leer. Das Bear-
Search WWH ::




Custom Search