Digitaltechnik. 4 Arithmetik. Revision 1.1

Größe: px
Ab Seite anzeigen:

Download "Digitaltechnik. 4 Arithmetik. Revision 1.1"

Transkript

1 Digitaltechnik 4 Arithmetik A Revision 1.1

2 Diskretisierung Einfache Addierer Carry-Select-Addierer Conditional-Sum-Addierer Conditional-Sum-Addierer Carry-Look-Ahead Addierer Multiplizierer

3 Diskretisierung Ursprüngliches Signal Zeitdiskretes Signal Zeit Zeit Diskretes Signal Boolesches Signal Zeit 0 Zeit Digitaltechnik Kapitel 4: Arithmetik 3

4 Diskretisierung Abstraktion kontinuierlicher physikalischer Größe zu endlich vielen Werten W = {l, l + 1,..., r} Beispiele: Elektrische Spannung, Polarisationsrichtung, Wasserdruck kleinste Wertemenge besteht aus den Boole schen Werten {0, 1} jede größere Wertemenge W lässt sich Boole sch kodieren durch ein γ γ : W 2 n mit n = log 2 W, injektiv Digitaltechnik Kapitel 4: Arithmetik 4

5 Aufzählungstypen Abstrakte Aufzählungstypen wie lassen sich durch injektive Abb. von binär kodieren: W = {Äpfel, Bananen, Birnen} W nach {0,..., 2 n 1} mit n = log 2 W Äpfel 00 2 Bananen 01 2 Birnen 10 2 undef 11 2 Falls W keine Zweierpotenz, muss man entweder gewisse Binärkombinationen unbelegt lassen oder mehrere mit demselben Wert assoziieren. Digitaltechnik Kapitel 4: Arithmetik 5

6 One-Hot-Encoding m Werte werden durch m Bits kodiert Beispiel: Äpfel 001 Bananen 010 Birnen 100 Kodierung vereinfacht sich immens. Einfach zu erkennende ungültige Kombinationen: genau ein Bit muss 1 sein. Vereinfacht auch die Schaltungen und macht Sie robust (mehr dazu später). Aber: Braucht exponentiell mehr Bits! Digitaltechnik Kapitel 4: Arithmetik 6

7 Gray-Code Logarithmisch viele Bits in W, günstig für Zähler. Aufeinanderfolgende Kombinationen unterscheiden sich an einer Bitposition Motivation wie beim One-Hot-Encoding: robuste und einfache Schaltungen Digitaltechnik Kapitel 4: Arithmetik 7

8 Binärkodierung für Zahlen geg. Wertebereich W = {l,..., r}, zunächst l = 0 und r = 2 n 1 jedes w W lässt sich als n-stellige Binärzahl darstellen: Wir schreiben d n 1... d 0 für die Zahl, die durch d n 1... d 0 repräsentiert wird: d n 1... d 0 := n 1 d i 2 i i=0 Beispiel: = = 22 Man beachte das implizite Festlegen der Stelligkeit n. Digitaltechnik Kapitel 4: Arithmetik 8

9 Integers: Einerkomplement Zusätzliches Vorzeichen-Bit s n Negative Zahlen x für x 0 werden durch 2 n+1 1 x repräsentiert. Die (n + 1)-stellige Binärzahl s n d n 1... d 0 im Einerkomplement kodiert n 1 die positive Zahl i=0 d i 2 i falls s n = 0 die negative Zahl - n 1 i=0 (1 d i) 2 i falls s n = 1 Digitaltechnik Kapitel 4: Arithmetik 9

10 Integers: Einerkomplement Zusätzliches Vorzeichen-Bit s n Negative Zahlen x für x 0 werden durch 2 n+1 1 x repräsentiert. Die (n + 1)-stellige Binärzahl s n d n 1... d 0 im Einerkomplement kodiert n 1 die positive Zahl i=0 d i 2 i falls s n = 0 die negative Zahl Beispiele: - n 1 i=0 (1 d i) 2 i falls s n = 1 Trick: Bits umdrehen, als Integer negieren! im 5-stelligen Einerkomplement kodiert = im 5-stelligen Einerkomplement kodiert (8 + 1) = größte darstellbare Zahl 2 n 1 = kleinste darstellbare Zahl (2 n 1) = 15 Redundante Darstellungen der 0 10 sind und Digitaltechnik Kapitel 4: Arithmetik 9

11 Integers: Zweierkomplement Zusätzliches Vorzeichen-Bit s n wie beim Einerkomplement Negative Zahlen x für x 0 werden durch 2 n+1 x repräsentiert. Die (n + 1)-stellige Binärzahl s n d n 1... d 0 im Zweierkomplement kodiert n 1 die positive Zahl i=0 d i 2 i falls s n = 0 die negative Zahl - (1 + n 1 i=0 (1 d i) 2 i ) falls s n = 1 Digitaltechnik Kapitel 4: Arithmetik 10

12 Integers: Zweierkomplement Zusätzliches Vorzeichen-Bit s n wie beim Einerkomplement Negative Zahlen x für x 0 werden durch 2 n+1 x repräsentiert. Die (n + 1)-stellige Binärzahl s n d n 1... d 0 im Zweierkomplement kodiert n 1 die positive Zahl i=0 d i 2 i falls s n = 0 die negative Zahl - (1 + n 1 i=0 (1 d i) 2 i ) falls s n = 1 Trick: Bits umdrehen, Eins hinzuzählen, als Integer negieren! Beispiele: im 5-stelligen Zweierkomplement kodiert = im 5-stelligen Zweierkomplement kodiert ( ) = größte darstellbare Zahl 2 n 1 = kleinste darstellbare Zahl 2 n = 16 Digitaltechnik Kapitel 4: Arithmetik 10

13 Integers: Zweierkomplement Wir schreiben d n 1... d 0 für die Zahl, die im Zweierkomplement durch d n 1... d 0 kodiert wird n 1 Lemma: 2 n = i i=0 Definition ohne Fallunterscheidung n 1 s n d n 1... d 0 = s n 2 n + d i 2 i i=0 Digitaltechnik Kapitel 4: Arithmetik 11

14 Integers: Zweierkomplement Beweis: Trivial für s n = 0. n 1 Für s n = 1: s n d n 1... d 0 = 1 2 n + d i 2 i i=0 n 1 = (2 n d i 2 i ) i=0 n 1 = (2 n + d i 2 i ) i=0 n 1 n 1 = ( i + d i 2 i ) i=0 i=0 ( ) n 1 = 1 + (1 2 i d i 2 i ) i=0 n 1 = (1 + (1 d i ) 2 i ) i=0 (Lemma!) Digitaltechnik Kapitel 4: Arithmetik 12

15 Festkommazahlen Fixpoint Numbers Genauigkeit m der Nachkommastellen wird fixiert, z.b. m = 2 Binärstellen. Zurückrechnen wie Zweierkomplement, Multiplikation mit 2 m zum Schluss. Umwandlung von Zahlen x in die Festkommadarstellung erfordert Runden: bei zwei Nachkommastellen (1/4) wird zu = Das Festkomma (oder der Punkt im Englischen) wird nicht gespeichert: in einem Byte mit 2 Nachkommastellen Häufig verwendete Zahlendarstellung in Graphikhardware Digitaltechnik Kapitel 4: Arithmetik 13

16 Fließkommazahlen Floating Point Numbers Darstellen und Runden einer Zahl als ( 1) s 1.m 2 e Separate Kodierung des Exponenten e im Zweierkomplement, des Vorzeichen-Bit s und der positiven Mantisse m. Vorzeichen Mantisse Exponent Einfache Genauigkeit (32 Bits): 1 Vorzeichen-Bit, 8 für Exponent, 23 für Mantisse. IEEE Standard : auch 64, 128 Bits. Zusätzlich: Infinity und ungültige Zahlen (NaN = Not a Number). Digitaltechnik Kapitel 4: Arithmetik 14

