MikroController und Mikroprozessoren

Ähnliche Dokumente
Mikrocontroller und Mikroprozessoren

Mikrocontroller und Mikroprozessoren

Inhaltsverzeichnis 1 Grundlagen Grundlegende Prozessortechniken...16

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

MikroController und Mikroprozessoren

Mikrocontroller und Mikroprozessoren

Mikrocontroller und Mikroprozessoren

Eingebettete Systeme 2. Übungsblatt Lösungsvorschlag

Helmut Bähring. Mikrorechner Technik. Übungen und Lösungen. Mit 78 Abbildungen und CD-ROM. Springer

Inhaltsverzeichnis Kapitel 1 Grundlagen für Echtzeitsysteme in der Automatisierung

Kurs Computersysteme II. Autor: Prof. Dr. T. Ungerer. Überarbeitung: Dr. H. Bähring Prof. Dr. J. Keller Prof. Dr. W.

Name: Vorname: Matr.-Nr.: 4. a) RISC-Architekturen müssen zur Decodierung von Maschinenbefehlen stets ein mikroprogrammierbares Steuerwerk verwenden.

Vorwort Teil 1: Grundlagen 1. 1 Einleitung Grundbegriffe Einheiten Geschichte Arten von Computern 8

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

Mikroprozessoren. Aufbau und Funktionsweise. Christian Richter. Ausgewählte Themen der Multimediakommunikation SS 2005

Mikroprozessortechnik

5. Beispiele verschiedener Mikrocontroller

2.6 Mikrocontroller-Beispiele

Mikroprozessortechnik

Teil 1: Prozessorstrukturen

Neue Prozessor-Architekturen für Desktop-PC

Inhaltsverzeichnis. Vorwort...VII I. Übungen zu Band I... 1

Vorlesung Rechnerarchitektur. Einführung

Implementierung: Direkt abgebildeter Cache

Rechneraufbau und Rechnerstrukturen

Technische Grundlagen der Informatik 2 SS Einleitung. R. Hoffmann FG Rechnerarchitektur Technische Universität Darmstadt E-1

Rechneraufbau und Rechnerstrukturen

Prozessor- und Rechnerarchitekturen (Master)

Prinzipien und Komponenten eingebetteter Systeme

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

Vertiefungsrichtung Rechnerarchitektur

Inhaltsverzeichnis. Taschenbuch Mikroprozessortechnik. Herausgegeben von Thomas Beierlein, Olaf Hagenbruch ISBN:

3. Architekturen moderner Prozessoren 3.1 Einführung (1)

Parallele und verteilte Programmierung

Arbeitsfolien - Teil 4 CISC und RISC

Mikrorechner-Technik

Technische Informatik 2

Die ARM-Mikroarchitektur. Acorn RISC Machine ARM. Asm Prak SS03 p.1/13

Teil 1: Prozessorstrukturen

Fragenkatalog Computersysteme Test 25. April 2008

Struktur und Operationsprinzip von Prozessoren

Rechnergrundlagen. Vom Rechenwerk zum Universalrechner

1 Grundlagen. 1.1 Rechnerarchitektur. Mikroprozessortechnik MFB. Einleitung, Systemaufbau

Teil VIII Von Neumann Rechner 1

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

Computational Engineering I

Teil 1: Prozessorstrukturen

Fragenkatalog zur Klausur Computersysteme

Teil 1: Prozessorstrukturen

Technische Informatik

Systeme I: Betriebssysteme Kapitel 8 Speicherverwaltung

Inhaltsverzeichnis VII

Philipp Grasl PROZESSOREN

11.0 Rechnerarchitekturen

Übungsklausur Mikroprozessortechnik und Eingebettete Systeme I

DIGITALE SCHALTUNGEN II

Beispiele von Branch Delay Slot Schedules

Mikroprozessortechnik und Rechnerstrukturen

Technische Informatik 1 - HS 2016

