Schätzung der Entwurfsqualität

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