Eingebettete Systeme 2. Übungsblatt Lösungsvorschlag

Ähnliche Dokumente
Inhaltsverzeichnis 1 Grundlagen Grundlegende Prozessortechniken...16

MikroController und Mikroprozessoren

Inhaltsverzeichnis. Vorwort...VII. Vorwort zur 2. Auflage... IX. Inhaltsverzeichnis... XI

Mikrocontroller und Mikroprozessoren

Mikrocontroller. eine Einführung. Florian Schmitt / 34

Mikrocontroller Grundlagen. Markus Koch April 2011

Analoge Schnittstellen

Software ubiquitärer Systeme

a. Flipflop (taktflankengesteuert) Wdh. Signalverläufe beim D-FF

PROF. DR. M. FÖLLER NORD INSTITUT EMBEDDED AND MOBILE COMPUTING, FAKULTÄT FÜR INFORMATIK

Der Mikrocontroller beinhaltet auf einem Chip einen kompletten Mikrocomputer, wie in Kapitel

Halbleiterspeicher. Halbleiterspeicher

BLIT2008-Board. Uwe Berger

Technische Informatik 1 - HS 2016

(a) Wie unterscheiden sich synchrone und asynchrone Unterbrechungen? (b) In welchen drei Schritten wird auf Unterbrechungen reagiert?

Studiengang Maschinenbau, Schwerpunkt Mechatronik (früher: Automatisierungstechnik) Seite 1 von 8

MikroController der 8051-Familie

13 Programmierbare Speicher- und Logikbausteine

Mikrocontroller-Programmierung

Elektrizitätslehre und Elektronik. Halbleiterspeicher

FAKULTÄT FÜR INFORMATIK

Enseignement secondaire technique

Einführung in die Welt der Microcontroller

J Mikrocontroller-Programmierung

Ein- Ausgabeeinheiten

Assembler und Hochsprachen

Besprechung des 7. Übungsblattes Speicheraufbau Speichertypen DRAM Speicherbelegung

Steuerungen. 4 Typen verbindungsprogrammierte Steuerung (VPS), speicherprogrammierte Steuerung (SPS), Mikrokontroller (MC) und Industrie-PCs (IPC)

Teil I: Wat isse ne Mikrokontroller?

Mikrocontroller in eigenen Hobbyprojekten nutzen

Mathematik. Technik. Programmieren. Physik. Mechanik. Elektronik. Getriebeverhältnisse. Sensoren Antwort/ Feedback. Einfache Maschinen

Dateien, die nicht in das Projekt eingebunden sind, werden ohne Syntax highlight dargestellt. MiCoWi und µvision Seite 1 Uwe Wittenfeld

Heute nur MIPS-Praxis (4 Aufgaben)

= 7 (In Binärdarstellung: = 0111; Unterlauf) = -8 (In Binärdarstellung: = 1000; Überlauf)

Praktikum Mikrorechner 3 (Adressierungsarten)

Chiptunes Wie musikalisch ist mein Mikrocontroller?

Vorlesungsziele. Mit gängigen Begriffen etwas anfangen können. In der Lage sein, die Architektur von Mikroprozessoren zu verstehen

Prozess-rechner. auch im Büro. Automation und Prozessrechentechnik. Prozessrechner. Sommersemester Prozess I/O. zu und von anderen Rechnern

Halbleiterspeicher. Halbleiterspeicher Michael Kuhfahl 1

Steuerwerk einer CPU. Einführung in die Technische Informatik Falko Dressler, Stefan Podlipnig Universität Innsbruck

