Klausur Flashcards
(49 cards)
SIMD
Alle Prozessoren führen gleichzeitig dieselben Befehle auf verschiedenen Daten aus.
Single Instruction Multiple Data
MIMD
Alle Prozessoren führen gleichzeitig verschiedene Befehle auf verschieden Daten aus.
Multiple Instruction Multiple Data
Latenz
Latenz ist die Zeit die ein Befehl benötig um alle Pipeline-Stufen zu durchlaufen.
Lösung der Pipeline Konflikte
Leerlauf der Pipeline, Forwarding, Forwarding mit Interlocking, Compiler erkennt Datenkonflikte
Read-After-Write-Konflikt (RAW)
true dependence erzeugt
Write-After-Read-Konflikt (WAR)
anit dependence erzeugt
Write-After-Write-Konflikt (WAW)
output dependence erzeugt
Strukturkonflikte
Fehler tritt auf wenn zwei Befehle (IF und MA ) auf eine nur einfach vorhandenes Betriebsmittel(Speicher) zugreifen.
Steuerkonflikte
Fehler tritt nach dem laden eines Sprung- oder Verzweigungsbefehls auf. Die die folgenden Befehle nicht eindeutig geladen werden können. -> Anhalten der Pipeline
VLIW =
Very Long Instruction Word
VLIW Bedeutung
Prozessoren mit einer großen Anzahl gleichzeitig initialisierbarer Befehle nennt man VLIW
Befehlszuteilung bei VLIW Prozessoren
- Der Compiler packt eine Anzahl von voneinander unabhängigen Befehlen in ein Maschinenbefehlswort fester Länge.
- Ausführung erfolgt Synchron in allen Einheiten.
Superkalare Pipelines
n-Fache Anzahl von Ausführungseinheiten.
Befehlszuteilung bei Superskalaren Pipelines
Hardware sucht parallel ausführbare Befehle.
Multithreading
Thread ist ein eingener Handlungsfaden.
Cycle-by-Cycle Interleaving
- Anzahl von Threads ist geladen.
2. Der Prozessor wählt in jedem Takt einen ausführbaren Thread.
Block Interleaving
Befehle eines Threads werden solange ausgeführt, bis ein Befehl mit langer Latenz kommt.
-> Wechseln des Threads
Simultaneous Multithreading (SMT)
- Wird angewendet bei superskalaren Prozessoren.
- Jeder Befehlspuffer liefert den Befehlsstrom eines anderen Threads.
- Jedem Befehlsstrom ist ein Register zugeordnet.
- Threads werden tatsächlich simultan ausgeführt.
Sprungvorhersage (Branch Prediction)
- statische Sprungvorhersagen
- dynamische Sprungvorhersage
Statische Sprungvorhersagen
Die vorhersage ist im Prozessor fest Verdrahtet. (Hardware)
dynamische Sprungvorhersage
- Programmverhalten wird berücksichtigt.
- Sprungziel wird durch die Vorgeschichte ermittelt.
- Durch einen Prediktor (1 Bit bzw 2 Bit) wird eine Vorhersage getroffen.
Zwei-Bit-Prediktor
- sicher genommen (strongly taken)
- vielleicht genommen (weakly taken)
- vielleicht nicht genommen (weakly not taken)
- sicher nicht genommen (strongly not taken)
BTB
Branch Target Buffer
Aufbau eines BTB
Branch Adresse
Target Adresse
Branch History 2 Bits