Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Vorlesungen im WS 2002/2003 Mikrorechnertechnik I

Ähnliche Präsentationen


Präsentation zum Thema: "Vorlesungen im WS 2002/2003 Mikrorechnertechnik I"—  Präsentation transkript:

1 Vorlesungen im WS 2002/2003 Mikrorechnertechnik I
Uwe Brinkschulte Universität Karlsruhe Institut für Prozessrechentechnik, Automation Mikrocontroller und Mikroprozessoren Theo Ungerer Universität Augsburg Institut für Informatik

2 Allgemeines Gemeinsame Televorlesung Karlsruhe / Augsburg
Prof. Dr. U. Brinkschulte Prof. Dr. Th. Ungerer Sprechstunde: Sprechstunde: Donnerstag, 10: :30 Dienstag, 10:30-11:30 Zi. 119, Gebäude Zi. 403, Geb. Eichleitnerstr.30

3 Allgemeines Buch zur Vorlesung: Brinkschulte, Ungerer
Mikrocontroller und Mikroprozessoren Springer Verlag, Heidelberg, 2002

4 Vorlesungsziele Vermittelt werden sollen:
Grundlagen der Mikrorechnertechnik Aufbau und Funktionsweise von Mikroprozessoren Aufbau und Funktionsweise von Mikrocontrollern Beispiele heutiger industrieller Mikroprozessoren und -controller Stand der Forschung und Zukunftstechnolgien

5 Vorlesungsziele Vorlesung Mikrorechnertechnik II (Sommersemester in Karlsruhe) Zusammenspiel der Komponenten eines Mikrorechnersystems Bussysteme, Peripherie, modularere Systemaufbau Signalprozessoren Einsatz und Aufbau von Feldbussen Dienstkonstruktion für mikrorechnergestützte Automatisierungssysteme

6 Vorlesungsinhalte und -strukturierung
1. Grundlagen 2. Grundlegende Prozessortechniken 3. Mikrocontroller 4. Mikrocontroller-Komponenten 5. Beispiele verschiedener Mikrocontroller 6. Hochperformante Mikroprozessoren 7. Die Superskalartechnik 8. Beispiele verschiedener Mikroprozessoren 9. Zukunftstechniken

7 1. Grundlagen 1.1 Mikroprozessoren, Mikrocontroller, Signalprozessoren und SoC Einige grundlegende Begriffe zu Mikroprozessoren Mikroprozessor: Zentraleinheit eines Datenverarbeitungssystems heute meist mit weiteren Komponenten auf einem einzigen Chip untergebracht Zentraleinheit = CPU, Central Processing Unit

8 1. Grundlagen Basiskomponenten eines Mikroprozessors Rechenwerk
Steuerwerk Schnittstelle zur Außenwelt Weitere Komponenten (je nach Komplexität) Cache Virtuelle Speicherverwaltung Ziel: möglichst effiziente Ausführung eines Programms

9 1. Grundlagen Weitere Begriffe: Mikroprozessorsystem
Technisches System, welches einen Mikroprozessor enthält. Dies muss kein Rechner sein. Mikrorechner (Mikrocomputer) Rechner, der als Zentraleinheit einen oder mehrere Mikroprozessoren enthält. Enthält weiterhin Speicher, Ein-/Ausgabeschnittstellen sowie ein Verbindungssystem.

10 1. Grundlagen Mikrorechnersystem (Mikrocomputersystem)
Mikrorechner mit an die Ein-/Ausgabeschnittstellen angeschlossenen Peripheriegeräten, z.B. Maus, Tastatur, Bildschirm, Drucker, ...

11 1. Grundlagen

12 1. Grundlagen Mikrocontroller Mikrorechner auf einem Chip
Ziel: Steuerungs- oder Kommunikationsaufgabe mit möglichst wenigen Bausteinen lösen Prozessorkern, Speicher und Ein-/Ausgabeschnittstellen sind auf die Lösung solcher Aufgaben zugeschnitten es existiert eine Vielzahl verschiedener Mikrocontroller

13 1. Grundlagen Deshalb meist: Organisation in Mikrocontrollerfamilien
Die Mitglieder einer Familie besitzen meist gleichen Prozessorkern unterschiedlichen Speicher unterschiedliche Ein-/Ausgabeschnittstellen

