Beschreiben Sie den Zweck der Analysephase.
Welchen Zwecken kann die Machbarkeitsstudie (feasability analysis) dienen? Geben Sie ein technisches und ein nichttechnisches Argument an.
Worin unterscheiden sich die Verhaltensbeschreibungen die in der Analyse und der Entwurfsphase erstellt werden?
Beschreiben Sie die typischen Anforderungen an die Steuerung eines Dampferzeugers.
Beschreiben Sie die typischen Anforderungen an ein ABS-System.
Spezifizieren Sie die Bearbeitung eines Finite Impulse Response (FIR)-Filters gegeben durch die Funktion out(n) = c1 * in(n) + c2 * in(n-1) + c3 * in(n-2) durch einen Datenflussgraphen (DFG). Skizzieren Sie eine mögliche direkte Realisierung in Hardware (Register-Transfer-Ebene) mit maximaler Parallelität. Bestimmen Sie die nötigen Taktzyklen für die Berechnung eines Ausgangswertes unter der Annahme, dass eine Multiplikation fünf Zeiteinheiten und eine Addition eine Zeiteinheit benötigt.
Beschreiben Sie dasselbe Problem durch ein Programm (Pseudo-Code). Bestimmen Sie die nötigen Taktzyklen unter den selben Annahmen wie oben, d.h. den gegebenen Taktzyklen für Multiplikation und Addition.
Schritt | Takte (gesamt) | Takte (einzeln) | Befehl |
---|---|---|---|
1 | 0 | 5 | MUL_1: A=c1*in(n) |
2 | 5 | 5 | MUL_2: B=c2*in(n-1) |
3 | 10 | 5 | MUL_3: C=c3*in(n-2) |
4 | 15 | 1 | ADD: D=A+B |
5 | 16 | 1 | ADD: D=D+C |
17 |
Identifizieren Sie die Mechanismen für Kommunikation zwischen Prozessen und vergleichen Sie diese.
Wozu dient Nichtdeterminismus von Automaten bei der Spezifikation von Systemen und ihrer Umgebung?
Skizzieren Sie die wichtigsten Unterschiede zwischen Statecharts und SDL.
Statecharts | SDL |
---|---|
immer Taktgesteuert Änderungen in verschiedenen Tiefen immer zur selben Zeit | Zeitlich unterschiedliche Änderungen |
nur Zustandsbasiert | kann auch einzelne Befehle/Codezeilen veranschaulichen |
Wozu dienen Message Sequence Charts (MSC)? In welchen Phasen des Entwicklungsprozesses werden MSCs eingesetzt.
Begründen Sie ihre Antworten.
Beschreiben Sie den Unterschied zwischen reaktiven und transformatorischen Systemen.
Spezifizieren Sie verschiedene Zustandsautomaten mit Statecharts (z.B. aus den Praktikas bekannte Automaten wie Spindelsteuerung, Kassenautomat, Kreuztisch, etc.).
#include "system.h" struct dff: sc_module { sc_in<bool> din; sc_in<bool> clock; sc_out<bool> dout; sc_signal<int> signal_1; sc_signal<int> signal_2; void doit(); struct dff: sc_ctor { struct doit : sc_method; sensetive_pos<<clock; } }
process <name> begin <Anweisungen> end process
Worin unterscheidet sich die Validierung durch Simulationen von der Validierung durch Tests?
Erläutern Sie die Begriffe Vollständigkeit und Widerspruchsfreiheit.
Worin unterscheidet sich die Validierung mittels Model Checking von der Validierung der Vollständigkeit.
Spezifizieren Sie Zustandsautomaten mit SMV (z.B. aus den Praktikas bekannte Automaten für Spindelsteuerung, Kassenautomat, Kreuztisch, etc.). Formulieren Sie mittels CTL verschiedene Bedingungen an das System.
Erläutern Sie das Prinzip der Schedulability-Analyse von periodischen Systemen mit unterbrechenden Prioritäten mittels der Analyse der Antwortzeiten.
Erläutern Sie die Vor- und Nachteile der simulativen Leistungsbewertung.
Welche Leistungsbewertungsansätze eignen sich besonders für Systeme mit deterministischen bzw. mit exponentiell verteilten Ankünften und Bedienzeiten.
Spezifizieren Sie die Markov-Kette für ein Bediensystem mit 2 Bedieneinheiten und einer gemeinsamen Warteschlange mit 3 Warteplätzen. Die Ankunftsrate λ und die Bedienzeiten µ der beiden Server sind jeweils exponentiell verteilt.
Skizzieren Sie die Lösung der Markov-Kette für den stationären (eingeschwungenen) Fall.
Zustand | Rechner 1 | Rechner 2 | Queue |
---|---|---|---|
0 | frei | frei | frei |
1 | belegt | frei | frei |
2 | belegt | belegt | frei |
3 | belegt | belegt | 1 |
4 | belegt | belegt | 2 |
5 | belegt | belegt | 3 |
Warum liefern Verfahren zur Bestimmung von Antwortzeiten in der Regel weniger genaue Ergebnisse als Verfahren zur Bestimmung der Auslastung?
Nennen Sie Argumente zur Bewertung von Leistungsaspekten in den frühen Entwurfsphasen.
Prüfen Sie die Einhaltung der Deadlines für folgende Menge von auf einem Prozessor betriebenen voneinander unabhängigen, periodischen Prozessen (Deadlines entsprechen den Perioden) unter den zwei angegebenen Prioritätsschemata
Prozess | Periode T | Rechenzeit C | a) Priorität | b) Priorität |
---|---|---|---|---|
0 | 7 | 3 | 3 | 1 |
1 | 12 | 3 | 2 | 2 |
2 | 20 | 3 | 1 | 3 |
Bestimmen Sie die Schedulability soweit möglich mit verschiedenen Methoden (utility- based und response-time-based).
Seite 22-24, Evaluation of Temporal and Performance Aspects
Ermitteln Sie den Taskgraphen (DFG) für eine gegebene Funktion (z.B. f(x,y,z) = (6y + 7) + 4y (z + 4x)) (siehe oben). Bestimmen Sie die Ablaufpläne (Mapping und Schedule) für den obigen Taskgraphen nach den in der Vorlesung besprochenen Listenschedulingverfahren (HLFET, SCFET). Gehen Sie davon aus, dass 2 “Prozessoren” zur Verfügung stehen, die beliebige Operationen durchführen können. Die Addition dauert eine Zeiteinheit, die Multiplikation 4 Zeiteinheiten.
process | co-levels | priority | estimated time |
---|---|---|---|
MUL_4 | 3 | 4 | |
MUL_3 | 7 | 4 | |
MUL_2 | 5 | 4 | |
MUL_1 | 4 | 4 | |
ADD_3 | 1 | 1 | |
ADD_2 | 2 | 1 | |
ADD_1 | 6 | 1 |
Schedule | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
P1 | MUL_3 | ADD_1 | MUL_4 | ADD_3 | |||||||
P2 | MUL_2 | MUL_1 | ADD_2 | ||||||||
t | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
Schedule | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
P1 | MUL_3 | ADD_1 | MUL_4 | ADD_3 | |||||||
P2 | MUL_2 | MUL_1 | ADD_2 | ||||||||
t | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
Lösen Sie dasselbe Problem mit einem Verfahren zur sukzessiven Verbesserung einer Anfangslösung, z.B. Tabu Search.
Konstruieren Sie zwei Taskgraphen so, dass bei einem Taskgraphen HLFET und beim anderen SCFET die besseren Ergebnisse liefert.
Skizzieren Sie einen Vorschlag zur Erweiterung von Listenscheduling bei nicht vernachlässigbaren Kommunikationskosten zwischen Tasks, die auf verschiedene Prozessoren zugeordnet sind.
Konstruieren Sie Beispiele für die Ablaufplanung bei denen Listenschedulingverfahren zu keiner gültigen Lösung führen.
Hinweis: Betrachten Sie HW-Architekturen, bei denen die Prozessoren nicht vollständig verbunden sind.
Skizzieren Sie die Anwendung der folgenden Verfahren zur HW/SW-Partitionierung:
Ziel der Optimierung ist die Minimierung der Antwortzeit als auch der Kosten der Hardwarekomponenten.
Mit welchen Mittel lösen die verschiedenen besprochenen heuristischen Optimierungsverfahren das Problem lokaler Optimas?
Beschreiben Sie die Unterschiede zwischen high-level Synthese und der RTL-Synthese.
Ermitteln Sie den DFG für eine gegebene Funktion (s.o.). Bestimmen Sie die Ablaufpläne (Mapping und Schedule) nach den verschiedenen in der Vorlesung besprochenen Strategien (ASAP, ALAP, Varianten für List Scheduling) unter verschiedenen Annahmen für die Allokation (d.h. die Anzahl der verfügbaren Resourcen (Multiplizierer, Addierer) und deren Taktzyklen).