Information Technology Reference
In-Depth Information
3.1 Statische Operationsparallelität
Bei der statischen Operationsparallelität sind in einem Befehl die parallel auszufüh-
renden Operationen explizit oder implizit codiert. Explizit bedeutet, dass jede der
parallel auszuführenden Operationen einen eigenen Operationscode besitzt, implizit ,
dass alle parallel auszuführenden Operationen durch einen gemeinsamen Operati-
onscode repräsentiert werden. Ebenfalls möglich ist eine kombinierte explizite und
implizite Codierung parallel auszuführender Operationen, z.B. indem in zwei Ope-
rationscodes insgesamt vier Operationen codiert sind.
Die statische Operationsparallelität, explizit oder implizit, muss im Gegensatz zu
der in Abschnitt 3.2 zu beschreibenden dynamischen Operationsparallelität bei der
Erzeugung eines Programms ausdrücklich berücksichtigt werden. Dies ist i.Allg.
Aufgabe eines optimierenden Übersetzers , da die Assemblerprogrammierung auf-
grund der im Vergleich zur Hochsprachenprogrammierung schlechteren Wartbarkeit
und Portierbarkeit sowie der längeren Programmentwicklungszeit heute eine nur
noch sehr geringe Bedeutung hat. Zwar sind automatisch erzeugte Programme
i.Allg. langsamer als Hochsprachenprogramme, aufgrund der hohen Leistungsreser-
ven moderner Prozessoren ist dies jedoch tolerierbar.
Entsprechend der Taxonomie von Flynn lässt sich ein Rechnersystem etwas grob
nach der Anzahl der parallel ausgeführten Befehle und verarbeiteten Daten unter-
scheiden [47, 54]. Hierbei klassifiziert man die Verarbeitung eines einzelnen
Befehlsstroms durch SI ( single instruction ) und die Verarbeitung mehrerer Befels-
ströme durch MI ( multiple instruction ). Weiter wird das Operieren auf einem einzel-
nen Datensatz als SD ( single data ), das auf mehreren Datensätzen als MD ( multiple
data ) bezeichnet. Es ergeben sich insgesamt vier Kombinationen: In SISD-Rechnern
wird ein Befehlsstrom ausgeführt und mit jedem Befehl ein Datensatz bearbeitet. In
SIMD-Rechnern wird ein Befehlsstrom ausgeführt und gleichzeitig auf mehreren
Datensätzen operiert. In MISD-Rechnern wird mit mehrere Befehlsströmen parallel
auf einem Datensatz gearbeitet. In MIMD-Rechnern werden schließlich mehrere
Befehlsströme und unterschiedliche Datensätzen bearbeitet. Entsprechend dieser
Taxonomie lässt sich ein Einprozessorrechner als SISD, ein Parallelrechner als
MIMD bezeichnen.
Ähnlich lassen sich auch Prozessoren oder Funktionseinheiten nach Flynn klassifi-
zieren. Da jedoch ein Prozessor bzw. eine Funktionseinheit nur einen einzelnen
Befehlsstrom verarbeitet, wird dabei statt der Anzahl parallel ausgeführter Befehle
besser die Anzahl der in einem Befehl explizit codierten Operationen berücksichtigt.
Ein Datensatz besteht dementsprechend aus den Operanden und Ergebnissen, die
bei Ausführung einer implizit oder explizit codierten Operation benötigt bzw.
erzeugt werden, wobei möglicherweise auch unterschiedliche Operationen auf
einem gemeinsamen Datensatz operieren können.
Gemäß dieser Festlegung lassen sich die skalaren Prozessoren aus Kapitel 2 klar
dem SISD-Verarbeitungsprinzip zuordnen. Die in den nachfolgenden Abschnitten
3.1.1 bis 3.1.3 beschriebenen Multimedia-Einheiten, Feld- und Vektorrechner sind
hingegen als SIMD zu klassifizieren. Als MIMD dürfen schließlich die in Abschnitt
Search WWH ::




Custom Search