Entwicklung integrierter HW/SW-Systeme Integrierte Hard- und Softwaresysteme 2 Seminar

Ähnliche Dokumente
IHS2 Seminar. Jorge Meza Zusebau R2082, Tel: -4128

Entwicklung integrierter HW/SW-Systeme Integrierte Hard- und Softwaresysteme 2 Seminar

IHS2 Seminar CFG. Steffen Ostendorff Zusebau, R2078, Tel: -1788

Task& Data-Flow Graphs

Rechnergestützter VLSI-Entwurf

Verhaltensbeschreibung und Spezifikationssprachen

Verhaltensbeschreibung und Spezifikationssprachen

Hardware/Software-Codesign

Systempartitionierung. Hw-Sw-Co-Design

X Inhaltsverzeichnis 2.7 StrukturorientierteModelle Komponenten-Verbindungsdiagramm (CCD) HeterogeneModelle Kontr

Mikroarchitektursynthese - Scheduling Peter Marwedel, Robert Pyka. Informatik 12

Systemtheorie 1. Formale Systeme 1 # WS 2006/2007 Johannes Kepler Universität Linz, Österreich

Übungen zur Vorlesung Technische Informatik I, SS 2002 Hauck / Guenkova-Luy / Prager / Chen Übungsblatt 5 Rechenwerke / Scheduling

IHS2 Seminar. Simulation. Steffen Ostendorff

Entwicklung integrierter HW/SW-Systeme Integrierte Hard- und Softwaresysteme 2 Seminar

Synthese Eingebetteter Systeme. 9 Synthese: Grundlagen

Integrated HW/SW Systems Group 20 November 2009 Prof. Dr.-Ing. habil. Andreas Mitschele-Thiel.

Systemtheorie 1. Einführung Systemtheorie 1 Formale Systeme 1 # WS 2006/2007 Armin Biere JKU Linz Revision: 1.4

VHDL - Synthese. Dr.-Ing. Matthias Sand. Lehrstuhl für Informatik 3 (Rechnerarchitektur) Friedrich-Alexander-Universität Erlangen-Nürnberg

Verteilte Systeme. Verteilte Systeme. 5 Prozeß-Management SS 2016

Synthese Eingebetteter Systeme. 12 Synthese: Bereitstellung (Allocation)

Verhaltensbeschreibung und Spezifikationssprachen

Systembeschreibungssprachen

Electronic Design Automation (EDA) Spezifikation

Vortrag zum Hauptseminar Hardware/Software Co-Design

Codegenerierung für Basisblöcke (1)

Entwurf und Synthese von Eingebetteten Systemen

Institut für Angewandte Mikroelektronik und Datentechnik Fachbereich Elektrotechnik und Informationstechnik Universität Rostock.

Motivation. Eingebettetes System: Aufgabe:

Integrierte Schaltungen

Algorithmen und Datenstrukturen 2. Stefan Florian Palkovits, BSc Juni 2016

5 BINÄRE ENTSCHEIDUNGS- DIAGRAMME (BDDS)

Vorlesung Hardware-Beschreibungssprachen

Entscheidungsverfahren für die Software-Verifikation. 4 - BDDs

Einfache Bedingte Ausführung

Diskrete Ereignissysteme. Spezielle Netzstrukturen- Übersicht. Beispiele zu speziellen Netzstrukturen. Petri-Netze und Zustandsautomaten

Hardware/Software-Codesign

Outline Automaten FSM Synthesis FSM in VHDL FSM auf FPGA. State Machines. Marc Reichenbach und Michael Schmidt

Kapitel 1: Informationsverarbeitung durch Programme

p max = 4 T = 8 Work = 28 3 I = Work / T = 3,5 2 Cost = p max * T = 32 U = I / p max = 87,5% 1

p max = 4 T = 8 Work = 28 3 I = Work / T = 3,5 2 Cost = p max * T = 32 U = I / p max = 87,5% 1

Automatisches Parallelisieren

2.2 Register-Transfer-Synthese

Verilog Hardware Description Language (HDL)

Approximationsalgorithmen

Electronic Design Automation (EDA) Technology Mapping

Lernmodul 7 Algorithmus von Dijkstra

Modell-basierte Entwicklung mit der Timing Definition Language (TDL)

Lehrveranstaltung: PR Rechnerorganisation Blatt 8. Thomas Aichholzer

Algorithmen als systematische Vorgehensweisen zur Lösung eines formal definierten Problems

