Einführung in Informatik Prof. Dr.-Ing. Andreas Penningsfeld
Zahlensysteme Allgemein: Zahl b := zn * bn +... + z * b + z ( ) * b (-) +... + z (-m) * b (-m) ; zi: Koeffizienten b: Basis Dezimalsystem Dualsystem Hexadezimalsystem Oktalsystem Basis: 2 6 8 Ziffern: -9, 9, A, B, C, D, E, F -7 Umrechnung zwischen verschiedenen Zahlensystemen: Methode : Addition der Wertigkeiten der Stellen vom Quellsystem im Zielsystem: Beispiel: Dual nach Dezimal, 2 = *2 4 + * 2 3 + * 2 2 + * 2 + * 2 + * 2 (-) = 6 + 8 + +,5 = 25,5 Methode 2: Beispiel: Dezimal nach Dual: a)vorkommastellen: Fortgesetzte Division durch die Basis des Zielsystems im Quellsystem. Die Reste der Divisionen ergeben die Koeffizienten im Zielsystem. 3 6 3 :2 :2 :2 :2 :2 = = = = = 6 3 Rest Rest Rest Rest Rest = 2 (führende Null) b)nachkommastellen: 2
Fortgesetzte Multiplikation mit der Basis des Zielsystems im Quellsystem. Wenn das Produkt größer Null ist, ergibt der ganzzahlige Anteil den nächsten Koeffizienten hinter dem Komma im Zielsystem. Mit dem gebrochenem Anteil wird weitergerechnet.,825,625,25,5 *2 *2 *2 *2 *2 = = = = =,625,25,5 (-) (-) (-) (-) (-) =, 2 (folgende Nullen) Zusammengesetzt: 3,825 =, 2 ; Achtung: Man muss, je nach Methode, in einem bestimmten Zahlensystem rechnen. Dazu sollte man sich das Zahlensystem aussuchen, in dem man rechnen kann! Methode 3: Umformatieren, 2 = 6F,8 6 = 57,4 8 Achtung: Klappt nur bei verwandten Zahlensystemen! Hier sind alle zu Potenzen von 2. Zum Dezimalsystem geht s also von Dual/HEX/OKT nicht! 3
Zahlentabelle von bis 5 DEZ DUAL HEX OKT 2 2 2 3 3 3 4 4 4 5 5 5 6 6 6 7 7 7 8 8 9 9 A 2 B 3 2 C 4 3 D 5 4 E 6 5 F 7 Übungsaufgaben: =? 2 =? 6 255 =? 2 =? 6,99 =? 2 =? 6 AB2 6 =? 2 =? 777 8 =? 6 =? FFFF 6 =? 8 =? Rechnen im Dualsystem 4
Addition: a+b Summe Übertrag + + + + Beispiel: + Subtraktion: a-b Differenz Untertrag - - - Beispiel: + Multiplikation: a*b 5
Beispiel: * Division: Beispiel: a) ganzahliger Quotient und Rest : = Rest - - Rest b) Quotient mit Nachkommastellen : =, - - - Übung: Hier sind die Angaben im Dezimalsystem! Rechnen Sie die Zahlen in Dualzahlen um und rechnen Sie im Dualsystem. Überprüfen Sie das Ergebnis. 6
98 + 55 = 29 = 5 * 255 = 23 : 6 = Führen Sie folgende Umrechnungen durch indem Sie die angegebene Methode verwenden: Dual -> Dez: 2 =? (Fortgesetzte Division) Dez 298 =? 2 (Addition der Wertigkeiten) -> Dual: Rechnen im Hexadezimalsystem: Zahlenkreis: 7
Addition und Subtraktion: Beispiel: A9B + 379 E4 B - A93 7E Hexeneinmaleins: Herleitung der Tabelleneinträge über ein anderes Zahlensystem oder Addition der Werte. Beispiel: A * A =? Lösung im Dualsystem: * 2 = 64 6 Wenn man das Hexeneinmaleins auswendig kann, kann man komfortabel in Hex multiplizieren und dividieren: Beispiel: AB * AC 6AE 84 Nebenrechnungen: 8 A*B = 6E A*A = 64 C*B = 84
72E4 Übung: A*C = 78 AF * 2 = ABC : A = na, versuchen Sie es! Beispiel: Umrechnung DEZ -> HEX 54,734375 =? 6 54 : 6 = 9 REST 9 9A,BC 6 : 6 = REST 9,734375 * 6 =,75 (-),75 Beispiel: * 6 = 2 (-2) Umrechnung HEX -> DEZ B7,A 6 =?? B7 6 : A = 2 REST 3 2 6 : A = REST 8 6 : A = REST 83,625,A 6 * A = 6,4 (-6),4 6 * A = 2,8 (-2),8 6 * A = 5, (-5) Aufgaben: Rechnen Sie folgende Zahlen um indem Sie im Hexadezimalsystem rechnen. a) 77,95325 =? 6 b) AB,F 6 =? Noch ne Aufgabe: Stellen Sie den Zahlenkreis und die Multiplikationstabelle für das Oktalsystem auf! 9
Negative Zahlen: Wir Menschen kennen negative Zahlen mit Vorzeichen und Betrag (z.b. 5 ) Im Dezimalsystem können Zahlen auch im Zehnerkomplement dargestellt werden. Dabei ergibt sich der Betrag der Zahl zur nächsten ganzzahligen Zehnerpotenz. Es muss aber immer eine führende oder eine führende 9 (für negative Zahlen) hingeschrieben werden. Eine andere Ziffer als und 9 ist nicht definiert. Beispiel: 2 99 98 (+2) (+) ( ) (-) (-2) Dabei ergibt sich der Betrag der Zahl zur nächsten ganzzahligen Zehnerpotenz. Hier also bei zweistelligen Dezimalzahlen zu. Beispiel: 9 = 9 (also ist 9 die 9) Der Wertebereich für zweistellige Dezimalzahlen ist also: W = {9,9} = { - (n-); + (n-) - } Das tolle an der Komplementdarstellung ist, dass man addieren und subtrahieren kann, ohne sich um die Vorzeichen der Operanden zu kümmern: Beispiel: Dezimal: 98 +4 2 98-4 94 5-96 9 99 +98 97 Wichtig ist, dass die führenden oder 9 korrekt berücksichtigt werden! Das ganze geht auch im Dualsystem:
Hier der Zahlenkreis für dreistellige Dualzahlen (n=3) im Zweierkomplement: Der Wertebereich für n Stellen ist: W = { - 2(n-), + 2(n-) } Zur Umwandlung kann man hier, wegen den einfachen Subraktionregeln die Bits einer Dualzahl invertieren und dazuzählen und man erhält die Zahl im Zweierkomplement. Das funktioniert auch wieder zurück: Beispiel: (+5 ) = 2 2 2 ( -5 ) 2 2 = ( +5 )! Aufgaben: +! (+) Die Darstellung ist hier im Dezimalsystem. Rechnen Sie die Zahlen in das Dualsystem um und rechnen Sie im Dualsystem mit der Zahlendarstellung im Zweierkomplement. Überprüfen Sie die Ergebnisse! 2-32 2 +(-23) (-2) (-2) -(-22) +(-24) 2
ACHTUNG: Multiplikation und Division klappt nicht mit negativen Zahlen im Zweierkomplement! Also mit den Beträgen rechnen und dann umwandeln. Binär Codierte Dezimalzahlen (BCD-Zahlen): Die dezimalen Ziffern von bis 9 werden als 4-Bit-Dualzahl codiert: Ziffer Code 9 Nicht definiert - Addition: + + Übertrag: + - b) Zahl > 9 Korrektursubtraktion Subtraktion: a) c) - Untertrag:- + - + - (-2) neg. Zahl! Untertrag:- + Korrektur addition (-) neg. Zahl! + Korrektur additionen Das Ergebnis ist also...999, was ja in der Tat der ( ) im Zehnerkomplement entspricht. Gleitpunktzahlen: Definition: Gleitpunktzahl Basis := Vorzeichen Mantisse * Basis Vorzeichen Exponent Die Mantisse ist immer der Betrag der Zahl (Komplementdarstellung gibt s nicht!) 3
Beispiel im Dezimalsystem: +,5 * 2 -,5 * 2 = +5; Das Komma wird um 2 Stellen nach rechts geschoben = -,5 Das Komma wird um 2 Stellen nach links geschoben Bei einer normierten Gleitpunktzahl ist die Mantisse kleiner und die erste Stelle hinter dem Komma nicht Null. Die Mantisse und der Exponent haben eine bestimmte Anzahl von Ziffern, je nach Rechenwerk eines Computers. Z.B. 9 Stellen Mantisse und 2 Stellen Exponent; so ergibt sich ein bestimmter Wertebereich von normierten Gleitpunktzahlen (na?). Rechnen mit Gleitpunktzahlen: ADD/SUB:. Exponenten angleichen 2. Mantissen addieren bzw. subtrahieren. Dabei auf die Vorzeichen der Zahlen achten und über Fallunterscheidung die tatsächlich durchzuführende Operation bestimmen. 3. Normieren Beispiel:,5 * +,2 * 2,5 * 2 +,2 * +,52 * 2 2 (normieren erübrigt sich) Wie man hier schon leicht sehen kann, ist möglicherweise ein Operand, wenn sich die Exponenten stark unterscheiden, nach der Operation einfach weg. (Warum?) MUL/DIV:. Mantissen multiplizieren/dividieren 2. Exponenten addieren/subtrahieren 3. Normieren 4. Vorzeichen berechnen Beispiel:,5 * 2 * -,5 * Das ganze geht natürlich auch im Dualsystem: 4 3 = -,25 * 5
Gleitpunktzahl 2 : = Vorzeichen Mantisse * 2 Exponent Der Exponent bei Dualzahlen im Gleitpunktformat wird im allgemeinen als Zweierkomplement dargestellt. Beispiel:, * 2 = 2 Was in das Dezimalsystem umgerechnet bedeutet: (,5 +,25) * (2^3) = 5 (Achten Sie darauf beim Taschenrechner zum Potenzieren die Taste ^ benutzen...die Taste EXP gilt nur für das Dezimalsystem) noch n Beispiel:, * 2 =, 2 Was in das Dezimalsystem umgerechnet bedeutet: (,5 +,25) * (2^(-2)) =,5625 = /8 + /32 Aufgaben: Welchen Wertebereich haben normierte, duale Gleitpunktzahlen mit dem Format: VZ,bbbbbbbb 2 eeeee b: Bit der Mantisse, e: Bit des Exponenten im Zweierkomplement Berechnen Sie:, * 2 ( + / - / * / : ), * 2 5
Logische Funktionen: UND: x x y y = x x ; x x & y y y ODER: x x y y = x + x ; x x NOT, Negierung, Inverter: x y y = x ; x Abgeleitete Funktionen: NAND: x x y 6
y = x x ; x x & y y NOR: x x y y = x + x ; x x 7
Äquivalenz: x x y y = x x ; x x = y = y Antivalenz, EXOR: x x y y = x x ; x x Antivalenz und Parität für mehr als 2 Eingangsvariablen x2 x x y y2 y entspricht der invertierten Äquivalenz y2 ist dann, wenn die Anzahl der en am Eingang ungerade ist (Parität) Beispiel: 8
a) Geben Sie die Funktion y = f(x2,x,x) an! y = x2 + x x ; b) Ermitteln Sie die Wertetabelle! x2 x x A y Aufgabe: a) Geben Sie die Funktion y = f(x2,x,x) an! b) Ermitteln Sie die Wertetabelle! 9
Boolsche Algebra: Konjunktion: y = a b = a b ; Disjunktion: y = a + b ; Negation : y= a; Es gilt Punkt vor Strich! Theoreme : Kommutatives Gesetz: a b=b a a+b=b+a () Assoziatives Gesetz: a (b c)=(a b) c a+(b+c)=(a+b)+c (2) Distributives Gesetz: a (b+c)=a b+a c a + b c = ( a + b ) ( a + c ) (3) Absorptionsgesetz: a (a+b)=a a+a b=a (4) Tautologie: a a=a a+a=a (5) a+ a = (6) Gesetz für die Negation: a a = Doppelte Negation: (a)=a de Morgan Gesetz: a b= a+ b Operationen mit und : a =a a = = (7) a+b=a b (8) a+=a a+= (9) () = () 2
Beispiel: Vereinfachen Sie mit Hilfe der boolschen Algebra: y=a a+b Lösung : y = Disjunktive Normalform (DNF) Die DNF ist die disjunktive Verknüpfung von Vollkonjunktionen (knm, Minterme). Eine Vollkonjunktion enthält alle Eingangsvariablen eines Schaltnetzes. Beispiel für ein gegebenes Schaltnetz y = f (X): n 2 3 4 5 6 7 x2 x x y k3 k33 k53 DNF : y = k3 + k33 + k53 = x2 x x + x2 x x + x2 x x Terme der DNF, die sich nur in einer Eingangsvariablen unterscheiden, können zusammengefasst werden. Hier: k3 + k33 = x2 x x + x2 x x = x2 x ( x + x) = x2 x Wenn mit k3 erweitert wird ergibt sich: k33 + k53 DF : y = k3 + k33 + k3 + k53= x2 x + x x Konjunktive Normalform (KNF) Die KNF ist die konjunktive Verknüpfung von Volldisjunktionen (dnm, Maxterme). Eine 2
Volldisjunktion enthält alle Eingangsvariablen eines Schaltnetzes. Beispiel für ein gegebenes Schaltnetz y = f (x2, x, x): n 2 3 4 5 6 7 x2 x x y d 3 d23 KNF : y = (x2 + x + x) (x2 + x + x) Überlegen Sie sich, wie man eine KNF zu einer KF mit Hilfe der boolschen Algebra minimieren kann! Aufgabe: Geben Sie die DNF und die KNF eines Primzahldekoders für vierstellige Dualzahlen an und minimieren Sie die Gleichungen mittels der boolschen Algebra! Prim: y = für (x3, x2, x, x) =, 2, 3, 5... Karnaugh-Veitch-Diagramme KV-Diagramme: Dient zur grafischen Minimierung von logischen Funktionen. 22
y erhält man in dem man -Bereiche zusammenfasst und die Eigenschaft der Bereiche als boolsche Gleichung beschreibt. Hier ist es die Vollkonjunktion. Hier konnte man 2 benachbarte Felder zusammenfassen mit der Eigenschaft, dass es unabhängig von x ist und auf der oberen Hälfte des Diagramms lieg, wo x = ist. 23
Die Felder an den Kanten sind auch benachbart. Achtung: Immer nur Felder zu Blöcken zu Kantenlängen von Zweierpotenzen zusammenfassen. P-Terme können als y frei zu oder gewählt werden, was zu einer möglichst minimalen boolschen Form führt. 24
25
...wird schon unübersichtlicher. x ist gespiegelt und die Felder, 3, 5, 7, 9, D, B, F,, 3, 5, 7, 9, B, D, F sind benachbart und können zu einem 6er-Block mit der Eigenschaft y = x zusammengefasst werden. 26
Aufgaben: KV-Diagramme Gegeben ist folgende Wertetabelle: x2 x x y P X X steht für und : also hier für die Zeilen ( ) und ( ) - Geben Sie die minimale DNF y = f(x2,x,x) der Funktion an! - Vereinfachen Sie die Funktion mit Hilfe eines KV-Diagramms! Multiplexer: Ein Multiplexer schaltet zwischen verschiedenen Eingangsquellen, in Abhängigkeit einer (oder mehrer) Steuerleitungen um. Wenn S = y = x ; Wenn S = y = x ; Stellen Sie die Wertetabelle auf! Minimieren mit KV-Diagramm Zeichnen Sie die Schaltung...eine weiterführende Aufgabe: Entwerfen Sie einen Multiplexer mit 4 Signalleitungen (x3, x2,x,x) und 2 Steuerleitungen (S,S). 27
Elektronischer Würfel Der Zähler zählt von bis 5 und es sollen dabei die Augenzahlen bis 6 angezeigt werden. Der Zähler wird beim Zählerstand 6 automatisch auf zurückgesetzt. Manche LED s sind immer nur gleichzeitig an. Ermitteln Sie zunächst diese LEDGruppen und stellen sie die Wertetabelle auf. Geben Sie nun die minimalen DF an! Vereinfachen Sie dabei mit KV-Diagrammen. P-Terme (Zählerstände 6 und 7) berücksichtigen! Welches Muster wird nun angezeigt für die Zahlerstände 6 und 7? 28
Aufgabe: Siebensegmentdekoder. Am Ausgang des Dekoders bedeutet eine, dass die LED leuchtet. Berücksichtigen Sie die P-Terme zur Minimierung: Dualzahlen größer 9 brauchen nicht dargestellt zu werden. Minimieren Sie mit KV-Diagrammen. Was wird nun, nach der Minimierung, für A 6 bis F 6 angezeigt? noch ne Aufgabe: Minimieren Sie die Funktion eines Primzahldekoders für fünfstellige Dualzahlen mittels eines KV-Diagramms! Prim: y = für (x4,x3, x2, x, x) =, 2, 3, 5...3 29
Halbaddierer: a b s ü ü(i-) ai bi si üi Volladdierer: 3
Vollsubtrahierer Entwickeln Sie die Wertetabelle für einen Vollsubtrahierer. Beachten Sie dabei die Rechenreiheinfolge der Operanden. Speicher: RS- FlipFlop mit NAND 3
RS FlipFlop mit NOR D-FF Dynamische Speicher ALU Im Allgemeinen hat mein bei Rechenoperationen zwei Operanden, eine Rechenopertation und ein Ergebnis. Das ergibt 3 Adressen: y = a b; 32
Aufbau einer CPU.to be continued.. 33