Mikrocomputertechnik

Einführung (1) Erster funktionsfähiger programmgesteuerter Rechenautomat Z3, fertiggestellt 1941 Bild: Nachbau im Deutschen Museum München

RISC-Prozessoren (1)

Tutorium Rechnerorganisation

Wichtige Rechnerarchitekturen

Technische Informatik 1 - HS 2016

Echtzeit Videoverarbeitung

Inhaltsverzeichnis 1 Ein-Bit-Rechner Mikrorechentechnik-Grundlagen Das Mikrocontrollersystem ein Überblick am Beispiel MSP430F1232

Mikroprozessoren Grundlagen AVR-Controller Input / Output (I/O) Interrupt Mathematische Operationen

Fragenkatalog zur Klausur Computersysteme

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

Fachbereich Medienproduktion

Objektorientiertes Programmieren

RO II Übungen ohne Lösungen V16

Kapitel 11 RISC-Rechner

Zusammenhang Interrupt, Befehlszyklus, indirekte Adressierung und Mikroprogramm [Stallings, Kap. 15, S ]

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

Instruktionen pro Takt

Kap.2 Befehlsschnittstelle. Prozessoren, externe Sicht

MikroController der 8051-Familie

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

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

Komponenten & Programmierung von Automatisierungssystemen Softwareentwicklung für Mikrocontroller

Mikroprozessortechnik

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

Vorwort 8. Kap. 1: Grundlagen 10

Besprechung des 5. Übungsblattes Parallelität innerhalb der CPU Pipelining

I Grundlagen der parallelen Programmierung 1

Teil Rechnerarchitekturen. Repetitorium. Corinna Schmitt

RO-Tutorien 15 und 16

CISC ( Complex Instruction Set Computer ) mächtige Instruktionssätze zur Unterstützung von Hochsprachenkonstrukten

Transkript:

Uwe Brinkschulte Theo Ungerer MikroController und Mikroprozessoren Mit 205 Abbildungen und 39 Tabellen Springer

Inhaltsverzeichnis 1 Grundlagen 1 1.1 Mikroprozessoren, MikroController, Signalprozessoren und SoC 1 1.2 PC-Systeme 3 1.3 Eingebettete und ubiquitäre Systeme 5 1.4 Leistungsmessung und Leistungsvergleich 11 2 Grundlegende Prozessortechniken 16 2.1 Befehlssatzarchitekturen 16 2.1.1 Prozessorarchitektur, Mikroarchitektur und Programmiermodell 16 2.1.2 Datenformate 17 2.1.3 Adressraumorganisation 21 2.1.4 Befehlssatz 22 2.1.5 Befehlsformate 25 2.1.6 Adressierungsarten 27 2.1.7 CISC-und RISC-Prinzipien 33 2.2 Befehlssatzbeispiele 35 2.2.1 Frühe RISC-Rechner 35 2.2.2 Das Berkeley RISC-Projekt 36 2.2.3 Die DLX-Architektur 37 2.3 Einfache Prozessoren und Prozessorkerne 40 2.3.1 Von-Neumann-Prinzip 40 2.3.2 Grundlegender Aufbau eines Mikroprozessors 43 2.3.3 Einfache Implementierungen 44 2.3.4 Pipeline-Prinzip 45 2.4 Befehls-Pipelining 47 2.4.1 Grundlegende Stufen einer Befehls-Pipeline 47 2.4.2 Die DLX-Pipeline 48 2.4.3 Pipeline-Konflikte 54 2.4.4 Datenkonflikte und deren Lösungsmöglichkeiten 54 2.4.5 Steuerflusskonflikte und deren Lösungsmöglichkeiten 61 2.4.6 Sprungzieladress-Cache 64 2.4.7 Statische Sprungvorhersagetechniken 66 2.4.8 Strukturkonflikte und deren Lösungsmöglichkeiten 67 2.4.9 Ausführung in mehreren Takten 68 2.5 Weitere Aspekte des Befehls-Pipelining 70