14 1. Grundlagen SoC (Systems on Chip)
Konsequente Weiterentwicklung der Mikrocontrolleridee, Systeme mit möglichst wenigen Bausteinen zu realisieren Mikrocontroller: standardisierter Rechnerbaustein, mit wenigen anderen Komponenten entsteht anwendungsspezifisches System SoC: vollständiges anwendungsspezifisches System auf einem einzigen Chip

15 1. Grundlagen Realisierungsmöglichkeiten von SoC
Bereitstellung und Kombination von Hardwarebibliotheken => FPGA, ASIC Rekonfigurierbare Hardware - Fester Prozessorkern und Speicher - Rekonfigurierbare Zellen Weitere Herausforderung bei SoC: Kombination von analogen und digitalen Komponenten

16 1. Grundlagen Signalprozessoren
Spezielle Prozessorarchitekturen zur Verarbeitung analoger Signale Hochleistungsarithmetik zur schnellen fortgesetzten Multiplikation und Addition (MAC, Multiply and Accumulate) => schnelle Berechnung von Polynomen vom Anwender steuerbare Parallelität spezielle Schnittstellen zur Ein- und Ausgabe von analogen Signalen Werden in der Vorlesung MRT II näher behandelt

17 1. Grundlagen 1.2 PC-Systeme
Heute verbreitetste Form von Mikrorechnern 1980 von IBM eingeführt unter ständiger Weiterentwicklung zum Quasi-Standard geworden Merkmale: zentrales Motherboard (Mainboard), zusätzliche Komponenten in Form von Steckkarten

18 1. Grundlagen Grundlegende Bestandteile eines PCs: Mikroprozessor
Cache Northbridge Systembus und Hauptspeicher Southbridge Ein-/Ausgabeeinheiten

19 1. Grundlagen Beispiel: K7M Motherboard von Asus

20 1. Grundlagen Eigenschaften der verschiedenen Busse:

21 Layout: Athlon Motherboard K7M von Asus

22 1. Grundlagen 1.3 Eingebettete und ubiquitäre Systeme
Eingebettete Systeme Datenverarbeitungssysteme, die in ein technisches Umfeld eingebettet sind Steuern und Überwachen dieses Umfeld Beispiel: Steuerung einer Kaffeemaschine: Koordination von Wasserbehälter, Heizung und Ventilen zur Bereitung eines Kaffees Ein wesentliches Anwendungsfeld von Mikrocontrollern und Mikroprozessoren

23 1. Grundlagen Weiteres Beispiel: PC auf dem Schreibtisch zu Hause
kein eingebettetes System, stellt seine Datenverarbeitungsleistung dem Menschen zur Verfügung PC in der Fabrikhalle zur Steuerung einer Anlage eingebettetes System

24 1. Grundlagen Gegenüber reinen Rechensystemen stellen eingebettete Systeme weitere Anforderungen: Schnittstellenanforderungen mehr und vielfältigere Schnittstellen als bei reinen Rechensystemen Mechanische Anforderungen robuster Aufbau, rauhe Umgebung, mechanische Belastung, begrenzter Raum, vorgegebene geometrische Form

25 1. Grundlagen Elektrische Anforderungen
vorgegebene Versorgungsspannung, limitierter Energieverbrauch, geringe Abwärme Zuverlässigkeitsanforderungen Ausfallsicherheit, Notbetrieb, z.B. bei Bremsen, der Steuerung eines Kernreaktors, einem Flugzeug, ... Zeitanforderungen Ausführung von Tätigkeiten innerhalb einer vorgegebenen Zeit => Echtzeitsysteme

26 1. Grundlagen Einige zusätzliche Bemerkungen zu Echtzeitsystemen
Nicht-Echtzeitsystem: logische Korrektheit Echtzeitsystem: logische Korrektheit zeitliche Korrektheit Ein Ergebnis ist nur korrekt, wenn es logisch korrekt ist und zur rechten Zeit zur Verfügung steht!

27 1. Grundlagen Klassen von Echtzeitsystemen: Harte Echtzeitsysteme
Zeitbedingungen müssen unter allen Umständen eingehalten werden. Das Verpassen einer Zeitschranke ist nicht tolerierbar Beispiel: Kollisionserkennung in einem automatischen Fahrzeug

28 1. Grundlagen Klassen von Echtzeitsystemen: Feste Echtzeitsysteme
Feste Zeitschranken Ein Ergebnis ist nach Überschreiten der Zeitschranke wertlos (Verfallsdatum) Die Folgen sind jedoch nicht unmittelbar katastrophal Beispiel: Positionserkennung in einem automatischen Fahrzeug