17 Rechnen mit Binärzahlen Klar: Aber was ist Exception werfen? }{{} }{{} 6 = }{{} }{{} + } {{}? Digitaltechnik Kapitel 4: Arithmetik 15

18 Rechnen mit Binärzahlen Klar: Aber was ist Exception werfen? Saturierung: }{{} }{{} }{{} 6 = }{{} }{{} + } {{}? }{{} 100 = }{{} 255 Digitaltechnik Kapitel 4: Arithmetik 15

19 Rechnen mit Binärzahlen #include <s t d i o. h> i n t main ( ) { 5 char x ; x =100; x=x +200; p r i n t f ( %d\n, x ) ; } Digitaltechnik Kapitel 4: Arithmetik 16

20 Rechnen mit Binärzahlen #include <s t d i o. h> i n t main ( ) { 5 char x ; x =100; x=x +200; p r i n t f ( %d\n, x ) ; } Ausgabe: 44 Digitaltechnik Kapitel 4: Arithmetik 16

21 Rechnen mit Binärzahlen Überlauf: 300 = , also = = 44! Überlauf entspricht modulo-arithmetik = 300 mod 256 = 44 mod 256 Digitaltechnik Kapitel 4: Arithmetik 17

22 Digitaltechnik Kapitel 4: Arithmetik 18

23 Addierer einfache arithmetische Basis-Operation Hardware Trade-Off: Zeit versus Platz Skalierbar durch Carry-Weiterleitung Carry In (CI) und Carry Out (CO) P Σ 0 { Q 3 CO CI { { Σ IEEE Schaltsymbol 4-Bit Addierer Digitaltechnik Kapitel 4: Arithmetik 19

24 Additions-Algorithmus a Summand b Summand c Übertrag (engl. Carry) s Summe 1 = Carry Out 0 = Carry In Digitaltechnik Kapitel 4: Arithmetik 20

25 Additions-Algorithmus a Summand b Summand c Übertrag (engl. Carry) s Summe 1 = Carry Out 0 = Carry In s k (a k + b k + c k ) mod 2 c k+1 (a k + b k + c k ) div 2 ( + = Addition in den natürlichen Zahlen, nicht als + = ODER) Digitaltechnik Kapitel 4: Arithmetik 20

26 Halb-Addierer (Half Adder) Addition von zwei Bits mit Übertragsgenerierung s (a + b) mod 2 a b o (a + b) div 2 a b a b Whitebox Model a b HA Blackbox Model o s o s (Datenfluss von oben nach unten, Carry links, Summe rechts) Digitaltechnik Kapitel 4: Arithmetik 21

27 Volladdierer (Full Adder) Addition von drei Bits mit Übertragsgenerierung s (a + b + i ) mod 2 a b i o (a + b + i ) div 2 a b + a i + b i a b i o s a b i FA o s Blackbox Model i = carry in o = carry out s = sum Digitaltechnik Kapitel 4: Arithmetik 22

28 Volladdierer Whitebox Model a b c i a b c i a b c i oder oder c o s c o s c o s c o = ab ((a b) c i ) ab + ((a b) c i ) ((a + b) c i ) + ab s = (a b) c i (a b) c i (a b) c i Digitaltechnik Kapitel 4: Arithmetik 23

29 Ripple-Carry Addierer o a 7 b 7 a 6 b 6 a 5 b 5 a 4 b 4 a 3 b 3 a b a b a b FA FA FA FA FA FA FA FA s s s s s s 2 1 s 1 0 s 0 i Lässt sich einfach skalieren (Schema iterativ fortsetzen) Platz: O(n) n Volladdierer für Addition von zwei n-bit Zahlen Zeit: O(n) längster Pfad (von i nach o) durchläuft n Volladdierer (bei einem 128 Bit Addierer kann das ziemlich lange dauern) Digitaltechnik Kapitel 4: Arithmetik 24

30 Carrypropagierung a 3 b 3 a 2 b 2 a 1 b 1 a0 b 0 i o s s s Schritt 0 s 0 Digitaltechnik Kapitel 4: Arithmetik 25

31 Carrypropagierung a 3 b 3 a 2 b 2 a 1 b 1 a0 b 0 i o s s s Schritt 1 s 0 Digitaltechnik Kapitel 4: Arithmetik 25

32 Carrypropagierung a 3 b 3 a 2 b 2 a 1 b 1 a0 b 0 i o s s s Schritt 2 s 0 Digitaltechnik Kapitel 4: Arithmetik 25

33 Carrypropagierung a 3 b 3 a 2 b 2 a 1 b 1 a0 b 0 i o s s s Schritt 3 s 0 Digitaltechnik Kapitel 4: Arithmetik 25

34 Carrypropagierung a 3 b 3 a 2 b 2 a 1 b 1 a0 b 0 i o s s s Schritt 4 s 0 Digitaltechnik Kapitel 4: Arithmetik 25

35 Carrypropagierung a 3 b 3 a 2 b 2 a 1 b 1 a0 b 0 i o s s s Schritt 5 s 0 Digitaltechnik Kapitel 4: Arithmetik 25

36 Carrypropagierung a 3 b 3 a 2 b 2 a 1 b 1 a0 b 0 i o s s s Schritt 6 s 0 Digitaltechnik Kapitel 4: Arithmetik 25

37 Carrypropagierung a 3 b 3 a 2 b 2 a 1 b 1 a0 b 0 i o s s s Schritt 7 s 0 Digitaltechnik Kapitel 4: Arithmetik 25

38 Carrypropagierung a 3 b 3 a 2 b 2 a 1 b 1 a0 b 0 i o s s s Schritt 8 s 0 Digitaltechnik Kapitel 4: Arithmetik 25

39 Carrypropagierung a 3 b 3 a 2 b 2 a 1 b 1 a0 b 0 i o s s s Schritt 9 s 0 Digitaltechnik Kapitel 4: Arithmetik 25

40 Carrypropagierung a 3 b 3 a 2 b 2 a 1 b 1 a0 b 0 i o s s s Schritt 10 s 0 Digitaltechnik Kapitel 4: Arithmetik 25

41 Korrektheit Addierer Ein Addierer ist eine Schaltfunktion add : {0, 1} n {0, 1} n {0, 1} n mit x + y = add(x, y) mod 2 n Digitaltechnik Kapitel 4: Arithmetik 26

42 Korrektheit Addierer Ein Addierer ist eine Schaltfunktion add : {0, 1} n {0, 1} n {0, 1} n mit x + y = add(x, y) mod 2 n Mit dieser Definition können wir die Korrektheit des Ripple-Carry Addierers per Induktion über n beweisen (siehe Buch). Digitaltechnik Kapitel 4: Arithmetik 26

43 Addition Zweierkomplement Wie spezifizieren wir, was ein korrekter Addierer für vorzeichenbehaftete Zahlen tut? Digitaltechnik Kapitel 4: Arithmetik 27

44 Addition Zweierkomplement Wie spezifizieren wir, was ein korrekter Addierer für vorzeichenbehaftete Zahlen tut? Ein Addierer für Zahlen im Zweierkomplement ist eine Schaltfunktion add S : {0, 1} n {0, 1} n {0, 1} n mit x + y = add S (x, y) mod 2 n Digitaltechnik Kapitel 4: Arithmetik 27

45 Addition Zweierkomplement Wie spezifizieren wir, was ein korrekter Addierer für vorzeichenbehaftete Zahlen tut? Ein Addierer für Zahlen im Zweierkomplement ist eine Schaltfunktion add S : {0, 1} n {0, 1} n {0, 1} n mit x + y = add S (x, y) mod 2 n Beispiel mit Überlauf: 100 = = 1 1 }{{} 011 =3 5 5 = 3 mod 8! Digitaltechnik Kapitel 4: Arithmetik 27

46 Zweierkomplement Addieren Es sei add : {0, 1} n {0, 1} n {0, 1} n mit x + y = add(x, y) mod 2 n (also ist add ein Addierer für Binärzahlen) Behauptung Beweis per Fallunterscheidung. x + y = add(x, y) mod 2 n Digitaltechnik Kapitel 4: Arithmetik 28

47 Zweierkomplement Addieren Es sei add : {0, 1} n {0, 1} n {0, 1} n mit x + y = add(x, y) mod 2 n (also ist add ein Addierer für Binärzahlen) Behauptung Beweis per Fallunterscheidung. Konsequenz: add = add S x + y = add(x, y) mod 2 n Wir können die selbe Schaltung für Binärzahlen und Zweierkomplement verwenden! Digitaltechnik Kapitel 4: Arithmetik 28

48 Subtrahieren Idee: a b = a + ( b) Lemma: x n 1... x 0 = x n 1... x mod 2 n Beweis per Fallunterscheidung. Beispiele: 0 = 000 = = = 001 = = ( 1) = 111 = = ( 4) = 100 = = Digitaltechnik Kapitel 4: Arithmetik 29

49 Kombinierter 4-Bit Addierer/Subtrahierer a 3 b 3 a 2 b 2 a 1 b 1 a 0 b sel 0 1 sel 0 1 sel 0 1 MUX MUX MUX MUX sel a b a b a b a b o FA i o FA i o FA i o FA i add/sub s s s s s 3 s 2 s 1 s 0 A, B, S in 2er-Komplementdarstellung add/sub = 0: S = A + B add/sub = 1: S = A B Digitaltechnik Kapitel 4: Arithmetik 30

50 Überlauferkennung Nützlich zur Fehlerbehandlung Intel x86: into, RISC: ovf Interrupt Binärzahlen: Klar, einfach das Carry Out Digitaltechnik Kapitel 4: Arithmetik 31

51 Überlauferkennung Nützlich zur Fehlerbehandlung Intel x86: into, RISC: ovf Interrupt Binärzahlen: Klar, einfach das Carry Out Theorem für das Zweierkomplement: Es seien c 0,..., c n die Carry Bits im Ripple-Carry Addierer. a + b { 2 n 1,..., 2 n 1 1} c n 1 c n Beweis: per Fallunterscheidung Digitaltechnik Kapitel 4: Arithmetik 31

52 Kombinierter 4-Bit Addierer/Subtrahierer mit Überlauferkennung a 3 b 3 a 2 b 2 a 1 b 1 a 0 b sel 0 1 sel 0 1 sel 0 1 MUX MUX MUX MUX sel a b a b a b a b o FA i o FA i o FA i o FA i add/sub s s s s overflow s 3 s 2 s 1 s 0 Digitaltechnik Kapitel 4: Arithmetik 32

53 Addieren mit Verilog Selber zusammenbauen als kombinatorische Schaltung (Übung) Bibliothek verwenden (oft handgemalt ) Einfach a + b schreiben, wie in C/JAVA. Das Synthesetool wählt einen Addierer aus. Digitaltechnik Kapitel 4: Arithmetik 33

54 Zeit vs. Platz Zeit Verwirklichbare Designs Optimum Platz Digitaltechnik Kapitel 4: Arithmetik 34

55 Leistung vs. Kosten Fahrtzeit Preis Digitaltechnik Kapitel 4: Arithmetik 35

56 Schnellere Addierer? Schnellere Addierer? (schneller als O(n) beim n-bit Ripple-Carry-Adder) Digitaltechnik Kapitel 4: Arithmetik 36

57 Schnellere Addierer? Schnellere Addierer? (schneller als O(n) beim n-bit Ripple-Carry-Adder) Zeit vs. Platz: Platz begrenzt durch Chipfläche Zeit antiproportional zur erzielbaren Taktfrequenz (längster Pfad!) Digitaltechnik Kapitel 4: Arithmetik 36

58 Carry-Select-Addierer Wie vermeidet man die Carry-Propagation? Digitaltechnik Kapitel 4: Arithmetik 37

59 Carry-Select-Addierer Wie vermeidet man die Carry-Propagation? Mehrere Lösungskandidaten vorausberechnen! Wir teilen die zu addierenden Vektoren a, b in eine obere und untere Hälfte auf: a h := a[n 1 : n/2] a l := a[n/2 1 : 0] Digitaltechnik Kapitel 4: Arithmetik 37

60 Carry-Select-Addierer ā l ; b l n Σ( n 2 ) cin n 2 Digitaltechnik Kapitel 4: Arithmetik 38

61 Carry-Select-Addierer ā h ; b h n ā l ; b l n n n Σ( n 2 ) 1 Σ( n 2 ) 0 n n 2 2 Σ( n 2 ) cin n 2 Digitaltechnik Kapitel 4: Arithmetik 38

62 Carry-Select-Addierer ā h ; b h n ā l ; b l n n n Σ( n 2 ) 1 Σ( n 2 ) 0 n n MUX 0 c out n 2 c intern Σ( n 2 ) c in n 2 Digitaltechnik Kapitel 4: Arithmetik 38

63 Carry-Select-Addierer: Kosten und Zeit Zeit: Tiefe O(log 2 (n)) T (1) = t FA T (n) = t( n 2 ) + t MUX Kosten: Kosten O(n) log 2 (n) 1 ( C(n) = 2 3 log 2 n ) n + 3 i 2 i (siehe auch Aufgabe 4.9 im Buch) i=0 Digitaltechnik Kapitel 4: Arithmetik 39

64 Conditional-Sum-Addierer Problem: Kosten! Wir brauchen 3 Sub-Addierer! Digitaltechnik Kapitel 4: Arithmetik 40

65 Conditional-Sum-Addierer Problem: Kosten! Wir brauchen 3 Sub-Addierer! Wir brauchen a h + b h und a h + b h + 1 Digitaltechnik Kapitel 4: Arithmetik 40

66 Conditional-Sum-Addierer Problem: Kosten! Wir brauchen 3 Sub-Addierer! Wir brauchen a h + b h und a h + b h + 1 Idee: Beide auf einmal berechnen! s h = a h + b h s h+1 = a h + b h + 1 s l = a l + b l s l+1 = a l + b l + 1 Digitaltechnik Kapitel 4: Arithmetik 40

67 Conditional-Sum-Addierer a h b h a l b l n/2 n/2 n/2 n/2 CondSum( n 2 ) CondSum( n 2 ) n/2 n/2 n/2 n/ c l+1 c l n/2 n/2 n/2 n/2 c h+1 s h+1 s l+1 c h s h s l Digitaltechnik Kapitel 4: Arithmetik 41

68 Conditional-Sum-Addierer: Kosten und Zeit Zeit: T (1) = 2 t FA T (n) = t( n 2 ) + t MUX Tiefe O(log 2 (n)) Kosten: O(n) Digitaltechnik Kapitel 4: Arithmetik 42

69 Carry-Look-Ahead Addierer Geht es noch schneller? Digitaltechnik Kapitel 4: Arithmetik 43

70 Carry-Look-Ahead Addierer Geht es noch schneller? Idee: Vorausberechnung des Carry Faktorisieren von Carry-Propagierung und Generierung Digitaltechnik Kapitel 4: Arithmetik 43

71 Carry-Generierung und Propagierung Faktorisieren c k+1 a k b k + a k c k + b k c k a k b }{{ k + (a } k + b k ) c k }{{} g k p k g k die Summanden-Bits an der k-ten Stelle generieren ein Carry p k die Summanden-Bits an der k-ten Stelle propagieren das Carry Damit lässt sich wie folgt die Summe berechnen: s k a k b k c k Digitaltechnik Kapitel 4: Arithmetik 44

72 Das Element a k b k g k p k g k a k b k p k a k + b k Beobachtung: die Signale lassen sich auch aus dem Volladdierer abgreifen Digitaltechnik Kapitel 4: Arithmetik 45

73 Carry-Generierung und Propagierung Beispiel für 4 Bits: c 1 = g 0 (p 0 c 0 ) Digitaltechnik Kapitel 4: Arithmetik 46

74 Carry-Generierung und Propagierung Beispiel für 4 Bits: c 1 = g 0 (p 0 c 0 ) c 2 = g 1 (p 1 c 1 ) Digitaltechnik Kapitel 4: Arithmetik 46

75 Carry-Generierung und Propagierung Beispiel für 4 Bits: c 1 = g 0 (p 0 c 0 ) c 2 = g 1 (p 1 c 1 ) = g 1 (g 0 p 1 ) (c 0 p 0 p 1 ) Digitaltechnik Kapitel 4: Arithmetik 46

76 Carry-Generierung und Propagierung Beispiel für 4 Bits: c 1 = g 0 (p 0 c 0 ) c 2 = g 1 (p 1 c 1 ) = g 1 (g 0 p 1 ) (c 0 p 0 p 1 ) c 3 = g 2 (p 2 c 2 ) Digitaltechnik Kapitel 4: Arithmetik 46

77 Carry-Generierung und Propagierung Beispiel für 4 Bits: c 1 = g 0 (p 0 c 0 ) c 2 = g 1 (p 1 c 1 ) = g 1 (g 0 p 1 ) (c 0 p 0 p 1 ) c 3 = g 2 (p 2 c 2 ) = g 2 (g 1 p 2 ) (g 0 p 1 p 2 ) (c 0 p 0 p 1 p 2 ) Digitaltechnik Kapitel 4: Arithmetik 46

78 Carry-Generierung und Propagierung Beispiel für 4 Bits: c 1 = g 0 (p 0 c 0 ) c 2 = g 1 (p 1 c 1 ) = g 1 (g 0 p 1 ) (c 0 p 0 p 1 ) c 3 = g 2 (p 2 c 2 ) = g 2 (g 1 p 2 ) (g 0 p 1 p 2 ) (c 0 p 0 p 1 p 2 ) c 4 = g 3 (p 3 c 3 ) = g 3 (g 2 p 3 ) (g 1 p 2 p 3 ) (g 0 p 1 p 2 p 3 ) (c 0 p 0 p 1 p 2 p 3 ). Digitaltechnik Kapitel 4: Arithmetik 46

79 Carry-Generierung und Propagierung Beispiel für 4 Bits: c 1 = g 0 (p 0 c 0 ) c 2 = g 1 (p 1 c 1 ) = g 1 (g 0 p 1 ) (c 0 p 0 p 1 ) c 3 = g 2 (p 2 c 2 ) = g 2 (g 1 p 2 ) (g 0 p 1 p 2 ) (c 0 p 0 p 1 p 2 ) c 4 = g 3 (p 3 c 3 ) = g 3 (g 2 p 3 ) (g 1 p 2 p 3 ) (g 0 p 1 p 2 p 3 ) (c 0 p 0 p 1 p 2 p 3 ). Beobachtung: Das ist DNF! Digitaltechnik Kapitel 4: Arithmetik 46

80 Einfacher 2-Bit Carry Look-Ahead Addierer a 1 b 1 a 0 b 0 c 1 c 0 c 2 g 1 p 1 g 0 p 0 s 1 s 0 Digitaltechnik Kapitel 4: Arithmetik 47

81 Carry Out eines 4-Bit Carry Look-Ahead Addierers g 3 p 3 g 2 c 4 p 3 p 2 g 1 p 3 p 2 p 1 g 0 p 3 p 2 p 1 p 0 c 0 Digitaltechnik Kapitel 4: Arithmetik 48

82 Kosten & Geschwindigkeit Platz: Digitaltechnik Kapitel 4: Arithmetik 49

83 Kosten & Geschwindigkeit Platz: insgesamt O(n 2 ) Transistoren für n-bit Addierer letztes ODER für c k hat k Eingänge ODER mit k Eingängen braucht O(k) Transistoren Σ n k=0 k = O(n 2 ) Zeit: Digitaltechnik Kapitel 4: Arithmetik 49

84 Kosten & Geschwindigkeit Platz: insgesamt O(n 2 ) Transistoren für n-bit Addierer letztes ODER für c k hat k Eingänge ODER mit k Eingängen braucht O(k) Transistoren Σ n k=0 k = O(n 2 ) Zeit: O(1) 4-stufige Logik (oder 5-stufig, wenn XOR nicht in der Basis) unabhängig von n die vielen Drähte erschweren Place & Route erheblich Digitaltechnik Kapitel 4: Arithmetik 49

85 Optimierter Carry Look-Ahead Addierer quadratischer Platz zu teuer für die Praxis, AND/OR Gatter mit beliebig vielen Eingängen gibt es nicht wirklich Ziel: weniger Platzverbrauch vergleichbarer Zeitaufwand Idee: Rekursive Generierung und Propagierung mit Group-Propagate- bzw. Group-Generate-Signalen damit erhält man ersten praktikablen Addierer Digitaltechnik Kapitel 4: Arithmetik 50

86 Group-Propagate und Group-Generate Idee: eine Gruppe von FAs kann propagieren und generieren Digitaltechnik Kapitel 4: Arithmetik 51

87 Group-Propagate und Group-Generate Idee: eine Gruppe von FAs kann propagieren und generieren Beispiel für 4 Bits: P G = p 0 p 1 p 2 p 3 GG = g 3 (g 2 p 3 ) (g 1 p 3 p 2 ) (g 0 p 3 p 2 p 1 ) Wir fügen diese Signale als neue Ausgabesignale des CLAs hinzu Digitaltechnik Kapitel 4: Arithmetik 51

88 Rekursionsansatz Rekursive Konstruktion von n-bit CLAs mit der 4-Bit Carry-Look-Ahead Einheit : Eingabe: 4x P G/GG, Carry-in Berechnet 4 Carry Bits (siehe vorhergehende Folie) Berechnet P G, GG (siehe vorhergehende Folie) Digitaltechnik Kapitel 4: Arithmetik 52

89 Ein 4-Bit Carry-Look-Ahead Addierer a 3 b 3 a 2 b 2 a 1 b 1 a 0 b 0 i Volladdierer Volladdierer Volladdierer Volladdierer s 3 s 2 s 1 s 0 p 3 g 3 c 3 p 2 g 2 c 2 p 1 g 1 c 1 p 0 g 0 c 4 Carry-Look-Ahead-Einheit P G GG Digitaltechnik Kapitel 4: Arithmetik 53

90 Ein 16-Bit Carry-Look-Ahead Addierer a b a b a 4..7 b 4..7 a 0..3 b 0..3 i 4-Bit- CLA- Addierer 4-Bit- CLA- Addierer 4-Bit- CLA- Addierer 4-Bit- CLA- Addierer s s s 4..7 s 0..3 p 12 g 12 c 12 p 8 g 8 c 8 p 4 g 4 c 4 p 0 g 0 c 16 Carry-Look-Ahead-Einheit P G GG Digitaltechnik Kapitel 4: Arithmetik 54

91 Ein 64-Bit Carry-Look-Ahead Addierer b b b b i a a a a Bit- CLA- Addierer 16-Bit- CLA- Addierer 16-Bit- CLA- Addierer 16-Bit- CLA- Addierer s s s s p 48 g 48 c 48 p 32 g 32 c 32 p 16 g 16 c 16 p 0 g 0 c 64 Carry-Look-Ahead-Einheit P G GG Digitaltechnik Kapitel 4: Arithmetik 55

92 Ein 16-Bit Carry-Look-Ahead Addierer P/G P/G P/G P/G P/G Digitaltechnik Kapitel 4: Arithmetik 56

93 Ein 16-Bit Carry-Look-Ahead Addierer P/G P/G P/G P/G P/G Digitaltechnik Kapitel 4: Arithmetik 56

94 Ein 16-Bit Carry-Look-Ahead Addierer P/G P/G P/G P/G P/G Digitaltechnik Kapitel 4: Arithmetik 56

95 Ein 16-Bit Carry-Look-Ahead Addierer P/G P/G P/G P/G P/G Σ Σ Σ Σ Σ Σ Σ Σ Σ Σ Σ Σ Σ Σ Σ Σ Digitaltechnik Kapitel 4: Arithmetik 56

96 Ein 16-Bit Carry-Look-Ahead Addierer P/G P/G P/G P/G P/G Σ Σ Σ Σ Σ Σ Σ Σ Σ Σ Σ Σ Σ Σ Σ Σ Digitaltechnik Kapitel 4: Arithmetik 56

97 Carry Look-Ahead Addierer: Längster Pfad Es sei T (n) die Tiefe (Länge des längsten Pfades) im n-bit CLA T (1) ist die Tiefe des Volladdierers, t FA Es sei t CLA die Tiefe der Carry-Look-Ahead Einheit (konstant!) Digitaltechnik Kapitel 4: Arithmetik 57

98 Carry Look-Ahead Addierer: Längster Pfad Es sei T (n) die Tiefe (Länge des längsten Pfades) im n-bit CLA T (1) ist die Tiefe des Volladdierers, t FA Es sei t CLA die Tiefe der Carry-Look-Ahead Einheit (konstant!) Beobachtung: keine Pfade durch zwei unter-clas, da P G/GG nicht von dem Carry-in abhängt! Digitaltechnik Kapitel 4: Arithmetik 57

99 Carry Look-Ahead Addierer: Längster Pfad Es sei T (n) die Tiefe (Länge des längsten Pfades) im n-bit CLA T (1) ist die Tiefe des Volladdierers, t FA Es sei t CLA die Tiefe der Carry-Look-Ahead Einheit (konstant!) Beobachtung: keine Pfade durch zwei unter-clas, da P G/GG nicht von dem Carry-in abhängt! Also: T (n) = T ( n 4 ) + t CLA Digitaltechnik Kapitel 4: Arithmetik 57

100 Carry Look-Ahead Addierer: Längster Pfad Geschlossene Form für T (n) = T ( n 4 ) + t CLA? Digitaltechnik Kapitel 4: Arithmetik 58

101 Carry Look-Ahead Addierer: Längster Pfad Geschlossene Form für T (n) = T ( n 4 ) + t CLA? T (4) = T (1)+t CLA = t FA + t CLA Digitaltechnik Kapitel 4: Arithmetik 58

102 Carry Look-Ahead Addierer: Längster Pfad Geschlossene Form für T (n) = T ( n 4 ) + t CLA? T (4) = T (1)+t CLA = t FA + t CLA T (16) = T (4)+t CLA = t FA +2 t CLA Digitaltechnik Kapitel 4: Arithmetik 58

103 Carry Look-Ahead Addierer: Längster Pfad Geschlossene Form für T (n) = T ( n 4 ) + t CLA? T (4) = T (1)+t CLA = t FA + t CLA T (16) = T (4)+t CLA = t FA +2 t CLA T (64) = T (16)+t CLA = t FA +3 t CLA Digitaltechnik Kapitel 4: Arithmetik 58

104 Carry Look-Ahead Addierer: Längster Pfad Geschlossene Form für T (n) = T ( n 4 ) + t CLA? T (4) = T (1)+t CLA = t FA + t CLA T (16) = T (4)+t CLA = t FA +2 t CLA T (64) = T (16)+t CLA = t FA +3 t CLA T (256) = T (64)+t CLA = t FA +4 t CLA Digitaltechnik Kapitel 4: Arithmetik 58

105 Carry Look-Ahead Addierer: Längster Pfad Geschlossene Form für T (n) = T ( n 4 ) + t CLA? T (4) = T (1)+t CLA = t FA + t CLA T (16) = T (4)+t CLA = t FA +2 t CLA T (64) = T (16)+t CLA = t FA +3 t CLA T (256) = T (64)+t CLA = t FA +4 t CLA Verallgemeinerung: Logarithmische Tiefe! T (n) = t FA + (log 4 n) t CLA Digitaltechnik Kapitel 4: Arithmetik 58

106 Carry Look-Ahead Addierer: Kosten Es sei c CLA die Kosten der Carry-Look-Ahead Einheit, und c FA die Kosten des Volladdierers Kosten für n-bit CLA: C(n) = 4 C( n 4 ) + c CLA Digitaltechnik Kapitel 4: Arithmetik 59

107 Carry Look-Ahead Addierer: Kosten Es sei c CLA die Kosten der Carry-Look-Ahead Einheit, und c FA die Kosten des Volladdierers Kosten für n-bit CLA: C(n) = 4 C( n 4 ) + c CLA C(4) = 4 C(1)+c CLA = 4 c FA + c CLA C(16) = 4 C(4)+c CLA = 16 c FA + 5 c CLA C(64) = 4 C(16)+c CLA = 64 c FA +21 c CLA C(256) = 4 C(64)+c CLA = 256 c FA +85 c CLA Digitaltechnik Kapitel 4: Arithmetik 59

108 Carry Look-Ahead Addierer: Kosten Es sei c CLA die Kosten der Carry-Look-Ahead Einheit, und c FA die Kosten des Volladdierers Kosten für n-bit CLA: C(n) = 4 C( n 4 ) + c CLA C(4) = 4 C(1)+c CLA = 4 c FA + c CLA C(16) = 4 C(4)+c CLA = 16 c FA + 5 c CLA C(64) = 4 C(16)+c CLA = 64 c FA +21 c CLA C(256) = 4 C(64)+c CLA = 256 c FA +85 c CLA = C(n) O(n) Digitaltechnik Kapitel 4: Arithmetik 59

109 Vergleich Addierer Typ Zeit Platz Gatter Fläche Carry Ripple Adder O(n) O(n) O(n) Carry Look-Ahead Adder O(log n) O(n) O(n log n) Carry Skip Adder Carry Select Adder O( n) O(n) O(n) weitere Addierer mit dazwischenliegender Komplexität Anpassung an Technologie: manchmal ist Carry Ripple schnell Hybride Ansätze! Digitaltechnik Kapitel 4: Arithmetik 60

110 Vergleich Addierer RCA CLA Cond. Sum Gatter Breite Digitaltechnik Kapitel 4: Arithmetik 61

111 Multiplizierer Beispiel komplexer arithmetischer Schaltung Langsamer als Addition, braucht mehr Platz Übersicht: 1. Sequentielle Multiplikation 2. Kompakte kombinatorische Variante mit Carry-Save-Adders (CSA) 3. Vorzeichenbehaftete Multiplikation mit Booth-Algorithmus Digitaltechnik Kapitel 4: Arithmetik 62

112 Schulalgorithmus zur Multiplikation B A Partielle Summe * Resultat Digitaltechnik Kapitel 4: Arithmetik 63

113 Einfacher Multiplizierer 5 B A 5 5 Bit Addierer 5 5 Bit Addierer 5 5 Bit Addierer 5 5 Bit Addierer 5 Resultat Digitaltechnik Kapitel 4: Arithmetik 64

114 Einfacher Multiplizierer n n Multiplikation: Eingabe: zwei n-bit Vektoren Ausgabe: 2 n-bit Vektor benötigt n 1 seriell geschaltete Addierer Annahme: CLA Adder Zeit: O(n log n) Platz: O(n 2 ) Gatter, Fläche O(n 2 log n) Digitaltechnik Kapitel 4: Arithmetik 65

115 Sequentielle Version: Software long long unsigned mult32 ( unsigned a, unsigned b ) { long long unsigned pa=a ; unsigned i ; 5 for ( i =0; i <32; i ++) { i f ( pa&1) pa +=(( unsigned long long ) b)<<32; 10 pa=pa>>1; } } return pa ; Digitaltechnik Kapitel 4: Arithmetik 66

116 Sequentielle Version: Software Benötigt eine Iteration pro Bit Pro Iteration: eine Bitextrahierung ein Test zwei Shifts Q: Schleifeninvariante? Digitaltechnik Kapitel 4: Arithmetik 67

117 Sequentielle Version: Hardware Shiften n n C 1 n P A n n n Bit Addierer n B Digitaltechnik Kapitel 4: Arithmetik 68

118 Sequentieller Algorithmus 1. Obere Hälfte P der partiellen Summe mit 0 initialisieren 2. Erster Operand ins B Register 3. Zweiter Operand ins A Register (untere Hälfte der partiellen Summe) 4. Für jeden der n Multiplikationsschritte: 4.1 LSB von A gleich 1, dann addiere B zu P (ansonsten 0) 4.2 Schiebe (C, P, A) nach rechts (C ist Carry des Addierers) 5. Result findet sich in (P, A) Digitaltechnik Kapitel 4: Arithmetik 69

119 Sequentielle Multiplikation von 7 und 5 C P A Schreibe 7 = nach B und 5 = nach A Digitaltechnik Kapitel 4: Arithmetik 70

120 Sequentielle Multiplikation von 7 und 5 C P A Schreibe 7 = nach B und 5 = nach A A 0 = 1 also addiere B = Digitaltechnik Kapitel 4: Arithmetik 70

121 Sequentielle Multiplikation von 7 und 5 C P A Schreibe 7 = nach B und 5 = nach A A 0 = 1 also addiere B = Shiften (A 0 gebraucht, fällt also raus) Digitaltechnik Kapitel 4: Arithmetik 70

122 Sequentielle Multiplikation von 7 und 5 C P A Schreibe 7 = nach B und 5 = nach A A 0 = 1 also addiere B = Shiften (A 0 gebraucht, fällt also raus) A 1 = 0 also addiere Digitaltechnik Kapitel 4: Arithmetik 70

123 Sequentielle Multiplikation von 7 und 5 C P A Schreibe 7 = nach B und 5 = nach A A 0 = 1 also addiere B = Shiften (A 0 gebraucht, fällt also raus) A 1 = 0 also addiere Shiften (A 1 gebraucht, fällt also raus) Digitaltechnik Kapitel 4: Arithmetik 70

124 Sequentielle Multiplikation von 7 und 5 C P A Schreibe 7 = nach B und 5 = nach A A 0 = 1 also addiere B = Shiften (A 0 gebraucht, fällt also raus) A 1 = 0 also addiere Shiften (A 1 gebraucht, fällt also raus) A 2 = 1 also addiere B = Shiften, Resultat ist = 35 Digitaltechnik Kapitel 4: Arithmetik 70

125 Probleme mit Vorzeichen Multiplikation von 3 und 7 gibt natürlich 21 4-Bit Zweierkomplement: , als unsigned 4-Bit Zahlen sind das 13 bzw. 9 Multiplikation von 13 und 9 ergibt Bit Zweierkomplement: , Multiplikation gibt es mit oder ohne Vorzeichen (signed oder unsigned)! Digitaltechnik Kapitel 4: Arithmetik 71

126 Einfache Multiplikation mit Vorzeichen 1. Konvertierung der beiden Operanden in positive Zahlen 2. Speichern der ursprünglichen Vorzeichen 3. Unsigned-Multiplikation der konvertierten Zahlen 4. Berechnung des Resultats-Vorzeichen aus gespeicherten Vorzeichen (negativ gdw. ursprüngliche Operanden hatten komplementäres Vorzeichen) 5. eventuell Negation des Ergebnisses bei negativem Resultats-Vorzeichen Digitaltechnik Kapitel 4: Arithmetik 72

127 Booth Recoding Erste Beobachtung: PA ist auch signed! Verwende arithmetischen Shift statt logischem Shift (schiebe beim Shift Vorzeichen-Bit nach, statt dem Carry) Addiere B (A i 1 A i ) zu P (mit A 1 = 0): 1. addiere B zu P wenn A i = 0 und A i 1 = 1 2. subtrahiere B von P wenn A i = 1 und A i 1 = 0 3. addiere 0 zu P wenn A i = A i 1 Digitaltechnik Kapitel 4: Arithmetik 73

128 Booth Multiplikation von 6 und 5 P A Schreibe 6 = nach A und 5 = 1011 nach B A 0 = A 1 = 0 ergibt mit Regel 3 Addition von Shiften 1011 Digitaltechnik Kapitel 4: Arithmetik 74

129 Booth Multiplikation von 6 und 5 P A Schreibe 6 = nach A und 5 = 1011 nach B A 0 = A 1 = 0 ergibt mit Regel 3 Addition von Shiften 1011 A 1 = 1, A 0 = 0 ergibt mit Regel 2 Subtraktion von B Zweierkomplement von ist Shiften Digitaltechnik Kapitel 4: Arithmetik 74

130 Booth Multiplikation von 6 und 5 P A Schreibe 6 = nach A und 5 = 1011 nach B A 0 = A 1 = 0 ergibt mit Regel 3 Addition von Shiften 1011 A 1 = 1, A 0 = 0 ergibt mit Regel 2 Subtraktion von B Zweierkomplement von ist Shiften A 2 = 0, A 1 = 1 ergibt mit Regel 1 Addition von B Shiften (arithmetisch!) 1011 Digitaltechnik Kapitel 4: Arithmetik 74

131 Booth Multiplikation von 6 und 5 P A Schreibe 6 = nach A und 5 = 1011 nach B A 0 = A 1 = 0 ergibt mit Regel 3 Addition von Shiften 1011 A 1 = 1, A 0 = 0 ergibt mit Regel 2 Subtraktion von B Zweierkomplement von ist Shiften A 2 = 0, A 1 = 1 ergibt mit Regel 1 Addition von B Shiften (arithmetisch!) 1011 A 3 = 1, A 2 = 0 ergibt mit Regel 2 Subtraktion von B Zweierkomplement von ist Shiften (arithmetisch!) Resultat ist = 30 Digitaltechnik Kapitel 4: Arithmetik 74

132 Korrektheit Booth Multiplikation Da jedes Mal B (A i 1 A i ) zum partiellen Produkt addiert wird, erhält man die Teleskopsumme n 1 B (A i 1 A i ) 2 i i=0 Digitaltechnik Kapitel 4: Arithmetik 75

133 Korrektheit Booth Multiplikation Da jedes Mal B (A i 1 A i ) zum partiellen Produkt addiert wird, erhält man die Teleskopsumme n 1 B (A i 1 A i ) 2 i i=0 B ( A n 1 2 n 1 + A n 2 2 n A A 0 ) + B A 1 Digitaltechnik Kapitel 4: Arithmetik 75

134 Korrektheit Booth Multiplikation Da jedes Mal B (A i 1 A i ) zum partiellen Produkt addiert wird, erhält man die Teleskopsumme n 1 B (A i 1 A i ) 2 i i=0 B ( A n 1 2 n 1 + A n 2 2 n 2 ) + + A A 0 + B A 1 ( ) n 2 B A n 1 2 n 1 + A i 2 i i=0 Digitaltechnik Kapitel 4: Arithmetik 75

135 Korrektheit Booth Multiplikation Da jedes Mal B (A i 1 A i ) zum partiellen Produkt addiert wird, erhält man die Teleskopsumme n 1 B (A i 1 A i ) 2 i i=0 B ( A n 1 2 n 1 + A n 2 2 n A A 0 ) + B A 1 ( ) n 2 B A n 1 2 n 1 + A i 2 i Der Klammerausdruck ist genau der Integer-Wert einer n-bit Zahl A im Zweierkomplement! i=0 (z.b. 3 = = = ) Digitaltechnik Kapitel 4: Arithmetik 75

136 Carry-Save Adder (CSA) Problem: viele Zahlen sollen addiert werden Digitaltechnik Kapitel 4: Arithmetik 76

137 Carry-Save Adder (CSA) Problem: viele Zahlen sollen addiert werden Idee: Carry Propagierung vermeiden CSA für 3 Zahlen: Eingänge a, b, c, und zwei Ausgänge s, t. Der CSA wird auch als 3/2-Addierer bezeichnet. Berechne n-bit Vektoren s und t so dass a + b + c = s + t Das kann mit Tiefe O(1) geschehen! Digitaltechnik Kapitel 4: Arithmetik 76

138 Kombinatorischer Multiplizierer mit CSA a n 1 b n 1 c n 1 a 2 b 2 c 2 a 1 b 1 c 1 a 0 b 0 c 0 FA FA FA FA 0 t n s n 1 t 3 s 2 t 2 s 1 t 1 s 0 t 0 t i+1 s i = a i + b i + c i und t 0 = 0 Behauptung: a + b + c = s + t Digitaltechnik Kapitel 4: Arithmetik 77

139 Korrektheit CSA Beweis: a + b + c = n 1 (a i + b i + c i ) 2 i i=0 Digitaltechnik Kapitel 4: Arithmetik 78

140 Korrektheit CSA Beweis: a + b + c = = n 1 (a i + b i + c i ) 2 i i=0 n 1 (2t i+1 + s i ) 2 i i=0 Digitaltechnik Kapitel 4: Arithmetik 78

141 Korrektheit CSA Beweis: a + b + c = = = n 1 (a i + b i + c i ) 2 i i=0 n 1 (2t i+1 + s i ) 2 i i=0 n 1 n 1 2t i+1 2 i + s i 2 i i=0 i=0 Digitaltechnik Kapitel 4: Arithmetik 78

142 Korrektheit CSA Beweis: a + b + c = = = = n 1 (a i + b i + c i ) 2 i i=0 n 1 (2t i+1 + s i ) 2 i i=0 n 1 n 1 2t i+1 2 i + s i 2 i i=0 n i=1 i=0 n 1 t i 2 i + s i 2 i i=0 Digitaltechnik Kapitel 4: Arithmetik 78

143 Korrektheit CSA Beweis: a + b + c = = = = n 1 (a i + b i + c i ) 2 i i=0 n 1 (2t i+1 + s i ) 2 i i=0 n 1 n 1 2t i+1 2 i + s i 2 i i=0 n i=1 i=0 n 1 t i 2 i + s i 2 i i=0 = s + t Digitaltechnik Kapitel 4: Arithmetik 78

144 Kombinatorischer Multiplizierer mit CSA A 4 B A 3 B A 2 B A 1 B A 0 B 3/2-CSA 3/2-CSA 3/2-CSA Mehrere CSAs um alle partiellen Produkte aufzuaddieren Ein normaler Addierer für das Endergebnis (z.b. CLA) Propagate Adder Digitaltechnik Kapitel 4: Arithmetik 79

145 Wallace Tree Multiplizierer Offensichtliche Idee: Baum balancieren (Wallace Tree) Aus zwei 3/2-Addierern lässt sich ein 4/2-Addierer bauen: CSA CSA Digitaltechnik Kapitel 4: Arithmetik 80

146 Wallace Tree Multiplizierer Damit erhält man einen gewöhnlichen Binärbaum: Baum hat Tiefe O(log n) Digitaltechnik Kapitel 4: Arithmetik 81

147 Optimierung Booth Multiplikation in Hardware Erinnerung: Wir berechnen n 1 B (A i 1 A i ) 2 i i=0 Beispiel für 8 Bits: B ( A 1 A 0 ) B ( A 0 A 1 ) B ( A 1 A 2 ) B ( A 2 A 3 ) B ( A 3 A 4 ) B ( A 4 A 5 ) B ( A 5 A 6 ) B ( A 6 A 7 ) 2 7 Digitaltechnik Kapitel 4: Arithmetik 82

148 Booth Multiplikation in Hardware Idee: Wir fassen jeweils zwei Summanden zusammen: B ( A 1 A 0 ) B ( A 0 A 1 ) B ( A 1 A 2 ) B ( A 2 A 3 ) B ( A 3 A 4 ) B ( A 4 A 5 ) B ( A 5 A 6 ) B ( A 6 A 7 ) 2 7 Dann hätte man die Anzahl der Summanden halbiert. Digitaltechnik Kapitel 4: Arithmetik 83

149 Booth Multiplikation in Hardware Allgemein: B ( A i 1 A i ) 2 i + B ( A i A i+1 ) 2 i+1 Digitaltechnik Kapitel 4: Arithmetik 84

150 Booth Multiplikation in Hardware Allgemein: B ( A i 1 A i ) 2 i + B ( A i A i+1 ) 2 i+1 = B ( A i 1 A i + 2(A i A i+1 ) ) 2 i Digitaltechnik Kapitel 4: Arithmetik 84

151 Booth Multiplikation in Hardware Allgemein: B ( A i 1 A i ) 2 i + B ( A i A i+1 ) 2 i+1 = B ( A i 1 A i + 2(A i A i+1 ) ) 2 i = B ( A i 1 + A i 2A i+1 ) 2 i Digitaltechnik Kapitel 4: Arithmetik 84

152 Booth Multiplikation in Hardware Wie berechen wir B(A i 1 + A i 2A i+1 )? Digitaltechnik Kapitel 4: Arithmetik 85

153 Booth Multiplikation in Hardware Wie berechen wir B(A i 1 + A i 2A i+1 )? Tabelle: A i+1 A i A i 1 Summand B B B B B B B B Radix 4 Booth Encoding Wird auch Sign-Magnitude -Darstellung genannt Digitaltechnik Kapitel 4: Arithmetik 85

154 Booth Multiplikation in Hardware Auswahl aus: 0, B, 2B, B, 2B Wir brauchen: einen Multiplexer zur Auswahl aus 0, B, 2B einen Komplementierer für die untere Hälfte der Tabelle: bitweise invertieren (XOR); die +1 geht in die CSAs als Carry-in In der Praxis ca. 25 % Einsparung bei Kosten und Tiefe Digitaltechnik Kapitel 4: Arithmetik 86

155 Vergleich Multiplizierer Trivial Sequential Wallace Gatter Breite Digitaltechnik Kapitel 4: Arithmetik 87

156 Zusammenfassung Multiplizierer Multiplikation braucht Platz (Wallace Tree) oder Zeit (sequentielle Implementierung) Carry-Save-Addierer: keine Carry-Kette! Vorzeichen mit Booth-Recoding behandeln! Booth-Recoding reduziert auch die Anzahl der partiellen Produkte Weitere Operationen wie Division haben ähnliche Trade-Offs Digitaltechnik Kapitel 4: Arithmetik 88

Multiplizierer. Beispiel komplexer arithmetischer Schaltung. Langsamer als Addition, braucht mehr Platz. Sequentielle Multiplikation

Multiplizierer. Beispiel komplexer arithmetischer Schaltung. Langsamer als Addition, braucht mehr Platz. Sequentielle Multiplikation Multiplizierer 1 Beispiel komplexer arithmetischer Schaltung Langsamer als Addition, braucht mehr Platz Sequentielle Multiplikation Kompakte kombinatorische Variante mit Carry-Save-Adders (CSA) Vorzeichenbehaftete

Mehr

Inhalt. Zahlendarstellungen

Inhalt. Zahlendarstellungen Inhalt 1 Motivation 2 Integer- und Festkomma-Arithmetik Zahlendarstellungen Algorithmen für Integer-Operationen Integer-Rechenwerke Rechnen bei eingeschränkter Präzision 3 Gleitkomma-Arithmetik Zahlendarstellungen

Mehr

Rechnerstrukturen, Teil 1

Rechnerstrukturen, Teil 1 Rechnerstrukturen, Teil 1 Vorlesung 4 SWS WS 18/19 Prof. Dr. Jian- Jia Chen Fakultät für Informatik Technische Universität Dortmund jian- jia.chen@cs.uni-.de http://ls12- www.cs.tu-.de Übersicht 1. Organisatorisches

Mehr

Rechnernetze und Organisation

Rechnernetze und Organisation Arithmetic Logic Unit ALU Professor Dr. Johannes Horst Wolkerstorfer Cerjak, 9.2.25 RNO VO4_alu Übersicht Motivation ALU Addition Subtraktion De Morgan Shift Multiplikation Gleitkommazahlen Professor Dr.

Mehr

Rechnerstrukturen, Teil 1. Vorlesung 4 SWS WS 14/15

Rechnerstrukturen, Teil 1. Vorlesung 4 SWS WS 14/15 Rechnerstrukturen, Teil 1 Vorlesung 4 SWS WS 14/15 Prof. Dr Jian-Jia Chen Dr. Lars Hildebrand Fakultät für Informatik Technische Universität Dortmund lars.hildebrand@tu-.de http://ls1-www.cs.tu-.de Übersicht

Mehr

6. Zahlendarstellungen und Rechnerarithmetik

6. Zahlendarstellungen und Rechnerarithmetik 6. Zahlendarstellungen und Rechnerarithmetik... x n y n x n-1 y n-1 x 1 y 1 x 0 y 0 CO Σ Σ... Σ Σ CI z n z n-1 z 1 z 0 Negative Zahlen, Zweierkomplement Rationale Zahlen, Gleitkommazahlen Halbaddierer,

Mehr

Rechnerstrukturen WS 2012/13

Rechnerstrukturen WS 2012/13 Rechnerstrukturen WS 2012/13 Boolesche Funktionen und Schaltnetze Schaltnetze Rechner-Arithmetik Addition Bessere Schaltnetze zur Addition Carry-Look-Ahead-Addierer Multiplikation Wallace-Tree Hinweis:

Mehr

Teil 2: Rechnerorganisation

Teil 2: Rechnerorganisation Teil 2: Rechnerorganisation Inhalt: Zahlendarstellungen Rechnerarithmetik Mikroprogrammierung schrittweiser Entwurf eines hypothetischen Prozessors mit Daten-, Adreß- und Kontrollpfad Speicherorganisation

Mehr

Teil 2: Rechnerorganisation

Teil 2: Rechnerorganisation Teil 2: Rechnerorganisation Inhalt: Zahlendarstellungen Rechnerarithmetik Mikroprogrammierung schrittweiser Entwurf eines hypothetischen Prozessors mit Daten-, Adreß- und Kontrollpfad Speicherorganisation

Mehr

Darstellung von negativen binären Zahlen

Darstellung von negativen binären Zahlen Darstellung von negativen binären Zahlen Beobachtung für eine beliebige Binärzahl B, z.b. B=110010: B + NOT(B) ---------------------------------------------- = B + NOT(B) 1 + (Carry) ----------------------------------------------

Mehr

N Bit Darstellung von Gleitkommazahlen

N Bit Darstellung von Gleitkommazahlen N Bit Darstellung von Gleitkommazahlen Normalisierte, wissenschaftliche Darstellung zur Basis 2. Beispiel: Allgemein: Sign and Magnitude Darstellung für beispielsweise 32 Bits: (s=0 für + und s=1 für )

Mehr

N Bit binäre Zahlen (signed)

N Bit binäre Zahlen (signed) N Bit binäre Zahlen (signed) n Bit Darstellung ist ein Fenster auf die ersten n Stellen der Binär Zahl 0000000000000000000000000000000000000000000000000110 = 6 1111111111111111111111111111111111111111111111111101

Mehr

Das Verfahren in Hardware

Das Verfahren in Hardware Das Verfahren in Hardware Links Shift 8 Bit Multiplikand Demonstration mit 1001 * 0110 = 110110 2.Links Shift 8 Bit ALU Rechts Shift 4 Bit Multiplikator 3.Rechts Shift 8 Bit Produkt 1. Produkt = Produkt

Mehr

Rechnerstrukturen, Teil 1. Vorlesung 4 SWS WS 14/15

Rechnerstrukturen, Teil 1. Vorlesung 4 SWS WS 14/15 Rechnerstrukturen, Teil 1 Vorlesung 4 SWS WS 14/15 Prof. Dr Jian-Jia Chen Dr. Lars Hildebrand Fakultät für Informatik Technische Universität Dortmund lars.hildebrand@tu-.de http://ls1-www.cs.tu-.de Übersicht

Mehr

Wandeln Sie die folgenden Zahlen in Binärzahlen und Hexadezimalzahlen. Teilen durch die Basis des Zahlensystems. Der jeweilige Rest ergibt die Ziffer.

Wandeln Sie die folgenden Zahlen in Binärzahlen und Hexadezimalzahlen. Teilen durch die Basis des Zahlensystems. Der jeweilige Rest ergibt die Ziffer. Digitaltechnik Aufgaben + Lösungen 2: Zahlen und Arithmetik Aufgabe 1 Wandeln Sie die folgenden Zahlen in Binärzahlen und Hexadezimalzahlen a) 4 D b) 13 D c) 118 D d) 67 D Teilen durch die Basis des Zahlensystems.

