Abstraktionsebenen
Synthese
Verhalten: Funktionen unabhängig von ihrer konkreten Implementierung beschrieben.
Struktur:
- Kommunizierende Komponenten
- Die Aufteilung und Kommunikation entsprechen der tatsächlichen Implementierung.
Syntheseaufgaben:
- Allokation: Auswahl von Komponenten.
- Bindung: Zuweisung von Funktionen zu Komponenten.
- Ablaufplanung: Festlegen der Ausführungsreihenfolge.
Systemsynthese
Vorteil
Kurze Entwurfszyklen
- automatisch entwerfen scheller, BSP. Werkzeuge zum automatisierten Platzieren und Verdrahten von Leiterplatten und integrierten Schaltungen
- Reduktion der Produktlebensdauer
- Reduzierte time-to-market feststellbar
- Einsatz geeigneter CAD-Verfahren unabdingbar.
Reduzierte Entwurfsfehler
Vermeidung kostspieliger Iterationen aufgrund von Entwurfsfehlern 避免由于设计错误而导致的昂贵迭代。
Verfeinerungsvorgang von Verhaltensbeschreibung hin zur strukturellen Beschreibung 从行为描述到结构描述的细化过程
Spezifikation auf Systemebene
Taskgraph: bestehend aus sequentieller und paralleler Abfolge von Tasks
Allokation auf Systemebene
- Prozessoren, dedizierte Hardwarebausteine 处理器,专用硬件组件
- Speicher, I/O
- Verbindungsstrukturen
Bindung auf Systemebene
Abbildung und Bindung der Tasks auf Prozessoren oder ASICs
Ablaufplanung auf Systemebene
Q&A
Was ist Synthese? Welche Aufgaben hat sie?
Was sind Ziele der Systemsynthese?
Aufbauend auf der überprüften Problemdefinition sind alternative Lösungsprinzipien und weiters optimale Systemstrukturen sowie Detailauslegung zu entwickeln
Was sind Allokation und Binding?
Allokation: Komponente auswählen
Bindung: Funktionen zu Komponenten zuweisen
Graphenmodelle für Kontroll- und Datenfluss
Datenflußgraphen (DFG’s)
Modellierung von Operationen und ihrer Datenabhängigkeiten.
Nachteile:
- keine explizite Ausführungsreihenfolge der Operationen 没有明确的执行顺序
- Kommutativität und Assoziativität in den Ausdrücken erlauben verschiedene DFGs. 表达式中的可交换性和关联性允许使用不同的DFG。
- keine Modellierung von Kontrollstrukturen, wie z.B. Verzweigungen und Iterationen.
Kontrollflußgraphen (CFG’s)
Erlaubt Modellierung von Kontrollstrukturen, wie z.B. Verzweigungen und Iterationen.
Nachteil: Möglichkeit der parallelen Ausführung von Anweisungen wird von vorneherein nicht betrachtet. 从一开始就没有考虑并行执行指令的可能性。
Lösung: hierarchische Sequenzgraphen.
Hierarchische Sequenzgraphen
Hierarchie von verketteten Einheiten
- die Einheiten modellieren den Datenfluß
- die Hierarchie modelliert den Kontrollfluß
Spezielle Knoten
- Start/Endknoten: NOP (no operation)
- Verzweigungsknoten (BRanch)
- Iterationsknoten (LOOP)
- Modulaufrufknoten (CALL)
Aus einem gegebenen Datenflussgraphen erhält man den zugehörigen Sequenzgraphen durch folgende Schritte: 可以通过以下步骤从给定的数据流图中获得相关的序列图:
- Entfernen aller Eingangskanten, die zu Knoten ohne Vorgängerknoten führen.
- Einfügen des NOP- Startknotens mit je einer Kante zu allen Knoten, die keine Eingangskanten besitzen.
- Entfernen aller Ausgangskanten, die von Knoten ohne Nachfolgerknoten wegführen.
- Einfügen eines NOP- Endknotens mit je einer Kante von jedem Knoten ohne Nachfolger zu diesem Endknoten.
Sequenzgraphen – Einheit
Sequenzgraphen - Branch
Sequenzgraphen – Loop
Sequenzgraphen - Call
Q&A
Was ist Pareto-optimal?
Ein Pareto-Optimal ist ein Zustand, in dem es nicht möglich ist, eine Eigenschaft zu verbessern, ohne zugleich eine andere verschlechtern zu müssen. 不可能改善一个特性,同时不使另一个特性恶化
Welche Graphenmodelle gibt es? Welche Eigenschalften haben sie?
DFG: Modellierung von Operationen und ihrer Datenabhängigkeiten.
CFG: Erlaubt Modellierung von Kontrollstrukturen
CDFG: Kombination CFG und DFG
In welchen Graphen kann Kontrollfluss abgebildet werden?
Hierarchische Sequenzgraphen
Wie wird Programmcode in Graphen dargestellt?
durch Konten und Kanten
Parameter von Schätzverfahren
Abschätzung der Entwurfsqualität
Motivation: Feststellen der Systemparameter, ohne es zu implementieren
Parameter von Schätzverfahren
Metriken und Exaktheit der Schätzung
Qualitätsmaße/Metriken: Performance, Kosten (Fläche), Leistungsaufnahme, Energiebedarf, Zuverlässigkeit, Testbarkeit, Time-to-market, …
Definition : Exaktheit
- Sei E(D) eine abgeschätzte und M(D) die exakte (gemessene) Metrik einer Implementierung D.
- Die Exaktheit A der Abschätzung ist gegeben durch:
$A=1-\frac{|E(D)-M(D)|}{|M(D)|}$
Treue der Schätzung
Definition :
- Sei D = { D1, D2 ,…, Dn } eine Menge von Implementierungen Bsp. D1= ASIC, D2= FPGA
- Die Treue F ist ein Maß für die Zuverlässigkeit einer Schätzmethode, welche die Implementierungen Di gegeneinander vergleicht:
Q&A
Warum erfolgt eine Schätzung der Entwurfsqualität?
Feststellen der Systemparameter, ohne es zu implementieren
Welche Metriken können geschätzt werden?
Exaktheit und Treue
Was ist Exaktheit, was Treue?
Exaktheit: $A=1-\frac{|E(D)-M(D)|}{|M(D)|}$ E(D) ist eine abgeschätzte Metrik, M(D) ist eine exakte Metrik
Treue: Die Treue F ist ein Maß für die Zuverlässigkeit einer Schätzmethode, welche die Implementierungen Di gegeneinander vergleicht:
Schätzung von Hardwaremetriken
Hardware - Performanz
Taktperiode T: Beeinflusst von Technologie, Ressourcen
Latenz L: Anzahl der Taktschritte, abhängig von Datenpfadoptimierung 时钟步数,取决于数据路径优化
Ausführungszeit: $T_{ex}= T \cdot L$
Durchsatz: $\mathrm{R}=1 / \mathrm{T}_{\mathrm{ex}}$
Hardware-Performanz: Beispiel
Beispiel 1
Beispiel 2
Beispiel 3
Hardware-Performanz: Pipelining
Hardware-Performanz: Schätzung der Taktperiode
Funktionale Einheiten $v_k$ mit delays delay($v_k$)
Methode der maximalen Operatorverzögerung
$T=\max_{k}\left(\operatorname{delay}\left(v_{k}\right)\right)$- Nachteil: es muss mit einer erheblichen Unterauslastung der schnelleren Funktionseinheiten gerechnet werden. 必须期望更快地使用功能更快的功能单元。
Methode der Minimierung des Taktschlupfs (clock slack)
ILP-Suche: Modellierung eines Latenzminierungsproblems als ILP für diskrete Werte der Taktperiode zur Minimierung von $T_{exec}$.
Hardware-Performanz: Taktschlupf
Der Clockschlupf (clock slack) bezeichnet den proportionalen Anteil einer Taktperiode, in dem eine funktionale Einheit $v_k$ nicht ausgenutzt wird.
Hardware-Performanz: Taktschlupfminimierung
Mit occ(vk), der Anzahl der Operationen vom Typ $v_k$, und $|V_T|$, der Anzahl unterschiedlicher Operationstypen, ist der mittlere Schlupf für eine Taktperiode T:
Ein geringerer mittlerer Taktschlupf impliziert auch eine geringere Ausführungszeit für eine feste Anzahl Ressourcen. 较低的平均时钟差还意味着对于固定数量的资源,执行时间较短。
Taktauslastung
bezeichnet die prozentuale mittlere Auslastung aller Funktionseinheiten. 表示所有功能单元的平均利用率百分比。
Hardware-Performanz: FSMD - Modell
Hardware - Kostenmetriken
Q&A
Was ist Hardware-Performanz? Wie setzt sich diese zusammen?
bestehen aus Taktperiod, Latenz, Ausführungszeit und Durchsatz
Wie kann Pipelining ausgenutzt werden?
Wieso wird die Taktperiode geschätzt? Wie kann sie optimiert werden?
Wieso wird zwischen Hardware Leistung und Energie unterschieden?
Leistung ist Energie pro Zeit. Sie gibt an, wie schnell Energie in Arbeit umgewandelt wird
Schätzung von Softwaremetriken
Software - Performanz