X Inhaltsverzeichnis 3 Mikrocontroller 72 3.1 Abgrenzung zu Mikroprozessoren 73 3.2 Anwendungsfelder 81 3.2.1 Prozesssteuerung 81 3.2.2 Steuerung von Bedienelementen 89 3.3 Leistungsklassen und industrielle Mikrocontrollerfamilien 90 3.4 Auswahlkriterien für den Einsatz von MikroControllern 97 3.5 Software-Entwicklung 101 3.6 Forschungstrends 105 3.6.1 Systems-on-Chip (SoC) 106 3.6.2 Energiespar-Techniken 110 3.6.3 Java und Java-Prozessoren für eingebettete Systeme 114 4 Mikrocontroller-Komponenten 118 4.1 Prozessorkerne 118 4.2 Ein-/Ausgabeeinheiten 121 4.2.1 Anbindung an den Prozessorkern 121 4.2.2 Digitale parallele Ein-/Ausgabeeinheiten 126 4.2.3 Digitale serielle EhWAusgabeeinheiten 129 4.2.4 Wandlung zwischen analogen und digitalen Signalen 137 4.3 Zeitgeberbasierte Einheiten 146 4.3.1 Zähler und Zeitgeber 147 4.3.2 Capture- und Compare-Einheit 152 4.3.3 Pulsweitenmodulator 153 4.3.4 Watchdog-Einheit 157 4.3.5 Echtzeit-Ein-/Ausgabeeinheiten 158 4.4 Speicher 160 4.4.1 Festwertspeicher 162 4.4.2 Schreib-/Lesespeicher 164 4.5 Unterbrechungssteuerung 166 4.6 DMA 175 4.7 Erweiterungsbus 179 5 Beispiele verschiedener Mikrocontroller 184 5.1 MC68HC11E - ein einfacher Mikrocontroller 184 5.1.1 Prozessorkern 186 5.1.2 Unterbrechungsbehandlung 189 5.1.3 Speicher und Adressraum 191 5.1.4 EinVAusgabeeinheiten und Zähler/Zeitgeber 192 5.1.5 Erweiterungsbus 196 5.2 MC68332 - ein Mikrocontroller mittlerer Leistung 198 5.2.1 Prozessorkern 199 5.2.2 Unterbrechungsbehandlung 202 5.2.3 Speicher und Adressraum 204 5.2.4 Ein-/Ausgabeeinheiten und Zähler/Zeitgeber 206 5.2.5 Erweiterungsbus 211

Inhaltsverzeichnis XI 5.3 PXA250 - ein Hochleistungs-Mikrocontroller 215 5.3.1 Prozessorkern 217 5.3.2 Unterbrechungsbehandlung 220 5.3.3 Speicher und Adressraum 222 5.3.4 EhWAusgabeeinheiten und Zähler/Zeitgeber 223 5.3.5 Erweiterungsbus 230 5.4 MCore - optimiert für niedrigen Energieverbrauch 231 5.4.1 Reduktion der Busaktivitäten und Erhöhung der Code-Dichte 233 5.4.2 Statisches Power-Management 235 5.4.3 Dynamisches Power-Management 236 5.5 Komodo - ein Forschungs-Mikrocontroller 237 5.5.1 Prozessorkern 239 5.5.2 Echtzeit-Scheduling 242 5.5.3 Unterbrechungsbehandlung 245 5.5.4 Anbindung der peripheren Komponenten 247 5.5.5 Evaluierungs-Ergebnisse 248 6 Hochperformante Mikroprozessoren 253 6.1 Von skalaren RISC- zu Superskalarprozessoren 253 6.2 Komponenten eines superskalaren Prozessors 255 6.3 Superskalare Prozessor-Pipeline 258 6.4 Präzisierung des Begriffs superskalar" 260 6.5 Die VLIW-Technik 262 6.6 Die EPIC-Technik 263 6.7 Vergleich der Superskalar- mit der VLIW- und der EPIC-Technik 265 7 Die Superskalartechnik 268 7.1 Befehlsbereitstellung 268 7.1.1 Code-Cache-Speicher 268 7.1.2 Befehlsholestufe 269 7.1.3 Trace Cache 270 7.2 Sprungvorhersage und spekulative Ausführung 272 7.2.1 Grundlagen 272 7.2.2 Dynamische Sprungvorhersagetechniken 273 7.2.3 Ein- und Zwei-Bit-Prädiktoren 275 7.2.4 Korrelationsprädiktoren 278 7.2.5 Zweistufig adaptive Prädiktoren 279 7.2.6 gselect- und gshare-prädiktoren 286 7.2.7 Hybridprädiktoren 287 7.2.8 Zuverlässigkeitsabschätzung 289 7.2.9 Weitere Prädiktoren zur Interferenzverringerung 290 7.2.10 Prädikation 293 7.2.11 Mehrpfadausführung 295 7.2.12 Vorhersage bedingter Sprungbefehle mit indirekter Adressierung 297 7.2.13 Stand der Technik 298