Mehr

Arithmetik. Zahlendarstellung, Addition und Subtraktion Multiplikation, Division, Fest- und Gleitkommazahlen

Arithmetik. Zahlendarstellung, Addition und Subtraktion Multiplikation, Division, Fest- und Gleitkommazahlen Computer and Communication Systems (Lehrstuhl für Technische Informatik) Arithmetik Zahlendarstellung, Addition und Subtraktion Multiplikation, Division, Fest- und Gleitkommazahlen [TI] Winter 2013/2014

Mehr

Algorithmen zur Division

Algorithmen zur Division Algorithmen zur Division Umkehrung der Multiplikation: Berechnung von q = a / b durch wiederholte bedingte Subtraktionen und Schiebeoperationen in jedem Schritt wird Divisor b testweise vom aktuellen Rest

Mehr

Multiplikation. Grundlagen der Rechnerarchitektur Logik und Arithmetik 79

Multiplikation. Grundlagen der Rechnerarchitektur Logik und Arithmetik 79 Multiplikation Grundlagen der Rechnerarchitektur Logik und Arithmetik 79 Multiplikation nach der Schulmethode Gegeben seien die Binärzahlen A und B. Was ist a * b? Beispiel: Multiplikand A: 1 1 0 1 0 Multiplikator

Mehr