Ein und Ausgabe. von Neumann Konzept enthält folgende Komponenten: Rechenwerk Steuerwerk Speicher Eingabewerk Ausgabewerk (siehe 1.

Zähler- und Zeitgeber-Baugruppen

Lösungsvorschlag zur 4. Übung

Alle Speicherplatinen können als Programm- bzw. Arbeitsspeicher

80C535-Mikrocontroller-Board im Streichholzschachtelformat

Teil VIII Von Neumann Rechner 1

Was ist ein Mikrocontroller?

Grundlagen der Informatik II

Inhalt. 1. Mikrocontroller 2. FPGA 3. Vergleich 4. Hybride Systeme 5. Zusammenfassung 6. Quellenverzeichnis

Musterlösung 3. Mikroprozessor & Eingebettete Systeme 1

M-AX-16/C1 (Typ 37) Inhaltsverzeichnis M-AX-16/C1

J. Reinier van Kampenhout Robert Hilbrich Hans-Joachim Goltz. Workshop Echtzeit Fraunhofer FIRST

Mikrocontrollerprogrammierung in Assembler und C

Tutorium Rechnerorganisation

Echtzeit-Multitasking

EINGEBETTETE SYSTEME Vorlesungen WS2005

Embedded Linux gnublin Board Programmieren Sonstiges. Embedded Linux am Beispiel des Gnublin-Boards

Praktikum 1: Parallel Computing Hardware

Grundlagen verteilter Systeme

Modul Computersysteme Prüfungsklausur SS Prof. Dr. J. Keller LG Parallelität und VLSI Prof. Dr.-Ing. W. Schiffmann LG Rechnerarchitektur

Grundlagen der Elektro-Proportionaltechnik

examen.press Echtzeitsysteme Grundlagen, Funktionsweisen, Anwendungen Bearbeitet von Heinz Wörn

MIKROPROZESSOR PROGRAMMIERUNG. LV-Nr SS2007 VORLESUNG BIT HINTERBERGER M. 2007

Was machen wir heute? Betriebssysteme Tutorium 2. Organisatorisches. Frage 2.1.a. Theorieblätter Abgabe. Antwort. Probleme mit OS/161?

Die Mikroprogrammebene eines Rechners

Tutorübung zur Vorlesung Grundlagen Rechnernetze und Verteilte Systeme Übungsblatt 10 (24. Juni 28. Juni 2013)

Äußerer lichtelektrischer Effekt Übungsaufgaben

Prüfungsarbeit Mathematik Gymnasium

Abgabe: (vor der Vorlesung) Aufgabe 2.1 (P) O-Notation Beweisen Sie die folgenden Aussagen für positive Funktionen f und g:

Übung 7. Mikroprozessor & Eingebettete Systeme 1

Lösungsvorschlag zu 1. Übung

Einige Grundlagen zu OpenMP

Tickt ihr Board noch richtig? Frequenzmessung durch ChipVORX als Ergänzung zum Boundary Scan Test. Dipl.-Ing. (FH) Martin Borowski

Mikroprozessor bzw. CPU (Central Processing. - Steuerwerk (Control Unit) - Rechenwerk bzw. ALU (Arithmetic Logic Unit)

Ram/Rom/EPRom WIRTSCHAFTSINGENIEURSWESEN. Ausbildungsschwerpunkte: BETRIEBSMANAGEMENT LOGISTIK. Xaver Schweitzer. Jahr: 2011/12

Mikrocomputertechnik. Adressierungsarten

Steuern, Messen, Regeln - mit Mikrocontrollern im Eigenbau

1. Übersicht zu den Prozessorfamilien 2 2. Grundlagen der Rechnerorganisation 3

5 Zusammengesetzte und reguläre Schaltungsstrukturen

Mikrocontroller von Markus Koch April 2011

Reset. Teil D4: Reset, Takt, zeitabhängige Signale. Reset. Resetschaltung. 06 / Teil D4 / Seite 01. Aufgabe:

Neue Prozessor-Architekturen für Desktop-PC

Projekt 25 ASURO ARX-03

Überprüfung der Genauigkeit eines Fahrradtachos


Automation und Prozessrechentechnik

RO-Tutorien 3 / 6 / 12

3. Rechnerarchitektur

Enterprise Computing Einführung in das Betriebssystem z/os. Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth WS2012/13

Programmiersprache 1 (C++) Prof. Dr. Stefan Enderle NTA Isny

Easy-Monitoring Universelle Sensor Kommunikations und Monitoring Plattform

Ein erstes Assembler-Projekt

Ein Geräusch: " Plopp"

Physik GK ph1, 2. KA Kreisbew., Schwingungen und Wellen Lösung

1. Übung - Einführung/Rechnerarchitektur

DIPLOMARBEIT. Entwurf und Implementierung eines modularen USB-Stacks für eingebettete Controller ohne Betriebssystem. Uwe Pfeiffer

StarterKit Embedded Control SC13 + DK51. From the electronic to the automation

Agenda. Einleitung Produkte vom VMware VMware Player VMware Server VMware ESX VMware Infrastrukture. Virtuelle Netzwerke

CHIP Online - Powerline/Homeplug: Netzwerke über das Stromnetz. Steckdosenleiste mit Schalter: Kann den Datenfluss behindern.

4. Modulares Mikrorechner-System K 1520

Transkript:

Institut für Informatik Lehrstuhl für Eingebettete Systeme Prof. Dr. Uwe Brinkschulte Mathias Pacher Eingebettete Systeme 2. Übungsblatt Lösungsvorschlag 1. Aufgabe (Mikrocontroller) Ein Mikrocontroller ist ein Mikrorechner auf einem Chip, auf dem zuätzliche Komponenten wie Schreib- und Lesespeicher, Zähler- und Zeitgebereinheiten, serielle Ein- und Ausgabeeinheiten integriert sind, siehe Abbildung 1. Die Beschreibung der Funktionen dieser Komponenten liegt in den Vorlesungsfolien (2.1; 2.2; 2.3) vor. Zähler / Zeitgeber serielle / parallele EA Kanäle Schreib-/Lesespeicher RAM Prozessorkern A/D- Wandler Watchdog Echtzeit- Kanäle ROM Flash PROM EPROM EEPROM Festwertpeicher DMA & Unterbrechungen Erweiterungsbus Ruhebetrieb Abbildung 1: ypische Komponenten eines Mikrocontrollers Die Einsatzgebiete für Mikrocontroller sind sehr vielfältig: Steuerung von Haushaltsgeräten wie Kaffeemaschinen, Waschmaschinen, Kühlschrank, Fernseher... Einsatz in der KFZ-echnik: Motormanagement, Antiblockiersystem, raktionskontrolle, Fahrassistenzsysteme... Zur Automatisierung durch Steuern, Regeln und Überwachen von Prozessen... 2. Aufgabe (Adressierung) Bei der isolierten Adressierung sind der adressraum und der Adressraum für Einund Ausgabezugriffe strikt getrennt. 1

2.5. Mikrocontroller-Komponenten 2.5.2.1 Anbindung an den Prozessorkern EA-Adressraum DA-Wandler adressraum - und EA- Adressraum EA-Adresse 2.5. Mikrocontroller-Komponenten adresse Isolierte Adressierung adresse DA-Wandler Gemeinsame Adressierung.1 Anbindung Dahingegen an den wird Prozessorkern der zur Verfügung stehende Adressraum bei der gemeinsamen Adressie- Goethe-Universität Frankfurt am Main Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte rung sowohl für den als auch für Ein- und Ausgabezugriffe benutzt. 12 EA-Adressraum DA-Wandler adressraum - und EA- Adressraum ax. se adresse Isolierte Adressierung adresse DA-Wandler Gemeinsame Adressierung kfurt am Main Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte Vorteile isolierte Adressierung: Die strikte rennung der beiden Zugriffsarten. Dadurch kann der Programmierer nicht versehentlich für einen 12 zugriff auf beispielsweise eine Eingabeeinheit zugreifen. Des Weiteren können die jeweiligen Adressraumgrößen für ihre Zugriffsart voll genutzt werden, und müssen sich den verfügbaren Adressraum nicht teilen. Daraus resultiert, dass man insbesondere für die Ein- und Ausgabe schmälere Adressen wählen kann, was beispielsweise bei einem wiederholten Zugriff auf eine externe Komponente nützlich ist. Durch die verringerte Adressbreite kann auch einfachere Hardware eingesetzt werden. Vorteile gemeinsame Adressierung: Es liegt eine homogene Adressierung vor, man muss also beim Programmieren nicht darauf achten, ob die aktuelle Adresse für die jeweils andere Zugriffsart reserviert ist. Daraus folgt nun, dass keine speziellen Befehle für die Ein- und Ausgaben benötigt werden. Weiterhin können sowohl für Ein-/Ausgabe- und zugriffe diesselben Adressierungsarten angewendet werden. 3. Aufgabe (Sprungvorhersage) a) Die Sprungvorhersagetechnik dient dazu, die Sprungrichtung (also Sprung wird ausgeführt oder Sprung wird nicht ausgeführt) eines bedingten Sprunges vorherzusagen. Dies ist insbesondere bei heutigen vielstufigen superskalaren Prozessoren notwendig, 2

da bei ihnen die Sprungrichtung eines bedingten Sprunges beim Holen in den Prozessor oft noch gar nicht feststeht, weil die für die Entscheidung der Sprungrichtung benötigten Werte noch nicht berechnet wurden. Man unterscheidet zwischen statischer und dynamischer Sprungvorhersage. Bei der statischen Sprungvorhersage wird für einen bedingten Sprungbefehl immer diesselbe Entscheidung getroffen, also entweder immer Sprung wird genommen oder immer Sprung wird nicht genommen. Eine bei der Ausführung von Schleifen günstige Variante einer statischen Sprungvorhersage ist Rückwärtssprung wird immer genommen, Vorwärtssprung wird nie genommen. Die statische Sprungvorhersage ist einfach zu implementieren, hat dafür aber den Nachteil, dass ihre refferquote im Vergeich zu der von dynamischen Sprungprädiktoren oft viel schlechter ist. Bei der dynamischen Sprungvorhersage wird der Sprungverlauf des Sprunges miteinbezogen: Hier werden beispielsweise die zwei letzten Sprungausführungen betrachtet um die nächste Vorhersage zu berechnen (2-Bit-Prädiktor). Fortschrittlichere dynamische Sprungprädiktoren beziehen auch das Sprungverhalten korrelierter Sprünge mit ein, siehe dazu Mikrocontroller und Mikroprozessoren (Springer-Verlag) von U. Brinkschulte und. Ungerer. b) Ein 1-Bit-Prädiktor hat zwei Zustande, aken () und Not aken (). Dabei wird durch den aktuellen Zustand die Sprungvorhersage festgelegt, und ein Zustandsübergang findet anhand des tatsächlichen Sprungverlaufs statt, siehe Abbildung 2. Abbildung 2: 1-Bit-Prädiktor Ein 2-Bit-Prädiktor hat vier Zustände, Strongly aken (S), aken (), Not aken () und Strongly Not aken (S). Auch hier wird durch den aktuellen Zustand die Sprungvorhersage festgelegt, und die Zustandsübergänge finden anhand des tatsächlichen Sprungverlaufs statt. Man kann zwei Arten von 2-Bit-Prädiktoren unterscheiden, den 2-Bit-Prädiktor mit Sättigungszähler, siehe Abbildung 3 (a) und den 2-Bit-Prädiktor mit Hysterese, siehe Abbildung 3 (b). Beide Prädiktoren wechseln ihre Vorhersage, also ob ein Sprung genommen wird oder nicht, erst nach zwei Fehlvorhersagen. Sie sind für verschachtelte Schleifen gut geeignet, wobei der 2- Bit-Prädiktor mit Hysterese ein aggressiveres Umschaltverhalten besitzt, was ein Flattern zwischen den nicht starken Zuständen vermeidet. Die 2-Bit-Prädiktoren sind bei verschachtelten Schleifen besser geeignet als ein 1- Bit-Prädiktor: 3