29 1. Grundlagen Klassen von Echtzeitsystemen: Weiche Echtzeitsysteme
Weiche Zeitschranken Ein Überschreiten um einen gewissen Wert ist tolerierbar Mehr Richtlinie denn harte Zeitschranke Beispiel: Periodische Temperaturmessung für eine Anzeige

30 1. Grundlagen Wesentliche Anforderungen an Echtzeitsysteme
Zeitliche Vorhersagbarkeit spielt die dominierende Rolle eine hohe Verarbeitungsgeschwindigkeit ohne Vorhersagbarkeit ist wertlos wichtige Größe: WCET (Worst Case Execution Time) heutige Prozessoren mit Caches und spekulativer Programmausführung sind hier problematisch

31 1. Grundlagen Längerfristige Verfügbarkeit
Leistung muss über einen längeren Zeitraum erbracht werden Betriebspausen, z.B. zur Reorganisation, sind nicht zulässig (Beispiel Garbage Collection)

32 Anwendung: Allgegenwärtige Computer - Ubiquitous Computing
allgegenwärtig = überall verbreitet = ubiquitär Computer  „unsichtbar“, hinter Alltags- gegenständen verborgen Neuer Begriff: Ubiquitous Computing Allgegenwärtig ... Wie stellen wir uns einen Computer in diesem Zusammenhang vor ... -> neuer Begriff Ubiquitäre Systeme (engl. Ubiquitous Computing)

33 Begriff Ubiquitous Computing
Anfang der 90er Jahre von Mark Weiser geprägt Zukunftsvision: Mit Mikroelektronik angereicherte Gegenstände sollen so alltäglich werden, dass die enthaltenen Rechner als solche nicht mehr wahrgenommen werden. Ubiquitäre Systeme sind eine Erweiterung der eingebetteten Systeme. Zusätzlich zu einem eingebetteten System kommt noch Umgebungswissen hinzu, das es diesem System erlaubt, sich in hohem Maße auf den Menschen einzustellen. Als ubiquitäre (allgegenwärtige) Systeme bezeichnet man eingebettete Rechnersysteme, die selbstständig auf ihre Umwelt reagieren. Rechner in dienender und nicht beherrschender Rolle. Die Benutzer sollen nicht in eine virtuelle Welt gezogen werden, sondern die gewohnte Umgebung soll mit Computerleistung angereichert werden.

34 Die dritte Ära der Rechnernutzung
Phase 1: Großrechner Phase 2: Personal Computer Phase 3: Ubiquitäre Systeme Phase 1: 60iger und 70iger Jahre Phase 2: 80iger und 90iger Jahre Phase 3: heute und in Zukunft

35 Was kennzeichnet ubiquitäre Systeme? 5 Merkmale
Ubiquitäre Systeme sind eine Erweiterung sogenannter „eingebetteter Systeme“ Rechner, die in technische Systeme eingebettet sind, also z.B. Waschmaschine, Fahrkartenautomaten, ABS im Auto etc. überall in hoher Zahl vorhanden - Allgegenwart ubiquitäre Systeme nutzen drahtlose Vernetzung Handytechnologien, Funk-LAN, Bluetooth, Infrarot Umgebungswissen, das es ubiquitären Systemen erlaubt, sich in hohem Maße auf den Menschen einzustellen Neue Geräte wie z.B. Handhelds, tragbare Rechner Viele rechnergestützte Geräte, die mit Sensoren mit der Umwelt verbunden sind und über Aktuatoren aktiv in diese eingreifen. Rechner sind untereinander und mit dem Internet über drahtgebundene oder drahtlose Netzwerke verbunden. Sie bilden oftmals spontan Netzwerke. Vielzahl unterschiedlicher Hardware und Software: kleine tragbare Endgeräte, leistungsfähige Server im Hintergrund und Kommunikationsinfrastruktur

36 Technologien ubiquitärer Systeme
Einbeziehung von Informationen aus der natürlichen Umgebung der Geräte Umgebungswissen erstellt durch Erfassung, Interpretation, Speicherung, Austausch und Verbindung von Sensorendaten Umgebungswissen erlaubt ubiquitären Systemen sich in hohem Maße auf den Menschen einzustellen  Gerät kann Informationen in Abhängigkeit vom jeweiligen Aufenthaltsort auswählen und anzeigen  Gerät passt sich in seinem Verhalten der jeweiligen Umgebung an Die Umgebung hab ich jetzt schon angesprochen. Um Veränderungen wahrzunehmen, brauchen wir natürlich Informationen aus der natürlichen Umgebung. Dieses sogenannte Umgebungswissen wird durch ... Erstellt. ... Vorlesen -> zu erstem Punkt Beispiel: Lancaster City-Guide -> zu zweitem Punkt Beispiel: UbiComp-Fernbedienung

