O GoConqr está de visual novo! Conte para nós o que você achou.

Flashcards

4.2.3 Computersysteme II, In-Order-Execution-Pipeline

David Bratschke Informatik Alemão 43 flashcards

Flashcards do conjunto (43)

  1. 1Welche vier Funktionseinheiten sind bei einer superskalaren Pipeline den Ausführungseinheiten vorgeschaltet?- Befehls-Cache
    - Befehlsholeeinheit
    - Dekodiereinheit
    - Befehlsfenster (Warteschlange)
  2. 2Welchen Aufgabe hat die Befehlsholeeinheit in einer IOE-Pipeline?Diese holt ständig Befehle aus dem Befehls-Cache, speichert sie in einem internen Befehls-Puffer und leitet sie an die Dekodiereinheit weiter
  3. 3Welche Funktion hat die Dekodiereinheit innerhalb einer IOE-Pipeline?Das parallele dekodieren der Befehle,
    welche aus dem Befehlspuffer
    der Befehlsholeeinheit an
    sie weitergeleitet wurden
  4. 4Wohin werden die dekodierten Befehle bei einer IOE-Pipeline eingespeist?In ein so genanntes Befehlsfenster (Warteschlange)
  5. 5Was passiert mit den Befehlen in einer IOE-Pipeline nachdem sie in das Befehlsfenster eingespeist wurden?Das Befehlsfenster wird vom Befehls-Scheduler ausgewertet und ablaufbereite Befehle werden den Ausführungseinheiten zugeordnet
  6. 6Bei einer IOE-Pipeline mit n Ausführungseinheiten werden im Idealfall die jeweils nächsten n Befehle parallel ausgeführt. Warum wird dieser Idealfall kaum erreicht?aufgrund von Daten- und Strukturkonflikten
  7. 7Wieviele Befehle müssen bei einer IOE-Pipeline pro Takt geholt werden?Soviele wie der superskalare Prozessor maximal parallel ausführen könnte.
  8. 8Warum stellt eine IOE-Pipeline erhöhte Anforderungen an die Cache-Organisation?wegen der häufigen Sprungbefehle,
    deshalb können die Befehle über mehrere Cache-Blöcke verteilt sein
  9. 9Warum ist es für die IOE-Pipeline problematisch, wenn die Befehle im Befehlscache über mehrere Blöcke verteilt sind?Weil dadurch zusätzliche Cache-Zugriffe notwendig sind und daher die Ausführungseinheiten nicht immer mit genügend Befehlen versorgt werden
  10. 10Wozu dient ein sogenannter "Trace Cache"?Zum Speichern dynamischer Befehlssequenzen
  11. 11Was wird im "Trace Cache" genau gespeichert?ein gewisser Vorrat an (aufeinander folgenden) Befehlsblöcken mit linearen Befehlssequenzen, die durch Sprünge miteinander verbunden sind
  12. 12Wie werden die Blöcke, die im Trace Cache gespeichert werden noch genannt?Basic Blocks
  13. 13Wie erfolgt die Befüllung des Trace Caches?Parallel zum Befehlscache (I-Cache)
  14. 14Welchen Vorteil bietet der "Trace Cache" bei einer IOE-Pipeline?Wird eine bestimmte Befehlssequenz später erneut ausgeführt, so steht im Trace Cache bereits die komplette Befehlssequenz zu Verfügung und kann somit schneller bereitgestellt werden
  15. 15Was ist die Aufgabe des Befehls-Scheduler in einer IOE-Pipeline?die Koordination der Befehlsausführung
  16. 16Wlche zwei Teilaufgaben erfüllt der Befehls-Scheduler in einer IOE-Pipeline um die Befehlsausführung zu koordinieren?das Befehlsfenster auf ablaufbereite Befehle prüfen
    und
    ob für diese auch Ausführungseinheiten bereitstehen
  17. 17Wann gilt ein Befehl in einer IOE-Pipeline als "ablaufbereit" für den Befehls-Scheduler?wenn es zwischen dem gerade untersuchten Befehl und seinen Vorgängern keine echte Datenabhängigkeiten gibt
  18. 18Welcher Befehl aus dem Befehlsfenster einer IOE-Pipeline ist stets "ablaufbereit"?Immer der erste Befehl im Befehlsfenster
  19. 19Was muss der Befehls-Scheduler noch zusätzlich für alle ablaufbereiten Befehle prüfen?ob für sie eine passende Ausführungseinheit verfügbar ist
  20. 20Was passiert mit ablaufbereiten Befehlen, denen der Befehls-Scheduler eine passende Ausführungseinheit zuordnen konnte?Diese werden dann an diese Ausführungseinheit ausgegeben
  21. 21Welcher IPC-Wert könnte bei einer IOE-Pipeline mit n Ausführungseinheiten im Idealfall erreicht werdenein IPC von n
  22. 22Warum liegt bei einer IOE-Pipeline der IPC-Wert i.d.R. deutlich unter dem Optimum?Weil bereits ein Datenkonflikt zwischen den Befehlen im Befehlsfenster ausreicht, um alle nachfolgenden Befehle an der Ausführung zu hindern
  23. 23Warum würden bei einer IOE-Pipeline ohne Reorder-Buffer die Befehle in der Regel nicht in der gleichen Reihenfolge fertiggestellt werden?weil einige Ausführungseinheiten selbst auch als Pipeline implementiert sind und daher mehrere Takte
    (Latenz > 1) zur Fertigstellung (completion) benötigen.
  24. 24Welche Aufgabe hat der Reorder-Buffer in einer IOE-Pipeline?Diese hat die Aufgabe, die Ergebnisse der Ausführungseinheiten in der korrekten Programmreihenfolge in den Architekturregistern gültig zu machen.
  25. 25Warum ist der Rückordnungspuffer innerhalb einer IOE-Pipeline notwendig?Weil die Programmausführung auf einer superskalaren Mikroarchitektur die gleichen Ergebnisse wie auf einer beliebigen anderen Mikroarchitektur liefern soll
  26. 26Woraus besteht der Reorder-Buffer einer IOE-Pipeline?aus einer Warteschlange
    (FIFO-Speicher), in die die Befehle bei der Zuordnung (issue) in Programmreihenfolge eingereiht werden
  27. 27Durch welche zwei Einträge wird jeder zugeordnete Befehl im Reorderbuffer beschrieben?- Befehlsetikett (Instruction Tag, IT)
    - Ergebnisadresse (Result Address, RA)
  28. 28Was dient als "Befehlsetikett" für den Reorderbuffer in einer IOE-Pipeline?die Befehlsadresse im Speicher oder
    eine äquivalente, kompaktere Kodierung
  29. 29Was wird in der Regel als Ergebnisadresse im RoB verwendet?das jeweilige Zielregister
    oder
    eine Speicheradresse im Hauptspeicher
  30. 30Was versteht man unter dem sogenannten "dispatch" bei einer IOE-Pipeline?die Ausgabe des Befehls an eine Ausführungseinheit
  31. 31Wie gelangt das Befehlsetikett zu dem Reorder-Buffer(RoB)?Dieses wird vom "dispatch" an durch die einzelnen Pipeline-Stufen bis zum letzten Pipeline-Register der jeweiligen Ausführungseinheit weitergereicht
  32. 32Wie wird dem RoB die Fertigstellung eines Befehls signalisiert?Indem das Ergebnis im letzten Pipeline-Register der Ausführungseinheit vorliegt
  33. 33Welche Aufgabe hat der Vergleicher am vorderen Ende des Reorder-Buffers?dieser vergleicht ständig die Befehlsetiketten der n Befehle am Kopf der Warteschlange mit allen Befehlsetiketten aus den letzten
    Pipeline-Stufen der Ausführungseinheiten
  34. 34Wann kann ein Befehl durch den Reorderbuffer gültig gemacht werden?Sobald bei dem Vergleicher des RoB eine Übereinstimmung mit den vorderen n Befehlsetiketten im RoB vorliegt
  35. 35Was versteht man unter dem sogenannten "commitment" bei einer IOE-Pipeline?Das "Gültig-Machen" eines Befehls durch den RoB
  36. 36Welche Voraussetzungen muss ein Befehl erfüllen, um durch den RoB gültig gemacht werden zu können?Dazu muss er entweder am Kopf der Warteschlange stehen oder er folgt unmittelbar auf einem anderen ebenfalls gültig zu machenden Befehl
  37. 37Worin besteht bei einer IOE-Pipeline das "Gültig-Machen" eines Befehls durch den RoB?darin, dass die Ergebnisse der betreffenden Befehle in die jeweiligen Architekturregister zurückgeschrieben werden
    (write back, WB)
  38. 38Was passiert mit den Einträgen im RoB nachdem die zugehörigen Befehle gültig gemacht wurden? Wie nennt man diesen Vorgang (engl.)?die gültig gemachten Befehle werden vom Kopf des Rückordnungspuffers entfernt.
    (retirement)
  39. 39Warum muss bei Verwendung eines Rückordnungspuffers ebenfalls der Befehlsscheduler einer IOE-Pipeline angepasst werden?Weil es vorkommen kann, dass Ergebnisadressen im RA-Teil der Einträge des RoB auch Quelloperanden der gerade zuzuordnenden Befehle im Befehlsfenster sind
  40. 40Wie wird ein RAW-Konflikt vom Befehls-Scheduler in einer IOE-Pipeline mit Reorder-Buffer gelöst?Es muss die Befehlszuordnung solange angehalten werden, bis der den Datenkonflikt erzeugende Vorgänger-Befehl gültig gemacht wurde
  41. 41Warum ist i.d.R. bereits vorhandener Maschinencode nicht für einen IOE-Prozessor geeignet?Weil der Code grds. durch den Compiler für die IOE-Pipeline so optimiert werden sollte,
    dass er auf die konkrete Struktur der Ausführungseinheiten abgestimmt ist
  42. 42Was kann bei nicht optimierten Maschinencode der auf einem superskalaren Prozessor mit IOE-Pipeline ausgeführt wird im Extremfall bzgl. der Geschwindigkeit passieren?Dass dieser aufgrund der fehlenden Optimierung zu einem skalaren RISC-Prozessor degradiert wird
  43. 43Wie probiert man, das Problem zu lösen, dass für VLIW- und auch IOE-Prozessoren grds. das Programm neu compiliert werden muss?Durch eine neue
    Architektur: OOE-Prozessoren, die mit dynamischem Befehls-Scheduling auf Hardware-Ebene arbeiten

Informações

Descrição
Informatik (Computersysteme II) FlashCards sobre 4.2.3 Computersysteme II, In-Order-Execution-Pipeline, criado por David Bratschke em 24-02-2018.
Criado por
David Bratschke · fev 2018
Atualizado
26 fev 2018
Visualizações
6
Avaliação

Fale Conosco

Sobre o que é sua mensagem?

O que você acha do novo visual?

Você gostou?