Information Technology Reference
In-Depth Information
Die Verarbeitung eines Befehls beginnt damit, dass ein Prozessstatuswort aus der PSW-Queue ent-
fernt und die darin u.a. codierte 20 Bit breite Adresse verwendet wird, um den nächsten auszufüh-
renden Befehl aus dem Programmspeicher (Program Memory) zu lesen (Bild 3.48). Prozessstatus-
wort und Befehl werden anschließend an die Operandenzugriffseinheit ( Operand Fetch Unit ) wei-
tergereicht. Sie greift zur Ermittlung der benötigten Operanden auf einen 2048 Worte großen Regis-
terspeicher oder einen 4096 Worte großen Konstantenspeicher zu [64]. Die Ausführung eines
Befehls erfolgt entweder synchron in einem achtstufigen Fließband (z.B. durch die Integer Function
Unit IFU) oder asynchron zeitsequentiell (durch die Divisionseinheit DIV und die für Speicherzu-
griffe zuständige Scheduler Function Unit SFU).
Program
Memory
Instruction
Fetch Unit
Operand
Fetch Unit
Register
Konstanten
PSW
Queue
Data Loop
IFU
synchrone
Verarbeitungseinheiten
Control Loop
MUL
DIV
SFU
asynchrone
Verarbeitungseinheiten
Delay
Increment
Control
Data
Memory
Bild 3.48. Strukturbild eines der bis zu 16 sog. Process Execution Modules (PEM) des Heteroge-
nous Element Processor HEP von Denelcor (in Anlehnung an [64])
Bei der synchronen Verarbeitung wird in jedem Takt ein Befehl eines anderen Prozesses gestartet,
so dass sich in den Fließbandstufen der einzelnen Verarbeitungseinheiten i.Allg. zeitgleich Befehle
unterschiedlicher Prozesse befinden. Abhängigkeiten zwischen den Befehlen und dadurch bedingte
Fließbandkonflikte treten nicht auf, solange sichergestellt ist, dass die Daten in der Datenschleife
( data loop ) wenigstens genauso schnell kreisen, wie die Prozessstatusworte in der Kontrollschleife
( control loop ). Aus diesem Grund werden letztere verzögert (Delay), bevor sie die Inkrementierein-
heit ( Increment Control ) erreichen [193]. Die Verarbeitung eines einzelnen Befehls endet schließ-
lich, indem die im Prozessstatuswort codierte Befehlsadresse modifiziert und das Prozessstatuswort
in die PSW-Queue zur erneuten Verarbeitung eingetragen wird.
Wegen der zu erwartenden langen Latenzzeiten werden Speicherzugriffe durch die asynchrone
Speicherzugriffseinheit SFU anders verarbeitet: Die Ausführung der Befehle beginnt zunächst wie
gewohnt. Jedoch wird das Prozessstatuswort aus der Kontrollschleife entfernt und in einem zur
Funktionseinheit SFU lokalen Ringpuffer zwischengespeichert. Solange sich der Speicherzugriff in
Bearbeitung befindet, verbraucht der Prozess somit keine Rechenzeit. Erst mit dem Abschluss des
Speicherzugriffs wird ein ggf. gelesenes Datum in den Registerspeicher geschrieben und der sus-
pendierte Prozess schließlich durch erneutes Übertragen des zwischengespeicherten Prozessstatus-
worts in die PSW-Queue reaktiviert.
Da der Speicher auch für die Kommunikation verwendet wird, ist die maximale Zeit bis zur Wie-
deraufnahme eines Prozesses nicht unbedingt gleich der Speicherzugriffszeit. Optional lassen sich
nämlich Lesezugriffe bzw. Schreibzugriffe verzögern, bis die adressierte Speicherzelle als gefüllt
 
Search WWH ::




Custom Search