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

Flashcards

4.2.4 Computersysteme II, Out-Of-Order-Execution-Pipeline

David Bratschke Informatik Alemão 40 flashcards

Flashcards do conjunto (40)

  1. 1Gibt es auch beim OOE-Prozessor einen Reorder-Buffer (RoB)? Warum?Ja gibt es. Auch bei diesem müssen die Befehle in Programmreihenfolge am Ende der RoB-Warteschlange zugeordnet werden
  2. 2Inwiefern unterscheiden sich die Befehls-Scheduler von einem IOE- und einem OOE-Prozessor?Im Gegensatz zur IOE-Pipeline werden die Befehle vom Befehls-Scheduler außerhalb der Programmreihenfolge an die Ausführungseinheiten weitergeleitet
  3. 3Welches schwerwiegende Problem kann aus der nicht eingehaltenen Programmreihenfolge bei der Befehlszuordnung innerhalb eines OOE-Prozessors entstehen?Durch eine vertauschte Reihenfolge der Befehle können scheinbare zu echten Datenabhängigkeiten werden
    (und umgekehrt)
  4. 4Wie kann das Problem der Datenabhängigkeiten beim OOE-Prozessor zumindest teilweise gelöst werden?Durch die Nutzung von zusätzlichen Schattenregistern
  5. 5Welche zwei Möglichkeiten gibt es bei der Implementation eines OOE-Prozessors, die Architekturregister temporär durch Schattenregister zu ersetzen?- Registerumbennung (renaming)
    - Registerumordnung (buffering)
  6. 6Wie funktioniert die Registerumbenennung zur Nutzung von Schattenregistern in einem OOE-Prozessor?Es gibt eine Sammlung freier Register, die über eine Tabelle beliebig umbenannt werden können. Je nach Eintrag verhalten sich die Register entweder als nur intern verwendbare Schattenregister oder als Architekturregister.
  7. 7Was wird bei der Verwendung von Schattenregistern mit dem Gültigmachen der Befehle notwendig?Die Umbenennung der Schattenregister zurück in die Architektur-register
  8. 8Beschreibe mit eigenen Worten wie das Verfahren "Umbennung zu Schattenregistern" zur Lösung von Datenkonflikten funktioniert.Im abhängigen (zeitl. späteren) Befehl wird das Register in ein Schattenregister umbenannt. Und somit werden voneinander unabhängige Register bei der Berechnung benutzt
  9. 9Wann erfolgt die Umbenennung in Schattenregister innerhalb der OOE-Pipeline?Während der Instruction
    Decode (ID)- Phase
  10. 10Wann wird die Umbennung in Schattenregister innerhalb der OOE-Pipeline wieder rückgängig gemacht?beim Gültigmachen
    der betroffenen Befehle
    (RoB)
  11. 11Wie funktioniert das Verfahren "Registerumordnung" zur Lösung von Datenabhängigkeitskonflikten innerhalb einer OOE-Pipeline?Dabei werden die Architekturregister
    in die Schattenregister kopiert. Jeder Ausführungseinheit wird eine so genannte Reservierungsstation (reservation station) zugeordnet
  12. 12Wozu dient die sog. "reservation station" bei der Registerumordnung zur Lösung von Datenabhängigkeitskonflikten innerhalb einer OOE-Pipeline?Zum Feststellen, ob alle Operanden für eine in ihrer Warteschlange stehende Berechnung vorliegen
  13. 13Woraus besteht die sogenannte "reservation station" bei Verwendung des "Registerumordnung"-Verfahrens zur Lösung von Datenabhängigkeitskonflikten innerhalb einer OOE-Pipeline?Diese verfügt eingangsseitig über eine Warteschlange mit zwei bis vier Einträgen, in die alle zur Ausführung eines Befehls benötigten Informationen eingeschrieben werden
  14. 14Wann kann die Ausführung eines Befehls bei Verwendnung einer reservation station in einer OOE-Pipeline vollzogen werden?Erst wenn alle benötigten Operanden zur Ausführung des Befehls bereitstehen
  15. 15Über welche Funktionseinheit kommunizieren die unterschiedlichen Ausführungseinheiten bzw. ihre "reservation stations" bei Verwendung des "Registerumordnung"-Verfahrens miteinander?Über den Common Data Bus (CDB)
  16. 16Was gilt Alles als Operand für die Warteschlange einer "reservation station"?Die Operanden können entweder Kopien von Registerinhalten aus dem Registerblock sein oder bei Fertigstellung eines vorangehenden Befehls vom CDB in die Warteschlange kopiert werden
  17. 17Welchen Vorteil bietet das Registerumordnungs-Verfahren zur Lösung von Datenkonflikten?Es können alle Arten von Datenkonflikten ohne zentrale Steuerlogik gelöst werden. Mit CDB's können sogar Befehle mit echten Datenabhängigkeiten sofort zugeordnet werden
  18. 18Kann ein abhängiger Befehl bei Verwendung des Registerumordnungsverfahrens bereits vor dem Gültigmachen des vorangegangenen Befehls, von dem dieser abhängig ist, seine Ausführung starten?Ja
  19. 19Ergänze: Mit dem Common Data Bus erreicht man einen ähnlichen Effekt wie ...?mit "Forwarding"
  20. 20Inwiefern müssen die Einträge im Reorderbuffer bei Verwendung von reservation stations und einem CDB angepasst werden?Die Result Adress (RA) muss um die Angabe der reservation station erweitert werden
  21. 21Was trägt der Befehlsscheduler eines OOE-Prozessors bei Verwendung von reservation stations als Quelloperanden bei einem von einen anderen Befehl abhängigen Befehl ein?die Reservierungsstation des noch laufenden Befehls, von dem der Befehl abhängig ist
  22. 22Wie verfährt eine Reservierungsstation eines OOE-Prozessors, wenn diese über den CDB erkennt, dass ein von ihr benötigter Operand berechnet wurde?Sie kann den Operanden kopieren und unmittelbar danach die Ausführung starten
  23. 23Warum erreicht ein OOE-Prozessor in der Regel einen höheren IPC-Wert als ein IOE-Prozessor?Weil dieser im Gegensatz zum IOE-Prozessor beliebig im Befehlsfenster verteilte Befehle an die Ausführungseinheiten ausgeben kann
  24. 24Welchen Einfluss hat die Größe des Befehlsfensters auf die Performance eines OOE-Prozessors?Dieses sollte möglichst groß sein, um möglichst viel Befehlsparallelität entdecken zu können. Dem steht natürlich der Hardwareaufwand des Befehlsschedulers gegenüber.
  25. 25Wie groß sollte das Befehlsfenster eines OOE-Prozessors mindestens sein?Größer als die Zuordnungsbreite
    ( Superskalarität )
  26. 26Wie groß ist z.B. die Größe des Befehlsfensters beim Intel Core i7 (Coffee Lake aus 2017)?50 Einträge
  27. 27Warum ist das Befehlsfenster eines IOE-Prozessors in der Regel kleiner als das eines OOE-Prozessors?weil bei diesem das Befehlsfenster nur maximal so groß wie die Zuordnungsbreite sein muss
  28. 28Warum ist der Hardware-Aufwand für einen IOE-Prozessor grds. geringer als für einen OOE-Prozessor?kleineres Befehlsfenster,
    keine Reservierungsstationen,
    weniger Vergleiche zur Prüfung möglicher Datenkonflikte
  29. 29Warum werden OOE-Prozessoren auch als "Brainiacs" bezeichnet?weil der OOE-Prozessor eine sehr komplexe Steuerlogik für den Befehls-Scheduler und die Reservierungsstationen benötigt
  30. 30Was sind die Vorteile der sogenannten "Brainiacs"? (OOE-Prozessoren)Dass der Nutzer binäre Maschinenprogramme ohne erneute Compilierung verarbeiten kann und dabei einen höheren IPC als bei ein IOE-Prozessor erreicht.
  31. 31Was sind Nachteile der OOE- gegenüber den IOE-Prozessoren?- höherer Bedarf an Chipfläche und
    - größerer Energieverbrauch
    - kann nicht so hoch getaktet werden.
  32. 32Warum werden IOE-Prozessoren auch als "speed demons" bezeichnet?Weil bei diesen auf einem einzigen Chip Prozessoren mit mehr und schnelleren IOE-Kernen implementiert werden können (als bei OOE)
  33. 33Was sind die Vorteile der "speeddemon"- gegenüber den "Brainiac"-Prozessoren?aufgrund seiner vergleichsweise einfachen Steuerlogik benötigt dieser:
    weniger Chipfläche, weniger Energie und kann mit höheren Taktfrequenzen betrieben werden
  34. 34Was sind Nachteile der IOE-Prozessoren?- nur geringerer Grad an ILP (mit einzelnen Kernen)
    - Compiler-Unterstützung unverzichtbar
    (wegen dem stat. Befehlsscheduling)
  35. 35In welchen Bereichen werden heutzutage vorwiegend "brainiac"-Prozessoren eingesetzt?vorwiegend bei leistungsstarken Multicore-Prozessoren für universelle Anwendungen
  36. 36In welchen Bereichen werden heutzutage (2017) vorwiegend speeddemons eingesetzt?bei Manycore-Prozessoren, die über mehr als 16 Kerne verfügen und bei GPUs (Graphic Processing Units)
  37. 37Warum ist der häufig genannte Vorteil der "recompile independence" von OOE eher eine Legende?Weil es auch bei ausgefeilten OOE-Designs deutliche Verbesserungen gibt, wenn die Quellprogramme mit spezieller Prozessor-Optimierung neu übersetzt werden
  38. 38Um wieviel Prozent liegt die Performance von OOE-Prozessoren über der von IOE-Prozessoren?laut Untersuchungen zwischen 20-40%
  39. 39Warum ist der Grad des ILP bei Anwendungsprogrammen in der Regel begrenzt?- geringer Anteil an feinkörniger Parallelität
    - Cache-Fehlzugriffe & hohe Speicher-Latenzen
    - Datenabhängigkeiten
    - Steuerflusskonikte.
  40. 40Was versteht man unter dem Begriff der "ILP Wall"?Eine natürliche Obergrenze der Befehlsebenenparallelität von Anwendungsprogrammen
    (z.B. IPC von 2, bei OOE und 8facher Superskalarität)

Informações

Descrição
Informatik (Computersysteme II) FlashCards sobre 4.2.4 Computersysteme II, Out-Of-Order-Execution-Pipeline, criado por David Bratschke em 26-02-2018.
Criado por
David Bratschke
Visualizações
4
Avaliação

Fale Conosco

Sobre o que é sua mensagem?

O que você acha do novo visual?

Você gostou?