Information Technology Reference
In-Depth Information
beitungsende ist schließlich erreicht, wenn der in der Epilogphase durch die Sprung-
operation br.ctop dekrementierte Epilog-Zähler ec (epilog counter) Null erreicht.
Eine abschließende Anmerkung: Die Bearbeitung einer sog. while-Schleife unter-
scheidet sich von der hier beschriebenen Zählschleife darin, dass das Ende der Kern-
phase nicht durch Erreichen eines Zählwerts Null, sondern durch das explizite
Löschen eines Prädikatsregisters angezeigt wird. Im Programm ist dies zu berück-
sichtigen, indem man statt der Sprungoperation br.ctop die Sprungoperation
br.wtop, verwendet.
3.1.6 Prozessoren mit kontrollflussgesteuertem Datenfluss
Die bis hierher beschriebenen Prozessoren verarbeiten Operanden, die i.Allg.
Ergebnisse vorangehend ausgeführter Operationen sind und in Registern oder Spei-
cherzellen übergeben werden. Für eine einschrittige Operationsverarbeitung ist es
daher notwendig, gleichzeitig auf die zu verknüpfenden Operanden und das zu
schreibende Ergebnis zuzugreifen, weshalb z.B. die Registerspeicher mit wenigs-
tens drei unabhängigen Ports ausgestattet sein müssen. Dies gilt für streng sequenti-
ell arbeitende Prozessoren, insbesondere aber auch für skalare Fließbandprozesso-
ren, bei denen die Lese- und Schreibzugriffe zwar zeitversetzt, jedoch parallel zu je
einer anderen Operation ausgeführt werden. Insgesamt ist der hierfür erforderliche
Realisierungsaufwand jedoch gering, selbst wenn man berücksichtigt, dass weitere
Maßnahmen notwendig sind, um z.B. Kontroll- oder Datenflusskonflikte zu lösen.
Das ändert sich, wenn Operationen parallel verarbeitet werden sollen. Mit einer sta-
tischen Operationsparallelität von Vier müssen z.B. wenigstens 12 Registerports
und bei einer einfachen Fließbandstruktur, wie sie in Bild 3.17a dargestellt ist, 64
Bypässe realisiert werden (zur Rückführung von je zwei Operanden aus der Exe-
cute- oder Write-Back-Stufe von vier separaten Verarbeitungseinheiten) - ein Auf-
wand, der insbesondere deshalb erforderlich ist, weil Zwischenergebnisse über tem-
poräre Register weitergereicht werden, anstatt sie direkt in die zuständigen Verarbei-
tungseinheiten zu übertragen.
An der TU Berlin wurde bereits Anfang der 90er Jahre ein alternatives Verarbei-
tungsprinzip entwickelt, dass aktuell in Form des Zen-1 als FPGA verwirklicht wird
[113]. Anders als bei herkömmlichen Prozessoren werden die Aktionen „Operanden
lesen“, „Operanden verknüpfen“ und „Ergebnis schreiben“ hier nicht geschlossen in
den einzelnen Operationen codiert, sondern die zu verknüpfenden Operanden durch
Transportoperationen zu den Verarbeitungseinheiten übertragen, die daraus auto-
nom Ergebnisse generieren, sobald die benötigten Operanden verfügbar sind. Eine
zu herkömmlichen Prozessoren vergleichbare Geschwindigkeit lässt sich erreichen,
indem mehrere Transportoperationen parallel ausgeführt werden.
Weil die statisch explizit in einem Befehl codierten Operationen den Datenfluss
eines Teilproblems beschreiben, die Ausführung der Befehle jedoch nach dem Kon-
trollflussprinzip geschieht, spricht man von kontrollflussgesteuertem Datenfluss 1 .
Die Registertransferschaltung eines in dieser Weise arbeitenden Prozessors, der pro
Takt sechs Transportoperationen verarbeiten kann, zeigt Bild 3.29. Neben dem
Search WWH ::




Custom Search