Grundlagen der Rechnerarchitektur. Binäre Logik und Arithmetik

Grundlagen der Rechnerarchitektur. Binäre Logik und Arithmetik Grundlagen der Rechnerarchitektur Binäre Logik und Arithmetik Übersicht Logische Operationen Addition, Subtraktion und negative Zahlen Logische Bausteine Darstellung von Algorithmen Multiplikation Division

Mehr

E Zahlendarstellungen und Rechnerarithmetik

E Zahlendarstellungen und Rechnerarithmetik E Zahlendarstellungen und Rechnerarithmetik Einordnung in das Schichtenmodell: 1. Darstellung positiver ganzer Zahlen 2. binäre Addition 3. Darstellung negativer ganzer Zahlen 4. binäre Subtraktion 5.

Mehr

Carry-Lookahead Addierer (CLA)

Carry-Lookahead Addierer (CLA) Carry-Lookahead Addierer (CLA) Idee: Vorausberechnung der Carry-Signale c i für alle n Stellen für i-ten Volladdierer gilt: c i+1 = a i b i + (a i +b i )c i := G i + P i c i G i = a i b i gibt an, ob in

Mehr

Rechnerstrukturen WS 2012/13

Rechnerstrukturen WS 2012/13 Rechnerstrukturen WS 2012/13 Boolesche Funktionen und Schaltnetze Rechner-Arithmetik Addition (Wiederholung) Multiplikation Wallace-Tree Subtraktion Addition negativer Zahlen Gleitkommazahlen-Arithmetik