37 Anwendungsbeispiel: MediaCup (Teco Karlsruhe)
Die MediaCup ist eine mit Rechnertechnologie ausgestattete Kaffeetasse. Eine in den Tassenboden eingelassene Elektronik erlaubt es, die verschiedenen Zustände einer Tasse (etwa ob jemand trinkt) zu ermitteln und drahtlos zu übertragen. Damit können Kontextinformationen einer Umgebung ermittelt und kommuniziert werden. Die MediaCup zeigt, wie Objekte des Alltags mit Computer- und Kommunikationstechnologie ausgestattet werden können.

38 Wie funktioniert die Tasse?
Der Boden der MediaCup enthält die Elektronik in einem abnehmbaren Gummiüberzieher. Kern ist ein kleiner Mikroocontroller Die Elektronik wird kabellos mit Energie versorgt; ein 15 minütiger Aufladevorgang kann die Tasse etwa 10 Stunden mit Energie versorgen. Sensoren erkennen Temperatur und Bewegungszustand der Tasse. Diese Informationen wird von der Tasse in den Raum gesendet. Der Boden der MediaCup besteht in einem aus Gummi gefertigten abnehmbaren Überzieher. In diesen Boden ist die Elektronik der Tasse eingelassen. Wenn die Tasse gespült werden soll, kann der Boden abgenommen werden, um die Elektronik nicht zu beschädigen. Die Elektronik der Tasse wird kabellos mit Energie versorgt. Dazu wurde eine spezielle, ebenfalls elektronisierte Untertasse entwickelt. DieEnergie wird von der Tasse in speziellen Akkus zwischengespeichert; ein 15 minütiger Aufladevorgang kann die Tasse etwa 10 Stunden mit Energie versorgen. Die in der Tasse eingelassene Elektronik erkennt den Bewegungszustand der Tasse (zum Beispiel, ob jemand aus der Tasse trinkt) sowie die Temperatur. Diese Informationen wird von der Tasse in den Raum kommuniziert. Objekte, die sich ebenfalls in der Umgebung befinden (zum Beispiel Kaffeemaschinen oder einem Web-Server) können diese Informationen empfangen und verwerten, um den Benutzer zu unterstützten und Vorgänge zu automatisieren.

39 Leistungsmessung und Leistungsvergleich
Auswahl einer Rechenanlage Veränderung der Konfiguration einer bestehenden Anlage (tuning) Entwurf von Rechenanlagen Verfahren zur Bewertung der Leistungsfähigkeit: (1) analytische Berechnungen (2) Laufzeitmessungen bestehender Programme

40 Analytische Methoden Maßzahlen für die Operationsgeschwindigkeit: (Hypothetische Maximalleistung !!) MIPS (Millions of Instructions per Second) MFLOPS (Millions of Floating Point Operations per Sec.) Mixe: (ebenfalls theoretisch errechnet) Bei einem Mix wird für jeden einzelnen Befehl die mittlere Ausführungszeit bestimmt, die zusätzlich durch charakteristische Gewichtungen bewertet wird. Kernprogramme: typische Anwendungsprogramme, die für einen zu bewertenden Rechner geschrieben werden keine Messungen am Rechner, sondern die Gesamtausführungszeit wird anhand der Ausführungszeiten für die einzelnen benötigten Maschinenbefehle berechnet.

41 Benchmark-Programme Ein Benchmark besteht aus einem oder mehreren Programmen im Quellcode. Diese werden für die zu vergleichenden Rechner übersetzt, danach werden die Ausführungszeiten gemessen und verglichen. Es geht immer auch der gesamte Rechneraufbau sowie die Güte des verwendeten Compilers und der Betriebssoftware mit ein. Benchmarks können sein: Pakete von echten Benutzerprogrammen Standardisierte Benchmarks  SPEC-Benchmark Suite