S S (a) 2-Bit Prädiktor mit Sättigungszähler S S (b) 2-Bit Prädiktor mit Hysterese Abbildung 3: 2-Bit-Prädiktoren L 1 : L 2 : bne L 2 Innere Schleife bne L 1 Äußere Schleife Bei einer verschachtelten Schleife wie in diesem Beispiel wird ein 1-Bit-Prädiktor in der inneren Schleife immer einen Fehler bei Schleifenende machen (wenn die Schleife mindestens einmal durchlaufen wurde). Wenn durch die äußere Schleife die innere Schleife wieder ausgeführt wird, wird der 1-Bit-Prädiktor bei der ersten neuen Ausführung der inneren Schleife wieder einen Fehler machen, da er nun auf steht. Genau dieser Fehler wird durch die 2-Bit-Prädiktoren vermieden, sie stehen nun immer noch im Zustand. c) Die abellen sind so zu lesen, dass jeweils über der Kennzeichnung, ob ein Sprung ausgeführt wurde oder nicht, die darauf basierende Sprungvorhersage für den nächsten Sprung steht. S Bedingter Sprung Start 1 2 3 4 5 6 7 8 Innere Vorsg. S S S S Schleife L 3 Ausfg. Äußere Vorsg. Schleife L 4 Ausfg. S Bedingter Sprung 9 1 11 12 13 14 15 16 17 Innere Vorsg. S S S S S S S Schleife L 3 Ausfg. Äußere Vorsg. Schleife L 4 Ausfg. 4

