Echtzeitsysteme. Übungen zur Vorlesung. Messung von Ausführungszeiten & Antwortzeiten. Tobias Klaus, Florian Schmaus, Peter Wägemann
|
|
- Ingeborg Seidel
- vor 7 Jahren
- Abrufe
Transkript
1 Echtzeitsysteme Übungen zur Vorlesung Messung von Ausführungszeiten & Antwortzeiten Tobias Klaus, Florian Schmaus, Peter Wägemann Friedrich-Alexander-Universität Erlangen-Nürnberg (FAU) Lehrstuhl für Informatik 4 (Verteilte Systeme und Betriebssysteme) Klaus, Schmaus, Wägemann EZS ( ) 1
2 1 Wiederholung: Stack-Aufbau 2 Einflüsse der Ausführungszeit 3 Zeitmessung Zeitgeber Probleme von Messungen 4 Was bedeutet Antwortzeit? 5 Aufgabe: Antwortzeit Klaus, Schmaus, Wägemann EZS ( ) 2
3 Wiederholung: Stack-Aufbau 1 int main() { 2 int a, b, c; 3 a = 10; 4 b = 20; 5 f1(a, b); 6 return (a); 7 } Stack-Frame zur Verwaltung des Stacks Lokale Variablen Funktionsparameter Rücksprungadressen 2 Beispiel Aufbau eines Stack-Frames (Funktionen main( ), f1( ), f2( )) Framepointer (Reg. ebp) Stackpointer (Reg. esp) Parameter für f1 Rücksprungadresse in main gesicherter Framepointer von main Lokale Variablen von f1 gerettete Register (falls nötig) Parameter für f2 Rücksprungadresse aus f2 zurück in f1 gesicherter Framepointer von f1 Lokale Variablen von f2 main( ) f1( ) f2( ) Achtung: architekturabängige Optimierungen können zu Padding (Füllbytes) führen! Klaus, Schmaus, Wägemann EZS ( ) Wiederholung: Stack-Aufbau 3
4 Ablauf Funktionsaufruf 2 Stack mehrerer Funktionsaufrufe int main() { int a, b, c; a = 10; b = 20; Stack-Frame für f1(a, b); main erstellen return(a); &a = fp-4 } &b = fp-8 &c = fp-12 sp fp return-addr fp retten a b c 2 Stack mehrerer 2000 int main() { int a, 1996 a = 10; 1992 b = 20; 1988 f1(a, b 1984 return( 1980 } Klaus, Schmaus, Wägemann EZS ( ) Wiederholung: Stack-Aufbau 4
5 Übersicht 1 Wiederholung: Stack-Aufbau 2 Einflüsse der Ausführungszeit 3 Zeitmessung Zeitgeber Probleme von Messungen 4 Was bedeutet Antwortzeit? 5 Aufgabe: Antwortzeit Klaus, Schmaus, Wägemann EZS ( ) Einflüsse der Ausführungszeit 5
6 1 Wiederholung: Stack-Aufbau 2 Einflüsse der Ausführungszeit 3 Zeitmessung Zeitgeber Probleme von Messungen 4 Was bedeutet Antwortzeit? 5 Aufgabe: Antwortzeit Klaus, Schmaus, Wägemann EZS ( ) Einflüsse der Ausführungszeit 6
7 Beispiel: Ausführungszeit 1 uint64_t count_positive(uint64_t* array, size_t size){ 2 uint64_t count = 0; 3 for(int i = 0; i < size; i++){ 4 if (array[i] > 0){ 5 count++; 6 } 7 } 8 return count; 9 } Benchmark-Programm Iteration über Array mit variabler Größe Zählen der positiven Zahlen in Array Wie verhält sich die Ausführungszeit bei Messungen? Klaus, Schmaus, Wägemann EZS ( ) Einflüsse der Ausführungszeit 7
8 Histogramm: Ausführungszeiten 4000 Häufigkeit WOET CPU-Zyklen Maximum der beobachteten Ausführungszeiten (engl. worst-observed execution time WOET) Ausführungen der Funktion count_positive() Maximum: 9992 CPU-Zyklen Hohe Streuung der Ausführungszeiten Warum? Klaus, Schmaus, Wägemann EZS ( ) Einflüsse der Ausführungszeit 8
9 Setup der Messung: Applikation Häufigkeit WOET CPU-Zyklen 1 uint64_t array[array_size]; 2 void main(void){ 3 memset(array, 0, sizeof(array)); // alle Eingabedaten mit 0 initialisiert! 4 start = get_time(); 5 positive = count_positive(array, ARRAY_SIZE); 6 stop = get_time(); 7 printf("%lu", stop-start); 8 } Ausführungszeit unabhängig von unterschiedlichen Eingabedaten Feste Länge Immer mit 0 initialisiert kein Einfluss der Eingabedaten Woher kommen dann die Schwankungen? Klaus, Schmaus, Wägemann EZS ( ) Einflüsse der Ausführungszeit 9
10 Setup der Messung: Hardware CPU: Intel Core i7 Takt: 3.3 GHz Cache: 4 MB Smart Cache Standard -Betriebssystem Aufgaben-System: zusätzliche Last (stress --cpu 8 --io 8 --hdd 8 --vm 8) Klaus, Schmaus, Wägemann EZS ( ) Einflüsse der Ausführungszeit 10
11 Einflüsse der Hardware & des Betriebssystems Anwendung count_positive Kernel Scheduling, Synchronisation, Threads, ISR/DSR Hardware Caches, CPU, Speicher Pipelining: spekulative Ausführung (engl. Branch Prediction) Takt: dynamische Änderung möglich (engl. Dynamic Frequency Voltage Scaling, DVFS) Cache: heuristische Strategien Scheduling Keine Priorisierung von Aufgabe: Completely Fair Scheduler Timer-Interrupts möglich Verdrängung möglich Wie verhält sich die Messung auf dem EZS-Board? Klaus, Schmaus, Wägemann EZS ( ) Einflüsse der Ausführungszeit 11
12 count_positive auf EZS-Board Occurrences WOET Cycles Geringere Komplexität weniger Streuung Trotzdem Unterschiede Hardware 3-stufige Pipeline Spekulative Ausführung: ART Accelerator Betriebssystem: Schwankungen der Ausführungszeit trotz eines Threads? Wissen über Hard- & Software essenziell für Echtzeitsysteme? Klaus, Schmaus, Wägemann EZS ( ) Einflüsse der Ausführungszeit 12
13 Was beeinflusst die Ausführungszeit? Applikation Hardware Scheduling & Betriebssystem 1. Applikation: Eingabedaten, Hardware: Caches, Pipelining, Scheduling: Höherpriore Aufgaben, Interrupts, Overheads,... (gegenseitige) Einflüsse kaum vermeidbar, aber reduzierbar Klaus, Schmaus, Wägemann EZS ( ) Einflüsse der Ausführungszeit 13
14 Übersicht 1 Wiederholung: Stack-Aufbau 2 Einflüsse der Ausführungszeit 3 Zeitmessung Zeitgeber Probleme von Messungen 4 Was bedeutet Antwortzeit? 5 Aufgabe: Antwortzeit Klaus, Schmaus, Wägemann EZS ( ) Zeitmessung 14
15 Zähler in Mikrocontrollern Zähler (Counter) zählen Hardware-Ereignisse Externer Drehgeber (Radumdrehung) Interner Prozessortakt (hohe Auflösung) Externer Quarz (Real-Time Clock) Äquidistante Ereignisse ermöglichen einen Zeitgeber (Timer) für Periodische Aktivierung Messen von Zeitabständen Kontrolliertes Verbrennen von Prozessorzeit Klaus, Schmaus, Wägemann EZS ( ) Zeitmessung Zeitgeber 15
16 Zähler-Betriebsmodi Zähler bzw. Zeitgeber bieten zwei Betriebsmodi: Abfragebetrieb (Polling) Aktives Auslesen des Zählers bis Erreichen eines vorgegebenen Wertes Unterbrecherbetrieb (Interrupt) Zähler unterbricht System Erreichen eines konfigurierten Zählerstandes. Klaus, Schmaus, Wägemann EZS ( ) Zeitmessung Zeitgeber 16
17 Probleme von Taktgebern Clock 128 MHz 0 Clock 128 MHz 90 Clock 128 MHz 180 Clock 128 MHz 270 Clock-Drift Abweichtung der internen Uhr von Realzeit Temperaturabhängig Äußerst kritisch in verteilten Echtzeitsystemen Quarz: 10 6 sec/sec = 1 sec in 11,6 Tagen Lösung Messung mit externer, hochauflösender Uhr Oszilloskop Übungsaufgabe Klaus, Schmaus, Wägemann EZS ( ) Zeitmessung Zeitgeber 17
18 Overhead der Messung Wer misst misst Mist! 1 start = get_ticks(); // ticks ~ processor cycles/timer values 2 // nothing executed here 3 stop = get_ticks(); 4 printf("%lu", stop-start); Häufigkeit WOET CPU-Zyklen Overhead-Bestimmung für Intel-CPU; EZS-Board erweiterte Übungen Overhead-Bestimmung vernachlässigt Instruktionen bis zum 1. Abfragen des Timer-Registers Instruktionen nach dem 2. Abfragen des Timer-Registers Weitere Störfaktoren? Klaus, Schmaus, Wägemann EZS ( ) Zeitmessung Probleme von Messungen 18
19 Einschub: Zusammenfassung von Ergebnissen How Not To Lie With Statistics: The Correct Way To Summarize Benchmark Results [1] Wichtige Regeln 1. Für normalisierte Werte nicht das arithmetische Mittel verwenden 2. Für normalisierte Werte das geometrische Mittel verwenden 3. Für Rohdaten (mit Einheiten) das arithmetische Mittel verwenden Arithmetisches Mittel: x arith = 1 n N i=1 x i Geometrisches Mittel: x geom = n N i=1 x i Für Messungen in Echtzeitsystemen 4. Alle Standardabweichungen müssen weniger als 1 % betragen [2] Klaus, Schmaus, Wägemann EZS ( ) Zeitmessung Probleme von Messungen 19
20 Übersicht 1 Wiederholung: Stack-Aufbau 2 Einflüsse der Ausführungszeit 3 Zeitmessung Zeitgeber Probleme von Messungen 4 Was bedeutet Antwortzeit? 5 Aufgabe: Antwortzeit Klaus, Schmaus, Wägemann EZS ( ) Was bedeutet Antwortzeit? 20
21 Ausführungszeit & Antwortzeit Priorität ISR Thread Ereignis Latenz Antwortzeit Ergebnis t 1 t Zeit Stoppuhr Punkte auf der Zeitachse t 1 und t 2 Ereignis und Ergebnis Antwortzeit ist t = t 2 t 1 (Beispiel: = 50 Zählerticks) Klaus, Schmaus, Wägemann EZS ( ) Was bedeutet Antwortzeit? 21
22 Messung der Antwortzeit Priorität ISR Laufzeitzähler Thread A Thread B Zeit Rechenzeitsimulation Verbrauchte Laufzeit eines Threads Vorgegebene Zeit aktiv warten Laufzeit verbrauchen Umsetzung Funktion, die aktiv t wcet wartet Schleife auf Zählerwert HW-Zähler läuft bei Unterbrechungen weiter! lokaler Zähler Dekrement bei jeder Änderung? Beispiel: Sprung von Klaus, Schmaus, Wägemann EZS ( ) Was bedeutet Antwortzeit? 22
23 Übersicht 1 Wiederholung: Stack-Aufbau 2 Einflüsse der Ausführungszeit 3 Zeitmessung Zeitgeber Probleme von Messungen 4 Was bedeutet Antwortzeit? 5 Aufgabe: Antwortzeit Klaus, Schmaus, Wägemann EZS ( ) Aufgabe: Antwortzeit 23
24 libezs-überblick Plattformunabhängige Hilfsfunktionen Timer-Zugriff (Zeitmessung) DAC-Zugriff GPIO-Zugriff... <aufgabe > -- CMakeLists. txt -- app.c -- ecos -- libezs -- include -- ezs_dac.h -- ezs_gpio.h -- ezs_stopwatch.h -- src -- ezs_stopwatch.c -- drivers - stm32 -- ezs_dac.c -- ezs_counter.c -- ezs_gpio.c Die libezs wird im Laufe der Übungen erweitert Klaus, Schmaus, Wägemann EZS ( ) Aufgabe: Antwortzeit 24
25 Zeitmessung in ezs_stopwatch.c/.h Die Zeitmessung wird durch zwei Funktionen implementiert: void ezs_watch_start ( cyg_uint32 * state ); cyg_uint32 ezs_watch_stop ( cyg_uint32 * state ); Parameter: Zeiger auf globale Variable viele unabhängige Messzeitpunkte ezs_watch_stop(cyg_uint32 *state) gibt Zeitdifferenz in Ticks zurück Hinweis ezs_counter_get() in drivers/include/ezs_counter.h Hinweis Auflösung der Zählers in Pikosekunden: ezs_counter_resolution_ps() Klaus, Schmaus, Wägemann EZS ( ) Aufgabe: Antwortzeit 25
26 WCET-Simulator in ezs_stopwatch.c/.h Zu implementieren: void ezs_lose_time ( cyg_uint32 wcet, cyg_uint8 percentage ); Parameter: 1. Gewünschte WCET in Ticks 2. Maximum des zufällig zu subtrahierenden WCET-Anteils Implementierung muss internen Zähler verwalten Bei welchen Änderung des Systemzählers anpassen? Welche Auflösung ist erreichbar Jeder Thread besitzt einen eigenen Stack! Thread-übergreifende Messungen möglich Abfragebetrieb Hinweis Auflösung des Zählers in Pikosekunden: ezs_counter_resolution_ps() Kann das problematisch sein? Klaus, Schmaus, Wägemann EZS ( ) Aufgabe: Antwortzeit 26
27 Rechnen mit Timer-Auflösungen 1 // CPU_SPEED is 84MHz 2 // RCC_CLOCK is CPU_SPEED / 2 = 42MHz 3 // timer increment frequency is RCC_CLOCK / (PRESCALER+1) 4 // PRESCALE is configured as 1 5 // counter will overflow after??? sec Überläufe: Dauer der Messung beachten 32-Bit Timer in auf EZS-Board Rundungsfehler: Auflösungen beachten Auflösung in Mikro-Sekunden-Ticks /42 = vs. floor( /42) 15 µs Rundungsfehler bei 1 s Zeitmessung Lösung 1 cyg_resolution_t ezs_counter_get_resolution(void); Dividend Divisor beinhaltet die Auflösung in Nano-Sekunden Klaus, Schmaus, Wägemann EZS ( ) Aufgabe: Antwortzeit 27
28 Literatur [1] Philip J Fleming and John J Wallace. How not to lie with statistics: the correct way to summarize benchmark results. Communications of the ACM, 29(3): , [2] Gernot Heiser. Systems benchmarking crimes, Klaus, Schmaus, Wägemann EZS ( ) Literatur 29
Messung von Ausführungszeiten & Antwortzeiten
Echtzeitsysteme Übungen zur Vorlesung Messung von Ausführungszeiten & Antwortzeiten Simon Schuster Peter Wägemann Friedrich-Alexander-Universität Erlangen-Nürnberg (FAU) Lehrstuhl für Informatik 4 (Verteilte
EZS Handwerkszeug. Interaktion mit dem System Beobachtung. Interaktion mit dem System Beeinflussung. Hardware. Hardware. Simulator.
1 Überblick EZS Handwerkszeug Übung zur Vorlesung EZS Martin Hoffmann, Florian Franzmann, Tobias Klaus 1 Handwerkszeug Zeitmessungen libezs ecos Unterbrechungsbehandlung Friedrich-Alexander-Universität
EZS Handwerkszeug. Implementierung der Übungsaufgaben. Programmieren in C/C++
1 Überblick EZS Handwerkszeug Übung zur Vorlesung EZS Florian Franzmann, Martin Hoffmann, Isabella Stilkerich Friedrich-Alexander-Universität Erlangen-Nürnberg Lehrstuhl Informatik 4 Verteilte Systeme
Ausführungszeiten. Worst-Case Execution-Time. Übung zur Vorlesung EZS. Zeitgeber Oszilloskop Diskussion
1 Überblick Ausführungszeiten Übung zur Vorlesung EZS Florian Franzmann Martin Hoffmann Tobias Klaus Peter Wägemann Friedrich-Alexander-Universität Erlangen-Nürnberg Lehrstuhl Informatik 4 (Verteilte Systeme
Übersicht. Echtzeitsysteme. Wiederholungen? Informationen zum Übungsbetrieb. cipan Sprechstunde der CIP-Admins
Übersicht Echtzeitsysteme Übungen zur Vorlesung Entwicklungsumgebung Teil ) Tobias Klaus, Florian Schmaus, Peter Wägemann Friedrich-Alexander-Universität Erlangen-Nürnberg FAU) Lehrstuhl für Informatik
Tobias Klaus Florian Schmaus Peter Wägemann
Wiederholung Nicht-periodische Aufgaben Tobias Klaus Florian Schmaus Peter Wägemann Friedrich-Alexander-Universität Erlangen-Nürnberg (FAU) Lehrstuhl für Informatik 4 (Verteilte Systeme und Betriebssysteme)
Echtzeitsysteme. Übungen zur Vorlesung. Entwicklungsumgebung (Teil 2) Tobias Klaus, Florian Schmaus, Peter Wägemann
Echtzeitsysteme Übungen zur Vorlesung Entwicklungsumgebung (Teil 2) Tobias Klaus, Florian Schmaus, Peter Wägemann Friedrich-Alexander-Universität Erlangen-Nürnberg (FAU) Lehrstuhl für Informatik 4 (Verteilte
Echtzeitsysteme. Übungen zur Vorlesung. Entwicklungsumgebung (Teil 2) Tobias Klaus, Florian Schmaus, Peter Wägemann
Echtzeitsysteme Übungen zur Vorlesung Entwicklungsumgebung (Teil 2) Tobias Klaus, Florian Schmaus, Peter Wägemann Friedrich-Alexander-Universität Erlangen-Nürnberg (FAU) Lehrstuhl für Informatik 4 (Verteilte
Nicht-periodische Aufgaben: Extended Scope (Teil 1)
Echtzeitsysteme Übungen zur Vorlesung Nicht-periodische Aufgaben: Extended Scope (Teil 1) Florian Schmaus Peter Wägemann Friedrich-Alexander-Universität Erlangen-Nürnberg (FAU) Lehrstuhl für Informatik
Echtzeitsysteme. Übersicht. Wiederholungen notwendig? Informationen zum Übungsbetrieb. Übungen zur Vorlesung. Entwicklungsumgebung (Teil 2)
Echtzeitsysteme Übungen zur Vorlesung Entwicklungsumgebung Teil ) Florian Schmaus Peter Wägemann Friedrich-Alexander-Universität Erlangen-Nürnberg FAU) Lehrstuhl für Informatik 4 Verteilte Systeme und
WCET Analyse. Florian Franzmann Tobias Klaus Peter Wägemann
WCET Analyse Florian Franzmann Tobias Klaus Peter Wägemann Friedrich-Alexander-Universität Erlangen-Nürnberg Lehrstuhl Informatik 4 (Verteilte Systeme und Betriebssysteme) http://www4.cs.fau.de 11. November
Ü B U N G E N Z U E C H T Z E I T S Y S T E M E
AU F G A B E 3 : S I M P L E S C O P E In den vorangegangenen Übungsaufgaben haben Sie bereits periodische Aufgaben kennengelernt. Bislang erfolgte ihre Implementierung durch relative Verzögerung der Fäden.
Echtzeitsysteme. Übungen zur Vorlesung. Entwicklungsumgebung (Teil 2)
Echtzeitsysteme Übungen zur Vorlesung Entwicklungsumgebung (Teil 2) Florian Schmaus Peter Wägemann Friedrich-Alexander-Universität Erlangen-Nürnberg (FAU) Lehrstuhl für Informatik 4 (Verteilte Systeme
Nicht-periodische Aufgaben: Extended Scope (Teil 1)
Echtzeitsysteme Übungen zur Vorlesung Nicht-periodische Aufgaben: Extended Scope (Teil 1) Florian Schmaus Peter Wägemann Friedrich-Alexander-Universität Erlangen-Nürnberg (FAU) Lehrstuhl für Informatik
Echtzeitsysteme. Übungen zur Vorlesung. Entwicklungsumgebung (Teil 2)
Echtzeitsysteme Übungen zur Vorlesung Entwicklungsumgebung (Teil 2) Florian Schmaus Peter Wägemann Friedrich-Alexander-Universität Erlangen-Nürnberg (FAU) Lehrstuhl für Informatik 4 (Verteilte Systeme
Technische Informatik I Übung 3: Assembler
Technische Informatik I Übung 3: Assembler Roman Trüb Computer Engineering Group, ETH Zürich 1 Lernziele Übung 3 Aufgabe 1 Aufbau und Aufruf von Funktionen in Assembler Assembler Codeanalyse Aufgabe 2
T 1 Abtastung Signal T 2 Abtastung Signal T 3 Analyse 20 3 T 4 Darstellung 100 6
A U FG A B E 4 : S I M P L E S C O P E In den vorangegangenen Übungsaufgaben haben Sie bereits periodische Aufgaben kennengelernt. Bislang erfolgte deren Implementierung durch relative Verzögerung der
EZS Handwerkszeug. Übung zur Vorlesung EZS. Florian Franzmann Martin Hoffmann Tobias Klaus Peter Wägemann
EZS Handwerkszeug Übung zur Vorlesung EZS Florian Franzmann Martin Hoffmann Tobias Klaus Peter Wägemann Friedrich-Alexander-Universität Erlangen-Nürnberg Lehrstuhl Informatik 4 (Verteilte Systeme und Betriebssysteme)
Wiederholung: Übernahmeprüfung bei terminbasierter Einplanung
Echtzeitsysteme Übungen zur Vorlesung Evaluation Evaluation der Veranstaltung Eure Meinung (Lob/Kritik) ist uns wichtig! Eure Rückmeldung hat Konsequenzen A Bitte evaluiert Vorlesung und Übungen Betriebsmittelprotokolle
Extended Scope. Events und Mailboxen. Florian Franzmann Tobias Klaus Florian Korschin Florian Schmaus Peter Wägemann
Extended Scope Events und Mailboxen Florian Franzmann Tobias Klaus Florian Korschin Florian Schmaus Peter Wägemann Friedrich-Alexander-Universität Erlangen-Nürnberg Lehrstuhl Informatik 4 (Verteilte Systeme
Überblick: Teil D Betriebssystemabstraktionen
Überblick: Teil D Betriebssystemabstraktionen 15 Programmausführung, Nebenläufigkeit 16 Ergänzungen zur Einführung in C 17 Betriebssysteme 18 Dateisysteme 19 Programme und Prozesse V_SPIC_handout 20 Speicherorganisation
Echtzeitsysteme. Übungen zur Vorlesung. Analyse von Ausführungszeiten
Echtzeitsysteme Übungen zur Vorlesung Analyse von Ausführungszeiten Florian Schmaus Peter Wägemann Friedrich-Alexander-Universität Erlangen-Nürnberg (FAU) Lehrstuhl für Informatik 4 (Verteilte Systeme
Zustellerkonzepte: Extended Scope (Teil 2)
Echtzeitsysteme Übungen zur Vorlesung Zustellerkonzepte: Extended Scope (eil 2) Florian Schmaus Peter Wägemann Friedrich-Alexander-Universität Erlangen-Nürnberg (FAU) Lehrstuhl für Informatik 4 (Verteilte
Aufgabe 2: Aperiodic Task Support
Einleitung Erweiterung des Quadrokopter-Kontrollsystems Aufgabe 2: Aperiodic Task Support Echtzeitsysteme - Übungen zur Vorlesung Peter Ulbrich, Martin Hoffmann Friedrich-Alexander-Universität Erlangen-Nürnberg
Inhalt. Übungen zu Systemnahe Programmierung in C (SPiC) Implementierung von Interruptbehandlungen. Interrupts
Übungen zu Systemnahe Programmierung in C (SPiC) Moritz Strübe, Rainer Müller (Lehrstuhl Informatik 4) Inhalt Interrupts Allgemein AVR Interrupt-Handler Synchronisation volatile Sperren von Interrupts
Technische Informatik I - HS 18
Institut für Technische Informatik und Kommunikationsnetze Prof. L. Thiele Technische Informatik I - HS 18 Musterlösung zu Übung 3 Datum : 25.-26. Oktober 2018 Aufgabe 1: Wurzelverfahren nach Heron Das
Technische Informatik 1 Übung 2 Assembler (Rechenübung) Georgia Giannopoulou (ggeorgia@tik.ee.ethz.ch) 22./23. Oktober 2015
Technische Informatik 1 Übung 2 Assembler (Rechenübung) Georgia Giannopoulou (ggeorgia@tik.ee.ethz.ch) 22./23. Oktober 2015 Ziele der Übung Aufgabe 1 Aufbau und Aufruf von Funktionen in Assembler Codeanalyse
Seminar: Multi-Core Architectures and Programming
Seminar: Multi-Core Architectures and Programming Parallelisierung des Viola-Jones Algorithmus auf Tilera Hardware-Software-Co-Design Universität Erlangen-Nürnberg 1 Übersicht Einleitung Erste Versuche
Design and Implementation of a Soft-error Resilient OSEK Real-time Operating System
Design and Implementation of a Soft-error Resilient OSEK Real-time Operating System Florian Lukas Lehrstuhl für Informatik 4 Verteilte Systeme und Betriebssysteme Friedrich Alexander Universität Erlangen
Technische Informatik 1 Übung 5: Eingabe/Ausgabe (Computerübung) Georgia Giannopoulou, ETZ G & 18.
Technische Informatik 1 Übung 5: Eingabe/Ausgabe (Computerübung) Georgia Giannopoulou, ETZ G77 ggeorgia@tik.ee.ethz.ch 17. & 18. November 2016 Inhalt Implementierung von Device-I/O mittels Polling und
U23 Assembler Workshop
Ike e.v. http://koeln.ccc.de 2016-11-05 Überblick 1 CPU, Assembler Überblick x86 x86 Assembler 2 RAM, Stack, Calling Conventions Stack Calling Conventions Stackframes 3 Branches Jumps 4 Speicher, C-Interface
Simple Scope. ecos-vertiefung. Florian Franzmann Tobias Klaus Peter Wägemann
Simple Scope ecos-vertiefung Florian Franzmann Tobias Klaus Peter Wägemann Friedrich-Alexander-Universität Erlangen-Nürnberg Lehrstuhl Informatik 4 (Verteilte Systeme und Betriebssysteme) http://www4.cs.fau.de
N Bit Binärzahlen. Stelle: Binär-Digit:
N Bit Binärzahlen N Bit Binärzahlen, Beispiel 16 Bit: Stelle: 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 Binär-Digit: 0 0 1 0 1 0 0 1 1 1 0 0 1 0 0 0 Least Significant Bit (LSB) und Most Significant Bit (MSB)
Übung zu Betriebssysteme
Übung zu Betriebssysteme Zeitscheibenscheduling 20. & 22. Dezember 2017 Andreas Ziegler Bernhard Heinloth Lehrstuhl für Informatik 4 Friedrich-Alexander-Universität Erlangen-Nürnberg Lehrstuhl für Verteilte
Technische Informatik 1 Übung 8 Instruktionsparallelität (Rechenübung) Andreas Tretter 8./9. Dezember Bitte immer eine Reihe freilassen
Technische Informatik 1 Übung 8 Instruktionsparallelität (Rechenübung) Andreas Tretter 8./9. Dezember 2016 Bitte immer eine Reihe freilassen Ziele der Übung Verschiedene Arten von Instruktionsparallelität
U23 Assembler Workshop
Ike e.v. http://koeln.ccc.de 2016-11-05 Überblick 1 CPU, Assembler Überblick x86 x86 Assembler 2 RAM, Stack, Calling Conventions Stack Calling Conventions Stackframes 3 Branches Jumps 4 Speicher, C-Interface
Fakultät für Informatik der Technischen Universität München. Kapitel 3. Nebenläufigkeit
Kapitel 3 Nebenläufigkeit 136 Inhalt Motivation Unterbrechungen (Interrupts) (Software-) Prozesse Threads Interprozesskommunikation (IPC) 137 Links: Literatur Maurice Herlihy, Nir Shavit, The Art of Multiprocessor
Vorlesung 5: Interrupts
Universität Bielefeld Technische Fakultät AG Rechnernetze und verteilte Systeme Vorlesung 5: Interrupts Peter B. Ladkin Kommunikation über den Bus CPU läuft zu einer Taktfrequenz I/O Geräte laufen zu anderen
Ein Benchmarkgenerator zur Bewertung von WCET-Analysatoren
Ein Benchmarkgenerator zur Bewertung von WCET-Analysatoren 16. November 2017 Christian Eichler eichler@cs.fau.de Lehrstuhl für Verteilte Systeme und Betriebssysteme Motivation Motivation: WCET-Analysatoren
Übung zu Betriebssysteme
Übung zu Betriebssysteme Threadumschaltung 6. & 8. Dezember 2017 Andreas Ziegler Bernhard Heinloth Lehrstuhl für Informatik 4 Friedrich-Alexander-Universität Erlangen-Nürnberg Lehrstuhl für Verteilte Systeme
CS1005 Objektorientierte Programmierung
CS1005 Objektorientierte Programmierung Bachelor of Science (Informatik) Funktionen / statische Methoden - Definition - Verwendung - Ausführung Seite 1 Th Letschert Funktionen: Definition und Verwendung
Informatik I (D-MAVT)
Informatik I (D-MAVT) Übungsstunde 8, 22.4.2009 simonmayer@student.ethz.ch ETH Zürich Aufgabe 1: Pointer & Structs Schauen wir s uns an! Aufgabe 2: Grossteils gut gemacht! Dynamische Arrays! Sortieren:
Sicheres C Programmieren in Embedded Systemen ARM II (ARM7TMDI [1] ) Wintersemester 2010-2011
Sicheres C in Embedded Systemen ARM II (ARM7TMDI [1] ) Wintersemester 2010-2011 Dipl. Ing. (FH) Ebrecht Roland, Infineon Technologies AG M.Eng (Electronic Systems) Güller Markus, Infineon Technologies
Übung "Struktur von Mikrorechnern" (CBS)
6 Funktion und Anwendung von Timern 6.1 Allgemeiner Überblick 6.2 Vorteiler 6.3 Betriebsmodi 6.3.1 Normalisierte CPU-Zeit 6.3.2 Normalisierter Zeit-Ausgang 6.3.3 Puls-Weiten-Modulations-Ausgang (PWM) 6.3.4
Betriebssysteme Übung 2. Tutorium System Calls & Multiprogramming
Betriebssysteme Übung 2. Tutorium System Calls & Multiprogramming Task Wiederholung 1 System SysCalls (1) Wozu? Sicherheit Stabilität Erfordert verschiedene modes of execution: user mode privileged mode
Der Scheduler von Windows 2000 Konzepte und Strategien
Der Scheduler von Windows 2000 Konzepte und Strategien Daniel Lohmann lohmann@informatik.uni-erlangen.de Gliederung 1. Grundbegriffe 2. Eigenschaften des Schedulers Grundlegende Eigenschaften Prioritätenmodell
Für den CTC-Mode kann demnach TCCR1A komplett auf 0 gesetzt werden, weil WGM11 und WGM10 in diesem Register liegen und beide laut Tabelle 0 sind:
Timerinterrupts beim Arduino Timer 1 (16bit) Register: Bits in den Registern und ihre Bedeutung: Für den CTC-Mode kann demnach TCCR1A komplett auf 0 gesetzt werden, weil WGM11 und WGM10 in diesem Register
Übungsblatt 10 (Block C 2) (16 Punkte)
georg.von-der-brueggen [ ] tu-dortmund.de ulrich.gabor [ ] tu-dortmund.de pascal.libuschewski [ ] tu-dortmund.de Übung zur Vorlesung Rechnerstrukturen Wintersemester 2016 Übungsblatt 10 (Block C 2) (16
Immediate Priority Ceiling
Vereinfachtes Protokoll: Immediate priority ceiling: Prozesse, die ein Betriebsmittel s belegen, bekommen sofort die Priorität ceil(s) zugewiesen. Anwendungsgebiet: Immediate Priority Ceiling Verwendung
Technische Informatik 1 - HS 2016
Institut für Technische Informatik und Kommunikationsnetze Prof. L. Thiele Technische Informatik 1 - HS 2016 Lösungsvorschläge für Übung 8 Datum: 8. 9. 12. 2016 1 Instruktionsparallelität VLIW Gegeben
Timm M. Steinbeck und Arne Wiebalck Lehrstuhl für Technische Informatik Universität Heidelberg. Prozess-Monitoring auf CPU-Takt Ebene
Timm M. Steinbeck und Arne Wiebalck Lehrstuhl für Technische Informatik Universität Heidelberg Prozess-Monitoring auf CPU-Takt Ebene Einleitung Unser Arbeitsgebiet: ALICE Teilchenphysik Experiment Cluster
Technische Informatik 1 Übung 6 Pipelining (Rechenübung) Andreas Tretter 24./25. November 2016
Technische Informatik 1 Übung 6 Pipelining (Rechenübung) Andreas Tretter 24./25. November 2016 Aufgabe 1: Taktrate / Latenz TI1 - Übung 6: Pipelining Einzeltakt-Architektur TI1 - Übung 6: Pipelining Pipelining-Architektur
Single- und Multitasking
Single- und Multitasking Peter B. Ladkin ladkin@rvs.uni-bielefeld.de Peter B. Ladkin Command Interpreter (ComInt) läuft wartet auf Tastatur-Eingabe "liest" (parst) die Eingabe (für Prog-Name) Macht "Lookup"
Betriebsmittelprotokolle
Betriebsmittelprotokolle Florian Franzmann, Martin Hoffmann, Tobias Klaus Friedrich-Alexander-Universität Erlangen-Nürnberg Lehrstuhl Informatik 4 (Verteilte Systeme und Betriebssysteme) http://www4.cs.fau.de
Betriebssysteme. Vorlesung im Herbstsemester 2010 Universität Mannheim. Kapitel 6: Speicherbasierte Prozessinteraktion
Betriebssysteme Vorlesung im Herbstsemester 2010 Universität Mannheim Kapitel 6: Speicherbasierte Prozessinteraktion Felix C. Freiling Lehrstuhl für Praktische Informatik 1 Universität Mannheim Vorlesung
The amforth Cookbook angefangen
The amforth Cookbook Author: Datum: Erich Wälde 2009-02-22 angefangen 2 Inhaltsverzeichnis 1 Projekt mit ATMEGA 32 5 1.1 Board................................ 5 1.2 Beispiel Applikation........................
Threads and Scheduling
Vorlesung Betriebssysteme WS 2010, fbi.h-da.de Threads and Scheduling Jürgen Saala 1. Threads 2. Scheduling 2 1. Threads 3 Prozesse mit je 1 Adressraum 1 Ausführungsfaden d.h. Unabhängiger Adressraum mit
Beispiele von Branch Delay Slot Schedules
Beispiele von Branch Delay Slot Schedules Bildquelle: David A. Patterson und John L. Hennessy, Computer Organization and Design, Fourth Edition, 2012 Grundlagen der Rechnerarchitektur Prozessor 97 Weniger
PIC16 Programmierung in HITECH-C
PIC16 Programmierung in HITECH-C Operatoren: Arithmetische Operatoren - binäre Operatoren + Addition - Subtraktion * Multiplikation / Division % Modulo + - * / sind auf ganzzahlige und reelle Operanden
Optimierungen der Lattice Boltzmann Methode auf x86-64 basierten Architekturen
Optimierungen der Lattice Boltzmann Methode auf x86-64 basierten Architekturen J. Treibig, S. Hausmann, U. Ruede 15.09.05 / ASIM 2005 - Erlangen Gliederung 1 Einleitung Motivation Grundlagen 2 Optimierungen
Da der Mikrocontroller mit den internen Timern sehr genau Zeiten messen kann, entschieden wir uns für die Zeitmessung.
Stufe 1: Das Projekt Fahrradcomputer wurde in der Stufe 1 zunächst auf die Messung der Geschwindigkeit gerichtet. Dabei soll der Mikrocontroller die Impulse auswerten, die von einem Sensor an der Fahrradgabel
Mikrocontroller-Programmierung
Mikrocontroller-Programmierung Anhand des HC12 Fabian Wiesel Überblick Überblick Mikrocontroller Überblick HC12 CPU Peripherie des DG128 Assemblerprogrammierung Mikrocontroller Leistungsfähigkeit: zwischen
Echtzeitprogrammierung und Echtzeitverhalten von Keil RTX. Frank Erdrich Semester AI 7
Echtzeitprogrammierung und Echtzeitverhalten von Frank Erdrich Semester AI 7 Inhalt Einleitung Echtzeit und Echtzeitsysteme Echtzeitprogrammierung Real-Time Operating System Keil RTOS RTX Zusammenfassung
myavr Programmierung in C
myavr Programmierung in C Stefan Goebel Februar 2017 Stefan Goebel myavr Programmierung in C Februar 2017 1 / 12 Grundgerüst... braucht man immer! #include // Register- und Konstantendefinitionen
Konzepte von Betriebssystem-Komponenten. Ausnahme- / Unterbrechungsbehandlung
Konzepte von Betriebssystem-Komponenten Sommersemester 2005 Uni Erlangen Lehrstuhl für Informatik 4 Verteilte Systeme und Betriebsysteme Tarek Gasmi Tarek.Gasmi@informatik.stud.uni-erlangen.de Tarek Gasmi
U2 Fortgeschrittene AVR-Programmierung. U2-1 Externe Interrupts des AVR-μC. 1 Flanken-/Pegel-Steuerung. 1 Flanken-/Pegel-Steuerung (2) 2 Maskieren
U Fortgeschrittene AVR-Programmierung U Fortgeschrittene AVR-Programmierung U-1 Externe Interrupts des AVR-μC Aufgabe Interrupts volatile-variablen Synchronisation mit Unterbrechungsbehandlungen Stromsparmodi
Technische Informatik 1 Übung 7 Pipelining (Rechenübung) Balz Maag 22./23. November 2018
Technische Informatik 1 Übung 7 Pipelining (Rechenübung) Balz Maag 22./23. November 2018 Aufgabe 1: Taktrate / Latenz Einzeltakt-Architektur Pipelining-Architektur Pipelining-Architektur 15 15 120 ps 15
Linux RT-Preempt Echtzeitkenngrößen ermitteln und testen. Embedded Testing 2017 Thomas Maierhofer Consulting
Linux RT-Preempt Echtzeitkenngrößen ermitteln und testen Embedded Testing 2017 Thomas Maierhofer Consulting www.maierhofer.de Agenda Der Begriff Echtzeit Echtzeit und Linux Echtzeitkenngrößen festlegen
Software Entwicklung 1
Software Entwicklung 1 Annette Bieniusa Peter Zeller AG Softech FB Informatik TU Kaiserslautern Speichermanagement Wie viel Speicher braucht ein Programm? Wofür wird Speicher benötigt? Wie ist der Speicher
a) Welche Aussage zu Zeigern ist richtig? Die Übergabesemantik für Zeiger als Funktionsparameter ist callby-value.
Aufgabe 1: (15 Punkte) Bei den Multiple-Choice-Fragen ist jeweils nur eine richtige Antwort eindeutig anzukreuzen. Auf die richtige Antwort gibt es die angegebene Punktzahl. Wollen Sie eine Multiple-Choice-Antwort
Echtzeitsysteme. Übungen zur Vorlesung. Simple Scope
Echtzeitsysteme Übungen zur Vorlesung Simple Scope Florian Schmaus Peter Wägemann Friedrich-Alexander-Universität Erlangen-Nürnberg (FAU) Lehrstuhl für Informatik 4 (Verteilte Systeme und Betriebssysteme)
Klausur Betriebssysteme
Prof. Dr. Michael Jäger FB MNI Klausur Betriebssysteme 5.2.2016 Die Dauer der Klausur beträgt 90 Minuten. Es sind keine Unterlagen und Hilfsmittel erlaubt. Bitte bearbeiten Sie die Aufgaben soweit wie
U5 Fortgeschrittene AVR-Programmierung
U5 Fortgeschrittene AVR-Programmierung U5 Fortgeschrittene AVR-Programmierung Interrupts Synchronisation mit Unterbrechungsbehandlungen Stromsparmodi des AVR U5.1 U5-1 Externe Interrupts des AVR-μC U5-1
Slothful Linux: An Efficient Hybrid Real-Time System by Hardware-Based Task Dispatching. Rainer Müller
Slothful Linux: An Efficient Hybrid Real-Time System by Hardware-Based Task Dispatching Rainer Müller 21. November 2013 Spezialisierung von Betriebssystemen Vielzweckbetriebssysteme (General Purpose OS,
Übung zu Betriebssysteme
Übung zu Betriebssysteme Interruptsynchronisation 22. & 24. November 2017 Andreas Ziegler Bernhard Heinloth Lehrstuhl für Informatik 4 Friedrich-Alexander-Universität Erlangen-Nürnberg Lehrstuhl für Verteilte
Übungsblatt 10 (Block C 2) (16 Punkte)
georg.von-der-brueggen [ ] tu-dortmund.de ulrich.gabor [ ] tu-dortmund.de marco.duerr [ ] tu-dortmund.de Übung zur Vorlesung Rechnerstrukturen Wintersemester 2018 Übungsblatt 10 (Block C 2) (16 Punkte)
A B C D E C 5 7 D 3 E. 2. [6-Bit, positiv] Welche Dezimalzahl wird durch die gegebene Bit-Sequenz kodiert?
Aufgabe 1: Ganzzahlen (10 Punkte) Im Folgenden sollen Zahlen aus unterschiedlichen Stellenwertsystemen dekodiert und verarbeitet werden. Für jede Teilaufgabe mit Binärzahlen ist in Klammern angegeben,
Just-In-Time-Compiler (2)
Just-In-Time-Compiler (2) Dr.-Ing. Volkmar Sieh Department Informatik 4 Verteilte Systeme und Betriebssysteme Friedrich-Alexander-Universität Erlangen-Nürnberg WS 2015/2016 V. Sieh Just-In-Time-Compiler
Architektur Verteilter Systeme Teil 2: Prozesse und Threads
Architektur Verteilter Systeme Teil 2: Prozesse und Threads 21.10.15 1 Übersicht Prozess Thread Scheduler Time Sharing 2 Begriff Prozess und Thread I Prozess = Sequentiell ablaufendes Programm Thread =
8: IIC-Bussystem / PID
8: IIC-Bussystem / PID Sie verstehen das IIC-Busprotokoll und können das IIC-Controller Modul des MC9S08JM60 zur Kommunikation mit anderen IIC-Busteilnehmern einsetzen. 1. Geschwindigkeitsmessung im MC-Car
16-Bit PCA Timer/Counter
4.5.1 Programmable Counter Array (PCA) Das Programmable Counter Array besteht aus fünf PCA-Modulen, die einen gemeinsamen 16- Bit Timer/Counter als Zeitbasis verwenden. ECI: Externer Clock-Eingang für
Kap.2 Befehlsschnittstelle. Prozessoren, externe Sicht
Kap.2 Befehlsschnittstelle Prozessoren, externe Sicht 2 Befehlsschnittstelle 2.1 elementare Datentypen, Operationen 2.2 logische Speicherorganisation 2.3 Maschinenbefehlssatz 2.4 Klassifikation von Befehlssätzen
U5 Fortgeschrittene AVR-Programmierung U5 Fortgeschrittene AVR-Programmierung. Synchronisation mit Unterbrechungsbehandlungen
U5 Fortgeschrittene AVR-Programmierung U5 Fortgeschrittene AVR-Programmierung Interrupts volatile-variablen Synchronisation mit Unterbrechungsbehandlungen Stromsparmodi des AVR U5.1 U5-1 Externe Interrupts
Vortrag zur Seminarphase der PG Solar Doorplate MSP430 Wichtigste Grundlagen von David Tondorf
Vortrag zur Seminarphase der PG Solar Doorplate MSP430 Wichtigste Grundlagen von David Tondorf Technische Daten 16-Bit RISC Architektur bis zu 16 Mhz Vcc: 1,8-3,6V 64 KB FRAM 2 KB SRAM 7 Schlafmodi 5 16-Bit
Was ist ein Profiler?
Profiling Was ist ein Profiler? (Theorie) Invasives Profiling Nichtinvasives Profiling Profiling in der Praxis gprof, gcov OProfile valgrind/callgrind Intel VTune Was ist ein Profiler? Analyse des Laufzeitverhaltens
DOSEMU. Vortrag im Hauptseminar Konzepte und Techniken virtueller Maschinen und Emulatoren. Matthias Felix FAU. 13.
DOSEMU Vortrag im Hauptseminar Konzepte und Techniken virtueller Maschinen und Emulatoren Matthias Felix filo@icip.de FAU 13. Juni 2007 Matthias Felix (FAU) DOSEMU 13. Juni 2007 1 / 22 Inhalt 1 Einführung
Windows 2000 Scheduler
Windows 2000 Scheduler Konzepte von Betriebssystem Komponenten Friedrich Alexander Universität Erlangen Nürnberg Lehrstuhl für Informatik 4 Verteilte Systeme und Betriebssysteme Sommersemester 2005 Viktor
Betriebssysteme Teil 3: Laufzeitsystem für Programme
Betriebssysteme Teil 3: Laufzeitsystem für Programme 23.10.15 1 Literatur [3-1] Stack: http://fbim.fh-regensburg.de/~hab39652/pg1/skriptum/ ausdruecke/maschinenmodell.html [3-2] https://de.wikipedia.org/wiki/dynamischer_speicher
Einleitung Die Pins alphabetisch Kapitel 1 Programmierung des ATmega8 und des ATmega
Einleitung... 11 Die Pins alphabetisch.... 12 Kapitel 1 Programmierung des ATmega8 und des ATmega328.... 15 1.1 Was Sie auf den nächsten Seiten erwartet... 19 1.2 Was ist eine Micro Controller Unit (MCU)?....
8. Beschreibung des Prozessors MSP 430
8. Beschreibung des Prozessors MSP 430 8.1 Die Eigenschaften des MSP 430 8.2 Die Register des MSP 430 8.3 Der Aufbau des Speichers 8.4 Interrupts 8.5 Der Watchdog Programmierkurs II Wolfgang Effelsberg
Technische Grundlagen der Informatik 2 SS Einleitung. R. Hoffmann FG Rechnerarchitektur Technische Universität Darmstadt E-1
E-1 Technische Grundlagen der Informatik 2 SS 2009 Einleitung R. Hoffmann FG Rechnerarchitektur Technische Universität Darmstadt Lernziel E-2 Verstehen lernen, wie ein Rechner auf der Mikroarchitektur-Ebene
Timer. Funktionsprinzip
Timer Funktionsprinzip 8-Bit-Timer des ATmega28 Beispiel Timer im Polling- und Interrupt-Betrieb Funktionsprinzip Timer ist ein in Hardware realisierter i Zähler ändert seinen Zählerstand mit einer vorgegebenen
Threads Einführung. Zustände von Threads
Threads Einführung Parallelität : Zerlegung von Problemstellungen in Teilaufgaben, die parallelel ausgeführt werden können (einfachere Strukturen, eventuell schneller, Voraussetzung für Mehrprozessorarchitekturen)
OpenCL. Programmiersprachen im Multicore-Zeitalter. Tim Wiersdörfer
OpenCL Programmiersprachen im Multicore-Zeitalter Tim Wiersdörfer Inhaltsverzeichnis 1. Was ist OpenCL 2. Entwicklung von OpenCL 3. OpenCL Modelle 1. Plattform-Modell 2. Ausführungs-Modell 3. Speicher-Modell
Datenstrukturen, Alignment Stack Prozeduraufruf, Parameterübergabe und -rückgabe (Calling Conventions) Leaf procedures
Vorbesprechung U8 Datenstrukturen, Alignment Stack Prozeduraufruf, Parameterübergabe und -rückgabe (Calling Conventions) Leaf procedures Basistypen Alignment der Basistypen auf deren Grösse Grössen (abhängig
Tobias Klaus Florian Schmaus Peter Wägemann
Echtzeitsysteme Übungen zur Vorlesung Simple Scope Tobias Klaus Florian Schmaus Peter Wägemann Friedrich-Alexander-Universität Erlangen-Nürnberg (FAU) Lehrstuhl für Informatik 4 (Verteilte Systeme und
f) Was versteht man beim Zugriff auf I/O-Register unter dem Begriff "Memory-mapped"?
Aufgabe 1: (1) Bei den Multiple-Choice-Fragen ist jeweils nur eine richtige Antwort eindeutig anzukreuzen. Auf die richtige Antwort gibt es die angegebene Punktzahl. Wollen Sie eine Multiple-Choice-Antwort
Atmega Interrupts. Rachid Abdallah Gruppe 3 Betreuer : Benjamin Bös
Atmega Interrupts Rachid Abdallah Gruppe 3 Betreuer : Benjamin Bös Inhaltsverzeichnis Vorbereitung Was Sind Interrupts Interruptvektoren Software Interrupts Hardware Interrupts Quellen 2 Vorbereitung Rechner