Hardware Software CoDesign

Slides:



Advertisements
Ähnliche Präsentationen
Integrations- und Funktionstests im Rahmen des V-Modelles
Advertisements

Dokumentation von Software Architekturen unter Berücksichtigung von IEEE 1471 Vortrag an der FH Regensburg © Dr. Ulrich Margull, 2004 Dr. Ulrich.
Eingebettete Systeme Qualität und Produktivität
Zugehörigkeitsfunktion (Wahrheitsfunktion) m
Das „Vorgehensmodell“
Fakultät für informatik informatik 12 technische universität dortmund Hardware/Software Partitioning Peter Marwedel Informatik 12 TU Dortmund Germany Chapter.
Kooperierende autonome Fahrzeuge
Name des Vortragenden Klasse Ort / tt.mm.jjjj Beschreibung Zentraleinheit CPU, Motherbord, RAM.
Objektorientierter Entwurf (OOD) Teil 3: Qualitätsmodell
On a Buzzword: Hierachical Structure David Parnas.
Universität Stuttgart Institut für Kernenergetik und Energiesysteme Aufgaben des Testens Vergleich des Verhaltens einer Software mit den an sie gestellten.
Beispiel: Wasserfallmodell als einfaches Phasenmodell
1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (02 – Funktionenklassen) Prof. Dr. Th. Ottmann.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (02 – Funktionenklassen) Tobias Lauer.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (02 – Funktionenklassen) Prof. Dr. Th. Ottmann.
Institut für Theoretische Informatik TU Carolo-Wilhelmina zu Braunschweig Teamprojekt in Software Systems Engineering und Theoretischer Informatik Einsatz.
INSTITUT FÜR DATENTECHNIK UND KOMMUNIKATIONS- NETZE 1 Harald Schrom ViEWcon08.
CPLD/FPGA-Programmierung mit E-blocks. Wozu die CPLD/FPGA-Programmierung untersuchen? Zusammenhang zur modernen Digitalen Elektronik Verschwinden der.
Name des Vortragenden Klasse Ort / tt.mm.jjjj Beschreibung Zentraleinheit CPU, Motherbord, RAM.
Michael Haverbeck System Engineer
Xenario IES Information Enterprise Server. Xenario Information Enterprise Server (IES) Die neue Architektur des Sitepark Information Enterprise Servers.
Hardware / Software Codesign
Vorgehen bei der Entwicklung mobiler Lösungen
Universität zu Köln Historisch-Kulturwissenschaftliche Informationsverarbeitung Softwaretechnologie II (Teil I): Simulation und 3D Programmierung Prof.
Agenda 13: Begrüßung & Einführung in das Thema
Hardware / Software Codesign Hardware versus Software.
Seminar: Entwicklung verteilter eingebetteter Systeme WS05/06 Betreuer: Info:
WINTEGRATION®.
Projektmanagement Ziel und Umfang eines Softwareprojektes definieren
Multiprozessoren: Herausforderung für die Software
Hardware / Software Codesign Hardware vs. Software: Maßnahmen zur Erreichung der Design-Ziele.
Hardware Software CoDesign Vorbesprechung A. Steininger J. Lechner T. Polzer.
Vienna University of Technology Pirker Simon 1. Überblick Definition Motivation Vorteile Entwurf von VP Pirker Simon 2.
Arbeitsbereich „Rechnernetze und verteilte Systeme“
Modellbasierte Software-Entwicklung eingebetteter Systeme
Der Design-Flow eines ASIC
Komplexitätsmanagment
Institut für Angewandte Mikroelektronik und Datentechnik Phase 5 Architectural impact on ASIC and FPGA Nils Büscher Selected Topics in VLSI Design (Module.
Universität zu Köln Historisch-Kulturwissenschaftliche Informationsverarbeitung Softwaretechnologie II (Teil I): Simulation und 3D Programmierung Prof.
Institut für Angewandte Mikroelektronik und Datentechnik Course and contest Results of Phase 4 Nils Büscher Selected Topics in VLSI Design (Module 24513)
Christian Binder Senior Platform Strategy Manager Microsoft Deutschland GmbH.
OOSE nach Jacobson Sebastian Pohl/ST7 Betreuer: Prof. Dr. Kahlbrandt.
Hardware / Software Codesign Organisatorisches Ziele Inhalte.
Dokumentname Folie 1 Das Virtuelle Labor des DLR – eine e-science Plattform für Wissenschaft und Industrie Jochen Wauer, DLR.
Berliner Elektronenspeicherring-Gesellschaft für Synchrotronstrahlung m.b.H., Albert-Einstein-Straße 15, Berlin frontend control at BESSY R. Fleischhauer.
Hardware/Software Co-Design Vorbesprechung Andreas Steininger Robert Najvirt Thomas Polzer.
Technologietag Baugruppentest Wege der Standardisierung im Funktions- und EOL-Test Markus Koetterl National Instruments Germany GmbH.
A. Steininger TU Vienna 1 Multicore eleganter Work-Around um die Design-Crisis Problemverschiebung in die SW (= auf höhere Ebene) ABER: hohe Parallelität.
Hardware / Software Codesign Hardware versus Software.
Hardware Software CoDesign Einführung Optimierung A. Steininger.
Hardware/Software Co-Design Vorbesprechung A. Steininger J. Lechner T. Polzer.
Seminar Softwareproduktlinien Domänenspezifische Sprachen Sascha Draffehn von.
Abwicklung VO 9 fixe Termine: Di 3.5. Do 5.5. Di Do Di Do Di Di Di Do A. Steininger TU Vienna 1 12:15 –
OpenSource – Freie Software Und die Frage, wie freie Software genutzt wird.
Verteilte Systeme Sommersemester 2007 Karsten Otto.
Hardware / Software Codesign Organisatorisches Ziele Inhalte.
Magento erfolgreich integrieren: die Magento Integration Platform (MIP)
Hardware/Software Co-Design
Nachverfolgbarkeit von Anforderungen und deren Realisierungen für wiederverwendbare Software ~ VDE-Tagung zur IEC und zur IEC M.Sc. Felix Bangemann.
Modellbasierte Software-Entwicklung eingebetteter Systeme
Investitionen sichern - wachse mit Forms in die neue Welt
Gewachsene Architektur Das kann nicht funktionieren!
Vorlesung Software Engineering I
Compiler für Eingebettete Systeme [CS7506]
1. Stammorganisation 2. Projektorganisation 3. Prozessorganisation
IOTA – Economy of Things Masked Authenticated Messaging (MAM)
Ferrite Material Modeling (1) : Kicker principle
CSL211 Computer Architecture
Area of Specialization
TOP5: Planungs- und Betriebsgrundsätze
 Präsentation transkript:

Hardware Software CoDesign Einführung Optimierung A. Steininger

Vorstellungen zur LVA Was ist überhaupt HW/SW Codesign? Was lerne ich in dieser LVA? Wofür brauche ich das Wissen später? A A. Steininger TU Vienna

Was ist HW/SW Codesign? paralleler Entwurf HW/SW Partitionierung HW/SW schneller Bugs früher sichtbar höherer Abstraktionsgrad Partitionierung HW/SW übergreifende Optimierung Integration v. Systemen aus/mittels HW/SW systematische Schnittstellendefinition Komplexitätsbewältigung A. Steininger TU Vienna

Embedded Systems: Challenges „An exploding number of embedded reactive heterogeneous components in mass-market products“ „Massive seamless integration of heterogeneous components in a real-world environment“ „Building systems of guaranteed functionality and quality at an acceptable cost is a major technological and scientific challenge“ [Joseph Sifakis, Workshop on Strategies for Embedded Systems 2005] A. Steininger TU Vienna

The Constraints Dependability Autonomy Low resource consumption [Joseph Sifakis, Workshop on Strate-gies for Embedded Systems 2005] Dependability safety, security, availability Autonomy no humans in the loop Low resource consumption memory, power, energy Physical constraints weight size, heat dissipation, … Market positioning optimal cost/quality, time to market A. Steininger TU Vienna

The System-Centric Approach Joint Design (HW, SW, Environment) to determine cost / quality tradeoffs Requires a combination of competencies in SW, auto-mation, networks, electronics, man-machine interfaces => training, education [Joseph Sifakis, Workshop on Strategies for Embedded Systems 2005] A. Steininger TU Vienna

The Current State no unified theory to predict the dynamic properties of a SW running on a given execution platform complex systems are built through a suc-cession of incremental developments exploding validation costs [Joseph Sifakis, Workshop on Strategies for Embedded Systems 2005] A. Steininger TU Vienna

Anwendungsbeispiele Consumer-Products Mobiltelefonie Automotive unglaubliche Features kleiner Preis, kleine Größe, lange Akku-Lebensdauer Mobiltelefonie zusätzlich Mixed-Signal Design Automotive extreme Anforderungen bezügl. Sicherheit & Preis A. Steininger TU Vienna

Die Herausforderungen Miniaturisierung mixed signal, dynamische Rekonfiguration, Energiebudget Rekonfiguration, power management,… Komplexität Interfaces, formale Verifikation Produktivität / Time to market Abstraktionsebenen, Automatisierung Fehlertoleranz A. Steininger TU Vienna

Das zentrale Problem globale Optimierung der Gesamtlösung optimale SW + optimale HW ist zu wenig! => optimale Aufteilung (Partitioning) ist nötig Abhängigkeit von den Randbedingungen hier gibt es derzeit keinen Tool-Support Tools optimieren nur HW bzw. SW allein Problem ist extrem komplex (Lösungsraum!) Wie formuliere ich Optimalität überhaupt? Interfaces zwischen Tools ungeeignet viele Entscheidungen (Partitioning!) trifft ein Entwickler aus Erfahrung A. Steininger TU Vienna

Ziel der VO + LU Bewusst-Machen der Problematik Analysieren der Trade-offs Verständnis für den Optimierungsprozess, dessen Kriterien und Randbedingungen Vermitteln erster eigener Erfahrungen Non-Target: Kennenlernen bestehender Tools A. Steininger TU Vienna

Prinzip einer Optimierung Mittels eines Algorithmus soll eine Kostenfunktion minimiert oder eine Nutzenfunktion maximiert werden und zwar unter Einhaltung von Randbedingungen Als Voraussetzung müssen daher Kosten / Nutzen meßbar und alle Randbedingungen bekannt sein A. Steininger TU Vienna

Erfassen der Eigenschaften die relevante Eigenschaften müssen erfasst werden quantitativ, hinreichend genau schon früh im Design Flow Ist das realistisch möglich? Tools erstellen Schätzungen auf Basis von vereinfachten Modellen Heuristiken A. Steininger TU Vienna

Diskussion  Vor-Auswahl Wählen Sie für die folgende Diskussion eine der Anwendungen (je Gruppe eines) Einspritzelektronik im Auto Herzschrittmacher Fließbandsteuerung Bildkompression für Raumsonde MP3-Player Bankomat A. Steininger TU Vienna

Diskussion Fragen Welche Anforderungen an das Produkt (= Embedded System, nicht Gesamtprodukt) bestehen? Was fällt in die Klasse „Kosten“/“Nutzen“ ? Was fällt in die Klasse Randbedingung ? Was ist speziell an Ihrem Anwendungsbereich? Wie kann man sie zum Zeitpunkt des Partitioning quantitativ erfassen? A. Steininger TU Vienna

Optimaler Tradeoff Wie vergleicht man quantitativ Speicherverbrauch physikalische Größe Performance Preis A. Steininger TU Vienna

Gegebene Plattform Typisches Szenario Reales Problem gegeben ist Prozessor => SW FPGA für Spezialfunktionen => HW Reales Problem optimale Nutzung des vorh. Prozessors („Einsparen“ bringt keinen Gewinn!) optimale Nutzung des FPGA Es geht um ein „optimales“ Verschieben von Tasks zwischen FPGA und Prozessor A. Steininger TU Vienna

Multicore eleganter Work-Around um die Design-Crisis Problemverschiebung in die SW (= auf höhere Ebene) ABER: hohe Parallelität ist in SW nicht üblich in ca. 10 Jahren werden Prozessoren 128 cores haben läßt sich dafür eine SW schreiben, die deren volles Potenzial nutzt? wie weit lassen sich Tasks sinnvoll partitionieren? Das Kommunikationsnetz spielt eine zentrale Rolle in diesen Architekturen A. Steininger TU Vienna

Network on Chip (NoC) Chip umfasst reguläres Array von „Knoten“ dazwischen fixer Interconnect (NoC), oft mit Router Beispiel: derzeit intensive Forschung auf NoC K R A. Steininger TU Vienna

Die Hardware der Zukunft (?) Chip mit Vielzahl (einfacher) CPU Cores Pool von Special Function Units (Multiply, FFT, …) Pool von programmierbarer „glue logic“ Hierarchische Strukturierung für bessere Effizienz (z.B. 4 Cores teilen Gruppe von SFUs und Logic Blocks) programmierbare Verbindungen zentraler Takt (?) , GALS ? Grenze HW/SW verschwimmt zunehmend A. Steininger TU Vienna

Non-Functional Requirements Trend zu Spezifikation/Entwurf auf hoher Abstraktionsebene Dort ist Funktion im Zentrum, keine „Details“ In Embedded Systems geht es aber wesentlich um Leistungsaufnahme/Energieverbrauch („pJ/instr“) Physikalische Größe Preis Echtzeitverhalten, … A. Steininger TU Vienna

Synchrones Design erlaubt Abstraktion des Zeitverhaltens synchrone HW: „Zustand“ statt Zeitverlauf Sicherstellung: statische Timing-Analyse TT-Architecture: „Zustand“ statt Folgen von Events Sicherstellung: Worst-Case Execution Time Analyse bringt entscheidende Vereinfachung des Design einfacher, übersichtlicher „contract“ zwischen allen Modulen ABER: für diesen contract werden zusätzliche (Zeit-) Bedingungen eingeführt … und sind auch einzuhalten ! A. Steininger TU Vienna

Assumption Coverage Jedes Design fußt auf Voraussetzungen ASIC: Temperaturbereich, VCC synchrone HW: Taktperiode ist ausreichend SW: Prozessor-HW funktioniert TT-Systems: WCET wird eingehalten … Was passiert bei deren Verletzung? Je weniger Annahmen, desto robuster das Design! A. Steininger TU Vienna

Robustes Design Beherrschung von „ungeplanten“ bzw. nicht exakt planbaren Einflüssen ( Fehlertoleranz: Fehlermodell!) Umgebungsbedingungen (Bsp. Energy Harvesting…) Bauteilparametern Eingaben … Motivation: nm-Technologien: Parametervariationen, Fertigungsdefekte Systeme: hohe Komplexität Wege: sorgfältige Berücksichtigung im Design (wenig Annahmen, robuste Auslegung von Schaltung, Algorithmus, Regler, …) A. Steininger TU Vienna

Quelle der Parametervariationen Parameter: ▪ Schwellwert ▪ Treiberstärke ▪ Geschwindigkeit ▪ Stromverbrauch Ungenauigkeiten von ▪ Masken & Ausrichtung z.B.: Dl/DT Maske = 50nm/K ▪ Zusammensetzung Chemie ▪ Verarbeitungszeit Auswirkungen werden für kleinere Feature-size zunehmend stärker bei 45nm Technologien bis zu 30% Variationen! A. Steininger TU Vienna

Formale Verifikation Problem: Lösung: formale Verifikation moderne Designs sind „von Hand“ nicht überprüfbar zu komplex, zu viele Zustände/Inputs zu viele Parameter übliche TEST Methoden beziehen sich auf HW-Defekte Lösung: formale Verifikation Model-Checking (entspricht gegebene Implementierung einem gegebenen funktionalen Modell, z.B. executable Spec?) fixe Parametrierung Theorem Proving (formale Bedingungen für das Funktionieren eines geg. Alg. auf einer Plattform) Variable zulässig, aber oft unhandliche Gleichungen… A. Steininger TU Vienna