Der Dreyfus-Wagner Algorithmus für das Steiner Baum Problem

Bitte verwenden Sie nur dokumentenechtes Schreibmaterial!

Algorithmen als systematische Vorgehensweisen zur Lösung eines formal definierten Problems

Institut für Angewandte Mikroelektronik und Datentechnik Fachbereich Elektrotechnik und Informationstechnik Universität Rostock.

ECDL MODUL COMPUTING. Syllabus Version 1.0

HW vs. SW ein erster Vergleich

Scheduling-Algorithmen: Zeitpunkt der Auswahlentscheidung

Kontrollpfad der hypothetischen CPU

Technische Informatik I - HS 18

Speichern von Zuständen

Kontrollpfad der hypothetischen CPU

Rechnerarithmetik. Vorlesung im Sommersemester Eberhard Zehendner. FSU Jena. Thema: Addierschaltungen

Multiplikationschip. Multiplikation. Beitrag zu "Werkstattunterricht Multiplikation" Allgemeine Didaktik - Seminar SS95. Oberwiesenstr.

Kapitel 1: Informationsverarbeitung durch Programme

An Overview of the Signal Clock Calculus

Compiler für f r Eingebettete Systeme (CfES)

Teil 1: Digitale Logik

Musterlösung 3. Mikroprozessor & Eingebettete Systeme 1

Teil V. Programmierbare Logische Arrays (PLAs)

Technische Informatik 1 Rechnerorganisation (RO)

MIN-Fakultät Department Informatik. Universität Hamburg. 3 VLSI- und Systementwurf RAM. Gliederung

Kapitel 1: Informationsverarbeitung durch Programme

Carry Lookahead Adder

Electronic Design Automation (EDA) Register-Transfer-Synthese

Vorlesung und Übung. Modellierung, Simulation, Entwurf heterogener Systeme. Dr. Christoph Grimm Professur Technische Informatik

Schriftliche Prüfung

Configurable Embedded Systems

Outline Schieberegister Multiplexer Zähler Addierer. Rechenschaltungen. Marc Reichenbach und Michael Schmidt

Kapitel 10. Komplexität von Algorithmen und Sortieralgorithmen

5.3 Korrektheit und Verifikation

1. Klausur zur Vorlesung Algorithmentechnik Wintersemester 2008/2009

Datenstrukturen und Algorithmen D-INFK

J. Reinier van Kampenhout Robert Hilbrich Hans-Joachim Goltz. Workshop Echtzeit Fraunhofer FIRST

1.4 Spezifikation. Inhalte einer. Spezifikation

Electronic Design Automation (EDA) Algorithmensynthese

Heinz-Dietrich Wuttke Karsten Henke. Schaltsysteme. Eine automatenorientierte Einführung. Pearson Studium

VHDL Einleitung. Dr.-Ing. Volkmar Sieh. Institut für Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg SS 2010

Einführung in die Informatik I

Klausur über den Stoff der Vorlesung Grundlagen der Informatik II (90 Minuten)

Computerarithmetik (15b)

Grundlagen: Algorithmen und Datenstrukturen

Entwicklung von Partitionierungsstrategien im Entwurf dynamisch rekonfigurierbarer Systeme

1. Einleitung. 2. Aufgabenstellung. R. Bartholomä, Prof. F. Kesel, Prof. T. Greiner Fachhochschule Pforzheim, Tiefenbronnerstraße 65, Pforzheim

FPGA Systementwurf. Rosbeh Etemadi. Paderborn University. 29. Mai 2007

Transkript:

Entwicklung integrierter HW/SW-Systeme Integrierte Hard- und Softwaresysteme 2 Seminar Jorge Meza jorge.meza@tu-ilmenau.de Zusebau R2082, Tel: -4128 Prof. Dr.-Ing. habil. Andreas Mitschele-Thiel Integrated HW/SW Systems Group 15. Januar 2015 Self-Organization 15 January 2015 1

Inhalt des Seminars Modelle für high-level Synthesis High-level Synthesis Datenflussgraph (DFG) Kontrollflussgraph (CFG) Leistungsbewertung Taskgraph Aufgaben Verteilung von Tasks auf Prozessoren Antwortzeit und Auslastung 15. Januar 2015 2

Modelle für high-level Synthesis Prof. Dr.-Ing. habil. Andreas Mitschele-Thiel Integrated HW/SW Systems Group 15. Januar 2015 Self-Organization 15 January 2015 3

