Ausgewählte Kapitel eingebetteter Systeme



Ähnliche Dokumente
Verfahren zur Bestimmung der Worst Case Execution Time (WCET)

Aufgabe 6 Excel 2013 (Fortgeschrittene) Musterlösung

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Würfelt man dabei je genau 10 - mal eine 1, 2, 3, 4, 5 und 6, so beträgt die Anzahl. der verschiedenen Reihenfolgen, in denen man dies tun kann, 60!.

Grundlagen der Informatik

OECD Programme for International Student Assessment PISA Lösungen der Beispielaufgaben aus dem Mathematiktest. Deutschland

Professionelle Seminare im Bereich MS-Office

Zeichen bei Zahlen entschlüsseln

HIER GEHT ES UM IHR GUTES GELD ZINSRECHNUNG IM UNTERNEHMEN

1 topologisches Sortieren

Hardware/Software-Codesign

Eine Bürokratiekostenfolgenabschätzung zum zweiten Gesetz für moderne Dienstleistungen am Arbeitsmarkt im Hinblick auf die Einführung einer Gleitzone

Lineare Gleichungssysteme

Petri-Netze / Eine Einführung (Teil 2)

Information Systems Engineering Seminar

Informatik-Sommercamp Mastermind mit dem Android SDK

Algorithmen und Datenstrukturen

Abituraufgabe zur Stochastik, Hessen 2009, Grundkurs (TR)

Bevor lineare Gleichungen gelöst werden, ein paar wichtige Begriffe, die im Zusammenhang von linearen Gleichungen oft auftauchen.

Ugra Proof Certification Tool

Informationsblatt Induktionsbeweis

Konzepte der Informatik

Kapitel 6. Komplexität von Algorithmen. Xiaoyi Jiang Informatik I Grundlagen der Programmierung

Version 0.3. Installation von MinGW und Eclipse CDT

Bundesverband Flachglas Großhandel Isolierglasherstellung Veredlung e.v. U g -Werte-Tabellen nach DIN EN 673. Flachglasbranche.

Fit in Mathe. Juni 2014 Klassenstufe 9. Lineare Funktionen

Wir arbeiten mit Zufallszahlen

Grundlagen der Verschlüsselung und Authentifizierung (2)

Stellen Sie bitte den Cursor in die Spalte B2 und rufen die Funktion Sverweis auf. Es öffnet sich folgendes Dialogfenster

Datenstrukturen & Algorithmen

Ein einfaches Modell zur Fehlerfortpflanzung

Wie Google Webseiten bewertet. François Bry

Die Gleichung A x = a hat für A 0 die eindeutig bestimmte Lösung. Für A=0 und a 0 existiert keine Lösung.

XONTRO Newsletter. Makler. Nr. 16

Eine Logikschaltung zur Addition zweier Zahlen

geben. Die Wahrscheinlichkeit von 100% ist hier demnach nur der Gehen wir einmal davon aus, dass die von uns angenommenen

Jan Parthey, Christin Seifert. 22. Mai 2003

Datenbank-Verschlüsselung mit DbDefence und Webanwendungen.

Handbuch ECDL 2003 Modul 2: Computermanagement und Dateiverwaltung Der Task-Manager

Es sollte die MS-DOS Eingabeaufforderung starten. Geben Sie nun den Befehl javac ein.

Funktion Erläuterung Beispiel

Kapiteltests zum Leitprogramm Binäre Suchbäume

Mathematik. UND/ODER Verknüpfung. Ungleichungen. Betrag. Intervall. Umgebung

Softwaretechnik 1 Tutorium

Doing Economics with the Computer Sommersemester Excel Solver 1

Profil A 49,3 48,2 50,7 50,9 49,8 48,7 49,6 50,1 Profil B 51,8 49,6 53,2 51,1 51,1 53,4 50, ,5 51,7 48,8

Kapitalerhöhung - Verbuchung

Kostenmaße. F3 03/04 p.188/395

Einfache Varianzanalyse für abhängige

Projektmanagement. Vorlesung von Thomas Patzelt 9. Vorlesung

Teil III: Routing - Inhalt I. Literatur. Geometric Routing. Voraussetzungen. Unit Disk Graph (UDG) Geometric Routing 29

QM: Prüfen -1- KN

Rente = laufende Zahlungen, die in regelmäßigen Zeitabschnitten (periodisch) wiederkehren Rentenperiode = Zeitabstand zwischen zwei Rentenzahlungen

Einführung in PHP. (mit Aufgaben)

Musterlösung 2. Mikroprozessor & Eingebettete Systeme 1

KI im Weltall: Der Remote Agent