42 SPEC-Benchmarks SPEC Standard Performance Evaluation Corporation (seit 1989, verschiedene Hersteller zusammengeschlossen) allgemeine Anwendungsaufgaben für Rechensysteme, vor allem Angabe von Geschwindigkeit und Durchsatz Zahlreiche Benchmark suites, z.B. SPEC95, SPECweb96, SPEC JVM98 SPEC JBB2000 SPEC2000

43 SPEC95 Gemessen wird CPU-Leistung inkl. Cache, Hauptspeicher und Compiler, kaum Betriebssystem und Ein-/Ausgabe Referenzrechner der SPEC95-Benchmark-Suite: Sun SPARCstation 10/40-Rechner mit vier 40 MHz SuperSPARC-Prozessoren ohne Sekundär-Cache, Integer-Test-Programme (ANSI C) Gleitkomma-Programme (Fortran77) „SPECmark“: Kennzahl ist geometrische Mittel aller Kennzahlen der Programmfolge

44 SPECint95: 8 Integer-Test-Programme (ANSI C)
go: Go-Spiel, das drei Spiele gegen sich selbst spielt, m88ksim: ein Simulator für den Mikroprozessor, gcc: der GNU-C-Compiler, compress: Komprimierprogramm, li: LISP-Interpreter, ijpeg: JPEG-Komprimierprogramm, perl: PERL-Interpreter, vortex: Transaktions-Benchmark mit einer objektorientierten Einbenutzer-Datenbank von 40 Mbyte Größe.

45 SPECfp95: 10 Gleitkomma-Programme (Fortran77)
tomcatv: Netzgenerator mit doppelter Genauigkeit, swim: Berechnung eines Wasserwellenmodells in einfacher Genauigkeit, su2cor: Monte-Carlo-Simulation aus dem Bereich der Quantenphysik, hydro2d: Lösung einer hydrodynamischen Navier-Stokes-Gleichung zur Berechnung galaktischer Strömungen, mgrid: Gleichungslöser nach dem Mehrgitter-Verfahren im dreidim. Potentialfeld,

46 SPECfp95: 10 Gleitkomma-Programme (Fortran77)
applu: Lösung einer parabolischen-elliptischen partiellen Differentialgleichung, turb3d: Simulation isotropischer, homog. Turbulenzen (Würfel, Navier-Stokes-Gl.) apsi: berechnet Temperatur, Wind, Ausbreitungsgeschw. und die Verteilung von Umweltverschmutzungen, fppp: Quantenchemie, wave5: zweidim. Simulation elektromagnetischer Partikel aus der Plasmaphysik.

47 Beispiel zu SPEC95 600 MHz Pentium III: SPEC-int95 = SPECfp95 = 15.9 450 MHz Sun UltraSPARC-II: SPECint95 = SPECfp95 = 27.9 Ziel: vergleichbare Angaben für unterschiedliche Systeme Warnung: einzelne Werte geben nicht immer reale Verhältnisse wieder, daher nur erster Anhaltspunkt für eine Rechnerauswahl

48 Weitere Benchmark Suites
Basic Linear Algebra Subprograms (BLAS): für numerische Anwendungen Kern des LINPACK-Softwarepakets zur Lösung von Systemen linearer Gleichungen TOP-500-Liste der größten Parallelrechner Whetstone-Benchmark: in den siebziger Jahren entwickelt besteht aus einem einzigen Programm mit viel Gleitkommarechnungen Dhrystone-Benchmark: weiteres synthetisches Benchmark-Programm Heute nur noch wenig aussagekräftig Powerstone-Benchmark-Suite um den Energieverbrauch verschiedener Mikrocontroller zu vergleichen

49 Powerstone-Benchmarkprogramme
Auto: Fahrzeugsteuerungen, Bilv: logische Operationen und Schieben, Bilt: grafische Anwendung, Compress: UNIX-Kompressions-Programm, Crc: CRC-Fehlererkennung, Des: Datenverschlüsselung, Dhry: Dhrystone, Engine: Motor-Steuerung, fir_int: ganzzahlige FIR-Filter, G3fax: FAX Gruppe 3, G721: Audio-Kompression, Jpeg: JPEG-24-Bit-Kompression, Pocsag: Kommunikationsprotokoll für Pager, Servo: Festplattensteuerung, Summin: Handschriftenerkennung, Ucbqsort: Quick Sort, V42bits: Modem-Betrieb, Whet: Whetstone.


Herunterladen ppt "Vorlesungen im WS 2002/2003 Mikrorechnertechnik I"

Ähnliche Präsentationen


Google-Anzeigen