Mehr

Computerarithmetik (6a)

Computerarithmetik (6a) Computerarithmetik (6a) Weitere Nachteile: erfordert separates Subtrahierwerk erfordert zusätzliche Logik, um zu entscheiden, welches Vorzeichen das Ergebnis der Operation hat 2. Die Komplement - Darstellung

Mehr

Aufgabe 1. Aufgabe 2. Abbildung 1: Schaltung für die Multiplikation mit 4

Aufgabe 1. Aufgabe 2. Abbildung 1: Schaltung für die Multiplikation mit 4 Aufgabe 1 Eine Zahl a ist mit 8 Bits vorzeichenlos (8 bit unsigned) dargestellt. Die Zahl y soll die Zahl a multipliziert mit 4 sein (y = a 4 D ). a) Wie viele Bits benötigen Sie für die Darstellung von

Mehr

Rechnerstrukturen. Michael Engel und Peter Marwedel SS TU Dortmund, Fakultät für Informatik

Rechnerstrukturen. Michael Engel und Peter Marwedel SS TU Dortmund, Fakultät für Informatik Rechnerstrukturen Michael Engel und Peter Marwedel TU Dortmund, Fakultät für Informatik SS 2013 Hinweis: Folien a. d. Basis von Materialien von Gernot Fink und Thomas Jansen 25. April 2013 1 Boolesche

