Information Technology Reference
In-Depth Information
Latenzzeiten zur Berechnung eines Vektorelements symbolisieren. Sie sind in Bild
3.6a für alle Vektoroperationen als einheitlich lang idealisiert.
Die Vektoroperationen werden gemäß Bild 3.6a verzögerungsfrei bearbeitet, weil
Abhängigkeiten zwar über die Vektoren, nicht jedoch über deren Elemente beste-
hen. So ist es möglich, die Multiplikation s X mit den ersten Vektorelementen zu
beginnen, während die letzten Vektorelemente noch aus dem Hauptspeicher gelesen
werden. Voraussetzung ist natürlich, dass die Anzahl der Takte für das Laden eines
Vektorelements multipliziert mit dem Replikationsfaktor geringer ist als die Anzahl
der Elemente, die der zu ladende Vektor enthält. Falls dies nicht sicherzustellen ist,
sind die auftretenden Datenflusskonflikte wie in nicht nach dem Vektorprinzip
arbeitenden Prozessoren zu lösen.
Keine Verkettung
Load X
Mul
Load Y
Add
Store Z
a
t
Verkettung (Cray-1)
Load X
Mul
Load Y
Add
Store Z
b
t
Z = s X + Y
Verkettung (Cray Y-MP)
s
Y
Load X
Mul
Load Y
Add
Store Z
Z
(i-j)
ADD
X
(i-j-k)
MUL
(i)
c
t
Bild 3.6. Darstellung des zeitlichen Verlaufs der Bearbeitung einer einfachen Berechnung (in
Anlehnung an [202]). a Ohne Verkettung. b Durch Verkettung von Lade- und arithmetisch-logi-
schen Operationen (entsprechend Cray-1). c Durch Verkettung aller auszuführenden Operationen
(entsprechend Cray Y-MP)
In Bild 3.6b ist, ebenfalls idealisiert, dargestellt, in welcher Weise dieselbe Vektoro-
perationsfolge durch die Cray-1 von Cray, die eine Verkettung von Verarbeitungs-
einheiten unterstützt, bearbeitet wird. Die Multiplikation kann begonnen werden,
sobald das erste Element des Operandenvektors X geladen wurde. Das erste Element
des Multiplikationsergebnisses ist somit bereits nach Ablauf der Latenzzeiten der
Lade- und Multiplikationseinheit verfügbar. Der vollständige Ergebnisvektor steht
nach n Takten bereit, wobei n der Anzahl der Elemente des Vektors X entspricht (bei
einem Durchsatz von einer Skalaroperation pro Takt). Falls n sehr groß ist, können
die Latenzzeiten vernachlässigt werden, so dass sich der Operationsdurchsatz durch
Verkettung von z.B. zwei Verarbeitungseinheiten nahezu verdoppelt.
Da die Cray-1 nur über eine einzelne Speicherzugriffseinheit verfügt, müssen die
noch fehlende Lade- bzw. Speichereoperation im weiteren zeitlichen Verlauf
sequentiell ausgeführt werden. Die in Anlehnung an [202] auftretende Lücke zwi-
schen den beiden Ladeoperationen ist nach Ansicht des Autors vermeidbar. Eine
mögliche Erklärung für deren Existenz könnte sein, dass der sequentiell arbeitende
 
Search WWH ::




Custom Search