Bedingter Sprung 18 19 2 21 Innere Vorsg. Schleife L 3 Ausfg. Äußere Vorsg. Schleife L 4 Ausfg. An diesem Beispiel sieht man nochmal, dass der 2-Bit-Prädiktor der inneren Schleife nur durch die Initialisierung und jeweils beim Schleifenaustritt eine falsche Vorhersage macht. Beim Wiedereintritt in die Schleife ist die Vorhersage jedoch richtig, da er bei der Vorhersage genommen geblieben ist. Der 2-Bit-Prädiktor der äußeren Schleife macht ebenfalls durch die Initialisierung und beim Schleifenaustritt jeweils eine falsche Vorhersage. d) Rechner mit Sprungvorhersage sind im Allgemeinen nicht gut für Echtzeitsysteme geeignet: Bei Echtzeitsystemen ist die Vorabberechnung der Worst Case Execution ime (WCE) erforderlich. Im schlimmsten Falle muss man also davon ausgehen, dass alle Vorhersagen der Sprungvorhersage falsch sind, und die Zeit für das daraus resultierende Rücksetzen des Prozessors miteinbeziehen. Dies vergrößert die WCE mit Sprungvorhersage gegenüber der WCE eines ähnlichen Prozessors ohne Sprungvorhersage. 4. Aufgabe (Zähler und Zeitgeber) a) Der 16-Bit-Zähler kann also von bis 2 16 1 = 65535 zählen. Bei einer Frequenz von 1 MHz zählt er 1 7 icks in einer Sekunde. Per Dreisatz berechnet man nun, dass der Zähler in,75 Millisekunden 75 icks hochzählt. Er muss also so konfiguriert werden, dass er bis 75 icks (< 2 16 1) hochzählt, dann einen Impuls erzeugt und wieder bei icks anfängt zu zählen, siehe Abbildung 4. Abbildung 4: Zeit-Diagramm mit aktuellem Zählerstand und Impulssignal 5