Mehr

Rechnerstrukturen. Michael Engel und Peter Marwedel WS 2013/14. TU Dortmund, Fakultät für Informatik

Rechnerstrukturen. Michael Engel und Peter Marwedel WS 2013/14. TU Dortmund, Fakultät für Informatik Rechnerstrukturen Michael Engel und Peter Marwedel TU Dortmund, Fakultät für Informatik WS 2013/14 Folien a. d. Basis von Materialien von Gernot Fink und Thomas Jansen 30. Oktober 2013 1/35 1 Boolesche

Mehr

Wertebereiche, Overflow und Underflow

Wertebereiche, Overflow und Underflow Wertebereiche, Overflow und Underflow s exponent fraction 1 Bit 8 Bits 23 Bits Kleinste darstellbare nicht negative Zahl annähernd 2,0 * 10 38 Größte darstellbare Zahl annähernd 2,0 * 10 38 Was, wenn die

Mehr

Übungen zur Vorlesung Technische Informatik I, SS 2001 Strey / Guenkova-Luy / Prager Übungsblatt 4 Zahlendarstellung/Rechenarithmetik/Rechenwerke

Übungen zur Vorlesung Technische Informatik I, SS 2001 Strey / Guenkova-Luy / Prager Übungsblatt 4 Zahlendarstellung/Rechenarithmetik/Rechenwerke Übungen zur Vorlesung Technische Informatik I, SS 2001 Strey / Guenkova-Luy / Prager Übungsblatt 4 Zahlendarstellung/Rechenarithmetik/Rechenwerke Aufgabe 1: a) Bestimmen Sie die Darstellung der Zahl 113

Mehr

3 Arithmetische Schaltungen

3 Arithmetische Schaltungen . Schaltungselemente Arithmetische Schaltungen. Schaltungselemente Logikgatter Treiber; gibt am Ausgang denselben Logikpegel aus, der auch am Eingang anliegt Inverter; gibt am Ausgang den Logikpegel des

Mehr

Zahlendarstellungen und Rechnerarithmetik*

Zahlendarstellungen und Rechnerarithmetik* Zahlendarstellungen und Rechnerarithmetik* 1. Darstellung positiver ganzer Zahlen 2. Darstellung negativer ganzer Zahlen 3. Brüche und Festkommazahlen 4. binäre Addition 5. binäre Subtraktion *Die Folien

Mehr

3.1 Schaltungselemente 129. b) Tragen Sie in nachfolgende Abbildung die Realisierung eines 1 Bit 4-auf-1 Multiplexers aus Logikgattern ein.

3.1 Schaltungselemente 129. b) Tragen Sie in nachfolgende Abbildung die Realisierung eines 1 Bit 4-auf-1 Multiplexers aus Logikgattern ein. 3.1 Schaltungselemente 129 b) Tragen Sie in nachfolgende Abbildung die Realisierung eines 1 Bit 4-auf-1 Multiplexers aus Logikgattern ein. 2 1 0 1 1 130 3 Arithmetische Schaltungen emultiplexer emultiplexer

Mehr

Rechnergrundlagen SS Vorlesung

Rechnergrundlagen SS Vorlesung Rechnergrundlagen SS 2007 8. Vorlesung Inhalt Gleitkomma-Darstellung Normalisierte Darstellung Denormalisierte Darstellung Rechnerarchitekturen Von Neumann-Architektur Harvard-Architektur Rechenwerk (ALU)

Mehr

Computerarithmetik (15b)

Computerarithmetik (15b) Computerarithmetik (15b) Dazugehöriges Beispiel: Schleife Schritt Multiplikator Multiplikand Produkt 0 Anfangswerte 0011 0000 0010 0000 0000 1 1a: 1 -> Prod. = Prod. + Mcand 0011 0000 0010 0000 0010 2:

Mehr

Rückblick. Zahlendarstellung zu einer beliebigen Basis b. Umwandlung zwischen Zahlendarstellung (214) 5 = (278) 10 =(?) 8

Rückblick. Zahlendarstellung zu einer beliebigen Basis b. Umwandlung zwischen Zahlendarstellung (214) 5 = (278) 10 =(?) 8 Rückblick Zahlendarstellung zu einer beliebigen Basis b (214) 5 = Umwandlung zwischen Zahlendarstellung (278) 10 =(?) 8 25 Rückblick Schnellere Umwandlung zwischen Binärdarstellung und Hexadezimaldarstellung

Mehr

Übung Programmieren - Zahlendarstellung, SSH, SCP, Shellskripte -

Übung Programmieren - Zahlendarstellung, SSH, SCP, Shellskripte - Übung Programmieren - Zahlendarstellung, SSH, SCP, Shellskripte - Sebastian Ebers Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/users/ebers Zahlendarstellung 201010? 16 2010

Mehr

Kapitel 6 - Addierwerke

Kapitel 6 - Addierwerke Kapitel 6 - Addierwerke Versuch 600 Halbaddierer und Volladdierer Der bürgerliche Algorithmus des schriftlichen Addierens zerlegt die binäre Addition in die folgenden elementaren Additionen. Es ergibt

Mehr

Inhaltsangabe 3.1 Zahlensysteme und Darstellung natürlicher Zahlen Darstellung ganzer Zahlen

Inhaltsangabe 3.1 Zahlensysteme und Darstellung natürlicher Zahlen Darstellung ganzer Zahlen 3 Zahlendarstellung - Zahlensysteme - b-adische Darstellung natürlicher Zahlen - Komplementbildung - Darstellung ganzer und reeller Zahlen Inhaltsangabe 3.1 Zahlensysteme und Darstellung natürlicher Zahlen......

Mehr

Informatik I Modul 5: Rechnerarithmetik (2)

Informatik I Modul 5: Rechnerarithmetik (2) Herbstsemester 2, Institut für Informatik IFI, UZH, Schweiz Informatik I Modul 5: Rechnerarithmetik (2) 2 Burkhard Stiller M5 Modul 5: Rechnerarithmetik (2) Grundrechenarten Arithmetisch-logische Einheit

Mehr

Minimierung nach Quine Mc Cluskey

Minimierung nach Quine Mc Cluskey Minimierung nach Quine Mc Cluskey F(A,B,C,D) =!A!B!C!D +!A!B!C D +!A B!C!D +!A B!C D +!A B C!D +!A B C D + A!B!C!D + A!B!C D + A!B C D + A B C D Notiere die Funktion als # A B C D Gruppe Binärelemente

Mehr

GTI ÜBUNG 12. Komparator und Addierer FRIEDRICH-ALEXANDER UNIVERSITÄT ERLANGEN-NÜRNBERG JAN SPIECK 1

GTI ÜBUNG 12. Komparator und Addierer FRIEDRICH-ALEXANDER UNIVERSITÄT ERLANGEN-NÜRNBERG JAN SPIECK 1 GTI ÜBUNG 12 Komparator und Addierer FRIEDRICH-ALEXANDER UNIVERSITÄT ERLANGEN-NÜRNBERG JAN SPIECK 1 AUFGABE 1 KOMPARATOR Beschreibung Entwickeln Sie eine digitale Schaltung, die zwei Bits a und b miteinander

Mehr