Y-Diagramm Domänen und Abstraktionen des HW-Entwurfes Verhalten Systemspezifikation Algorithmen Register-Transfers System-level Synthesis High-level Synthesis RTL Synthesis Logic Synthesis Boolesche Gleichungen Gatter, Flip-Flops Circuit Synthesis Differentialgleichungen Transistoren Struktur Prozessoren, Coprozessoren, Bussen Datenpfad, Kontrollpfad Register, ALUs, Muxer Transistor Layout Zellen Floorplan Cluster Geometrie Board/SoC 15. Januar 2015 4

High-Level Synthesis Vollautomatischer Entwurf auf algorithmischer Ebene Entwickler ist mit den Aufgaben der Spezifikation der Algorithmen beauftragt SystemC, C, Matlab Automatischer Entwurf des Datenpfades und Kontrollpfades Grundaufgaben Allokation Bestimmung von Ressourcentypen und Anzahl der benötigten Instanzen Scheduling (Ablaufplanung [1]) Festlegen von Startzeiten der Aufgaben unter Berücksichtigung aller Datenabhängigkeiten Mapping (Bindung [1]) Spezifiziert auf welchen Ressourcentyp und Instanz eine Aufgabe implementiert wird DFGs und CFGs Als Zwischendarstellungen verwendet [1] J. Teich: Digitale Hardware/Software Systeme. Springer, 1997. 15. Januar 2015 5

DFG (Datenflussgraph) Formale Beschreibung für Daten-dominierte Anwendungen (bspw. digitale Signalverarbeitung) Menge von Verarbeitungseinheiten (Knoten) Menge von Pfeilen, die den Datenfluss und die Datenabhängigkeiten repräsentieren Ausgabe ist eine Funktion der Eingabe Keine Zustände, keine externen Ereignisse zum Auslösen von Zustandsänderungen Anwendbar für Scheduling (Ablaufplanung) und Code-Generierung 15. Januar 2015 6

ASAP Algorithmus (ohne Ressourcenbeschränkungen) Idee: Jeden Knoten so früh wie möglich (as soon as possible ASAP) starten Bestimmung des latenzoptimalen Ablaufplanes Problem der Latenzminimierung kann in polynomieller Zeit exakt gelöst werden 15. Januar 2015 7

ALAP Algorithmus (ohne Ressourcenbeschränkungen) Idee: Jeden Knoten so spät wie möglich (as late as possible ALAP) starten Komplementärer Algorithmus Der Algorithmus ermittelt die spätesten Startzeitpunkte alle Knoten. 15. Januar 2015 8

DFG + Scheduling Aufgabe 1 Erzeugen Sie für folgende Gleichungen eine Datenflussbeschreibung (DFG) x = 3*7+4*a y = 2*x+b^2 z = a*b+5 Führen Sie dies mit folgenden Algorithmen durch ASAP ohne Ressourcenbeschränkungen ALAP ohne Ressourcenbeschränkungen 15. Januar 2015 9

Latenz + Mapping Aufgabe 2 Wie viele Takte werden für die ASAP und ALAP Lösungen benötigt, wenn eine Multiplikation 4 Takte benötigt eine Addition 2 Takte benötigt Wie viele Ressourcen (Multiplizierer und ALUs mit 2 Eingängen) sind notwendig für eine maximal parallele Abarbeitung? (Mapping) ASAP ALAP Wie kann die Abarbeitung mit wenigen Ressourcen im Vergleich zu ASAP und ALAP Lösungen umgesetzt werden? Anforderung: Latenz < 18 Takte Wie viele Multiplizierer und ALUs sind notwendig? Wie viele Takte sind für die gesamte Abarbeitung notwendig? Ist es möglich die Ressourcen zu minimieren ohne die Abarbeitungszeit zu erhöhen? 15. Januar 2015 10

Ressourcenbeschränkungen Aufgabe 3 Wie sieht der DFG aus, wenn nur 1 Multiplizierer und eine ALU zur Verfügung stehen? Wie viele Takte werden in diesem Fall benötigt, wenn eine Multiplikation 4 Takte benötigt eine Addition 2 Takte benötigt 15. Januar 2015 11

