Created by David Bratschke
over 6 years ago
|
||
Question | Answer |
Welche beiden grundsätzlichen Multithreading-Techniken werden unterschieden? | die Cycle-by-Cycle-Interleaving und die Block-Interleaving-Technik |
Was kennzeichnet die "Cycle-by-Cycle-Interleaving"-Technik ? | Diese wechselt den Kontext in jedem Takt. |
Wann gilt ein Kontrollfaden bei der Cycle-by-Cycle-Interleaving-Technik wieder als "ausführbereit"? | wenn keiner seiner Befehle sich noch in der Pipeline oder im RoB befindet |
Ergänze: Bei "Cycle-By-Cycle-Interleaving" wird in aufeinander folgenden Takten jeweils ein Befehl ... | aus einem anderen Kontrollfaden ausgewählt. |
Was kennzeichnet die "Block-Interleaving"-Technik zur Implementation eines mehrfädigen Prozessors? | Bei dieser werden die Befehle eines Kontrollfadens so lange wie möglich hintereinander ausgeführt bis ein Ereignis eintritt was zum Warten des Kontrollfadens führt |
Kann die Multithreading-Technik auch bei superskalaren und VLIW-Architekturen angewendet werden? | Ja |
Wann spricht man bei einem superskalaren (oder VLIW) Prozessor mit multithreading von einem vertikalen Verlust? | Wenn in einem Befehlstakt keinem der der n Befehlsfächer ein Befehl zugeordnet werden kann. |
Wann spricht man bei einem superskalaren (oder VLIW) Prozessor mit multithreading von einem horizontalen Verlust? | Wenn nicht allen Befehlsfächern in einem Takt ein Befehl zugeordnet werden kann |
Welche ILP-Verlust (horizontal oder vertikal) kann durch Cycle-By-Cycle oder Block-Interleaving Multithreading-Techniken ausgeglichen werden? | Nur die vertikalen Verluste können durch Cycle-by-Cycle oder Block-Interleaving ausgeglichen werden |
Was müsste ein Prozessor können, um auch horizontale Verluste durch multithreading ausgleichen zu können? | Dazu müsste der Prozessor pro Takt auch Befehle aus mehreren Kontrollfäden zuweisen können. |
Welche Form des Multithreading-Technik kann auch horizontale Verluste ausgleichen? | die simultan mehrfädigen Prozessoren, weil diese pro Takt auch Befehle aus mehreren Kontrollfäden zuweisen können |
Wie wird die "Cycle-by-Cycle-Interleaving"-Technik noch genannt? | Fine-Grain Multithreading |
Wie wird die "Block-Interleaving"-Technik noch genannt? | "Coarse-Grain Multithreading" |
Was ist der Vorteil von Block-Interleaving gegenüber Cycle-By-Cycle-Interleaving? | die höhere Leistung bei der Ausführung eines einzelnen Kontrollfadens |
Wieviele Kontrollfäden sollten grundsätzlich bei einem Multithreading-Prozessor mit Cycle-by-Cycle-Interleaving zur Verfügung stehen? | so viele Kontrollfäden wie die für den Speicherzugriff benötigte Taktzahl |
Was versteht man unter der "Explicit-Dependence Lookahead"-Technik? Bzw. wozu wird diese genutzt? | diese erlaubt es bestimmten Cycle-by-cycle-Interleaving-Prozessoren, eine begrenzte Anzahl von Befehlen desselben Kontrollfadens überlappend auszuführen. |
Wie funktioniert die "Explicit-Dependence Lookahead"-Technik? | im Opcode jedes Befehls wird die Anzahl der von diesem Befehl unabhängigen Folgebefehle angeben. und vom Scheduler für die Befehlsbereitstellung genutzt |
Wie nutzt der Befehlsscheduler bei Dependence Lookahead-Technik die im Op-Code enthaltene Information der Anzahl von diesem Befehl unabhängigen Folgebefehle? | dieser nutzt die Information um bei geringer Last des Cycle-by-Cycle-Interleaving Prozessors unabhängige Befehle desselben Kontrollfadens in die Pipeline einzufüttern |
Bei welcher Art der Multithreading-Prozessoren kommt die "Dependence Lookahead"-Technik zum Einsatz? | Bei Multithreading-Prozessoren mit Cycle-by-Cycle-Interleaving |
Was ist der Vorteil der Cycle-by-Cycle-Interleaving-Technik gegenüber der Block-Interleaving-Technik? | Durch den Threadwechsel nach jedem Takt entfällt das Leeren der Pipeline beim Threadwechsel und somit können auch Pipelines mit vielen Stufen besser genutzt werden |
Welche der beiden Grundtechniken des Multithreadings stellte sich als zumeist überlegen heraus, Cycle-by-Cycle- oder Block-Interleaving? | Die Block-Interleaving-Technik |
Wieviele Kontrollfäden pro Prozessor wurden als optimal für die Block-Interleaving-Technik in Untersuchungen ermittelt? | circa 2-4 Kontrollfäden pro Prozessor |
Was passiert bei mehr als 2-4 Kontrollfäden pro Prozessor bei der Block-Interleaving-Technik? | Diese bringen nur noch wenig Gewinn in Sachen Prozessorauslastung, wenn nicht sogar eine Verschlechterung |
Welche zwei unterschiedlichen Arten des Kontextwechsels werden bei mehrfädigen Prozessoren mit Block-Interleaving unterschieden? | statisches Block-Interleaving und dynamisches Block Interleaving |
Was kennzeichnet das statische Block-Interleaving? | Dabei steht der Kontextwechsel bereits beim Übersetzen in Maschinencode fest und ist im Befehl codiert |
Welche zwei Formen des statischen Block-Interleaving gibt es? | "explicit switch" und "implicit switch" |
Was kennzeichnet die statische Block-Interleaving-Technik "explizit switch"? | Dabei existiert ein expliziter Kontextwechselbefehl, der den Kontextwechsel auslöst |
Was kennzeichnet die statische Block-Interleaving-Technik "implicit switch"? | dabei löst die Zugehörigkeit zu einer Befehlsklasse den Kontextwechsel aus. Abhängig von der Befehlsart kann noch weiter in Switch-on-Load, Switch-on-Branch etc. unterschieden werden. |
Welche unterschiedlichen Techniken gibt es dynamisches Block-Interleaving zu implementieren? | Switch-on-Cache-Miss Switch-on-Signal Switch-on-Use Conditional-Switch |
Was kennzeichnet die dynamische Block-Interleaving-Technik "Switch-on-Cache-Miss" | Wie der Name sagt: Ein Kontextwechsel wird von einem Cache-Fehlzugriff ausgelöst. |
Wodurch wird ein Kontextwechsel bei der dynamischen Block-Interleaving-Technik: "Switch on Signal" ausgelöst? | Durch ein externes Signal; Also eine Trap bzw. Exception |
Wann bzw. wodurch wird der Kontextwechsel bei der dynamischen Block-Interleaving-Technik "Switch-on-Use" ausgelöst? | Der Kontextwechsel wird erst ausgelöst, wenn der Operand vom Befehl benötigt wird |
Was kennzeichnet die dynamischen Block-Interleaving-Technik "Conditional-Switch"? | Diese stellt eine Verknüpfung der Explicit-Switch-Strategie mit einer Bedingung dar. |
Was ist der Vorteil der statischen Block-Interleaving-Technik? | dass der Kontextwechsel bereits in der Befehlsbereitstellungsstufe der Pipeline erkannt und durchgeführt werden kann. |
Wodurch wird es möglich, dass beim statischen Block-Interleaving ein Kontextwechsel schon in der Bereitstellungsphase erkannt werden kann? | Durch eine geschickte Codierung der Befehle |
Wieviele Takte beträgt der Kontextwechselaufwand bei statischem Block-Interleaving bei der explizit-switch-Technik? | Einen Takt, weil der Befehl selbst nur dazu dient den Kontextwechsel zu signalisieren |
Wieviele Takte beträgt der Kontextwechselaufwand bei statischem Block-Interleaving mit "implicit switch"-Technik? | null Takte, weil der auslösende Befehl weiterverwendet wird |
Wie kann der Kontextwechselaufwand auch bei Verwendung der "explicit-switch"-Methode bei statischem Block-Interleaving auf nahezu 0 reduziert werden? | Durch die Anwendung eines Kontextwechselpuffers, der die Adressen von kontextwechselauslösenden Befehlen zur Laufzeit speichert |
Wie hoch ist der Kontextwechselaufwand bei dynamischen Block-Interleaving (im Vergleich zum statischen Block-Interleaving)? | mehrere Takte, also grundsätzlich höher |
Warum ist der Kontextwechselaufwand bei dynamischen Block-Interleaving höher als bei statischem? | weil bei dynamischen Block-Interleaving alle bereits in der Pipeline befindlichen Befehle nach dem kontextwechselauslösenden Befehl gelöscht werden müssen |
Warum kann sich Multithreading mit dynamischen Block-Interleaving dennoch eher lohnen als statisches Block-Interleaving, obwohl dieses mehrere Takte für den Kontextwechsel braucht? | weil bei den dynamischen Techniken ein Kontextwechsel immer nur dann ausgelöst, wenn dieser notwendig ist |
Für welche Prozessorarchitekturen wurden die Multithreadingtechniken ursprünglich entwickelt? | Für skalare Prozessoren |
Sind Multithreadingtechniken auch mit superskalaren und VLIW-Prozessoren kombinierbar? Wenn ja, wie? | Ja sind sie. Es könnten z.B. durch den Hardware-Scheduler beim Cycle-by-Cycle-Interleaving pro Takt auch mehrere Befehle eines Kontrollfadens oder sogar mehrere Befehle aus mehreren Kontrollfäden ausgewählt und in die Befehls-Pipeline eingefüttert werden |
Want to create your own Flashcards for free with GoConqr? Learn more.