HSO Flashcards
(35 cards)
Dijkstra
Breitensuche, bestimme Distanzen vom Startknoten zu alle anderen Knoten, wiederhole mit dem Knoten, der die geringste Distanz hat. Aktualisiere Vorgänger jedesmal wenn eine geringere Distanz gefunden wird.
Overlap-Graph
Kante existiert zwischen Linien, die sich NUR überschneiden
Containment-Graph
Kante existiert zwischen Linien, wenn eine Linie die andere überdeckt
Intervall-Graph
Kante existiert zwischen Linien, wenn eine Linie die andere überschneidet oder überdeckt
Tiefensuche
Globaler Routing,
Breitensuche
Dijkstra, Prim
Prim Algorithmus
Minimal aufspannender Baum, bestimme Knoten mit kürzesten Weg zum Baum/Startknoten, füge den Knotem dem Baum hinzu. Warum ElogV?
Clique-Algorithmus
Findet maximale Clique im Intervallgraph: Sortiere linke und rechte Endpunkte aller Linien und iteriere über Endpunkte. Links: +1, Rechts: -1, die Summe ist gleich der Größe der maximalen Clique
Kruskal Algorithmus
Sortiere Kanten, bilde eine Menge für jeden Knoten, vereinige Mengen, die mit der kürzesten Kante verbunden sind
High-Level Synthese
Ergebnis: Kontroller- und Datenpfadarchitektur. Scheduling, Allokation und Binding. Optimierung innerhalb mehrere Taktzyklen
RTL Synthese
Ergebnis: Logikfunktionen und Register. Optimierung innerhalb eines Taktzyklus
Logik Synthese
Ergebnis: minimale Logikfunktionen. Minimierung der kombinatorischen Logik. Optimierung innerhalb komb. Logik
Technologieabbildung
Ergebnis: Abbildung auf Standardzellen, FPGA usw. Optimierung von Fläche, Verdrahtung, Performanz
Feasible Scheduling
Aufgaben unter Einhalten der Präzedenzrelationen mit M Prozessoren in D Taktzyklen erledigen.
Scheduling - ILP Formulierung
1-Präzedenzrelationen einhalten,
2-Anzahl gleichzeitige Operationen vom gleichen Typ
ASAP
exakt, Zeitminimierung ohne Ressourceneinschränkung
ASAP-HC
Zeitminimierung mit Ressourceneinschränkung: schedule Operation im nächsten Taktzyklus falls keine Module frei sind
List-Scheduling
Resource-constrained, sortiert Operationen nach Pfadlänge zum Ende(Urgency) oder kristischer Pfad(Mobility)
Hu’s Algorithmus
exaktes List-Scheduling, Einschränkung auf Baumstrukturen mit fanout<=2
Allgemeiner List Scheduling
Multicycle und Chaining auch möglich,
V: nicht scheduled Operationen
V_ready: Operationen mit scheduled Vorgänger
V_sched: Opeartionen, die im aktuellen Taktzyklus scheduled werden
V_mult: multicycle Operationen, die scheduled aber nicht beendet sind
freeze(): belege Modul
unfreeze(): gebe Modul frei
unused(): gibt freie Module zurück
Force-Directed Scheduling
Berechne ALAP und ASAP, dann SelfForce, PredecessorForce, SuccessorForce. Time-constrained, Ressourcen-optimierung. Distribution-Graph wird für jede Operation berechnet: gibt Informationen zu wie viele Module man vermutlich braucht. Minimierung des Maximums über alle Taktzyklen führt zu minimierung der Ressourcen
AFAP
Kontrollfluss orientierter Scheduling, markiere Intervalle, die die Nebenbedingungen verletzen auf allen Programmpfaden(Schleifen, If-Branches). Finde Cliquepartitioning und schneide durch Cliques
Urgency
Pfadlänge zum Ende
Mobility
0 auf dem kritischen Pfad