Information Technology Reference
In-Depth Information
reale Prozessoren ist es jedoch empfehlenswert, sich zumindest die Beschreibung
der Begriffe Semantikdichte und Problembedingtheit anzuschauen.
Um die Beschreibungen in Bild 4.7 und Bild 4.8 nachvollziehen zu können, seien
zuvor noch einige Begriffe definiert. Als absolute Emulationszeit wird die Zeit
bezeichnet, die ein bestimmter realer Prozessor zur vollständigen Bearbeitung eines
bestimmten virtuellen Programms benötigt. Die relative Emulationszeit ergibt sich
hieraus, indem die absolute Emulationszeit durch die Ausführungszeit eines funkti-
onsidentischen nativen Programms für den emulierenden realen Prozessor dividiert
wird. Sie ist normalerweise größer oder gleich Eins. Die absolute oder relative Emu-
lationsgeschwindigkeit berechnet sich schließlich aus der absoluten oder relativen
Emulationszeit durch Kehrwertbildung. Der Wert 0,5 besagt, dass ein spezielles
Programm von einem virtuellen Prozessor halb so schnell bearbeitet wird wie vom
emulierenden realen Prozessor.
4.2 Dynamische Binärübersetzung (dynamic binary translation)
Die vorangehenden Ausführungen haben verdeutlicht, dass ein Prozessor virtuell,
also in Software realisiert werden kann. Durch Laufzeittransformation oder -über-
setzung lassen sich auf diese Weise Ausführungsgeschwindigkeiten mit vergleich-
barer Größenordnungen realer Prozessoren erreichen. Die im Folgenden vorgestellte
dynamische Binärübersetzung (dynamic binary translation) wird, wie bereits
erwähnt, für die Implementierung virtueller Prozessoren hoher Emulationsleistungs-
fähigkeit (siehe Bild 4.7) benutzt. Das Verfahren ist für uns jedoch vor allem des-
halb interessant, weil es sich gut für die Realisierung von Prozessoren im Hardware-
Software-Codesign eignet.
Anders als bei den virtuellen Prozessoren steht hierbei nicht die Plattformunabhän-
gigkeit im Vordergrund, sondern die Verminderung von Kosten, und zwar, indem
man teure, in Hardware realisierte Komponenten durch Software nachbildet -
i.Allg. unter Wahrung der Kompatibilität. Im Gegensatz zur ebenfalls kostenredu-
zierend wirkenden Mikroprogrammierung , bei der sequentielle Folgen paralleler
Aktionen ausgelöst werden, ermöglicht die dynamische Binärübersetzung die Paral-
lelisierung sequentieller Aktionen und trägt damit sogar zu einer Steigerung der
Ausführungsgeschwindigkeit bei. Allerdings muss der zugrunde liegende Prozessor
die Parallelverarbeitung auch unterstützen, weshalb er im Vergleich zu einem
sequentiell arbeitenden Prozessor aufwendiger, d.h. teurer zu realisieren ist. Bezo-
gen auf dynamisch operationsparallel arbeitende Prozessoren (Abschnitt 3.2) lässt
sich der Implementierungsaufwand für einen für die dynamische Binärübersetzung
optimierten Prozessor jedoch signifikant reduzieren und das bei vergleichbarer Aus-
führungsgeschwindigkeit.
Bei der dynamischen Binärübersetzung werden Befehlsfolgen nicht spontan, son-
dern verzögert parallelisiert, nämlich dann, wenn sie genügend häufig ausgeführt
wurden. Zunächst wird ein Profil des Laufzeitverhaltens angefertigt, anhand dessen
sich oft bearbeitete Befehlsfolgen erkennen lassen. Diese werden durch eine opti-
mierende Binärübersetzung in operationsparallele reale Befehlsfolgen umgesetzt
Search WWH ::




Custom Search