Embedded Systems 2 - KIT

Embedded Systems 2 KIT

Embedded Systems 2 KIT


M. H.
Diese Lernkarten bieten einen umfassenden Überblick über eingebettete Systeme auf Universitätsniveau. Sie behandeln zentrale Konzepte wie Modelle, Berechnungen, Zustände und Kommunikation, wobei verschiedene Modelle der Berechnung, wie endliche Automaten und Petri-Netze, im Mittelpunkt stehen. Die Karteikarten erklären auch die Anpassung von ASIPs, die Verwendung von Simulated Annealing und genetischen Algorithmen sowie die Bedeutung von Abstraktion und Hierarchie bei der Handhabung von Komplexität. Ideal für Studierende und Forscher, die sich mit der Optimierung und dem Entwurf von eingebetteten Systemen beschäftigen.
Cartes-fiches
42
Utilisateurs
2
Langue
Allemand
Catégorie
Informatique
Niveau
Université
Créé / Mis à jour
09.02.2013 / 04.01.2021

Cartes-fiches

Was ist "Abstraktion"?

Druch wahl des Abstraktionslevels werden Informationen entfernt, entspricht mathematisch der äquivalenzklassen bildung

Was ist das Rugby model?

Domänen Y-Diagramm

Was ist TLM?

Transaction Level Modelling System Level Design

Trennung Berechnung und Kommunikation

Diagramm mit 6 Zuständen, mit Punkten benennen, welche davon eignen sich für TLM?

Simulated Annealing

  • optimierungverfahren
  • simuliert das härten von stahl
  • energiearmer zustand soll erreicht werden was einer guten lösung entspricht

Handhaben von Komplexität

  • Hierachie
  • Abstraktion
  • Domänen

ASIP: Designflow

  1. Profiling
  2. mögliche Anpassungen identifizieren
  3. Anpassungen definieren
  4. generierung der retargetable tools
  5. evaluate
  6. iterate (explore design space)
  7. make prototype

Ebenen von Retargetierbarkeit (Arten)

  • User retargetierbarkeit
  • developer retargetierbarkeit

SA: was passiert wenn man die temp zu schnell absenkt?

Dann bleibt man möglicherweise in lokalen minima hängen.

TLM: Welche Vorteile hat es Kommunikation und Berechnung auf verschiedenen Abstraktionsebenen zu betrachten?

Vorteil, wenn Kommunikation und Berechnung sehr stark in Umfang oder Komplexität voneinander abweichen,

bzw. bei verwendung von IP-cores

TLM: welche sprache verwendet diese Prinzip auch?

SpecC

Was ist SpecC?

  • Modell und Sprache in einem
  • Obermenge von ANSI-C
  • Trennung von Berechnung und Verhalten
  • Modelle von SpecC

SpecC: Wrapper

Wiederverwendung von Teilen oder IPs,…

SpecC: Transducer

Komponete die benötigt wird um 2 channels miteinander zu verbinden, da Channels passiv sind

Warum geht man beim Entwurf nicht auf der Diagonale vom TLM Diagramm lang?

macht keinen sinn

  • Bei bestehenden IP-Cores
  • wenn Anteil an Kommunikation und Berechnung unterschiedlich (meistens der fall)

Für was braucht man retargetierbare Compiler?

man bräuchte ansonsten für jede Konfiguration einen neuen Compiler

SA: Was wird vertauscht um eine neue Lösung zu bekommen?

Definition der zuälligen Vertauschungen müssen im Vorfeld definiert sein.

SA: Warum werden gegen Ende nur noch wenige Verschlechterungen zugelassen?

Um aus dem globalen Minimum nicht mehr herauszukommen.

Xtensa, Tensilica, LISATek, LISA?

Vergleich

Vor- und Nachteile

Welche Parameter sind beim ASIP beeinflussbar?

  • Endianess
  • Instructions
  • Anzahl der Register
  • …

Was ist PSM?

  • HCFSM
  • Sequencial Programm Model

 

Beispiele: 

  • SpecC
  • SystemC

