Vorlesung Mikrocontroller Teil 1 7.1.2008 Dipl.-Informatiker Swen Habenberger
Vorlesung Mikrocontroller Organisatorisches Vorlesungszeiten Mittwoch, 7.45-11.00 Integrierte Übungen Prüfung Klausur im Mai Kontakt s.habenberger@ramitek.de Folien stehen ab Ende Januar zur Verfügung Vorlesung Mikrocontroller
Vorlesung Mikrocontroller Organisatorisches Literatur Atmel Prozessordatenblätter Buchempfehlung Bücher sind mit erscheinen bereits veraltet, daher keine Pflichtlektüre Rechnerorganisation und -entwurf von David A. Patterson, John L. Hennessy, Arndt Bode, und Wolfgang Karl (20 €) Computerarchitektur. Strukturen - Konzepte - Grundlagen von Andrew S. Tanenbaum (50 €) Computer Architecture. A Quantitative Approach von John L. Hennessy und David A. Patterson von Academic Press (45 €) Fragen und Anregungen sind erwünscht Vorlesung Mikrocontroller
Vorlesung Mikrocontroller
Vorlesung Mikrocontroller Überblick Geschichte des Mikrocontrollers Aufbau und Funktion Mikroprozessor Peripheriekomponenten Datenübertragung Parallel Seriell Programmierung eines Mikroprozessors in Assembler PID-Regler Vorlesung Mikrocontroller
Was ist ein Mikrocontroller? Rechenmaschine Beruht auf Mikrochip Bildet die Reale Welt in ein technische Welt ab Rechnet Bildet die technische Welt wieder in die Reale Welt ab Heute sind Mikrocontroller omnipräsent Auto, Waschmaschine, Armbanduhr, Handy, el. Zahnbürste, etc.pp. Vorlesung Mikrocontroller
Seit wann gibt es Rechenmaschinen? Abakus ca. 1000 v.Chr. Arabische Welt hat Grundlagen für die Algebra gelegt Aryabhata (6. Jh) Rechnet mit 0 Berechnet PI mit 3,1416 Vorlesung Mikrocontroller
Vorlesung Mikrocontroller Wie ging es weiter? Gottfried Wilhelm Leibniz 17. Jahrhundert Mechanischer Rechenautomat Duales Zahlensystem Matrizen und Determinanten Infinitesimalrechnung Unterseeboot Begründer der Logik Vorlesung Mikrocontroller
Industrielle Revolution (19. Jh.) Jaquard: Lochkarte am Webstuhl George Boole Boolsche Algebra Aussagenlogik Hollerith Lochkartenmaschine zur Volkszählung Wurde 1933 und 1939 in Deutschland zur Volkszählung eingesetzt Teil des IBM-Konzerns Vorlesung Mikrocontroller
Vorlesung Mikrocontroller Konrad Zuse Z1-Z4 Z3 erste Turingmaschine Gleitkommazahlen Grundlagen für IEEE754 Exponent und Mantissendarstellung Plankalkül Erste Programmiersprache der Welt Vorlesung Mikrocontroller
Vorlesung Mikrocontroller Turing Hat den Enigma-Code entschlüsselt Erfinder des ersten Schachprogamms Turingmaschine Erweitert Gödels Arbeit Erste Computer mit Röhren Bugs Vorlesung Mikrocontroller
Vorlesung Mikrocontroller Eniac Erster voll digitaler Computer 10x17 m bei 27 t Gewicht 17468 Röhren, 7200 Dioden, 70000 Widerstände Stromverbrauch: 174 kW Vorlesung Mikrocontroller
Vorlesung Mikrocontroller Von-Neumann (1945-1953) Von-Neumann-Architektur EDVAC-Rechenmaschine Von Neumann-Zyklus FETCH DECODE FETCH OPERANDS EXECUTE (WRITE-BACK) Vorlesung Mikrocontroller
Vorlesung Mikrocontroller Transistortechnik 1956 Physiknobelpreis für Mitarbeiter der Bell Labs Feldeffektransistor (FET) MOSFET, eigentlich MISFET Bipolartransistor Zuerst aus Germanium Später aus Silizium Erster europäischer Rechner: Mailüfterl 4x0,5x2,5m groß Vorlesung Mikrocontroller
Intergrierte Schaltkreise IC Transistoren werden aus einem Stück Kristall gefertigt Wegfall von Leiterplatten Patentiert von Texas Instruments 1971 Intel 4004 (1971) 2300 Transistoren Intel Itanium (2006) 1.700.000.000 Transitoren Vorlesung Mikrocontroller
Vorlesung Mikrocontroller
Vorlesung Mikrocontroller
Vorlesung Mikrocontroller Zitate John C. Edwards, brit. Zukunftsforscher Wenn es im Jahre 1879 schon Computer gegeben hätte, würden diese vorausgesagt haben, daß man infolge der Zunahme von Pferdewagen im Jahre 1979 im Pferdemist ersticken würde. Popular Mechanics, forecasting the relentless march of science, 1949 Computer der Zukunft werden nicht mehr als 1.5 Tonnen wiegen. Thomas Watson, Vorsitzender von IBM, 1943 Ich denke, daß es einen Weltmarkt für vielleicht fünf Computer gibt . Vorlesung Mikrocontroller
Vorlesung Mikrocontroller Zitate Ken Olson, Präsident, Vorsitzender und Gründer von Digital Equipment Corp., 1977 Es gibt keinen Grund, warum irgend jemand einen Computer in seinem Haus wollen würde. Michio Kaku, amerik. Physiker u. Hochschullehrer, Prof. f. theoret. Physik, City University of New York Wer heute eine Geburtstagskarte bekommt, die beim Aufklappen "Happy Birthday" spielt, hat mehr Rechenleistung in der Hand, als die alliierten Streitkräfte im Jahr 1945 besaßen. André Kostolany - ungarischer Börsenspekulant (1908 - 1999). DV-Systeme verarbeiten, womit sie gefüttert werden. Kommt Mist rein, kommt Mist raus. „640K ought to be enough for anybody.“, Angeblich Bill Gates, Gründer von Microsoft, 1981 Vorlesung Mikrocontroller
Vorlesung Mikrocontroller Intel 4004 Vorlesung Mikrocontroller
Vorlesung Mikrocontroller Amd Opteron Vorlesung Mikrocontroller
Vorlesung Mikrocontroller Fragen ? Vorlesung Mikrocontroller
Vorlesung Mikrocontroller Microcontroller Mikrocontroller (µController, µC, MCU) sind Chips, die neben dem Prozessor auch Peripheriefunktionen auf dem Chip vereinen. Arbeits- und Programmspeicher teilweise oder ganz auf dem Chip System on a Chip (SoC) Peripheriefunktionen: Controller Area Network (CAN) Local Interconnect Network (LIN) Universal Serial Bus (USB) Inter-Intergrated Circuit (I²C) Serial Peripheral Interface (SPI) Serielle und Parallele Schnittstellen Ethernet-Schnittstellen PWM-Ausgänge LCD-Controller Analog-Digital-Wandler Einige Mikrocontroller verfügen auch über programmierbare digitale und/oder analoge Funktionsblöcke. Vorlesung Mikrocontroller
AVR32 32-bit Microcontroller AT32AP7000 Reduced power consumption and heat dissipation Reduced CPU clock frequency Higher throughput / MHz Ease of development Well-featured, industry standard development tools and OCD system Rich instruction set Higher Performance Zero-cycle branches SIMD DSP instructions 186 innovative RISC instructions 7-stage pipeline with parallel out-of-order execution Exceptional code-density reduce cache-misses and increase throughput Vorlesung Mikrocontroller
Einteilung von Rechnerarchitekturen Klassifikation nach Flynn Single Instruction – Single Data Stream (SISD) Klassischer von Neumann-Rechner Single Instruction – Multiple Data Stream (SIMD) Vectorrechner Multi Instruction – Multiple Data Stream (MIMD) Multiprozessorsysteme Multi Instruction – Multiple Data Stream (MISD) Schwer vorstellbar Vorlesung Mikrocontroller
Vorlesung Mikrocontroller MISD Systolisches Array Vorlesung Mikrocontroller
Vorlesung Mikrocontroller MIMD Vorlesung Mikrocontroller
Vorlesung Mikrocontroller SIMD Feldrechner Vektorrechner MMX SSE Algorithmen müssen angepasst werden Vorlesung Mikrocontroller
Vorlesung Mikrocontroller SISD Von Neumann Architektur Vorlesung Mikrocontroller
Vorlesung Mikrocontroller SISD Vorlesung Mikrocontroller
Vorlesung Mikrocontroller Unterteilung von SISD Complex Instruction Set Computing (CISC) Viele Befehle Mikroprgramme in einem Befehl Mehrere Register können in einem Befehl bearbeitet werden 4-10 Taktzyklen pro Befehl Reduced Instruction Set Computing (RISC) Weniger Befehle Viele Register Einführung von Pipelines Vorlesung Mikrocontroller
Vorlesung Mikrocontroller
Vorlesung Mikrocontroller NGW100 Vorlesung Mikrocontroller
Vorlesung Mikrocontroller Fragen? Vorlesung Mikrocontroller
Vorlesung Mikrocontroller Digitale Logik Technische Darstellung Logische Darstellung TTL V.24 Transmissionsfaktor Boolsche Algebra Schalt-algebra 0.0 .. 0,8 V 12 ..3 V 0..40 % 0 (falsch) L 2,0 .. 5,0 V -3 .. -12 V 70 .. 100 % 1 (wahr) H Vorlesung Mikrocontroller
Vorlesung Mikrocontroller Boolesche Alegbra AND (*) OR (+) NOT XOR NOR NAND De Morgansche Regeln Vorlesung Mikrocontroller
Vorlesung Mikrocontroller Wichtigste Bausteine Complementary Metal Oxide Semiconductor (CMOS) Auf einem Substrat sind p-Kanal und n-Kanal realisiert NAND Elektrisch: Reihenschaltung USB-Stick NOR Elektrisch: Parallelschaltung EPROM Vorlesung Mikrocontroller
Komplementdarstellung Einer-Komplement Höchstwertiges Bit bestimmt das Vorzeichen Negative Zahl Rechne Dezimalzahl in Binärzahl um Invertiere alle Bits Nachteil: Doppelte Darstellung der Null Zweier-Komplement Addiere 1 Vorlesung Mikrocontroller
Darstellung von Zahlen Mensch: Deziamlsystem (Basis 10) Computer: Binärsystem (Basis 2) Zwischenform Hexadezimalsystem (Basis 16) Vorlesung Mikrocontroller
Vorlesung Mikrocontroller BCD-Kodierte Zahlen 4 Bits für eine Zahl zwischen 0 und 9 0000 = 0 1001 = 9 Vorlesung Mikrocontroller
Fliesskommazahlen (IEEE754) X = S * m * b^e S = Vorzeichenbit (i.A. 1 Bit) M = Mantisse (8 Bit / 11 Bit) E = Exponent ( 23 Bit / 52 Bit ) B = Basis (i.A. 2) Fliesskommaarithmetik ist nicht trivial Prozessoren besitzen eigene Fliesskommaeinheiten Vorlesung Mikrocontroller
Vorlesung Mikrocontroller Übung zu Binärdarstellung und Hexadezimalzahlen Übung zu Fliesskommazahlen Vorlesung Mikrocontroller