Gründe für fehlende Vorsorgemaßnahmen gegen Krankheit

Die Verbindung von Linearer Programmierung und Graphentheorie

Alles zu seiner Zeit Projektplanung heute

Diplomarbeit. Konzeption und Implementierung einer automatisierten Testumgebung. Thomas Wehrspann. 10. Dezember 2008

Objektorientierte Programmierung

Lineare Gleichungssysteme

Musterlösung 2. Mikroprozessor & Eingebettete Systeme 1

2 Lineare Gleichungen mit zwei Variablen

Robot Karol für Delphi

Berühmt berüchtigte Softwarefehler. Der Pentium Division-Bug. vorgetragen von: Sebastian Knieschewski

Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen

PVS Grobkonzept: Strukturelle und funktionale Erweiterungen bei der Verwaltung der Arbeitszeit und der organisatorischen Zuordnung

Kontrollstrukturen - Universität Köln

Zahlen und das Hüten von Geheimnissen (G. Wiese, 23. April 2009)

Tangentengleichung. Wie lautet die Geradengleichung für die Tangente, y T =? Antwort:

DFBnet Postfachsystem Signatur, Automatische Antwort, Weiterleitung

1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage:

Approximation durch Taylorpolynome

Wir unterscheiden folgende drei Schritte im Design paralleler Algorithmen:

Studienplatzbeschaffung

Meet the Germans. Lerntipp zur Schulung der Fertigkeit des Sprechens. Lerntipp und Redemittel zur Präsentation oder einen Vortrag halten

Abitur Information am letzten Schultag. Albrecht-Dürer-Gymnasium Hagen Heinitzstr April 2014

Agile Software Development

Die Interferenz von flexiblen Arbeitszeiten mit der Nutzbarkeit arbeitsfreier Zeit Ein Prädiktor für soziale Beeinträchtigungen

Sudoku-Informatik oder wie man als Informatiker Logikrätsel löst

Aufgabe 12 Nach dem Eintippen der Kantenlänge soll die folgende Tabelle den Rauminhalt und die Oberfläche eines Würfels automatisch berechnen.

Ein Blick voraus. des Autors von C++: Bjarne Stroustrup Conrad Kobsch

Microsoft Update Windows Update

SOZIALVORSCHRIFTEN IM STRAßENVERKEHR Verordnung (EG) Nr. 561/2006, Richtlinie 2006/22/EG, Verordnung (EU) Nr. 165/2014

Versuch 3. Frequenzgang eines Verstärkers

Aufgabe 5 Excel 2013 (Fortgeschrittene)

Grundlagen der Theoretischen Informatik, SoSe 2008

8. Berechnung der kalkulatorischen Zinsen

Mikrocontroller Grundlagen. Markus Koch April 2011

Das große ElterngeldPlus 1x1. Alles über das ElterngeldPlus. Wer kann ElterngeldPlus beantragen? ElterngeldPlus verstehen ein paar einleitende Fakten

Clevere Regler schnell entworfen

Theoretische Informatik SS 04 Übung 1

Automatisches Parallelisieren

Was bisher geschah. Lernen: überwachtes Lernen. biologisches Vorbild neuronaler Netze: unüberwachtes Lernen

Risikomanagement bei PPP Projekten: Erfahrungen aus Deutschland

Computerarithmetik ( )

4D Server v12 64-bit Version BETA VERSION

Aus Knoten und Kanten, die Bezeichnungen haben können. Ein Graph, bei dem die Kanten Richtungen haben.

Transkript:

Ausgewählte Kapitel eingebetteter Systeme Verfahren zur Bestimmung der WCET Andreas Kaiser Friedrich-Alexander University Erlangen-Nuremberg

Übersicht Wieso WCET Berechnung? Methoden zur Bestimmung der WCET Messung Programmflussanalyse - Pfadanalyse - Architektur - Ganzzahlige Lineare Programmierung 2

Wieso WCET Berechnung? Bei Echtzeitanwendungen hängt die Korrektheit nicht nur vom logischen Ereignis ab, sondern auch vom Zeitpunkt, wann das Ereignis geliefert wird. WCET zu niedrig: Verpassen der Deadline WCET zu groß: ineffizient, nicht schedulbar 3

Bestimmung der WCET: Messung Alle Inputwerte müssen betrachtet werden Adaptive Messmethoden: nur Praxisrelevante Inputwerte Trotzdem zeitlich zu aufwendig Seltene Inputkombinationen führen zu falscher Abschätzung BCET WCET Schwer bestimmbare Spitze am Rand Ausführungszeit fehlerhaft unsicher sicher Geschätzte WCET Verfahren ungeeignet, wird trotzdem häufig angewandt 4