Aufgabe 4 Erzeugen Sie für folgende Gleichungen eine optimierte DFG Lösung (minimale Latenz mit wenigen Ressourcen) wenn x = 2*b+4*a y = (2+x)+b^2 z = d*(e+5) eine Multiplikation 4 Takte benötigt eine Addition 2 Takte benötigt Führen Sie eine Ablaufplanung mit minimalen Ressourcen (1x Mult, 1x ALU) durch. Berechnen sie die Latenz. 15. Januar 2015 12

Anmerkungen Unberücksichtigt sind bisher geblieben: Der Aufwand für die Speicherung der Daten Die Ressourcen für die Speicherung der Daten Die Ressourcen für das Multiplexen der Daten zu den einzelnen Ausführungseinheiten, wenn diese für mehr als eine Berechnung genutzt werden. Die genauen zusätzlichen Kosten hängen von der verwendeten Hardware ab und werden hier deshalb vernachlässigt. 15. Januar 2015 13

Kontrollflussgraph (CFG) Formale Beschreibung mit Fokus auf Steueraspekten eines Systems Knoten stellen Operationen und Kanten bedingte Übergänge dar Datenabhängigkeiten der Operationen werden nicht dargestellt Modellierung von Kontrollstrukturen wie Verzweigungen und Schleifen Verzweigungsknoten Knoten mit mehreren Nachfolgern Anwendbar zur Darstellung des Kontrollflusses eines Programms 15. Januar 2015 14

Kontrollflussgraph (CFG) 15. Januar 2015 15

CFG Aufgabe 1 1 program { 2 output (1,2); 3 tmp := input; 4 if tmp == 0 { 5 i := 1; 6 a := 2; } 7 else { 8 done := false; 9 loop { 10 tmp := tmp-1; } 11 until tmp = 0 } 12 output (3,3); 13 } Das Programm ist in Pseudocode geschrieben. 15. Januar 2015 16

Leistungsbewertung Prof. Dr.-Ing. habil. Andreas Mitschele-Thiel Integrated HW/SW Systems Group 15. Januar 2015 Self-Organization 15 January 2015 17

Leistungsbewertung Qualität eines Entwurfs bzgl. Zeit- und Leistungsaspekten abzuschätzen Antwortzeit (Latenz): Zeitintervall zwischen einem Service-Request und der entsprechenden Antwort Auslastung: Nutzungsgrad einer Ressource in einem bestimmten Zeitraum Notwendig für: Validierung und Verifikation der Leistungsanforderungen des Systems Festlegung und Optimierung des zu entwickelnden Systems Heute: Modellbasierte Bewertung Modell: Taskgraph Methode: Diskrete ereignisorientierte Simulation Leistungskriterien: Antwortzeit und Ressourcenauslastung 15. Januar 2015 18

Taskgraph Verhaltensmodell einer Applikation/Funktion Knoten repräsentieren funktionelle Einheiten (Funktion, Prozedur, Operation, etc.) Allgemeine Bezeichnung Task Gerichtete Kanten repräsentieren Reihenfolgeabhängigkeiten A B C D 15. Januar 2015 19

Aufgaben Ereignisorientierte Simulation Bestimmung der Startzeiten und Verteilung von Tasks auf Prozessoren A Scheduling erfolgt nach bestimmten Prioritäten Ziel: Analyse der minimale Antwortzeit und Auslastung unter Berücksichtigung der Prioritäten und Abhängigkeiten B C D Ausführungszeiten E F A: 3, B: 2, C: 4, D: 1 E: 2, F: 7, G: 3, H: 4 G I: 1, J: 3, K: 2 H Vorgaben Die Prioritäten werden nur berücksichtigt, wenn zwei Tasks gleichzeitig gestartet werden können. Ist nur ein Task bereit, wird dieser unabhängig von seiner Priorität gestartet. Ein einmal gestartetes Task wird nicht unterbrochen (ohne Verdrängung) I K J 15. Januar 2015 20

Aufgaben Ereignisorientierte Simulation 1. Scheduling: vordefinierte Prioritäten A 1.1. Ordnen Sie die Tasks A..K einem Prozessor zu. 1.2. Ordnen Sie die Tasks zwei Prozessoren zu, so dass die gesamte Ausführungszeit möglichst minimal wird. B C D 1.3. Ordnen Sie die Tasks drei Prozessoren zu. 1.4. Wie verändert sich das Verhalten, wenn D und F eine höhere Priorität als B und C haben und zwei Prozessoren verwendet werden? E G F Berechnen Sie für alle Aufgaben die Auslastung der Prozessoren, sowie die Antwortzeit von Task F H In welchen Fällen werden folgende Anforderungen erfüllt? Deadline für Abarbeitung von F < 12 Zeiteinheiten. Auslastung > 60% I J Prioritäten: Ein Buchstabe, der vorne im Alphabet steht, hat eine höhere Priorität. Also A vor B vor C vor D bzw. A hat die höchste Priorität, K die niedrigste. K 15. Januar 2015 21

