Hardware / Software Codesign

Slides:



Advertisements
Ähnliche Präsentationen
Christian Scheideler SS 2009
Advertisements

Integrations- und Funktionstests im Rahmen des V-Modelles
Falls Algorithmen sich selbst rekursiv aufrufen, so kann ihr Laufzeitverhalten bzw. ihr Speicherplatzbedarf in der Regel durch eine Rekursionsformel (recurrence,
Von David Keß, Heinrich Wölk, Daniel Hauck
On the Criteria to Be Used in Decomposing Systems into Modules
Designing Software for Ease of Extension and Contraction
Das „Vorgehensmodell“
3. Kapitel: Komplexität und Komplexitätsklassen
Name des Vortragenden Klasse Ort / tt.mm.jjjj Beschreibung Zentraleinheit CPU, Motherbord, RAM.
Name des Vortragenden Klasse Ort / tt.mm.jjjj Beschreibung Zentraleinheit CPU, Motherbord, RAM.
Objektorientierter Entwurf (OOD) Teil 3: Qualitätsmodell
Architektur, Design oder Implementation? Ulrich Schulz, Sebastian Ordyniak.
On a Buzzword: Hierachical Structure David Parnas.
Genetische Algorithmen
Genetische Algorithmen
Universität Stuttgart Institut für Kernenergetik und Energiesysteme Was ist Refactoring? Bevor man die Integration angeht, mag es angebracht sein, den.
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
es gibt (fast) nichts, was nicht anders gemacht werden könnte
Rational Unified Process (RUP) - Definitionen
eXtreme Programming (XP)
High Performance = Innovative Computer Systems + Efficient Algorithms Friedhelm Meyer auf der Heide 1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen.
Tutorium
Konzeption und Realisierung von DSS
Spatial Decision Support Systems (SDSS)
Chat System – Gruppe B Tim Braun, Andre Ester, Florian Müller und
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.
Anpassung des RUP an ein konkretes Projekt - 1
Prof. Dr. Gerhard Schmidt pres. by H.-J. Steffens Software Engineering WS 2006 / 2007Folie 1 Agile Vorgehensweisen Hintergrund –in den letzten Jahren hat.
Synergieeffekte durch softwaregestützte Prozessmodelle
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.
? Was ist Informatik? Was ist Informatik? Alexander Lange
LS 2 / Informatik Datenstrukturen, Algorithmen und Programmierung 2 (DAP2)
„Buy and Make“ anstelle von „Make or Buy“
Warum brauche ich ein CMS – Content Management System?
Diplom- oder Masterarbeit
Universität zu Köln Historisch-Kulturwissenschaftliche Informationsverarbeitung Softwaretechnologie II (Teil I): Simulation und 3D Programmierung Prof.
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/
Effiziente Algorithmen
Hardware / Software Codesign Hardware versus Software.
A. Gebert / A. Henke Ant colony simulation.
WINTEGRATION®.
PRO:CONTROL Ziel des Moduls Arbeitspakete
Multiprozessoren: Herausforderung für die Software
Hardware / Software Codesign Hardware vs. Software: Maßnahmen zur Erreichung der Design-Ziele.
Kostenfaktoren für einen Asic HW/SW Codesign 2007 Mark VOLCIC
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.
WIR LÖSEN DAS PROBLEM FÜR SIE
Der Design-Flow eines ASIC
Komplexitätsmanagment
Modellbasierte Software- Entwicklung eingebetteter Systeme Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt Universität und Fraunhofer.
Universität zu Köln Historisch-Kulturwissenschaftliche Informationsverarbeitung Softwaretechnologie II (Teil I): Simulation und 3D Programmierung Prof.
Modellbasierte Software- Entwicklung eingebetteter Systeme Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt Universität und Fraunhofer.
Wann ist eine Funktion (über den natürlichen Zahlen) berechenbar?
Hardware / Software Codesign Organisatorisches Ziele Inhalte.
Hardware/Software Co-Design Vorbesprechung Andreas Steininger Robert Najvirt Thomas Polzer.
Performanz- und Lasttests Formale Methoden
Technologietag Baugruppentest Wege der Standardisierung im Funktions- und EOL-Test Markus Koetterl National Instruments Germany GmbH.
 Gegenstandsbereich der Testtheorie: Analyse der Charakteristika von Tests:  Güte von Tests.  Struktur von Tests.  Schwierigkeit von Tests.  Gruppenunterschiede.
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.
Außenhandelsbeziehungen zwischen China, USA, EU Makroökonometrie Vorlesung Dr. Oliver Bode.
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 –
Hardware Software CoDesign
 Präsentation transkript:

Hardware / Software Codesign Trends

Diskussion  Vor-Auswahl Wählen Sie für die folgende Diskussion einen der Anwendungsbereiche (jede Gruppe eines) Automotive Telekom Industrie-Automation Raumfahrt Multimedia (MP3, Camcorder,…) Telebanking A. Steininger TU Vienna

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

Umsetzung Designmaßnahmen Überarbeiten Sie die Liste der Kriterien für Ihren Anwendungsfall Welche Maßnahmen kann man setzen, um das Design entsprechend zu optimieren? bis zum 20.5. A. Steininger TU Vienna

Design Crisis Moores Law: Wir können zunehmend komplexere Systeme realisieren ABER: Können wir sie auch designen? menschl. Auffassungsgabe ist begrenzt Tools werden nicht so schnell besser Teamgröße ist begrenzt (Kommunikation) A. Steininger TU Vienna

Design Reuse Integrieren fertiger Module in das Design (HW od. SW) eigene Entwicklungen aus anderen Projekten oder IP von Dritten fertige, verifizierte, getestete, bewährte Module steigert Effizienz, hilft Design-Crisis zu lindern ABER: Probleme bei Schnittstellen ABER: Probleme beim Systemtest A. Steininger TU Vienna

Die Macht der Abstraktion Reduktion der (komplexen) Realität auf das wesentliche vereinfacht Modellierung Design einfacher, rascher, fehlerfreier für den Menschen erfassbar für den Computer in „endlicher“ Zeit berechenbar ABER: Was ist wesentlich? Worauf können wir bauen? A. Steininger TU Vienna

Ein bildhafter Vergleich Wenn das Design auf einer gegebenen Abstraktions-ebene zu komplex wird, d.h. viele Elemente umfasst, wird der Abstraktionsgrad erhöht (weglassen von Details) Auf der höheren Ebene kann wieder effizient entwickelt werden, bis auch dort die Komplexität zu hoch ist. Bei der Abstraktion dürfen natürlich nur irrelevante Details verworfen werden! Abstraktionsgrad A. Steininger TU Vienna

Beispiel Hardware (ASIC) vorausgesetzt werden darf spezifizierte Funktion der Zellen (nur bei CBIC!) Modelle/Abstraktionen für das Verhalten der Leitungen beides abhängig von Temp., VCC, Last,… zu betrachten ist (parallele) Interaktion der diversen Elemente (Modelle) Probleme: VCC und Temp sind nicht auf ganzem Chip gleich/konstant Routing ist erst sehr spät im Flow bekannt Parametervariationen durch Fertigung, Alterung etc. „einfache“ Modelle stimmen für nm-Technologien kaum mehr A. Steininger TU Vienna

Beispiel Software vorausgesetzt werden darf zu betrachten ist Probleme Funktion des Prozessors (Befehlssatz) Funktion des Speichers = Fundament ohne wenn und aber! zu betrachten ist sequenzielle Abfolge von Befehlen Programmfluss Probleme Interaktionen und Programmfluss sind u.U. sehr komplex bei Multiprocessing auch parallele Abläufe (Ordering!) A. Steininger TU Vienna

Vergleich SW wird auf höherer Abstraktionsebene erstellt Design-Process ist effizienter Lösung ist weniger effizient („Abstraktion verschenkt Optimierungspotenzial“) getroffene Annahmen „halten“ besser Wie kann HW hier aufholen? High-level Design Entry Programmierbare HW auf Basis vieler Prozessoren anstelle von LUTs, mit fixen Routing-Kanälen 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

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 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

Die alte Test-Diskussion… Ist HW wirklich leichter zu testen als SW ? Argumentation: niemand testet HW einfach durch simples Ausprobieren gibt‘s bei SW andere Ansätze als „Probieren“?? (z.B. struktureller Test) Woran liegt das? A. Steininger TU Vienna

Globale Optimierung beste HW + beste SW = bestes System? NEIN! aber: bei Suche nach globalem Optimum explodiert der Lösungsraum! was ist fix, was optimierbar Suchstrategie? Gewichte? … => Heuristiken und Schätzungen A. Steininger TU Vienna