Rechnerarithmetik. Vorlesung im Sommersemester Eberhard Zehendner. FSU Jena. Thema: Multiplikation

Rechnerarithmetik. Vorlesung im Sommersemester Eberhard Zehendner. FSU Jena. Thema: Multiplikation Rechnerarithmetik Vorlesung im Sommersemester 2008 Eberhard Zehendner FSU Jena Thema: Multiplikation Eberhard Zehendner (FSU Jena) Rechnerarithmetik Multiplikation 1 / 28 Multiplikation in UInt 2 (l),

Mehr

Computerarithmetik (1)

Computerarithmetik (1) Computerarithmetik () Fragen: Wie werden Zahlen repräsentiert und konvertiert? Wie werden negative Zahlen und Brüche repräsentiert? Wie werden die Grundrechenarten ausgeführt? Was ist, wenn das Ergebnis

Mehr

Der Zahlenformatstandard IEEE 754

Der Zahlenformatstandard IEEE 754 Der Zahlenformatstandard IEEE 754 Single Precision Double Precision Insgesamt 32 Bits s exponent fraction 1 Bit 8 Bits 23 Bits Insgesamt 64 Bits s exponent fraction 1 Bit 11 Bits 52 Bits Bit Aufteilungen

Mehr

Algorithmen zur Integer-Multiplikation

Algorithmen zur Integer-Multiplikation Algorithmen zur Integer-Multiplikation Multiplikation zweier n-bit Zahlen ist zurückführbar auf wiederholte bedingte Additionen und Schiebeoperationen (in einfachen Prozessoren wird daher oft auf Multiplizierwerke

Mehr

Digitale Systeme und Schaltungen

Digitale Systeme und Schaltungen Zusammenfassung meines Vortrages vom 26. Jänner 2017 Digitale Systeme und Schaltungen Andreas Grimmer Pro Scientia Linz Johannes Kepler Universität Linz, Austria andreas.grimmer@jku.at In dieser Zusammenfassung

Mehr

Lösungsvorschlag 4. Übung Technische Grundlagen der Informatik II Sommersemester 2009

Lösungsvorschlag 4. Übung Technische Grundlagen der Informatik II Sommersemester 2009 Fachgebiet Rechnerarchitektur Fachbereich Informatik Lösungsvorschlag 4. Übung Technische Grundlagen der Informatik II Sommersemester 2009 Aufgabe 4.1: Zahlensysteme a) Bitte füllen Sie die leeren Zellen

Mehr

2 Darstellung von Zahlen und Zeichen

2 Darstellung von Zahlen und Zeichen 2.1 Analoge und digitale Darstellung von Werten 79 2 Darstellung von Zahlen und Zeichen Computer- bzw. Prozessorsysteme führen Transformationen durch, die Eingaben X auf Ausgaben Y abbilden, d.h. Y = f

Mehr

5. Computer Arithmetik. a i b i C in i-1 C out i s i. a b hc out hs. Addition mit Volladddierer (1 Bit) Halbadddierer (1 Bit) b c in.

5. Computer Arithmetik. a i b i C in i-1 C out i s i. a b hc out hs. Addition mit Volladddierer (1 Bit) Halbadddierer (1 Bit) b c in. 5. Computer Arithmetik In diesem Abschnitt wollen wir einige grundlegende Techniken kennen lernen, mit denen in Computern arithmetische Operationen ausgeführt werden. Das dabei erworben Wissen werden wir

Mehr

14 Addierer und Subtrahierer

14 Addierer und Subtrahierer 14 Addierer und Subtrahierer 14.1 Darstellung positiver und negativer Zahlen Die Anzahl der Bitstellen muss festgelegt sein, um positive und negative Zahlen unterscheiden zu Binär m -1 = 3 Positiv Dezimal

Mehr

Vorlesung Programmieren

Vorlesung Programmieren Vorlesung Programmieren Zahlendarstellung Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/pfisterer Agenda Zahlendarstellung Oder: wie rechnen

Mehr

Minimierung nach Quine Mc Cluskey

Minimierung nach Quine Mc Cluskey Minimierung nach Quine Mc Cluskey F(A,B,C,D) =!A!B!C!D +!A!B!C D +!A B!C!D +!A B!C D +!A B C!D +!A B C D + A!B!C!D + A!B!C D + A!B C D + A B C D Notiere die Funktion als # A B C D Gruppe Binärelemente

Mehr

x x y x y Informatik II Schaltkreise Schaltkreise Schaltkreise Rainer Schrader 3. November 2008

x x y x y Informatik II Schaltkreise Schaltkreise Schaltkreise Rainer Schrader 3. November 2008 Informatik II Rainer Schrader Zentrum für Angewandte Informatik Köln 3. November 008 1 / 47 / 47 jede Boolesche Funktion lässt mit,, realisieren wir wollen wir uns jetzt in Richtung Elektrotechnik und

Mehr

Motivation 31. Mai 2005

Motivation 31. Mai 2005 Motivation 31. Mai 25 Zuletzt behandelt: Zahlendarstellung und Rechnerarithmetik Festkommazahlen: Vorzeichen/Betrag-Darstellung Einerkomplement, Zweierkomplement Rückführung der Subtraktion auf die Addition

Mehr

Informationsmenge. Maßeinheit: 1 Bit. 1 Byte. Umrechnungen: Informationsmenge zur Beantwortung einer Binärfrage kleinstmögliche Informationseinheit

Informationsmenge. Maßeinheit: 1 Bit. 1 Byte. Umrechnungen: Informationsmenge zur Beantwortung einer Binärfrage kleinstmögliche Informationseinheit Informationsmenge Maßeinheit: 1 Bit Informationsmenge zur Beantwortung einer Binärfrage kleinstmögliche Informationseinheit 1 Byte Zusammenfassung von 8 Bit, kleinste Speichereinheit im Computer, liefert

Mehr

Zahlen im Computer (Klasse 7 Aufbaukurs Informatik)

Zahlen im Computer (Klasse 7 Aufbaukurs Informatik) Zahlen im Computer (Klasse 7 Aufbaukurs Informatik) Die Bildauswahl erfolgte in Anlehnung an das Alter der Kinder Prof. J. Walter Bitte römische Zahlen im Geschichtsunterricht! Messsystem mit Mikrocontroller

Mehr

Computer Arithmetik. Computer Arithmetik Allgemein

Computer Arithmetik. Computer Arithmetik Allgemein Vortrag von René Grohmann und Mirwais Turjalei, 22.11.2000 Computer Arithmetik Computer Arithmetik Allgemein Die ALU: Die Alu ist die Einheit im Computer, die dazu bestimmt ist arithmetische und logische

Mehr

G Zahlendarstellung und Rechnerarithmetik

G Zahlendarstellung und Rechnerarithmetik G Zahlendarstellung und Rehnerarithmetik G.1 1 Einordnung Ebene 6 Ebene 5 Ebene 4 Problemorientierte Sprahe Assemblersprahe Betriebssystem Ebene 3 ISA (Instrution Set Arhiteture) Ebene 2 Ebene 1 Ebene

Mehr

Zur Multiplikation von Gleitkommazahlen müssen die Mantissen inkl. führender 1, als Festkommazahlen multipliziert werden.

Zur Multiplikation von Gleitkommazahlen müssen die Mantissen inkl. führender 1, als Festkommazahlen multipliziert werden. 70 Arithmetische Schaltungen Multiplikation vorzeichenbehafteter Zahlen Zur Multiplikation vorzeichenbehafteter Zahlen (er-komplement) kann auf die Schaltung für vorzeichenlose Multiplikation zurückgegriffen

Mehr

GTI ÜBUNG 12 KOMPARATOR UND ADDIERER

GTI ÜBUNG 12 KOMPARATOR UND ADDIERER 1 GTI ÜBUNG 12 KOMPARATOR UND ADDIERER Aufgabe 1 Komparator 2 Beschreibung Entwickeln Sie eine digitale Schaltung, die zwei Bits a und b miteinander vergleicht. Die Schaltung besitzt drei Ausgänge: ist

Mehr

Rechnerarithmetik. Vorlesung im Sommersemester Eberhard Zehendner. FSU Jena. Thema: Addierschaltungen

Rechnerarithmetik. Vorlesung im Sommersemester Eberhard Zehendner. FSU Jena. Thema: Addierschaltungen Rechnerarithmetik Vorlesung im Sommersemester 2008 Eberhard Zehendner FSU Jena Thema: Addierschaltungen Eberhard Zehendner (FSU Jena) Rechnerarithmetik Addierschaltungen 1 / 19 Addierer für UInt 2 (l)

Mehr

Binäre Darstellung ganzer Zahlen

Binäre Darstellung ganzer Zahlen Vorlesung Objektorientierte Softwareentwicklung Exkurse use Binäre Darstellung ganzer Zahlen Binärdarstellung natürlicher Zahlen Ganze Zahlen im Einerkomplement Ganze Zahlen im Zweierkomplement Elementare

Mehr

Algorithmen zur Division

Algorithmen zur Division Algorithmen zur Division Umkehrung der Multiplikation: Berechnung von q = a / b durch wiederholte bedingte Subtraktionen und Schiebeoperationen in jedem Schritt wird Divisor b testweise vom aktuellen Rest

Mehr

2 Initialisierung clk_mkand= clk_produkt= multiplexer= init/>>1= 6 Schieben clk_mkand= clk_produkt= multiplexer= init/>>1=

2 Initialisierung clk_mkand= clk_produkt= multiplexer= init/>>1= 6 Schieben clk_mkand= clk_produkt= multiplexer= init/>>1= Arithmetische Schaltungen c) Vervollständigen Sie nachfolgend abgebildeten Zustands-Automaten so, dass er den Multiplizierer wie gewünscht steuert. Nehmen Sie an, dass Sie zur Detektion des Schleifen-Abbruchs

Mehr

Zahlensysteme und Kodes. Prof. Metzler

Zahlensysteme und Kodes. Prof. Metzler Zahlensysteme und Kodes 1 Zahlensysteme und Kodes Alle üblichen Zahlensysteme sind sogenannte Stellenwert-Systeme, bei denen jede Stelle innerhalb einer Zahl ein besonderer Vervielfachungsfaktor in Form

Mehr

Integrierte Schaltungen

Integrierte Schaltungen Integrierte Schaltungen Klassen von Chips: SSI (Small Scale Integrated) circuit: 1 bis 10 Gatter MSI (Medium Scale Integrated) circuit: 10 bis 100 Gatter LSI (Large Scale Integrated) circuit: 100 bis 100

Mehr

Das negative Zweierkomplementzahlensystem. Ines Junold 23. Februar 2010

Das negative Zweierkomplementzahlensystem. Ines Junold 23. Februar 2010 Das negative Zweierkomplementzahlensystem Ines Junold 23. Februar 2010 1 Inhaltsverzeichnis 1 Einleitung 3 2 Das konventionelle Zweierkomplement 4 2.1 Definition.......................................

Mehr

Einführung in die Programmiertechnik

Einführung in die Programmiertechnik Einführung in die Programmiertechnik Darstellung von Zahlen Natürliche Zahlen: Darstellungsvarianten Darstellung als Text Üblich, wenn keine Berechnung stattfinden soll z.b. Die Regionalbahn 28023 fährt

Mehr

Rechnergrundlagen SS Vorlesung

Rechnergrundlagen SS Vorlesung Rechnergrundlagen SS 27 5. Vorlesung Inhalt Interpretation hexadezimal dargestellter Integer-Zahlen Little Endian / Big Endian Umrechnung in eine binäre Darstellung Ausführung von Additionen Optimierte

Mehr

4. Zahlendarstellungen

