Information Technology Reference
In-Depth Information
Decodierbarkeit. Die Decodierbarkeit ist ein qualitatives Maß dafür, wie schnell sich ein
Befehl programmiert analysieren lässt. So ist z.B. ein Operationscode, der ein Byte breit ist, des-
sen Bits sich jedoch über das Befehlswort verteilen, langsamer zu verarbeiten, als wäre der Ope-
rationscode geschlossen im Befehlswort eingebettet. Außerdem sollte der Operationscode mög-
lichst an Bytegrenzen ausgerichtet sein, da die meisten realen Prozessoren zwar einen direkten
Zugriff auf Bytes, nicht aber auf beliebige Bitpositionen unterstützen. Falls die Befehlsdecodie-
rung mit Hilfe von Tabellen geschieht, ist ein einheitlich breiter Operationscode einfacher zu
handhaben als einer, mit vom jeweiligen Befehl abhängiger Breite. Des Weiteren sollten die
Tabellen eine möglichst hohe Lokalität aufweisen, damit sich die jeweils relevanten Informatio-
nen im Datencache unterbringen lassen.
Problembedingtheit. Die Problembedingtheit ist quantitativ nicht erfassbar und beschreibt,
inwieweit ein Merkmal eines virtuellen Prozessors zur optimalen Lösung eines Problems unver-
meidbar ist. Falls ein virtueller Befehl z.B. ein hohes Maß an Problembedingtheit aufweist, ist es
unwichtig, wie aufwendig, langsam oder ungerecht er ist, da er sich nicht vermeiden lässt.
Hierzu ein Beispiel: Angenommen, ein virtueller Prozessor verfügt über einen Befehl zur Akku-
mulation von Multiplikationsergebnissen (Multiply and Accumulate - MAC), dann können
viele reale Signalprozessoren diesen Befehl durch einen einzigen funktionsgleichen realen
Befehl emulieren. Sie sind daher relativ gesehen schneller als andere reale Prozessoren, die zur
Emulation zwei Befehle, nämlich eine Multiplikation und eine Addition, benötigen. Indem also
ein virtueller MAC-Befehl vorgesehen wird, vermindert sich die relative Gerechtigkeit des vir-
tuellen Prozessors, was nicht erwünscht ist.
Allerdings wird der virtuelle Befehl normalerweise nur dann verwendet, wenn die Lösung eines
Problems dies erfordert. Wäre er nicht verfügbar, müsste er durch zwei virtuelle Befehle nachge-
bildet werden. Das bedeutet jedoch, dass ein entsprechendes Programm durch einen virtuellen
Prozessor ohne einen MAC-Befehl im Vergleich zu einem virtuellen Prozessor mit einen sol-
chen Befehl entweder unverändert schnell (falls herkömmliche reale Prozessoren betrachtet
werden) oder aber langsamer (wenn reale Signalprozessoren betrachtet werden) emuliert werden
würde.
Ist also ein virtueller Befehl in einem hohen Maß problembedingt, kann dessen Verwendung die
Emulationsgeschwindigkeit verbessern, nicht jedoch verschlechtern. Im Umkehrschluss kann
ein virtueller Befehl geringer Problembedingtheit einen negativen Einfluss auf die Emulations-
geschwindigkeit und natürlich auch auf die Gerechtigkeit haben. Falls in einem virtuellen Pro-
zessor z.B. ein MAC-Befehl, nicht jedoch ein Befehl zur einfachen Multiplikation vorgesehen
wird, singt die Problembedingtheit des MAC-Befehls, da er nun auch für nicht akkumulierende
Multiplikationen zu verwenden ist (wobei der Akkumulator zuerst gelöscht und anschließend
der MAC-Befehl ausgeführt werden muss).
Bild 4.8. Einige wichtige Kriterien zur Bewertung einzelner Merkmale virtueller Prozessoren
und anschließend im Bedarfsfall aufgerufen. Nach [94] lassen sich in dieser Weise
Ausführungsgeschwindigkeiten erreichen, die vergleichbar mit denen superskalarer
Prozessoren sind, und zwar deshalb, weil in 95% der Bearbeitungszeiten von Pro-
grammen durchschnittlich nur 10% des jeweiligen Codes zur Ausführung kommt.
Indem also diese 10% eines virtuellen Programms zur Laufzeit binärübersetzt wer-
den, ist für 95% der ursprünglichen Ausführungszeit eine Geschwindigkeitssteige-
rung erreichbar. Die durch die Interpretation verursachte Verlangsamung betrifft
hingegen nur 5% der ursprünglichen Ausführungszeit, was toleriert werden kann. -
In den folgenden Abschnitten ist das Verfahren im Detail beschrieben.
Bemerkung. Das Attribut virtuell ist im Zusammenhang mit im Hardware-Software-Codesign
realisierten Prozessoren etwas irreführend, da die verfügbaren „virtuellen“ Befehle normalerweise
Search WWH ::




Custom Search