Programmflussanalyse: Grundblöcke Vorüberlegung: Addition der Ausführungszeiten der einzelnen Instruktionen Grundblockanfang Erster Befehl Ziele von Sprüngen Befehle die direkt auf Sprünge folgen Grundblock Grundblockanfang bis exklusive nächster Grundblockanfang 5

Programmflussanalyse: Grundblöcke Beispiel anhand von 3-Adress-Code: /* Grundblock 1 */ (1) prod := 0 (2) i := 0 /* Grundblock 2 */ (3) t1 := 4 * i (10) t7 := i + 1 (11) i := t7 (12) if i<=19 goto (3) /* Grundblock 3 */ (13) t8 := t7 + t6 6

Programmflussanalyse: Kontrollfluss Grundblöcke werden zu Knoten Kanten verbinden aufeinanderfolgende Grundblöcke 7

Programmlussanalyse: Architektur WCET jedes Grundblockes bestimmen Problem: heuristische Bausteine Hardwarenahe Analyse Instruction-Timing Addition (ITA) - Instruktionenausführungszeiten in Tabellen Path-Segment-Simulation (PSS) - Zyklengenaue Simulation 8

PFA: Datenabh. Ausführungszeiten Besipiel: Multiplizierer Shift Befehle Add Befehle Block-Move Befehle Nicht implementierte Befehle Software Funktion mit datenabhängiger Ausführungszeit ITA schlägt exakte Zeiten in Tabelle nach PSS kann exakte Werte nicht garantieren 9

PFA: Caches Programmcaches Abhängig von Reihenfolge des Befehlsholens Cachekonfliktgraph Datencaches Abhängig von Reihenfolge des Datenzugriffs Cache Hit nur wenn sicher PSS ist hier genauer als ITA 10

PFA: Pipelining Faktoren: Tiefe und Länge der Pipeline Deshalb Betrachtung über Grundblöcke hinaus Zeit 10 Zeit 6 Pipeline stufen Pipeline stufen (a) ohne Pipelining (b) mit Pipelining ITA addiert nur die Ausführungszeiten PSS ist hier genauer als ITA 11

PFA: Superskalare Architekturen Gleichzeitige Ausführung mehrerer Grundblöcke Mit ITA nicht darstellbar Simulation mit PSS möglich 12

PFA: Zusammenfassung Architektur ITA für einfache Architekturen geeignet PSS für komplexere Modelle Aber: Keine Methode deckt alle Fälle ab 13

Programmflussanalyse: längster Pfad Finden des zeitlich längsten Graphen durch KFG Alle möglichen Pfade identifizieren Falsche Programmpfade von ausführbaren unterscheiden - Unendliche Schleifeniterationen - Funktionale Beschränkungen Probleme: - Verschachtelte Schleifen - Rekursive Programmaufrufe 14

15

PFA: Lösungsansätze Verbieten von Rekursionen und Sprungebfehlen Einschränkung der Programmierer Compiler verwerten funktionale Beschränkungen Vom Programmierer angegeben Normalerweise keine solchen Compiler vorhanden Eigene Beschreibungssprache Informationen vom Programmierer bereitgestellt 16

Ganzzahlige Lineare Programmierung Alternative zur Berechnung des längsten Pfades Es müssen nicht alle Pfade einzeln berechnet werden Funktionsweise Strukturelle Beschränkungen - Integervariable für jede Programmverzweigung - Aufstellen von Flussgleichungen Funktionale Beschränkungen - Weitere Nebenbedingungen 17

ILP: Flussgleichungen 18

ILP: Formeln Erster Ansatz: WCET = Σ ci * xi WCET = max{ Σ c i * x i d 1 = 1 Λ Σd j = Σ d k = x i, i = 1 N Λ funktionale Beschränkungen} Mit Cache: c i * x i = c i hit * x i hit + c i miss * x i miss Lösung mit ILP - Solver - c i : Ausführungszeit des Grundblockes Bi - x i : Maximale Anzahl der Ausführungen von Bi - N : Anzahl der Grundblöcke - d j : Eingehende Kanten - d k : Ausgehende Kanten 19

Ausblick Weitere Probleme Netzwerkanwendungen Nebenläufigkeit Hardwareunabhängige WCET Analyse Verbesserungsmöglichkeiten Single feasible Path 20

Ausblick Programmflussanalyse noch in Forschung, aber auch schon im Einsatz Beispiele: - ait für WCET in Flugzeugsteuerungssystemen der Airbus France - SYMTA (eingebettete Systeme: Automobil, Multi-Media, etc.) 21

Fragen und Diskussion Danke für die Aufmerksamkeit 22