HSO Flashcards

(35 cards)

1
Q

Dijkstra

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Overlap-Graph

A

Kante existiert zwischen Linien, die sich NUR überschneiden

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Containment-Graph

A

Kante existiert zwischen Linien, wenn eine Linie die andere überdeckt

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Intervall-Graph

A

Kante existiert zwischen Linien, wenn eine Linie die andere überschneidet oder überdeckt

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Tiefensuche

A

Globaler Routing,

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Breitensuche

A

Dijkstra, Prim

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Prim Algorithmus

A

Minimal aufspannender Baum, bestimme Knoten mit kürzesten Weg zum Baum/Startknoten, füge den Knotem dem Baum hinzu. Warum ElogV?

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Clique-Algorithmus

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Kruskal Algorithmus

A

Sortiere Kanten, bilde eine Menge für jeden Knoten, vereinige Mengen, die mit der kürzesten Kante verbunden sind

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

High-Level Synthese

A

Ergebnis: Kontroller- und Datenpfadarchitektur. Scheduling, Allokation und Binding. Optimierung innerhalb mehrere Taktzyklen

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

RTL Synthese

A

Ergebnis: Logikfunktionen und Register. Optimierung innerhalb eines Taktzyklus

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Logik Synthese

A

Ergebnis: minimale Logikfunktionen. Minimierung der kombinatorischen Logik. Optimierung innerhalb komb. Logik

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Technologieabbildung

A

Ergebnis: Abbildung auf Standardzellen, FPGA usw. Optimierung von Fläche, Verdrahtung, Performanz

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Feasible Scheduling

A

Aufgaben unter Einhalten der Präzedenzrelationen mit M Prozessoren in D Taktzyklen erledigen.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Scheduling - ILP Formulierung

A

1-Präzedenzrelationen einhalten,

2-Anzahl gleichzeitige Operationen vom gleichen Typ

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

ASAP

A

exakt, Zeitminimierung ohne Ressourceneinschränkung

17
Q

ASAP-HC

A

Zeitminimierung mit Ressourceneinschränkung: schedule Operation im nächsten Taktzyklus falls keine Module frei sind

18
Q

List-Scheduling

A

Resource-constrained, sortiert Operationen nach Pfadlänge zum Ende(Urgency) oder kristischer Pfad(Mobility)

19
Q

Hu’s Algorithmus

A

exaktes List-Scheduling, Einschränkung auf Baumstrukturen mit fanout<=2

20
Q

Allgemeiner List Scheduling

A

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

21
Q

Force-Directed Scheduling

A

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

22
Q

AFAP

A

Kontrollfluss orientierter Scheduling, markiere Intervalle, die die Nebenbedingungen verletzen auf allen Programmpfaden(Schleifen, If-Branches). Finde Cliquepartitioning und schneide durch Cliques

23
Q

Urgency

A

Pfadlänge zum Ende

24
Q

Mobility

A

0 auf dem kritischen Pfad

25
Binding
Zuordnung von Operationen und Variablen zu FEs und Register
26
Allokation
Auswahl von FEs aus der Bibliothek
27
Ansätze für Allokation und Binding
Globale Optimierung: ILP-Formulierung oder Greedy-Ansatz als Initiallösung Dekompositionsansatz: Bilde Compatibility Graph, finde Clique-Partitioning, jede Clique ist ein Modul
28
Compatibility-Graph
Operationen, die auf demselben Modul gebunden werden können(unterschiedliche Taktzyklen oder Programmpfade), sind verbunden
29
Super-Graph
Graph, wo mehrere Knoten zu einem Knoten zusammengefasst werden können
30
Tseng-Sieworek
Bilde Supergraph, füge Knoten zusammen, die die meiste gemeinsame Nachbarn haben
31
Left-Edge Algorithmus (Binding)
Sortiere Variablen nach Anfang der Lebenszeit, Wähle immer die erste Variable, die nach dem Ende der aktuellen Lebenszeit anfängt
32
Reallokation
Vertausche Operationen im selben Taktzyklus zwischen Modulen paarweise und wähle das Paar aus mit dem höchsten Gewinn. Beende wenn kein Gewinn mehr möglich ist
33
Legales Retiming
r(v) constant über alle PI und PO, alle Kanten haben nichtnegative Anzahl von Register
34
Peripheral Retiming
r(v)=0 für alle PI und PO, keine Register zwischen Module, die kein PI oder PO sind. Nur möglich wenn alle Pfade zwischen Eingang i und Ausgang j gleiche Anzahl von Register haben
35
Retiming
Verschieben von Register zur Optimierung. Peripheral Retiming -> Optimierung der komb. Logik -> legales Retiming