GoConqr has a new look! Let us know what you think.

Flashcards

2.4.6 Computersysteme II, Steuerflusskonflikte und Lösungen

David Bratschke Informatik German 31 cards

Cards in this deck (31)

  1. 1Welche Befehle können Steuerflusskonflikte verursachen?Programmsteuerbefehle
  2. 2Warum verursachen Programmsteuerbefehle Steuerflusskonflikte?weil der Programmsteuerbefehl erst in der ID-Stufe als solcher erkannt wird und im Falle eines genommenen Sprungs ein Befehl des falschen (linearen) Programmpfades in die Pipeline geladen wurde
  3. 3Warum steht bei Sprungbefehlen erst mehrere Takte nach Eintritt in die Pipeline fest, ob dem linearen Programmpfad gefolgt werden kann oder nicht?Weil dazu erst die Sprungzieladresse in der ALU berechnet werden muss
  4. 4Warum stellen bedingte Sprungbefehle eine Besonderheit innerhalb der Programmsteuerbefehle dar?weil bei diesen die Änderung des Programmusses zusätzlich noch von der Auswertung einer Sprungbedingung abhängt
  5. 5Wann steht bei einem Programmsteuerbefehl frühestens fest, ob dem linearen Programmverlauf weiter gefolgt werden kann oder nicht?In der MEM-Phase
  6. 6Wieviele nachfolgende Befehle sind bereits in die Pipeline geladen bevor festgestellt wird, ob die Pipeline aufgrund eines Steuerflusskonfliktes wieder geleert werden muss?3 Befehle
    also eine Verzögerung von 3 Takten
  7. 7Was wäre eine Möglichkeit die Verzögerungzeit aufgrund von Steuerflusskonflikten zu reduzieren? Warum ist diese nicht umsetzbar?die Sprungrichtung und die Sprungzieladresse in der Pipeline so früh wie möglich zu berechnen
    ( z.B. bereits in der ID-Stufe)
    , führt allerdings zu weiteren nicht behebbaren Konflikten
  8. 8Welche Softwarelösungen von Steuerflusskonflikten gibt es?- Verzögerte Sprungtechnik
    - Statische Befehlsumordnung
    - Statische Sprungvorhersage
  9. 9Wie funktioniert die "verzögerte Sprungtechnik" als Softwarelösung für Steuerflusskonflikte?Nach jedem Programmsteuerbefehl werden die Delayslots mit Leerbefehlen aufgefüllt
    (Bei MIPS 3)
  10. 10Was sind die sog. "Verzögerungsschlitze" (Delayslots) ?die nächsten n (bei MIPS 3) Befehle, die auf einen Sprungbefehl folgen und bei einem Steuerflusskonflikt wieder entfernt werden müssten
  11. 11Wie funktioniert die statische Befehlsumordnung zur Lösung von Steuerflusskonflikten?Der Compiler füllt die Delayslots mit Befehlen, die vor dem Sprung liegen und keinen Einfluss auf die Auswertung der Sprungrichtung haben
  12. 12Welche Prämisse wird für die statische Befehlsumordnung vorausgesetzt?Es wird angenommen, dass die Sprungadresse nicht auf einen der Befehle in den Verzögerungszeitschlitzen zeigt
  13. 13Was passiert bei der statischen Befehlsumordnung, wenn es keine Befehle gibt, mit denen die Verzögerungszeitschlitze aufgefüllt werden können?Dann müssen dafür wiederum Leerbefehle eingefügt werden.
  14. 14Wie funktioniert die statische Sprungvorhersage zur Lösung von Steuerflusskonflikten?Dabei kann der Compiler dem Prozessor bereits vorab Informationen dazu geben, wie er bei Erkennen eines Jumps fortfahren soll, sodass der Sprungbefehl entweder spekulativ auszuführt bzw. nicht auszuführt ausgeführt wird
  15. 15Welche zwei grundlegenden bzw. einfachen Möglichkeiten für die statische Sprungvorhersage erweisen sich für Schleifen am sinnvollsten?Vorwärtssprünge werden nie genommen, Rückwärtssprünge werden immer genommen
  16. 16Warum ist die statische Sprungvorhersage keine reine Softwarelösung?Weil diese bereits Anpassungen in der Hardware erfordert.
  17. 17Was muss bei der statischen Sprungvorhersage bei einer Fehlspekulation auf einen nicht-genommenen Sprung durch die Hardware vollzogen werden?Dann müssen die nachfolgenden drei Befehle aus der Pipeline entfernt werden.
  18. 18Was muss bei der statischen Sprungvorhersage bei einer Spekulation auf einen genommenen Sprung durch die Hardware vollzogen werden?Dann muss bis zur MEM-Phase gewartet werden, d.h. bis die Sprungzieladresse berechnet wurde. Die nachfolgenden Zeitschlitze werden bis zum Ende dieser Berechnung dynamisch durch Leerbefehle aufgefüllt
  19. 19Wodurch kann die Behandlung von Steuerflusskonflikten mittels statischer Sprungvorhersage noch beschleunigt werden?Durch einen Sprungzieladress-Cache, der die zuletzt verwendeten Sprung- und Sprungzieladressen aufnimmt
  20. 20Wie groß ist die Wahrscheinlichkeit, dass ein einzelner Befehl in einen Delay-Slot verschoben werden kann?größer als 60%
  21. 21Warum ist eine reine Software-Lösung von Steuerflusskonflikten in der Regel weder sinnvoll noch sonderlich effizient?Weil mit zunehmender Anzahl von Delay-Slots die Wahrscheinlichkeit, diese durch andere Befehle auffüllen zu können, rapide abnimmt.
  22. 22Wie groß ist die Wahrscheinlichkeit, dass zwei (bzw. drei) Befehle in einen Delay-Slot verschoben werden können?für zwei Befehle ca. 20%
    für drei Befehle < 10%
  23. 23Bei welchen Prozessoren wurde die verzögerte Sprungtechnik angewendet?Bei den ersten Generationen
    skalarer RISC-Prozessoren, wie z.B.:
    IBM801, Stanford MIPS, Berkeley RISC I.
  24. 24Warum wird die verzögerte Sprungtechnik i.d.R. nicht bei superskalaren Prozessoren, die mehr als einen Befehl holen und gleichzeitig ausführen können, angewendet?Weil bei diesen die verzögerte Sprungtechnik die Befehlszuordnungslogik und die Implementierung präziser Unterbrechungen erschwert
  25. 25Was versteht man unter einer "präzisen Unterbrechnung"?ein Verfahren, bei dem die Resultate aller Befehle, die in der Programmreihenfolge vor dem Unterbrechungsereignis stehen, gültig sind und diejenigen aller nachfolgenden Befehle verworfen werden
  26. 26Welche Lösungsvariante für Steuerflusskonflikte wird heutzutage vorwiegend verwendet? Software- oder Hardwarelösungen?Hardwarelösungen
  27. 27Welche zwei Möglichkeiten zur Implementation einer Hardwarelösung von Steuerflusskonflikten gibt es?Pipeline-Leerlauf
    und
    Dynamische Sprungvorhersage
  28. 28Wie funktioniert die Hardwarelösung: "Pipeline-Leerlauf" zur Lösung von Steuerflusskonflikten?Die Hardware erkennt in der ID-Stufe, dass der Befehl ein bedingter Sprung ist und lädt keine weiteren Befehle in die Pipeline, bis die Sprungzieladresse berechnet und im Falle eines bedingten Sprungbefehls die Sprungentscheidung getroffen ist
  29. 29Was geschieht bei der Hardwarelösung "Pipeline-Leerlauf" mit dem nachfolgenden Befehl der durch die IF-Stufe bereits in den Befehlspuffer geladen wurde?Diese wird wieder gelöscht
  30. 30Was sind Vor- und Nachteile der Hardwarelösung "Pipeline-Leerlauf"?Einfach zu implementieren,
    dafür aber ineffizient
  31. 31Wie funktioniert die "dynamische Sprungvorhersage" als Hardwarelösung von Steuerflusskonflikten?Dabei entscheidet die Hardware zur Laufzeit selbst, wie mit einem Sprungbefehl umgegangen werden soll. Dazu werden die Sprungrichtung und die Zieladresse vergangener Sprünge in einem Cache gespeichert zur Vorhersage genutzt

Information

Description
Informatik (Computersysteme II) Flashcards on 2.4.6 Computersysteme II, Steuerflusskonflikte und Lösungen, created by David Bratschke on 02/02/2018.
Created by
David Bratschke
Views
39
Rating

Feedback

What is it about?

What do you think of the new look?

How do you like it?