4. Zahlendarstellungen Bin are Zahlendarstellungen Binäre Darstellung ("Bits" aus {0, 1) 4. Zahlendarstellungen bn bn 1... b1 b0 entspricht der Zahl bn 2n + + b1 2 + b0 Wertebereich der Typen int, float und double Gemischte

Mehr

1. Grundlegende Konzepte der Informatik

1. Grundlegende Konzepte der Informatik 1. Grundlegende Konzepte der Informatik Inhalt Algorithmen Darstellung von Algorithmen mit Programmablaufplänen Beispiele für Algorithmen Aussagenlogik Zahlensysteme Kodierung Peter Sobe 1 Zahlensysteme

Mehr

4. Zahlendarstellungen

4. Zahlendarstellungen 121 4. Zahlendarstellungen Wertebereich der Typen int, float und double Gemischte Ausdrücke und Konversionen; Löcher im Wertebereich; Fliesskommazahlensysteme; IEEE Standard; Grenzen der Fliesskommaarithmetik;

Mehr

Minimierung nach Quine Mc Cluskey Ermitteln der Primtermtabelle

Minimierung nach Quine Mc Cluskey Ermitteln der Primtermtabelle Minimierung nach Quine Mc Cluskey Ermitteln der Primtermtabelle # A B C D OK m9 + m11 1 0 1 P1 m7 + m15 1 1 1 P2 m11 + m15 1 1 1 P3 m0 + m1 + m4 + m5 0 0 P4 m0 + m1 + m8 + m9 0 0 P5 m4 + m5 + m6 + m7 0

Mehr

Gleitkommaarithmetik. Erhöhen der Genauigkeit. Grundlagen der Rechnerarchitektur Logik und Arithmetik 124

Gleitkommaarithmetik. Erhöhen der Genauigkeit. Grundlagen der Rechnerarchitektur Logik und Arithmetik 124 Gleitkommaarithmetik Erhöhen der Genauigkeit Grundlagen der Rechnerarchitektur Logik und Arithmetik 124 Guard Bit, Round Bit und Sticky Bit Bei der Darstellung der Addition und Multiplikation haben wir

Mehr

Rechnergrundlagen SS Vorlesung

Rechnergrundlagen SS Vorlesung Rechnergrundlagen SS 27 4. Vorlesung Inhalt Binäre Darstellung von Integer-Zahlen Vorzeichen-Betrag 2er-Komplement BCD Addition und Subtraktion binär dargestellter Zahlen Carry und Overflow Little Endian

Mehr

II. Grundlagen der Programmierung

II. Grundlagen der Programmierung II. Grundlagen der Programmierung II.1. Zahlenssteme und elementare Logik 1.1. Zahlenssteme 1.1.1. Ganze Zahlen Ganze Zahlen werden im Dezimalsstem als Folge von Ziffern 0, 1,..., 9 dargestellt, z.b. 123

Mehr

3 Arithmetische Schaltungen

3 Arithmetische Schaltungen . Schaltungselemente 7 Arithmetische Schaltungen. Schaltungselemente Logikgatter Treiber; gibt am Ausgang denselben Logikpegel aus, der auch am Eingang anliegt Inverter; gibt am Ausgang den Logikpegel

Mehr

Zum Nachdenken. Welche Eigenschaften einer Vorzeichendarstellung. erreichen? Wie könnte man Vorzeichenzahlen darstellen?

Zum Nachdenken. Welche Eigenschaften einer Vorzeichendarstellung. erreichen? Wie könnte man Vorzeichenzahlen darstellen? TECHNISCHE HOCHSCHULE NÜRNBERG GEORG SIMON OHM Zum Nachdenken Welche Eigenschaften einer Vorzeichendarstellung könnte man versuchen zu erreichen? Wie könnte man Vorzeichenzahlen darstellen? Grundlagen

Mehr

Übung Praktische Informatik II

Übung Praktische Informatik II Übung Praktische Informatik II FSS 2009 Benjamin Guthier Lehrstuhl für Praktische Informatik IV Universität Mannheim guthier@pi4.informatik.uni-mannheim.de 06.03.09 2-1 Heutige große Übung Allgemeines

Mehr

1. Aufgabe (4 + 6 Punkte) = + (n + 1) i=0. IV n (n + 1) n (n + 1) + 2 (n + 1) = n (n + 1) 2 (n + 1) (n + 1) (n + 2) = Behauptung. n = 0 = 6.

1. Aufgabe (4 + 6 Punkte) = + (n + 1) i=0. IV n (n + 1) n (n + 1) + 2 (n + 1) = n (n + 1) 2 (n + 1) (n + 1) (n + 2) = Behauptung. n = 0 = 6. 1. Aufgabe (4 + Punkte) (a) Beweis durch vollständige Induktion über n. 0 0 (0 + 1) Induktionsanfang: n 0: i 0 n n (n + 1) Induktionsanfang: i Induktionsschritt: n n + 1 n+1 i n i + (n + 1) IV n (n + 1)

Mehr

3.8 Sequentieller Multiplizierer 159

3.8 Sequentieller Multiplizierer 159 .8 Sequentieller Multiplizierer 59 Nachfolgende Abbildung zeigt den (unvollständigen) Aufbau einer Schaltung zur Implementierung des gezeigten Multiplikationsverfahrens. b) Vervollständigen Sie die Schaltung

Mehr

Kapitel 5: Darstellung von Daten im Rechner

Kapitel 5: Darstellung von Daten im Rechner Kapitel 5: Darstellung von Daten im Rechner Kapitel 5 Darstellung von Daten im Rechner und Rechnerarithmetik Literatur: Oberschelp/Vossen, Kapitel 5 Kapitel 5: Darstellung von Daten im Rechner Seite Kapitel

Mehr

RO-Tutorien 3 / 6 / 12

RO-Tutorien 3 / 6 / 12 RO-Tutorien 3 / 6 / 12 Tutorien zur Vorlesung Rechnerorganisation Christian A. Mandery WOCHE 3 AM 13./14.05.2013 KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft

Mehr

2.1.2 Gleitkommazahlen

2.1.2 Gleitkommazahlen .1. Gleitkommazahlen Überblick: Gleitkommazahlen Gleitkommadarstellung Arithmetische Operationen auf Gleitkommazahlen mit fester Anzahl von Mantissen- und Exponentenbits Insbesondere Rundungsproblematik:

Mehr

Die Zahl ist: (z 2, z 1, z 0 ) (z ) : 7 = 0 Rest z 2

Die Zahl ist: (z 2, z 1, z 0 ) (z ) : 7 = 0 Rest z 2 Übungen zur Vorlesung Technische Informatik I, SS Hauck / Guenkova-Luy / Prager / Chen Übungsblatt 4 Rechnerarithmetik Aufgabe : a) Bestimmen Sie die Darstellung der Zahl 3 zur Basis 7. 3 = 7 (Sehen Sie

Mehr

Schaltnetz zur Addition n-bit langer Summanden. a 2 b 2. s 2

Schaltnetz zur Addition n-bit langer Summanden. a 2 b 2. s 2 3.3 Paralleles Addierwerk Shaltnetz zur Addition n-bit langer Summanden a n-1 b n-1 a 2 b 2 a 1 b 1 a 0 b 0 in... out s n-1 s 2 s 1 s 0 lange Gatterlaufzeit bis Endergebnis stabil Gatterlaufzeit: t = 2n

Mehr

Einheit Datentypen in der Programmiersprache C Schwerpunkt: Elementare (arithmetische) Datentypen

Einheit Datentypen in der Programmiersprache C Schwerpunkt: Elementare (arithmetische) Datentypen Einheit Datentypen in der Programmiersprache C Schwerpunkt: Elementare (arithmetische) Datentypen Kurs C/C++ Programmierung, WS 2008/2009 Dipl.Inform. R. Spurk Arbeitsgruppe Programmierung FR 6.2 Informatik

Mehr

Binäre Gleitkommazahlen

Binäre Gleitkommazahlen Binäre Gleitkommazahlen Was ist die wissenschaftliche, normalisierte Darstellung der binären Gleitkommazahl zur dezimalen Gleitkommazahl 0,625? Grundlagen der Rechnerarchitektur Logik und Arithmetik 72

Mehr

6.2 Kodierung von Zahlen

6.2 Kodierung von Zahlen 6.2 Kodierung von Zahlen Neue Begriffe é Festkommadarstellungen é Zahlendarstellung durch Betrag und Vorzeichen é Einer-/Zweierkomplement-Darstellung é Gleitkommadarstellung é IEEE-754 Format BB TI I 6.2/1

Mehr

Arithmetik. Einführung in die Technische Informatik Falko Dressler, Stefan Podlipnig Universität Innsbruck

Arithmetik. Einführung in die Technische Informatik Falko Dressler, Stefan Podlipnig Universität Innsbruck Arithmetik Einführung in die Technische Informatik Falko Dressler, Stefan Podlipnig Universität Innsbruck Übersicht Zahlendarstellung Addition und Subtraktion Multiplikation Division Fest- und Gleitkommazahlen

Mehr

Control Beispiel. Control wird als kombinatorische Schaltung realisiert. Hierzu die Wahrheitstabelle: Control

Control Beispiel. Control wird als kombinatorische Schaltung realisiert. Hierzu die Wahrheitstabelle: Control Control Beispiel Store R1 4 Bit Register R1 SUB 4 Bit Register R2 Store R2 R2 Bit 0 Control wird als kombinatorische Schaltung realisiert. Hierzu die Wahrheitstabelle: Eingabe R2 Bit 0 Zero 0 0 Ausgabe

Mehr

Rechnergrundlagen SS Vorlesung

Rechnergrundlagen SS Vorlesung Rechnergrundlagen SS 2007 3. Vorlesung Inhalt Zahlensysteme Binäre Darstellung von Integer-Zahlen Vorzeichen-Betrag Binary Offset 1er-Komplement 2er-Komplement Addition und Subtraktion binär dargestellter

Mehr

Rechnerstrukturen, Teil 1

Rechnerstrukturen, Teil 1 Rechnerstrukturen, Teil 1 Vorlesung 4 SWS WS 16/17 Prof. Dr. Jian- Jia Chen Fakultät für Informatik Technische Universität Dortmund jian- jia.chen@cs.uni-.de http://ls12- www.cs.tu-.de Übersicht 1. Organisatorisches

Mehr

Kapitel 5: Daten und Operationen

Kapitel 5: Daten und Operationen Kapitel 5: Daten und Operationen Felix Freiling Lehrstuhl für Praktische Informatik 1 Universität Mannheim Vorlesung Praktische Informatik I im Herbstsemester 2007 Folien nach einer Vorlage von H.-Peter

Mehr

Rechnerstrukturen, Teil 1

Rechnerstrukturen, Teil 1 Rechnerstrukturen, Teil 1 Vorlesung 4 SWS WS 16/17 Prof. Dr. Jian- Jia Chen Fakultät für Informatik Technische Universität Dortmund jian- jia.chen@cs.uni-.de http://ls12- www.cs.tu-.de Übersicht 1. Organisatorisches

Mehr

Isomorphismus. Definition Gruppen-Isomorphismus. Seien (G, +) und (G, ) Gruppen. Die Abbildung f : G G heißt Gruppen-Isomorphismus, falls gilt

Isomorphismus. Definition Gruppen-Isomorphismus. Seien (G, +) und (G, ) Gruppen. Die Abbildung f : G G heißt Gruppen-Isomorphismus, falls gilt Isomorphismus Definition Gruppen-Isomorphismus Seien (G, +) und (G, ) Gruppen. Die Abbildung f : G G heißt Gruppen-Isomorphismus, falls gilt 1 f ist bijektiv f (u + v) = f (u) f (v) für alle u, v G, die

Mehr

Einführung in die Informatik I

Einführung in die Informatik I Einführung in die Informatik I Das Rechnen in Zahlensystemen zur Basis b=2, 8, 10 und 16 Prof. Dr. Nikolaus Wulff Zahlensysteme Neben dem üblichen dezimalen Zahlensystem zur Basis 10 sind in der Informatik

Mehr