Lehrstuhl f¨ur Informatik 12 (Hardware-Software-Co-Design) Prof. Dr.-Ing. J¨urgen Teich
Klausur
Eingebettete Systeme
28. M¨arz 2014
Name Vorname
Matrikelnummer Studienfach
Aufgabe 1 2 3 Σ
max. Punkte 30 30 30 90
erreichte Punkte Note
Kopiervo
rlage:
nur
f¨ur
Fachschaften
Bitte sorgf¨ altig lesen und die Kenntnisnahme durch Unterschrift best¨ atigen
1. Bitte legen Sie Ihren Studentenausweis bereit.
2. Als Hilfsmittel sind nur Schreibmaterialien zugelassen.
3. Schmierpapier wird nicht abgegeben und nicht korrigiert.
4. Sie k¨onnen bei der Aufsicht zus¨atzliche Bearbeitungsbl¨atter anfordern. Diese m¨ussen Ihrer Arbeit angeheftet werden.
5. Unleserliches wird nicht bewertet.
Erkl¨ arung
1. Im Falle einer w¨ahrend der Pr¨ufung auftretenden Pr¨ufungsunf¨ahigkeit zeige ich dies sofort der Aufsicht an und befolge deren Anweisungen. Ich weiß, dass ich die volle Beweislast trage. Ich lasse mir das Formular des Pr¨ufungsamts, das f¨ur diese F¨alle vorgesehen ist, aush¨andigen und verfahre nach den dort niedergelegten Richtlinien.
2. Ich weiß, dass im Falle des T¨auschungsversuchs oder der Benutzung unerlaubter Hilfsmittel (”Unterschleif“) der Pr¨ufungsausschuss die Entscheidung treffen kann, die betroffene Pr¨ufungsleistung als mit ”nicht ausreichend“ bewertet gelten zu lassen.
3. Ich habe die obigen Hinweise zur Kenntnis genommen.
Erlangen, den 28. M¨arz 2014 . . . . Unterschrift
E
INWILLIGUNGIch bin damit einverstanden, dass mein vorl¨aufiges Ergebnis anonymisiert, jedoch unter Angabe der Matrikelnummer, am Mitteilungsbrett und auf der Webseite des Lehrstuhls f¨ur Informatik 12 ver¨offentlicht wird.
Die Bekanntgabe des vorl¨aufigen Ergebnisses begr¨undet keinen Rechtsanspruch.
Die Bekanntgabe des endg¨ultigen Ergebnisses erfolgt ausschließlich durch das Pr¨u- fungsamt.
Erlangen, den 28. M¨arz 2014 . . . . Unterschrift
Kopiervo
rlage:
nur
f¨ur
Fachschaften
Aufgabe 1 (Spezifikation & Modellierung) (30 Punkte)
a) Doppeldachmodell
1. Erstellen und beschriften Sie das aus der Vorlesung bekannte Doppeldachmodell. Was wird durch die Pfeile im Doppeldachmodell dargestellt? (3 Punkte)
2. Was versteht man unter Synthese? Nennen Sie die drei Hauptaufgaben! (1 Punkt)
3. Wie wird die Synthese im Doppeldachmodell dargestellt? (1 Punkt)
Kopiervo
rlage:
nur
f¨ur
Fachschaften
b) Zustandsautomaten
1. Welche Arten von Dekomposition gibt es bei hierarchischen Zustandsautomaten?
(2 Punkte)
2. Gegeben ist folgender Zustandsautomat.
C
D
E
F
G
A B
α
β γ(in G)
δ ε(in E)
Bestimmen Sie einen ¨aquivalenten nichthierarchischen (flachen) Zustandsautomaten.
(6 Punkte)
Kopiervo
rlage:
nur
f¨ur
Fachschaften
c) Petri-Netze
Gegeben sind die zwei Prozesse A und B. Beide nehmen Daten zur Verarbeitung entgegen sobald Daten im Warte-Puffer zur Verf¨ugung stehen. Nach Beendigung der Verarbeitung werden diese in einem Ausgabe-Puffer abgelegt.
Zur Abarbeitung der beiden Prozesse steht ein Prozessor P1 zur Verf¨ugung. Nach dem Start der Verarbeitung des einen Prozesses muss dieser erst beendet werden, bevor mit der Verarbeitung des zweiten Prozesses begonnen werden kann. Der Prozessor kann also entweder die Verarbeitung von Prozess A oder B ausf¨uhren, nicht aber beide gleichzeitig.
Hinweis:Im Folgenden nur die aus der Vorlesung bekannte Notation f¨ur Petri-Netze benutzen, da nur diese bewertet wird!
1. Vervollst¨andigen Sie das unten abgebildete Petri-Netz so, dass es das Verhalten modelliert, das
in der Spezifikation beschrieben wird. (3 Punkte)
2. Es soll nun ein zweiter Prozessor P2 hinzugef¨ugt werden. Dabei soll Prozess A weiterhin von Prozessor P1 ausgef¨uhrt werden. F¨ur die Verarbeitung von Prozess B wird allerdings sowohl Prozessor P1 als auch Prozessor P2 belegt. Erweitern Sie das Petri-Netz so, dass die beschrie-
benen Eigenschaften erf¨ullt werden. (2 Punkte)
Prozess A warte
Start
Ende verarbeitet
Prozess B warte
Start
Ende verarbeitet
3. Ist das Petri-Netz sicher? (1 Punkt)
4. Ist das Petri-Netz konfliktfrei? (1 Punkt)
Kopiervo
rlage:
nur
f¨ur
Fachschaften
d) Markierte Graphen
1. Beschreiben Sie kurz in eigenen Worten, wann ein markierter Graph lebendig ist. (1 Punkt)
2. Gegeben sei der folgende markierte Graph. Ist der Graph lebendig und falls nein, erweitern Sie den Graphen um eine geeignete Anfangsmarkenverteilung. (2 Punkte)
v3
v1 v2
e5 e1•
e4 e2
e3
• •
3. Ist der von Ihnen erweitete Graph sicher? Wieviele Marken k¨onnen auf jeder Kante maximal
akkumulieren? (2 Punkte)
4. Stellen Sie die Topologiematrix f¨ur den gegebenen markierten Graphen auf. (2 Punkte)
5. Zeigen Sie f¨ur alle gerichteten Zyklen des in 2. dargestellten Graphen, dass die Summe der Marken unter allen Feuerungen konstant ist.
Hinweis:Verwenden Sie die Topologiematrix aus 4. (3 Punkte)
Kopiervo
rlage:
nur
f¨ur
Fachschaften
Aufgabe 2 (Hardwaresynthese) (30 Punkte)
a) Grundbegriffe
1. Gegeben sei ein SequenzgraphGS= (VS,ES)und ein RessourcegraphGR= (VR,ER). Ordnen Sie die Funktionen τ, γ, c, α, β, w, sowie die Variable L ihren folgenden Bedeutungen zu.
F¨ur jede Funktion geben Sie den entsprechenden Definitionsbereich und Wertebereich, sowie notwendige Bedingungen (dort, wo es welche gibt). (4 Punkte)
• Kostenfunktion:
• Gewichtsfunktion:
• Ablaufplan:
• Latenz:
• Allokation:
• Bindung:
2. Geben Sie eine Formel an, wie manLberechnen kann. Was bezeichnetL? (1 Punkt)
3. Gegeben sei folgender SystemC-Code:
1
2 class calculator : public sc_module
3 {
4 public:
5 sc_in <bool> activate ;
6 sc_in <double> a;
7 sc_in <double> b;
8 sc_in <double> c;
9 sc_out <double> y_out ;
10
11 SC_HAS_PROCESS ( calculator );
12
13 calculator ( sc_module_name module_name )
14 : sc_module ( module_name )
15 {
16 SC_METHOD ( algorithm );
17 sensitive << activate ;
18 }
Kopiervo
rlage:
nur
f¨ur
Fachschaften
19 private:
20 void calculator :: algorithm ()
21 {
22 double x1 = a;
23 double x2 = b;
24 double x3 = c;
25
26 double y1 = 10 + x1 ;
27 double y2 = 4 * x2 ;
28 double y3 = 7 + x3 ;
29
30 double s1 = y1 * y2 + y3 ;
31 double s2 = 2 * y3 +5;
32
33 double y = s1 / s2 ;
34
35 y_out = y;
36 }
37 }
38
Es gibt einen Ressourcetyp Addierer(r1), der die Addition abdeckt und einen zweiten Ressource- typ(r2), der s¨amtliche restliche Operationen (∗,/) berechnen kann. F¨ur die Berechnungszeiten der Operationen auf den Ressourcetypen gelte:d+=1undd∗=d/=3.
i. Geben Sie einen Sequenzgraphen f¨ur obiges SystemC-Modul graphisch sowie algebraisch
an (GS= (VS,ES)). (2 Punkte)
Kopiervo
rlage:
nur
f¨ur
Fachschaften
ii. Geben Sie einen RessourcegraphenGR= (VR,ER)an und annotieren Sie ihn mitGewich- ten, die den Berechnungszeiten der Operationen entsprechen. (1 Punkt)
b) Allokation, Ablaufplanung
1. Setzen Sie in den folgenden S¨atze die fehlenden W¨orter ein.
i. Eine Allokation ordnet jedem ... die Anzahl verf¨ugbarer ... zu.
a (0,5 Punkte)
ii. F¨ur einen gegebenen Datenflussgraphen ohne Ressourcenbeschr¨ankungen ergeben die Ablaufplanungsverfahren ... und ... immer die gleiche Latenz.
a (0,5 Punkte)
iii. DieMobilit¨atwird als die Differenz der Startzeitpunkte von ... und ...
bestimmt. (0,5 Punkte)
Kopiervo
rlage:
nur
f¨ur
Fachschaften
Gegeben sei folgender SequenzgraphGS(VS,ES)(Abbildung 1):
v
1v
2v
3v
4v
5v
6v
7v
8v
9v
10v
11NOP
NOP
Abbildung 1: Sequenzgraph
2. Berechnen Sie einen Ablaufplan mit dem Listscheduling-Verfahren unter der Annahme, dass ein Ressourcetyp und zwei Instanzen dieser Berechnungsressource zur Verf¨ugung stehen. Die Priorit¨at einer Operationvi∈VSsei die Anzahl der Nachfolger vonvizum Endknoten (NOP).
Geben Sie f¨ur jeden Zeitpunktt die KandidatenmengeKt,kan und die Menge geplanter Tasks St,k unter der Annahme, dass jede Operation eine Ausf¨uhrungsdauer von einer Zeiteinheit hat.
Tragen Sie Ihre Ergebnisse in die folgenden Tabelle 1 ein.dummy (5 Punkte)
t Kt,k St,k
0 1 2 3 4 5
Tabelle 1: Ablaufplanung
3. Der Ablaufplan soll mit Hilfe eines ILPs optimiert werden. Dazu werden bin¨are Variablenxi,t eingef¨uhrt. F¨ur diese gilt:
xi,t=
(1, wenn Operationvizum Zeitpunktt gestartet wird 0, ansonsten
Kopiervo
rlage:
nur
f¨ur
Fachschaften
i. Welche Bedingungen m¨ussen in dem ILP durch lineare (Un-)Gleichungen erf¨ullt werden?
a (1,5 Punkte)
ii. F¨ur die Operationenv4undv6seien die folgenden Bedingungen gegeben:
x4,1+x4,2+x4,3=1 x6,2+x6,3+x6,4=1
Was dr¨ucken diese Bedingungen aus? Wie groß ist dieMobilit¨atdieser beiden Operationen?
a (1 Punkt)
iii. Formulieren Sie nun f¨ur die Operationenv4undv6die Startzeitpunkteτ(v4)bzw.τ(v6)in
Abh¨angigkeit der bin¨aren Variablen. (1 Punkt)
iv. Formulieren Sie nun Beschr¨ankungen an die Startzeiten vonv4undv11 in Abh¨angigkeit
ihrer Vorg¨angerknoten. (2 Punkte)
Kopiervo
rlage:
nur
f¨ur
Fachschaften
c) Bindung
Gegeben sei der in Abbildung 2 dargestellte Datenflussgraph und Ablaufplan. Es gibt einen Ressourcetyp Addierer (r1) f¨ur die Ausf¨uhrung der Additionsknoten und einen Ressourcetyp ALU (r2) f¨ur die Multiplikationen.
1 2
4 3
5 6
x y a b
c
z
Zeit 0 Zeit 1 Zeit 2 Zeit 3 Zeit 4
+
+ +
x
x x
Abbildung 2: Datenflussgraph
1. Zeichnen Sie jeweils den Vertr¨aglichkeitsgraphen f¨ur die F¨alle i. Schwache Vertr¨aglichkeit
Vertr¨aglichkeitsgraph: (2 Punkte)
Kopiervo
rlage:
nur
f¨ur
Fachschaften
ii. Ablaufplanvertr¨aglichkeit
Vertr¨aglichkeitsgraph: (2 Punkte)
iii. Starke Vertr¨aglichkeit
Vertr¨aglichkeitsgraph: (2 Punkte)
2. Zeichnen Sie den Konfliktgraph f¨ur die F¨alle i. Nach Ablaufplanung
Konfliktgraph: (1 Punkt)
Kopiervo
rlage:
nur
f¨ur
Fachschaften
ii. Starker Konflikt
Konfliktgraph: (1 Punkt)
3. Wieviele Ressourcen werden von jedem Ressourcetyp ben¨otigt? (2 Punkte)
Kopiervo
rlage:
nur
f¨ur
Fachschaften
Aufgabe 3 (Software-Synthese) (30 Punkte)
Hinweis:Falls Sie ein Ersatzdiagramm verwenden, kennzeichnen Sie bitte deutlich, welche L¨osung bewertet werden soll.
a) Grundbegriffe und Kurzfragen
1. Wie sindharteundweicheTasks bei Echtzeitsystemen definiert? (2 Punkte)
2. Gegeben sei ein Taskviaus einer Task-MengeV. Ordnen Sie die Variablendi,td(vi),τb(vi), tr(vi)undτe(vi)den folgenden Bedeutungen zu. (2,5 Punkte)
• Ankunftszeit (Task ist bereit zur Ausf¨uhrung):
• Startzeit (Ausf¨uhrung des Tasks beginnt):
• Endzeit (Abarbeitung des Tasks ist beendet):
• Deadline (Task muss sp¨atestens beendet sein):
• Berechnungszeit (Zeit zur Ausf¨uhrung des Tasks ohne Unterbrechung):
3. Verwenden Sie die Variablen der vorherigen Teilaufgabe und geben Sie Formeln f¨ur folgende
Zeiten an. (5 Punkte)
• Flusszeit (engl. response time): tF(vi) =
• Mittlere Flusszeit (engl. average response time): F =
• Wartezeit (engl. waiting time): tW(vi) =
• Versp¨atung (engl. lateness): tL(vi) =
• ¨Uberhang (engl. tardiness): tT(vi) =
Kopiervo
rlage:
nur
f¨ur
Fachschaften
b) Looped Schedule
Gegeben sei folgender SDF-Graph:
1
A
B
C
D E
2
2 1
1 1
2 4 3
3
und folgender Looped Schedule:
(∞((2(6A)(2B)(4C)D)E))
1. Stellen Sie die TopologiematrixC∈Z|V|×|E| mitV ={A,B,C,D,E}und E ={(A,B),(A,C), (B,D),(C,D),(D,E)}auf und geben Sie den Repetitionsvektorγan. (6 Punkte)
2. Was versteht man unter einem sogenanntenSingle-Appearance-Schedule (SAS)und was wird
durch ihn minimiert? (2 Punkte)
Kopiervo
rlage:
nur
f¨ur
Fachschaften
Der SDF-Graph und der Looped Schedule sind hier noch einmal wiederholt:
1
A
B
C
D E
2
2 1
1 1
2 4 3
3
(∞((2(6A)(2B)(4C)D)E))
3. Wie hoch ist der maximale Datenspeicheraufwand? (Hinweis: Der Speicheraufwand ergibt sich aus der Summe der Marken auf allen Kanten zu einem bestimmten Zeitpunkt.) (Punkte auf
”Rechenweg“ und Ergebnis!) (4 Punkte)
Kopiervo
rlage:
nur
f¨ur
Fachschaften
c) Ablaufplanung
In folgender Tabelle sind f¨unf unterbrechbare Tasks mit ihren Ankunftszeitentr(vi), ihren Ausf¨uh- rungszeitendiund ihren Deadlinestd(vi)gegeben. Zus¨atzlich sind die Datenabh¨angigkeiten zwischen den Tasks in dem nebenstehenden Graphen dargestellt.
v1 v2 v3 v4 v5 tr(vi) 0 2 5 1 3
di 2 2 4 3 5
td(vi) 15 13 14 19 17
v
4v
3v
1v
5v
21. Bestimmen Sie die ver¨anderten Ankunftszeiten tr∗(vi) und Deadlines td∗(vi) f¨ur einen EDF- Algorithmus, der Datenabh¨angigkeiten ber¨ucksichtigt (EDF*). Tragen Sie die transformierten
Werte in folgende Tabelle ein. (4 Punkte)
v1 v2 v3 v4 v5
tr∗(vi) td∗(vi)
2. Zeichnen Sie den Ablaufplan gem¨aß EDF*-Algorithmus. Verwenden Sie hierzu das folgende
Diagramm: (3 Punkte)
t v
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
0 5
v4
v3
v2
v1
Ersatzdiagramm:
t v
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
0 5
v4
v3
v2
v1
Kopiervo
rlage:
nur
f¨ur
Fachschaften
3. Nennen Sie drei geeignete Verfahren, um Konflikte beim Zugriff auf gemeinsame Ressourcen durch verschiedene Tasks zu l¨osen. (Schreiben Sie die Namen aus!) (1,5 Punkte)