700 likes | 1.42k Views
Technische Informatik I. Thema der Vorlesung: Bitte bei Stud.IP anmelden Dort finden Sie die aktuelle Vorlesung sowie weitere Infos Ergänzende Praktika Elektronik – Praktikum Mikrocontroller - Praktikum FPGA - Praktikum. Becker/Drechsler/Molitor Technische Informatik ISBN 3827370922
E N D
Technische Informatik I • Thema der Vorlesung: • Bitte bei Stud.IP anmelden • Dort finden Sie die aktuelle Vorlesung sowie weitere Infos • Ergänzende Praktika • Elektronik – Praktikum • Mikrocontroller - Praktikum • FPGA - Praktikum Technische Informatik I (SS 2006)
Becker/Drechsler/Molitor Technische Informatik ISBN 3827370922 Schiffmann/Schmitz Technische Informatik I ISBN 354040418X LITERATUR Technische Informatik I (SS 2006)
Technische Informatik I(vom Gatter zum Computer) • Grundbegriffe der Digitaltechnik : • Boolsche Algebra, Grundgatter • Schaltnetze, Addierer, Subtrahierter, Parallelwerke • Schaltwerke, Flip-Flops, Zähler, Rechenwerke • Integrationstechnik • Physikalische Grundlagen: Halbleiter, Diode, Transistoren • Logikfamilien (TTL, CMOS, ECL…) • Speicher • AD/DA-Wandler • Programmierbare Logik, CPLD, FPGA, VHDL • Prozessoren Technische Informatik I (SS 2006)
Digitale Information Schalter Lampenzustand ist diskrete Funktion von Schalterzustand Analoge Information Z.B. Dimmer Lampenzustand ist kontinuierliche Funktion von Widerstand Analoge vs. Digitale Informationen Technische Informatik I (SS 2006)
Analoge Information Tonband Zeigermessgerät Theoretisch unendlich genau Praktisch: Ablese- und Reproduktionsgenauigkeit Analogrechner Digitale Information CD/DVD Digitales Messgerät Theoretisch ungenau Reproduzierbar Digitaler Rechner Analoge vs. Digitale Informationen: Beispiele Technische Informatik I (SS 2006)
N diskrete Zustände Technisch einfachste Realisierung: N=2: „Binär“ 0,1 An, Aus Strom fließt/fließt nicht Zwei Spannungspegel Wahr, Falsch Mathematischer Hintergrund: Boolsche Algebra Digitale Informationen Technische Informatik I (SS 2006)
Teil 1: Logik 1a: Schaltfunktionen Technische Informatik I (SS 2006)
Schaltsymbole für logische Operationen Technische Informatik I (SS 2006)
Funktion einer Variablen y = ¬x Alternativ: y = x y = x‘ y = ~x Schaltsymbol Negation Technische Informatik I (SS 2006)
y = a & b Alternativ: y = a · b y = ab Schaltsymbole a y b a y b a y & b a b y c Und-Verknüpfung • Es gilt: • y = (a & b) & c = a & (b & c) = a & b & c Technische Informatik I (SS 2006)
x = a | b Alternativ: x = a + b Schaltsymbole a x b Oder-Verknüpfung ≥1 Technische Informatik I (SS 2006)
a y b a y b NAND • y = ¬(a & b) • Schaltsymbol • Ersatzschaltung • Analog: NOR Technische Informatik I (SS 2006)
a y b XOR • „Exclusive OR“ • y = a ≡ b • Auch: „Antivalenz“ • Schaltsymbol • Ersatzschaltung ≡ 11 1 0 01 1 0 Technische Informatik I (SS 2006)
ea b y abe a b e y y Gatterschaltungen • Eigenschaften: • e = 0 („Enable“) • y = 0 • e = 1 • y = a | b • Also: • y = (a | b) & e • y = (a & e) | (b & e) • Allgemein: y = f (a,b,e) • Ziel: Implementierung von „f“ zu einfach wie möglich • Kosten • Gatterlaufzeit („Geschwindigkeit“) a 011 001 0 0 0 1 e y 0 1 b Technische Informatik I (SS 2006)
a=1 =0b=1 =0e=1 =0y=1=0 y Zeit Glitch !!! Exkurs: Timing-Diagramme • Zeitliche Darstellung von Gatterschaltungen • Hier: Eingänge a,b,e zeitlich variabel eab Technische Informatik I (SS 2006)
Boolsche Algebra • George Bool (1854) • Drei Operationen • „|“ (ODER, DISJUNKTION, auch: „+“) • „&“ (UND, KONJUNKTION, auch: „ · “) • „¬“ (NICHT, NEGATION, auch ) • Zwei Werte (0,1) Technische Informatik I (SS 2006)
Boolsche Algebra: Axiome • Axiome • Kommutativität: a|b = b|a , a&b = b&a • Neutrales Element: 0|a=a , 1&a=a • Distributivität • a & (b | c) = (a & b) | (a & c) • a | (b & c) = (a | b) & (a | c) • Komplementäres Element • a |¬a = 1 • b & ¬b = 0 • Dualität • Durch Vertauschung von 1↔0 sowie „|“↔„&“ entsteht wieder gültige Aussage Technische Informatik I (SS 2006)
Gesetze zur Umformung • Assoziative Gesetze • a & b & c = a & (b & c) = (a & b) & c • a | b | c = a | (b | c) = (a | b) | c • Distributive Gesetze • a & (b | c) = (a & b) | (a & c) • a | (b & c) = (a | b) & (a | c) • De Morgansche Gesetze • ¬(a & b) = ¬a | ¬b • ¬(a | b) = ¬a & ¬b Technische Informatik I (SS 2006)
Normalformen • y ist nur dann 0, wenn Zeile zu 0 verknüpft: • y3= a | ¬b | c • y4= a | ¬b | ¬c • y6=¬a | b | ¬c • y7=¬a | ¬b | c • y8=¬a | ¬b | ¬c • Zeile verUNDen: • y=(a | ¬b | c) & (a | ¬b | ¬c) & (¬a | b | ¬c) & (¬a | ¬b | c) &(¬a | ¬b | ¬c) • KONJUNKTIVE Normalform • y ist nur dann 1, wenn Zeile zu 1 verknüpft: • y1=¬a & ¬b & ¬c • y2=¬a & ¬b & c • y5= a & ¬b & ¬c • Zeile verODERn: • y=(¬a & ¬b & ¬c) | (¬a & ¬b & c) | (a & ¬b & ¬c) • DISJUNKTIVE Normalform Technische Informatik I (SS 2006)
Normalformen • Jede Schaltfunktion lässt sich als genau eine • konjunktive • disjunktive Normalform darstellen • Abgesehen von Vertauschungen sind diese Formen eindeutig • Daraus folgt: • Alle Schaltfunktionen sind durch die 3 boolschen Grundoperationen AND/OR/NOT darstellbar Technische Informatik I (SS 2006)
a y y y y b x y ist gleich x ist gleich ab a b Darstellung der 3 Grundoperationen • Können mit ¬, &, | alle Funktionen darstellen • Brauchen wir auch diese 3 Gatter? • NICHT („¬“) kann durch NAND dargestellt werden • UND kann durch NAND dargestellt werden • ODER kann durch NAND dargestellt werden • DeMorgan:y = ¬(¬a & ¬b) = a | b • NOT vor jeden Eingang: Technische Informatik I (SS 2006)
Zusammenfassung • Binäre Schaltfunktionen y(a,b,c….) • Als Wahrheitstabelle • Oder Darstellung durch 3 Grundoperationen: NICHT, UND, ODER • Als boolsche Funktion • Als Schaltung • Suche kostensparende Form der Implementierung von y() Technische Informatik I (SS 2006)
Zusammenfassung • Umformungsgesetze: • Assoziativgesetze, Distributivgesetze und deMorgan • KV-Diagramme • Suche nach Logikblöcken • VerUNDere Variablen, verODERe Blöcke • Normalformen • Darstellung jeder Schaltfunktion • durch konjunktive, bzw. disjunktive Normalform • benötigt nur die 3 Grundoperationen • Darstellung aller Grundoperationen durch z.B. NAND Technische Informatik I (SS 2006)
Teil 1: Logik 1b: Schaltnetze Technische Informatik I (SS 2006)
Schaltnetze • Schaltnetze • sind Funktionen, die von mehreren gleichen Eingangsvariablen abhängen • y1=y1(x1….xn) • y2=y2(x2….xn) … • ym=ym(x1….xn) • Beispiel für Schaltnetze: Addition und Subtraktion von Zahlen Technische Informatik I (SS 2006)
Zahlensysteme • Römische Zahlen • Buchstaben: I=1, V=5, X=10 • Nicht skalierbar… • Arabische Zahlen: 1,2,3,4,5,6,7,8,9,0 • 10 Ziffern (10 Finger?) • 1972 = 2*1 + 7*10 + 9*10*10 + 1*10*10*10 • Skalierbar! • Logik: 2 Zustände darstellbar • 2 Ziffern: 0,1 Technische Informatik I (SS 2006)
Duales (Binäres) Zahlensystem • Bsp: • 1010 = 0*1 + 1*2 + 0*2*2 + 1*2*2*2 = 10 • Allgemein: • Wertigkeit = 2Stelle-1 • 2er-Potenzen wichtig: • 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 2048… • Dezimal -> Binär • Teilen + Rest bilden… Technische Informatik I (SS 2006)
Umwandlung der Zahl 1972 • 2er-Potenzen: • 1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 2048… • Dezimal -> Binär • 11. Stelle: 1972 / 1024 = 1, Rest 948 • 10. Stelle: 948 / 512 = 1, Rest 436 • 9. Stelle: 436 / 256 = 1, Rest 180 • 8. Stelle: 180 / 128 = 1, Rest 52 • 7. Stelle: 52 / 64 = 0, Rest 52 • 6. Stelle: 52 / 32 = 1, Rest 20 • 5. Stelle: 20 / 16 = 1, Rest 4 • 4. Stelle: 4 / 8 =0, Rest 4 • 3. Stelle: 4 / 4 =1, Rest 0 • 1972 entspricht 111 1011 0100 Technische Informatik I (SS 2006)
Exkurs: Hexadezimalzahlen • In Digitaltechnik praktisch: Alle Zahlensysteme mit einer Basis 2N • Kann Bits zusammenfassen • Gebräuchlich: • Oktalsystem (3 Bits) • Hexadezimalsystem (4 Bits) • Gute Basis zur Beschreibung von Speicherstellen (da 8/16/32/64 Bit) • Digits: 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F • Bsp: 1972=111 1011 0100 0x7 B 4 Technische Informatik I (SS 2006)
Rechenregeln • Im Prinzip wie im Dezimalsystem • Übertrag beachten (1+1=10, 1+1+1=11) 0111 +1011 10 11 1010=10010 10010 - 1011 11 11 11 10 =00111 Ziel: Rechenregeln durch Gatterlogik aufbauen Technische Informatik I (SS 2006)
A A S Ü B B ≡ AB SÜ HA Addition • 2-Bit-Addition • Summe S und Übertrag Ü • Funktionstabelle • Halbaddierer • Keine Verarbeitung des EINGANGSÜbertrages • Kann nur für die niedrigste Stelle verwendet werden • Schaltsymbol Technische Informatik I (SS 2006)
Ü B AB C AC S1Ü1 SÜ2 SÜ HA HA VA Volladdierer • Brauchen dritten Summanden (C = „carry“) • Addition A+B • Addition +C • Da nie Ü1=Ü2=1 • Verbleibende Überträge verodern Technische Informatik I (SS 2006)
A1 B1 A4 B4 A2 B2 A3 B3 11 C C C C VA VA VA VA 0 S5 Ü3 Ü2 Ü1 1 1 1 1 S4 S1 S3 S2 0 0 0 1 Paralleladdierer • Ziel: Addition von 0111 + 1011 • 4 2-Bit-Additionen plus Übertrag (C) • Brauchen 4 Volladdierer 01 10 11 Technische Informatik I (SS 2006)
A A D E B B ≡ AB DE HS Subtraktion • 2-Bit-Subtraktion A-B • Differenz D und Entlehnung E • Funktionstabelle • Halbsubtrahierer • Keine Verarbeitung der EINGANGSEntlehnung • Kann nur für die niedrigste Stelle verwendet werden • Schaltsymbol Technische Informatik I (SS 2006)
E B BC C AC S1Ü1 DE2 DE HA HS VS Vollsubtrahierer • Hier: A - (B + C) • Addition B+C • Subtraktion A - Summe • Da nie Ü1=E2=1 • Verbleibende Überträge verodern Technische Informatik I (SS 2006)
u I ≡ A Volladdierer / -subtrahierer • Volladdierer vs. Subtrahierer • Austausch durch HA↔HS in 2ter Stufe • HA vs. HS • Nur ein logisches UND • Fazit: Brauchen umschaltbaren Inverter Technische Informatik I (SS 2006)
Zusammenfassung • Halbaddierer / -subtrahierer unterscheiden sich nur durch ein NICHT-Gatter • Umschaltbarer HA/HS möglich • Brauchen Volladdierer… • HA+HA • Brauchen Vollsubtrahierer… • HA+HS • …für parallele Rechenwerke Weitere wichtige Schaltnetze? Technische Informatik I (SS 2006)
Gate • Eingänge werden auf Ausgänge abgebildet. Wenn E=1 (enable) EA0A1A2A3 B0B1B2B3 Technische Informatik I (SS 2006)
a0 a1 a2 a3 S0 S1 S Multiplexer (MUX) • Weist mehreren Eingängen ein Ausgang zu • Auswahl von Eingang aXfalls S=X in Binärdarstellung • Realisierung mit disjunktiver Normalform: • y=(¬S0 & ¬S1 & a0) | (S0 & ¬S1 & a2) | (¬S0 & S1 & a2) | (S0 & S1 & a3) Bsp: 1-aus-4-MUX y S[0-1] zusammen- gefasst = Bus Technische Informatik I (SS 2006)
y0 y1 y2 a y3 S0 S1 S Demultiplexer (DEMUX) • Weist ein Eingang mehreren Ausgängen zu • Auswahl von Ausgang yX falls S=X in Binärdarstellung • Realisierung: • y0=a & ¬S0 & ¬S1 • y1=a & S0 & ¬S1 • y2=a & ¬S0 & S1 • y3=a & S0 & S1 Bsp: 1-zu-4-DEMUX Technische Informatik I (SS 2006)
a0 a1 y0 a2 y1 a3 Kodierer • EIN Eingang aX auf 1, Ausgänge stellen Eingangsnummer X in Binärdarstellung dar • Realisierung: • y0=a1 | a3 • y1=a2 | a3 Bsp: 4-zu-2-Kodierer Technische Informatik I (SS 2006)
y0 y1 a0 y2 a1 y3 Dekodierer • Ein Ausgang yX wird gemäß Eingang in Binärdarstellung auf 1 gesetzt • Realisierung: • y0= ¬a0 & ¬a1 • y1= a0 & ¬a1 • y2= ¬a0 & a1 • y3= a0 & a1 Bsp: 2-zu-4-Dekodierer Technische Informatik I (SS 2006)
Einsatzmöglichkeiten • MUX/DEMUX • Übergang serielle/parallele Übertragung • MUX • Auswahl Speicherzelle • Kodierer • Eingangskodierung (z.B. Interrupt) • Dekodierer • Dekodierung eines Maschinenbefehls, auch Auswahl Speicherzelle • Elementare Bauteile eines Prozessors Technische Informatik I (SS 2006)
Komplexität • Gatterverbrauch steigt mit zunehmender Komplexität stark an kombinatorische Logik Zustand Technische Informatik I (SS 2006)
Teil 1: Logik 1c: Flip-Flops Technische Informatik I (SS 2006)
E1 Q1 Q2 E2 Grundelement: Flip-Flop (FF) • Zustand zunächst E1=1E2=0 • Q1=0Q2=1 • Ändere E2=1 • Zustand für Q bleibt! 1 0 1 0 0 1 1 Wichtig: E1=E2=0 vermeiden Dann: Q1 = ¬Q2 (Q, Q) Technische Informatik I (SS 2006)
S Q Q R Q S S R Q ¬Q R Q Grundelement: Flip-Flop (FF) • Nenne Eingänge • S (Set) • R (Reset) • Negierte Logik • Schaltzeichen Technische Informatik I (SS 2006)
¬S=1 =0¬R=1 =0 Q=1 =0¬Q=1=0 Zeit Zeitverhalten • Bei ¬S=¬R=1 Anfangszustand gemäß Bauteiltoleranz Technische Informatik I (SS 2006)
Asynchrone vs. synchrone Schaltungen • Basis-FF kann jederzeit sein Zustand ändern • Sog. asynchrones Design • Vorteil: Schnell • Nachteil: In Kombination mit weiteren Schaltungselementen Verhalten schwer bestimmbar • Synchrone Schaltungen • Taktgeber • Takt bestimmt durch langsamste Bauteilgruppe • Flip-Flip: Braucht Takteingang Technische Informatik I (SS 2006)
S C Q ¬Q C R S C R Q ¬Q Clock-(C)-Verarbeitung und Inverter Getaktetes Flip-Flop (FF) • Falls C=0 • Ausgänge der NAND-Gatter =1 • Keine Änderung, • Falls C=1 • Änderung des Basis-FF-Zustandes • Jedoch während „C=1-Zyklus“ weitere Änderung möglich Basis-FF Technische Informatik I (SS 2006)