Intern
    Lehrstuhl für Informatik V - Technische Informatik

    Eingebettete Systeme

    Vorlesung: Eingebettete Systeme

    Allgemein

    Eingebettete Systeme (engl. Embedded Systems, ES) sind informationsverarbeitende Systeme, die in ein Produkt integriert sind. Sie übernehmen im Wesentlichen Aufgaben zur Steuerung und Überwachung von Komponenten dieses Produktes, sowie häufig auch signalverarbeitende Aufgaben. Die Anwendungsbereiche eingebetteter Systeme in der Praxis sind entsprechend weit gestreut: von der Maschinensteuerung bis zum Handy, vom DVD-Player bis zum GPS-Navigationssystem. 

    Überblick

    In dieser Vorlesung werden wir uns zunächst mit grundlegenden Modellen und Architekturen für eingebettete Systeme beschäftigen. Dazu gehören neben State Machines, Petri-Netzen und Datenflußgraphen beispielsweise auch Grundlagen über allgemeine reaktive Systeme.

    Ein weiterer Abschnitt der Vorlesung wird sich um Zieltechnologien für eingebettete Systeme drehen, sowohl auf der Hardwareseite - etwa VLSI-Chips, Field-Programmable Gate Arrays (FGPAs), System-on-a-Chip (SoC) oder Microcontroller - als auch auf der Softwareseite - etwa hardwareorientierte Programmierung oder Echtzeitbetriebssysteme. 

    Im zweiten großen Abschnitt der Vorlesung werden schließlich Techniken zur Synthese von eingebetteten Systemen, also des rechnergestützten Entwurfs und der Optimierung, behandelt. 

    Aus dem Inhalt

    Modellierung engebetteter Systeme

    1. Einführung
    2. Modelle eingebetteter Systeme
      1. Einführendes Beispiel zur Modellierung
      2. Petri-Netze
      3. Zustandsorientierte Modelle
      4. Aktivitätsorientierte Modelle
      5. Strukturorientierte Modelle
      6. Heterogene Modelle
    3. Implementierung eingebetteter Systeme
      1. Implementierungsplattformen im Überblick
      2. ASIC Designzyklus
      3. ASIPs
      4. Microcontroller
      5. Echtzeitbetriebssysteme
    4. Fundamentale Probleme bei der Konstruktion eingebetteter Systeme

     

    Verifikation eingebetteter Systeme

    1. Motivation und Techniken
    2. Linear Zeit Logik
    3. Baum Zeit Logik

    Ablaufplanung (Scheduling)

    1. Statische Ablaufplanung
      1. Statische Ablaufplanung ohne Ressourcenbeschränkung
      2. Ablaufplanung mit Zeitbeschränkung
      3. Ablaufplanung mit Ressourcenbeschränkung
    2. Periodische Ablaufplanung
      1. Problemstellung
      2. Sequentielle periodische Ablaufplanung
      3. Retiming
      4. Überlappende, periodische Ablaufplanung
      5. Periodische Ablaufplanung unter Ressourcenbeschränkung
    3. Dynamische Ablaufplanung
      1. Problemstellung
      2. Nichtpräemptive dynamische Planung
      3. Präemtive dynamische Planung
      4. Präemptive periodische Planung

    Architektursynthese

    1. Bindung
      1. Das Problem der Bindung
      2. Kostenminimale Bindung
      3. Kostenminimale Bindung mit Ablaufplanung
      4. Bindung unter periodischer Ablaufplanung
      5. Minimierung der Zahl der Register
    2. Hardwaresynthese
      1. Direkte Ableitung einer Implementierung
      2. Zur Wahl der Taktperiode
    3. Optimierungsverfahren zur Hardwaresynthese
      1. Besonderheiten bei der Hardwaresynthese
      2. Erweiterung von Listscheduling
      3. Zeitschlitzmodelle
      4. Flußmodelle

    Softwaresynthese

    1. Übersetzer
      1. Phasen eines Übersetzers
      2. Zwischencode: 3-Adresscode
      3. Zwischencode als Kontrollflußgraph
      4. Grundblöcke und Grundblockgraph
    2. Registervergabe und Registerbindung
      1. Lebensspannen
      2. Lokale Registervergabe durch Graphfärbung
      3. Globale Registervergabe
    3. Codegenerierung
      1. Problemstellung
      2. Codeselektion