Warum PSM?

IP reuse

(IP als Programm code in den Zuständen)

Was ist der Unterschied zwischen "Abstraktion, Hierarchie und Domäne?

  • Abstraktion und Hierarchie anhand des Addiererbeispiels erklären?
  • Domänen anhand des Rugby-Modells erklären?

Models of Computation?

Stellt konstrukte bereit, um ein System beschreiben zu können, nicht zu verwechseln mit Sprache, …

Modelle können durch mehrere Sprachen beschrieben werden, aber auch Sprachen können verschiedene Modelle unterstützen

Wie kann man das FSM-Modell erweitern?

zur PSM dann kann jeder Zustand zusätzlich sequenziellen code enthalten

Vorteile von Sequenziellen Programmen in Zuständen?

  • wiederverwendbarkeit

Models of Computation: Beispiele?

  • endliche Automaten
  • Petri-Netze
  • Programm Sate Machines

ASIP: Was ist das?

Prozessor der an eine Applikation angepasst werden kann.

ASIP: Wie anpassen?

  • erweiterbare Befehle
  • Parametrierung
  • Ein-/ Ausschluss vordefinierter Blöcke

 

Heuristiken: Aufzählen

  • GA
  • SA

GA: Ablauf

  1. Anfangspopulation
  2. Bewertung
  3. Selektion
  4. Crossover
  5. Mutation
  6. ...

GA: Was wird zur Mutation verwendet?

Keine vorgegebene Funktion, ist von Problemstellung abhängig

GA: Mutation immer positive wirkung?

Nein, in der Nähe des Optimums kann diese verhindern dieses zu erreichen.

(Zu Starke Änderungen der Lösung)

Vergleich SA und GA?

GA ermöglicht optimierung nach mehreren Zielen. Die Population enthält meistens mehrere "gute" Individuen, die sich in Ihren Merkmalen unterscheiden. (pareto-optimale Lösungen).

SA optimiert nur eine Lösung anhand der Kostenfunktion.

Mathematische Beschreibbarkeit:

SA ist gut beschreibbar, es findet theoretisch immer die optimale Lösung wenn die Temp unedlich langsam abgesenkt wird. Die Qualität der Lösung hängt von der Rechenzeit ab.

GA sind schwer zu erfassen. Oft hilft nur auprobieren ob die gewählte cross-over funktion zu guten Ergebnissen führt. Mutation kann evtl. gute Ergebnisse wieder verschlechtern, daher vorsichtig einsetzen.

GA finded evtl. sehr schnell gute Lösungen.

Cost: NRE

Non-Reoccuring Engeneering cost

one-time cost of a new product

Cost per Unit

= (NRE_cost + #units * cost_of one_unit) / #units

  • Sales price should be higher than cost per unit
  • Sales price will be determined by the market

Embedded Software: Properties

  • Timeliness
    • Computation does take time; needs to be considered when design the ES
  • Concurrency
    • ES interacts typiclly with more than one physical process => must be able to react simultaneously
  • Liveness
    • ES must not terminate or block waiting for events that won't occur
  • Reactivity
    • React continuosly to events in the physical world
  • Heterogeneity
    • ES implementation is typically a mix of computational and implementational styles
    • Heterogeneous event handling styles

Model Def

  • Model bezieht sich auf eine Einheit
  • es ist eine vereinfachung dieser Einheit
  • bezieht sich immer auf eine Aufgabe und ein Ziel
  • Ein model ist minimal wenn es keine für die vorgesehene Aufgabe überflüssigen charakteristiken enthält
  • es kann sein das die einheit auf die sich das model bezieht noch nicht exisistiert

Static System Def

The output value is independend of all the previous input value exept the current one.

Dynamic System Def

Depends on the current input value and at least of one other previous input value

Zeitunabhängige Systeme

benötigen nicht den aktuellen Zeitpunkt zur Bestimmung der Ausgaben und gleiche eingaben führen zu jedem Zeitpunkt zu gleichen ausgaben des systems

Lernen