1 / 55

Microcontroller Teil 2

Microcontroller Teil 2. Wiederholung Duales Zahlensystem Schaltungslogik. Wiederholung. Geschichte des Microcontrollers Zuse Z3 Von-Neumann Architektur Intel 4004 Transistortechnik 2 Mrd Transistoren auf einem Chip. Duales Zahlensystem. Dezimalsystem: Zahlensystem zur Basis 10

fisseha
Download Presentation

Microcontroller Teil 2

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. VL Microcontroller - Dipl.-Inf. Swen Habenberger Microcontroller Teil 2 • Wiederholung • Duales Zahlensystem • Schaltungslogik

  2. VL Microcontroller - Dipl.-Inf. Swen Habenberger Wiederholung • Geschichte des Microcontrollers • Zuse Z3 • Von-Neumann Architektur • Intel 4004 • Transistortechnik • 2 Mrd Transistoren auf einem Chip

  3. VL Microcontroller - Dipl.-Inf. Swen Habenberger Duales Zahlensystem • Dezimalsystem: Zahlensystem zur Basis 10 • Ziffern 0 - 9 • Binärsystem: Zahlensystem zur Basis 2 • Ziffern 0 und 1 • Oktalsystem: Zahlensystem zur Basis 2^3 = 8 • Ziffern 0 - 7 • Hexadezimalsystem: Zahlensystem zur Basis 2^4 = 16 • Ziffern 0-9 und A-F

  4. VL Microcontroller - Dipl.-Inf. Swen Habenberger Umrechnung Dezimalzahl in Binärzahl • 243= 243 % 2 = 1 • = 243 / 2 = 121 • = 121 % 2 = 1 • = 121 / 2 = 60 • = 60 / 2 = 30 Rest 0 • = 30 / 2 = 15 Rest 0 • = 15 / 2 = 7 Rest 1 • = 7 / 2 = 3 Rest 1 • = 3 / 2 = 1 Rest 1 • = 1 / 2 = 0 Rest 1 => 11110011

  5. VL Microcontroller - Dipl.-Inf. Swen Habenberger Umrechnung Binärzahl in Dezimalzahl • 11110011= 1*2^0 + 1* 2^1 + 0* 2^2 + 0* 2^3 + 1* 2^4 • + 1* 2 ^5 + 1* 2^6 + 1* 2^7 • = 1*1 + 1*2 + 0*4 + 0*8 + 1*16 • + 1*32 + 1*64+1*128 • = 1+2+16+32+64+128 • = 243

  6. VL Microcontroller - Dipl.-Inf. Swen Habenberger Umrechung Dezimalzahl in Hexadezimalzahl • 243 = 243 % 16 = 3 => 3 • = 243 / 16 = 15 • = 15 % 16 = 15 => F • = 15 / 16 = 0 • => 243 = F3

  7. VL Microcontroller - Dipl.-Inf. Swen Habenberger Umrechnung Hexadezimalzahl in Dezimalzahl • F3 = 3*16^0 + F * 16^1 • = 3*1 + 15 * 16 • = 3 + 240 • = 243 • TIPP zum Üben: Der Windowstaschenrechner kann diese 3 Zahlenformate darstellen und in einander überführen

  8. VL Microcontroller - Dipl.-Inf. Swen Habenberger Umwandlung Binärzahl in Hexadezimalzahl und umgekehrt • 11110011 = 11110011 = F3 • F 3 =1111 0011 = 11110011 • Hexadezimalzahlen werden oft mit 0x als Prefix geschrieben: 0xF3 • Umwandlungen in jedes beliebige Zahlensystem, z.B. Oktalsystem funktionieren analog.

  9. VL Microcontroller - Dipl.-Inf. Swen Habenberger 2er Komplement • Bildung einer Negativen Zahl • Positive Darstellung der Zahl • Invertierung aller Bits • Addieren von 1 • Beispiel: -13 für eine 8 Bit Zahl • Berechne 13: 00001101 • Invertiere Bits: 11110010 • Addiere 1: 11110011

  10. VL Microcontroller - Dipl.-Inf. Swen Habenberger Zahlenkreis der 2erKomplementzahlen

  11. VL Microcontroller - Dipl.-Inf. Swen Habenberger Signed vs unsigned • Man unterscheidet zwischen signed und unsigned Zahlen • Signed: Mit Vorzeichen (Negative und Positive Zahlen) • Egal ob 8-, 16- oder 32-Bit Zahlen, das höchstwertige Bit gibt das Vorzeichen an. • Unsigned: Ohne Vorzeichen (Nur positive Zahlen) • Alle Bits tragen zum Ergebnis bei • Achtung: • 11110011 = 243 (unsigned) • 11110011 = - 13 (signed)

  12. VL Microcontroller - Dipl.-Inf. Swen Habenberger Zahlenbereiche Ganze Zahlen (Integer) • Signed: • bei 8 Bit: −128 bis +127 • bei 16 Bit: −32.768 bis +32.767 • bei 32 Bit: −2.147.483.648 bis +2.147.483.647 • bei 64 Bit: −9.223.372.036.854.775.808 bis +9.223.372.036.854.775.807 (9 Trillionen) • Unsigned: • bei 8 Bit: 0 bis 255 • bei 16 Bit: 0 bis + 65.535 • bei 32 Bit: 0 bis +4.294.967.295 • bei 64 Bit: 0 bis + 18.446.744.073.709.551.615

  13. VL Microcontroller - Dipl.-Inf. Swen Habenberger Fragen?

  14. VL Microcontroller - Dipl.-Inf. Swen Habenberger Rechnen mit Binärzahlen (Ganzzahlig) • Addition • Subtraktion • Multiplikation • Division • Mögliche Probleme • Overflow (Addition) • Underflow (Subtraktion) • Multiplikation erfodert doppelte Byte Anzahl • Division geht nicht auf

  15. VL Microcontroller - Dipl.-Inf. Swen Habenberger Addition von 2 8-Bitzahlen • 9 + 5 = 14 • 00001001 (9) + 00000101 (5) = 00001110 (14) 120 + 65 = 185 • 0111 1000 + 0100 0001 = 1011 1001 • Signed oder unsigned? • Unsigned:Korrektes Ergebnis (185) • Signed: Overflow (-71)

  16. VL Microcontroller - Dipl.-Inf. Swen Habenberger Subtraktion • Subtraktion ist die Addition des negativen Zweier Komplements • 9-5 = 4 <=> 9 + (-5) = 4 • 0000 1001 (9) + 1111 1011 (-5) = 0000 0100 (4) -120 – 65 = -185? 1000 1000 + 1011 1111 = 0100 0111 (71) UNDERFLOW!!!

  17. VL Microcontroller - Dipl.-Inf. Swen Habenberger Multiplikation / Division • 2^8*2^8=2^16 • Es werden immer doppelt soviele Bytes gebraucht, wie die Ursprungszahlen hatten. • Muliplikation und Division bedeutet eine Verschiebung der Bits nach links (Multiplikation) und nach rechts (Division) • << 4 bedeutet eine Multiplikation mit 2^4 (LeftShift) • Auffüllen mit 0 von hinten • >> 4 bedeutet Division durch 2^4 (RightShift) • Auffüllen von vorne mit Vorzeichenbit

  18. VL Microcontroller - Dipl.-Inf. Swen Habenberger Multiplikation • 12 * 13 = 156 • 0000 1100 * 0000 1101 = 0000 0000 1001 1100 1100 · 1101 ----------- 1100 + 1100 + 0000 + 1100 ----------- 10011100 (156)

  19. VL Microcontroller - Dipl.-Inf. Swen Habenberger Multiplikation • Verbesserungen der Multiplikation: • Booth-Algorithmus • Bit-Pair-Verfahren weitere Verbesserungen des Booth-Algorithmuses • Verbesserungen beruhen darauf das viele 0 in den positiven Zahlen und viele 1 am Anfang von negativen Zahlen stehen

  20. VL Microcontroller - Dipl.-Inf. Swen Habenberger Division • 168 / 6 = 28 Rest 0 • 172 / 6 = 28 Rest 4

  21. VL Microcontroller - Dipl.-Inf. Swen Habenberger Fragen?

  22. VL Microcontroller - Dipl.-Inf. Swen Habenberger Fliesskomma/Gleitkommazahlen • f = s · m · 2^e • F = Fliesskommazahl, z.B. 0,345 • S = Vorzeichenbit (1 Bit) • M = Mantisse (23 bzw. 52 Bit) • E = Exponent ( 8 bzw. 11 Bit) • Normalisierung notwendig • 2,0 * 10^1 = 0,2* 10^2 = 20* 10^0

  23. VL Microcontroller - Dipl.-Inf. Swen Habenberger Dezimalzahl nach Binärzahl • 11,25 = 01000 001001101000000000000000000 • Exponent muss so gewählt werden, dass die Mantisse eine Zahl zwischen 1 und 2 erhält • Bildung des 2er Logarithmus • Log(11,25) = 3,..... • Damit dieser Exponent nicht negativ wird wird 2^Bitanzahl Exponent-1 hinzuaddiert • (hier also 128-1=127) • Mantisse = (11,25/2^3 - 1) *2^{23} = • (1,40625 - 1) * 2^23 = 3407872 -> 01101000000000000000000

  24. VL Microcontroller - Dipl.-Inf. Swen Habenberger IEEE754 Einfache Genauigkeit • 0 < e < 255 =⇒ x = (−1)v · 1.m · 2e−127 Normale reelle Zahl • e = 0, m = 0 =⇒ x=0 Null • e = 0, m = 0 =⇒ x = (−1)v · 0.m · 21−127 Nichtnormalisierte Zahl • e = 255, m = 0 =⇒ x = (−1)v · ∞ Unendlich • e = 255, m = 0 =⇒ x = NAN Not a Number, keine Zahl • Genauigkeit 15 Stellen • Dies bedeutet nicht 15 Nachkommastellen, sondern • z.B.: 1234567890,12345 das alle weiteren Nachkommastellen „ungenau“ sind

  25. VL Microcontroller - Dipl.-Inf. Swen Habenberger Fragen

  26. VL Microcontroller - Dipl.-Inf. Swen Habenberger Digitale Schaltungstechnik • NOT (Invertierer) • AND (*) Konjunktion • OR (+) Disjunktion • XOR • NAND • NOR • Konjungierte Normalform • Disjunktierte Normalform

  27. VL Microcontroller - Dipl.-Inf. Swen Habenberger Standardisierung von Schaltungen • Gängige Normen: • International Electrotechnical Commission (IEC) • Norm 60617-12 ist Standard • US ANSI IEEE 91-1984 • Alternativer Standard • DIN 40700 (Deutsche Industrie Norm) • Wurde 1996-1998 durch die DIN-Norm 60617 ersetzt

  28. VL Microcontroller - Dipl.-Inf. Swen Habenberger AND • Schaltsymbole: • IEC • ANSI • DIN • Stellt eine Multiplikation dar • Schreibweise AB bzw • Logisch: A ^ B • Fachbegriff: Konjunktion

  29. VL Microcontroller - Dipl.-Inf. Swen Habenberger OR • Schaltsymbole: • IEC • ANSI • DIN • Stellt eine Addition dar • Schreibweise A+B bzw • Logisch: A V B • Fachbegriff: Disjunktion

  30. VL Microcontroller - Dipl.-Inf. Swen Habenberger XOR • Schaltsymbole: • IEC • ANSI • DIN • Es darf nur genau ein Eingang wahr sein

  31. VL Microcontroller - Dipl.-Inf. Swen Habenberger NAND • Schaltsymbole: • IEC • ANSI • DIN • Häufiger Baustein in der Halbleitertechnik • Sheffer-Operation • Sheffer hat nachgewiesen, dass man alle logischen Operatoren mit NANDs realisieren kann

  32. VL Microcontroller - Dipl.-Inf. Swen Habenberger NOR • Schaltsymbole: • IEC • ANSI • DIN • Häufiger Baustein in der Halbleitertechnik • Peirce-Operation • Peirce hat die Grundlagen für Sheffer gelegt

  33. VL Microcontroller - Dipl.-Inf. Swen Habenberger Überblick

  34. VL Microcontroller - Dipl.-Inf. Swen Habenberger Wahrheitstafeln • Wahrheitstabellen werden verwendet um Boole'sche Funktionen zu definieren, und / oder sie darzustellen. • Die Anzahl der möglichen Kombinationen steigt exponentiell mit der Anzahl der Eingangsvariablen an => 2 ^Anzahl der Eingangsvariablen • Anwendung auf Funktionen mit nur wenigen (4) Eingangsvariablen beschränkt. • Zur Vereinheitlichung von Wahrheitstabellen stehen auf der linken Seite die Zahlen als Binärcode da

  35. VL Microcontroller - Dipl.-Inf. Swen Habenberger Wahrheitstabellebeispiel

  36. VL Microcontroller - Dipl.-Inf. Swen Habenberger Konjugierte Normalform • Eine Formel der Aussagenlogik ist in konjunktiver Normalform, wenn sie eine Konjunktion von Disjunktionstermen ist. Disjunktionsterme sind dabei Disjunktionen von Literalen. Literale sind nichtnegierte oder negierte Variablen. Eine Formel in KNF hat also die Form • Beispiel:

  37. VL Microcontroller - Dipl.-Inf. Swen Habenberger Disjunktive Normalform • Eine Formel der Aussagenlogik ist in disjunktiver Normalform, wenn sie eine Disjunktion von Konjunktionstermen ist. Ein Konjunktionsterm wird ausschließlich durch die konjunktive Verknüpfung von Literalen gebildet. Literale sind dabei nichtnegierte oder negierte Variablen. Eine Formel in DNF hat also die Form

  38. VL Microcontroller - Dipl.-Inf. Swen Habenberger Beispiel

  39. VL Microcontroller - Dipl.-Inf. Swen Habenberger De Morgansche Regeln • DeMorgan hat die Gesetze für die Umformung von logischen Aussagen formuliert

  40. VL Microcontroller - Dipl.-Inf. Swen Habenberger Fragen

  41. VL Microcontroller - Dipl.-Inf. Swen Habenberger Halbaddierer

  42. VL Microcontroller - Dipl.-Inf. Swen Habenberger Schaltbild Halbaddierer

  43. VL Microcontroller - Dipl.-Inf. Swen Habenberger Volladdierer

  44. VL Microcontroller - Dipl.-Inf. Swen Habenberger Schaltbild Volladdierer

  45. VL Microcontroller - Dipl.-Inf. Swen Habenberger 4-Bit-Addierer

  46. VL Microcontroller - Dipl.-Inf. Swen Habenberger Probleme: Hazards • Übergang 111 zu 110

  47. VL Microcontroller - Dipl.-Inf. Swen Habenberger Lösung zusätzliche Gatter

  48. VL Microcontroller - Dipl.-Inf. Swen Habenberger FPGA

  49. VL Microcontroller - Dipl.-Inf. Swen Habenberger Flip-Flops • Flip-flops dienen als Speicher eines Bits • Werden häufig als Registerbausteine eingesetzt • Genauer Aufbau wird bei der Architektur des Prozessors besprochen werden

  50. VL Microcontroller - Dipl.-Inf. Swen Habenberger Frage

More Related