Aufgaben Ereignisorientierte Simulation Aufgabe 1.1.: Einheiten gesamte Abarbeitungszeit A P1 Antwortzeit von Task F: Einheiten Auslastung der Prozessoren (in % bzw. als Bruch) Prozessor 1: B C D E F Aufgabe 1.2.: Einheiten gesamte Abarbeitungszeit G P1 P2 H Antwortzeit von Task F: Einheiten Auslastung der Prozessoren (in % bzw. als Bruch) Beide Prozessoren zusammen: I J Prozessor 1: Prozessor 2: K 15. Januar 2015 22

Aufgaben Ereignisorientierte Simulation Aufgabe 1.3: Einheiten gesamte Abarbeitungszeit P1 A P2 P3 Antwortzeit von Task F: Einheiten Auslastung der Prozessoren (in % bzw. als Bruch) Alle Prozessoren zusammen: Prozessor 1: Prozessor 2: Prozessor 3: B C E G D F Aufgabe 1.4.: Einheiten gesamte Abarbeitungszeit P1 H P2 Antwortzeit von Task F: Einheiten Auslastung der Prozessoren (in % bzw. als Bruch) Beide Prozessoren zusammen: Prozessor 1: Prozessor 2: I K J 15. Januar 2015 23

Aufgaben Ereignisorientierte Simulation 2. Scheduling: Listschedulingverfahren HLFET A 2.1. Ordnen Sie die Aufgaben zwei Prozessoren zu, so dass die gesamte Ausführungszeit möglichst minimal wird. Berechnen Sie die Auslastung der Prozessoren, sowie die Antwortzeit von Task F. Werden die Anforderungen erfüllt? Deadline für Abarbeitung von F < 12 Zeiteinheiten. Auslastung > 60% B C E G D F Highest Level First with Estimated Times (HLFET) Ziel: Festlegung der Task-Prioritäten!! H Schritte: 1. Berechnung des längsten Pfades (Level) aller Knoten. Das ist als die maximale Ausführungszeit vom Knoten X bis zum Exit-Knoten K definiert. 2. Festlegung von Prioritäten für alle Knoten. Der berechnete Level ist der Prioritätswert eines Knotens. Ein höherer Wert entspricht einer höheren Priorität. I K J 15. Januar 2015 24

Aufgaben Ereignisorientierte Simulation Aufgabe 2.1.: A Task A B C D E F G H I J K Level B C D Task Priorität E F Einheiten gesamte Abarbeitungszeit G P1 P2 H Antwortzeit von Task F: Einheiten Auslastung der Prozessoren (in % bzw. als Bruch) I J Beide Prozessoren zusammen: Prozessor 1: K Prozessor 2: 15. Januar 2015 25

Fragen zum Seminar Wie funktioniert ein DFG? Geben Sie für eine vorgegebene Berechnung den DFG an, wenn sie beliebig viele Ressourcen zur Verfügung haben. Was kann man daraus ablesen? Wie ändert sich der DFG bei minimalen Ressourcen? Wie funktioniert ein CFG? Wie wird die Leistung eines Systems bewertet? Berechnen Sie an einem einfachen Beispiel die Antwortzeit und Auslastung. Berechnen Sie die Prioritäten von Tasks mittels heuristischen Algorithmen wie HLFET. 15. Januar 2015 26

Literatur Schaltsysteme (H.-D. Wuttke K. Henke, Pearson Verlag, 2006) Systems Engineering with SDL (A. Mitschele-Thiel, Wiley Verlag, 2001) Digitale Hardware/Software Systeme (J. Teich, Springer Verlag, 1997) 15. Januar 2015 27

Fakultative Aufgaben Geben Sie ein Beispiel von einem Kontroll- Datenflussgraph (CDFG). Was sind seine Vorteile gegenüber DFG und CFG? Benutzen Sie das Schedulingverfahren SCFET, um die Prioritäten des Taskgraphen festzulegen. Welche anderen Leistungsbewertungskriterien gibt es? Wie werden sie berechnet? 15. Januar 2015 28