XII Inhaltsverzeichnis 7.2.14 Sprungvorhersage mit hoher Bandbreite 299 7.3 Decodierung und Registerumbenennung 300 7.3.1 Decodierung 300 7.3.2 Registerumbenennung 301 7.4 Befehlszuordnung 304 7.5 Ausführungsstufen 311 7.6 Gewährleistung der sequenziellen Programmsemantik 316 7.6.1 Rückordnungsstufe 316 7.6.2 Präzise Unterbrechungen 317 7.6.3 Rückordnungspuffer 318 7.7 Verzicht auf die Sequenzialisierung bei der Rückordnung 319 8 Speicherverwaltung 321 8.1 Speicherhierarchie 321 8.2 Register und Registerfenster 323 8.3 Virtuelle Speicherverwaltung 327 8.4 Cache-Speicher 332 8.4.1 Grundlegende Definitionen 332 8.4.2 Grundlegende Techniken 333 8.4.3 Verringern der Fehlzugriffsrate 339 8.4.4 Verringern des Fehlzugriffsaufwandes 342 8.4.5 Verringern der Cache-Zugriffszeit bei einem Treffer 343 8.4.6 Cache-Kohärenz und Speicherkonsistenz 346 8.4.7 Busschnüffeln und MESI-Protokoll 347 8.4.8 Speicherkonsistenz 350 9 Beispiele für Mikroprozessoren 353 9.1 PentiumPro, Pentium II und Pentium III 353 9.2 Athlon 355 9.3 Pentium 4 357 10 Zukunftstechniken für Mikroprozessoren 360 10.1 Technologieprognosen 360 10.2 Stand der Technik und Grenzen heutiger Prozessortechniken 362 10.3 Prozessortechniken zur Erhöhung des Durchsatzes eines Kontrollfadens 365 10.3.1 Weiterentwicklungen des Trace Cache 365 10.3.2 Datenabhängigkeits-, Adress- und Wertespekulationen 366 10.3.3 Vielfach superskalare Prozessoren 367 10.4 Prozessortechniken zur Erhöhung des Durchsatzes einer mehrfädigenlast 368 10.4.1 Chip-Multiprozessor 368 10.4.2 Prozessor-Speicher-Integration 370 10.4.3 Mehrfädige Prozessoren 371 10.5 Kontrollfadenspekulation 381 10.5.1 Multiskalarer Prozessor 381

Inhaltsverzeichnis XIII 10.5.2 Trace-Prozessor 383 10.5.3 Weitere Techniken der Kontrollfadenspekulation 384 11 Zusammenfassung 387 Literatur 389 Sachverzeichnis 401