Embedded Systems 2 - KIT
Embedded Systems 2 KIT
Embedded Systems 2 KIT
-
- 1 / 42
-
Cartes-fiches
Was ist "Abstraktion"?
Druch wahl des Abstraktionslevels werden Informationen entfernt, entspricht mathematisch der äquivalenzklassen bildung
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
- Profiling
- mögliche Anpassungen identifizieren
- Anpassungen definieren
- generierung der retargetable tools
- evaluate
- iterate (explore design space)
- 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
SpecC
Was ist SpecC?
- Modell und Sprache in einem
- Obermenge von ANSI-C
- Trennung von Berechnung und Verhalten
- Modelle von SpecC
Wiederverwendung von Teilen oder IPs,…
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)
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
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
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
- Anfangspopulation
- Bewertung
- Selektion
- Crossover
- Mutation
- ...
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