Digitaltechnik. 4 Arithmetik. Revision 1.1
|
|
- Heinrich Arnold
- vor 5 Jahren
- Abrufe
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 1 Beispiel komplexer arithmetischer Schaltung Langsamer als Addition, braucht mehr Platz Sequentielle Multiplikation Kompakte kombinatorische Variante mit Carry-Save-Adders (CSA) Vorzeichenbehaftete
MehrInhalt. 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
MehrRechnerstrukturen, 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
MehrRechnernetze 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.
MehrRechnerstrukturen, 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
Mehr6. 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,
MehrRechnerstrukturen 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:
MehrTeil 2: Rechnerorganisation
Teil 2: Rechnerorganisation Inhalt: Zahlendarstellungen Rechnerarithmetik Mikroprogrammierung schrittweiser Entwurf eines hypothetischen Prozessors mit Daten-, Adreß- und Kontrollpfad Speicherorganisation
MehrTeil 2: Rechnerorganisation
Teil 2: Rechnerorganisation Inhalt: Zahlendarstellungen Rechnerarithmetik Mikroprogrammierung schrittweiser Entwurf eines hypothetischen Prozessors mit Daten-, Adreß- und Kontrollpfad Speicherorganisation
MehrDarstellung 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) ----------------------------------------------
MehrN 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 )
MehrN 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
MehrDas 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
MehrRechnerstrukturen, 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
MehrWandeln 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.
MehrArithmetik. 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
MehrAlgorithmen 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
MehrMultiplikation. 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
MehrGrundlagen 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
MehrE 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.
MehrCarry-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
MehrRechnerstrukturen WS 2012/13
Rechnerstrukturen WS 2012/13 Boolesche Funktionen und Schaltnetze Rechner-Arithmetik Addition (Wiederholung) Multiplikation Wallace-Tree Subtraktion Addition negativer Zahlen Gleitkommazahlen-Arithmetik
MehrComputerarithmetik (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
MehrAufgabe 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
MehrRechnerstrukturen. 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
MehrRechnerstrukturen. 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
MehrWertebereiche, 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 Aufgabe 1: a) Bestimmen Sie die Darstellung der Zahl 113
Mehr3 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
MehrZahlendarstellungen 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
Mehr3.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
MehrRechnergrundlagen SS Vorlesung
Rechnergrundlagen SS 2007 8. Vorlesung Inhalt Gleitkomma-Darstellung Normalisierte Darstellung Denormalisierte Darstellung Rechnerarchitekturen Von Neumann-Architektur Harvard-Architektur Rechenwerk (ALU)
MehrComputerarithmetik (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:
MehrRü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 - Sebastian Ebers Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/users/ebers Zahlendarstellung 201010? 16 2010
MehrKapitel 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
MehrInhaltsangabe 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......
MehrInformatik 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
MehrMinimierung 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
MehrGTI Ü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
MehrRechnerarithmetik. 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),
MehrComputerarithmetik (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
MehrDer 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
MehrAlgorithmen 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
MehrDigitale 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
MehrLö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
Mehr2 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
Mehr5. 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
Mehr14 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
MehrVorlesung 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
MehrMinimierung 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
Mehrx 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
MehrMotivation 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
MehrInformationsmenge. 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
MehrZahlen 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
MehrComputer 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
MehrG 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
MehrZur 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
MehrGTI Ü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
MehrRechnerarithmetik. 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)
MehrBinä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
MehrAlgorithmen 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
Mehr2 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
MehrZahlensysteme 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
MehrIntegrierte 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
MehrDas 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.......................................
MehrEinfü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
MehrRechnergrundlagen 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
Mehr4. 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
Mehr1. 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
Mehr4. 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;
MehrMinimierung 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
MehrGleitkommaarithmetik. 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
MehrRechnergrundlagen 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
MehrII. 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
Mehr3 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
MehrZum 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 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
Mehr1. 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)
Mehr3.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
MehrKapitel 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
MehrRO-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
Mehr2.1.2 Gleitkommazahlen
.1. Gleitkommazahlen Überblick: Gleitkommazahlen Gleitkommadarstellung Arithmetische Operationen auf Gleitkommazahlen mit fester Anzahl von Mantissen- und Exponentenbits Insbesondere Rundungsproblematik:
MehrDie 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
MehrSchaltnetz 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
MehrEinheit 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
MehrBinä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
Mehr6.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
MehrArithmetik. 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
MehrControl 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
MehrRechnergrundlagen 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
MehrRechnerstrukturen, 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
MehrKapitel 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
MehrRechnerstrukturen, 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
MehrIsomorphismus. 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
MehrEinfü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