b) Bei einer Frequenz von 1 MHz kann der Zähler eine maximale Zeit von messen. t max = 216 icks 1 7 icks s =, 65536 s = 6, 5536 ms Es lassen sich längere Zeiten messen, wenn der Zeitgeber einen Frequenzteiler nutzt. Dabei sinkt allerdings die Genauigkeit der Zeitmessung. Alternativ kann bei jedem Überlauf des Zählerregisters ein Wert eines anderen Registers inkrementiert werden (bei maximaler Genauigkeit). c) Der Umfang U des Rades beträgt U = πd = 5π cm 15, 71 cm. Die Bogenlänge b zwischen je zwei Schlitzen beträgt somit b =, 436 cm. Für die 15,71 cm 36 Geschwindigkeit des Rades nach 5x ms (x N) ergibt sich daher: v x = (Anzahl Peaks im Intervall (x 1)5 ms bis x 5 ms), 436 cm, 5 s 2,436 cm 3,436 cm Es ergibt sich v 1 = =, 1744 m, v,5 s s 2 = =, 2616 m, v,5 s s 3 =, 2616 m, v 5,436 cm s 4 = =, 436 m und v 4,436 cm,5 s s 5 = =, 3488 m.,5 s s Für die Durchschnittsgeschwindigkeit v D gilt: 3,436 cm,5 s = v D = 5 x=1 v x 5 =, 2965 m s Die zurückgelegte Strecke s lässt sich einfach aus der Anzahl der gezählten Schlitze berechnen: s = #Schlitze, 436 cm = 17, 436 cm = 7, 412 cm =, 7412 m 6