Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Kapitel 3 Arithmetische Schaltkreise 3.1 Addierer 3.2 Subtrahierer Multiplizierer ALU TexPoint fonts used in EMF. Read the TexPoint manual before you delete.

Ähnliche Präsentationen


Präsentation zum Thema: "Kapitel 3 Arithmetische Schaltkreise 3.1 Addierer 3.2 Subtrahierer Multiplizierer ALU TexPoint fonts used in EMF. Read the TexPoint manual before you delete."—  Präsentation transkript:

1 Kapitel 3 Arithmetische Schaltkreise 3.1 Addierer 3.2 Subtrahierer Multiplizierer ALU TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A AA A AA A

2 RW-SystemarchitekturKap. 3 Wiederholung: Sei a = a n-1... a 0 eine Folge von Ziffern, a i {0,1} Binärdarstellung: = a i 2 i Zweierkomplement: [a n a n-1... a 0 ] = a i 2 i – a n 2 n Rechenregel: mit

3 RW-SystemarchitekturKap Addierer Gegeben: 2 positive Binärzahlen =, =, Eingangsübertrag c {0,1} Wegen + + c 2 (2 n – 1) + 1 = 2 n genügen n+1 Stellen für s, d.h. ein Schaltkreis mit n+1 Ausgängen Gesucht: Schaltkreis, der Binärdarstellung s von + +c berechnet

4 RW-SystemarchitekturKap. 3 Definition n : B 2n+1 B 2n+1, (a n-1,..., a 0, b n-1,..., b 0, c) (s n,..., s 0 ) mit = = + + c Ein n-Bit Addierer ist ein Schaltkreis, der die folgende Boolesche Funktion berechnet: Schaltbild eines n-Bit-Addierers: n+1 nn ab c s ADD n

5 RW-SystemarchitekturKap. 3 Beispiel Addieren nach der Schulmethode: Eingangsübertrag

6 RW-SystemarchitekturKap. 3 Der Halbaddierer (HA) ha : B 2 B 2 mitha(a 0, b 0 ) = (s 1, s 0 ) mit 2s 1 + s 0 = a 0 + b 0 Der Halbaddierer dient zur Addition zweier 1-Bit-Zahlen ohne Eingangsübertrag. Er berechnet die Funktion:

7 RW-SystemarchitekturKap. 3 Funktionstabelle des HA ha 0 ha 1 b 0 a 0 Folglich:

8 RW-SystemarchitekturKap. 3 Schaltkreis eines Halbaddierers a0a0 b0b0 s0s0 s1s1 HA a0a0 b0b0 s1s1 s0s0 dabei: C(HA) = 2,depth(HA) = 1

9 RW-SystemarchitekturKap. 3 Der Volladdierer (FA) fa : B 3 B 2 mitfa(a 0, b 0, c) = (s 1, s 0 ) mit 2s 1 + s 0 = a 0 + b 0 + c Der Volladdierer dient zur Addition zweier 1-Bit-Zahlen mit Eingangsübertrag. Er berechnet die Funktion:

10 RW-SystemarchitekturKap. 3 Funktionstabelle des FA fa 0 fa 1 cb0b0 a0a0

11 RW-SystemarchitekturKap. 3 Volladdierer als Funktion von HAs Aus der Tabelle folgt: Kosten und Tiefe eines FA: C(FA) = 5, depth(FA) = 3 HA a0a0 b0b0 c s0s0 s1s1 FA a0a0 b0b0 c s1s1 s0s0

12 RW-SystemarchitekturKap. 3 Schaltkreis eines Volladdierers HA a0a0 b0b0 c s0s0 s1s1 FA a0a0 b0b0 c s1s1 s0s0

13 Realisieren der Schulmethode: Carry Ripple Addierer (CR ) c0c0 FA b0b0 a0a0 s0s0 c -1 FA b1b1 a1a1 s1s1 c n-1 = s n FA b n-1 a n-1 b n-2 a n-2 c n-2 s n-1 s n-2 c n-3

14 RW-SystemarchitekturKap. 3 Realisieren der Schulmethode: Carry Ripple Addierer (CR ) Hierarchisches Vorgehen: (induktive Definition) Für n=1: CR 1 = FA Für n>1: Schaltkreis CR n wie folgt definiert Bezeichnung: Bezeichne den Eingangsübertrag mit c -1, den Übertrag von Stelle i nach i+1 mit c i.

15 Aufbau des n-Carry Ripple Addierers (CR n ) (rekursiv) CR n-1 a n-1 a1a1... b n-1 b1b snsn s1s1 FA c0c0 a0a0 b0b0 c -1 s0s0

16 RW-SystemarchitekturKap. 3 Satz 3.1 Der Schaltkreis CR n ist ein n-Bit-Addierer. D.h. er berechnet die Funktion + n : B 2n+1 B 2n+1, (a n-1,..., a 0, b n-1,..., b 0, c) (s n,..., s 0 ) mit = = + + c

17 RW-SystemarchitekturKap. 3 Beweis durch Induktion: n=1: n-1 n: Eingabe an CR n : (a n-1,..., a 0, b n-1,... b 0, c -1 ) Zeige für Ausgabe (s n,..., s 0 ) von CR n = = + +c -1 Nach I.V.: a) = a 0 + b 0 + c -1 (FA) b)Für CR n-1 : = + + c 0 Insgesamt: = 2 + s 0 I.V.b) = 2 ( + + c 0 ) + s 0 I.V.a) = 2 + a b 0 + c -1 = + + c -1 Satz 3.1 (ff)

18 RW-SystemarchitekturKap. 3 Komplexität und Tiefe eines Carry Ripple-Addierers Kosten eines CR n : C(CR n ) = n C(FA) = 5n Tiefe eines CR n : depth(CR n ) = 3 + 2(n-1) c0c0 FA b0b0 a0a0 s0s0 c -1 FA b1b1 a1a1 s1s1 c n-1 = s n FA b n-1 a n-1 b n-2 a n-2 c n-2 s n-1 s n-2 c n-3

19 RW-SystemarchitekturKap. 3 Komplexität und Tiefe eines Carry Ripple-Addierers (rekursiv) Kosten eines CR n : C(CR n ) = C(FA) + C(CR n-1 ) = 5 + C(CR n-1 ) Tiefe eines CR n : depth(CR n ) = 3 + depth(CR n-1 ) = 3 + 2(n-1) CR n-1 a n-1 a1a1... b n-1 b1b snsn s1s1 FA c0c0 a0a0 b0b0 c -1 s0s0

20 RW-SystemarchitekturKap. 3 Einige weitere wichtige Schaltkreise: Der n-Bit Inkrementer Der n-Bit Multiplexer

21 RW-SystemarchitekturKap. 3 Definition 3.2 inc n : B n+1 B n+1, (a n-1,..., a 0, c) (s n,..., s 0 ) mit = + c Ein n-Bit Inkrementer berechnet die Funktion:

22 RW-SystemarchitekturKap. 3 Inkrementer Ein Inkrementer ist ein Addierer mit b i = 0 i Ersetze in CR n die FA durch HA. Kosten und Tiefe: C(INC n ) = n C(HA) = 2n depth(INC n ) = n depth(HA) = n

23 RW-SystemarchitekturKap. 3 Definition 3.3 Ein n-Bit-Multiplexer (MUX n ) ist ein Schaltkreis, der die folgende Funktion berechnet: sel n : B 2n+1 B n mit ab s sel 10 nn n Schaltbild

24 Schaltbild zum n-Bit Multiplexer sel n-1 sel 0 a n-1 b n-1 a0a0 b0b0 s... Prinzip der Konstruktion: Kosten und Tiefe eines MUX: C(MUX n ) = 3n + 1 depth(MUX n ) = 3

25 RW-SystemarchitekturKap. 3 Rückkehr zum Addierer Gibt es billigere Addierer als CR n ? Untere Schranken: C(+ n ) 2 n, depth(+ n ) log(n) + 1 Binäre Bäume mit 2n+1 Blättern haben 2n innere Knoten. Binäre Bäume mit n Blättern haben mindestens Tiefe log n. Im folgenden sei n = 2 k.

26 RW-SystemarchitekturKap. 3 Der Conditional Sum Addierer (CSA) Idee: Nutze Parallelverarbeitung, um Tiefe zu reduzieren!

27 Schaltbild des CSA n 10 CSA n/2 shsh slsl n/2 (n/2) n/2 ahah bhbh alal blbl c -1 n/2 MUX

28 RW-SystemarchitekturKap. 3 Zur Komplexität des CSA n Ein CSA n besteht aus 3 CSA n/2 Dabei steht x h für die n/2 höchstwertigen Bits, x l für die n/2 niederwertigen Bits der Eingabe Es gilt: CSA 1 = FA

29 RW-SystemarchitekturKap. 3 Satz 3.2. Beweis: n=1: depth(CSA 1 ) = depth(FA) = 3 n>1: depth(CSA n ) depth(CSA n/2 ) + depth(MUX (n/2)+1 ) depth(CSA n/2 ) + 3 depth(CSA n/4 ) depth(CSA n/8 ) depth(CSA n/(2 k ) ) + k 3 3 (k + 1) = 3 log(n) + 3 Der CSA n hat Tiefe 3 log n + 3.

30 RW-SystemarchitekturKap. 3 Zu lösen ist also ein Gleichungssystem der Form und Kosten eines CSA n C(CSA 1 ) = C(FA) = 5 C(CSA n ) = 3 C(CSA n/2 ) + C(MUX (n/2)+1 ) = 3 C(CSA n/2 ) + 3 n/2 + 4 Betrachte dabei nur

31 RW-SystemarchitekturKap. 3 Kosten eines CSA n (ff)

32 RW-SystemarchitekturKap. 3 Kosten eines CSA n (ff)

33 RW-SystemarchitekturKap. 3 Lemma 3.1 Sei f : N N mit Dann gilt wegen Beweis durch Induktion über k.

34 RW-SystemarchitekturKap. 3 Beispiel zu Lemma 3.1 d.h. a = 3, c = 5, und Also sagt das Lemma mit Wir erinnern uns: C(CSA 1 ) = 3 C(CSA n/2 ) + 3 n/2 + 4

35 RW-SystemarchitekturKap. 3 Beispiel (ff) geometrische Reihe:

36 RW-SystemarchitekturKap. 3 Beispiel (ff) Bemerkung: Man kann CSA n in einfacher Weise modifizieren, so dass Tiefe = O(log n) und Kosten = O(n log n).

37 RW-SystemarchitekturKap. 3 Ausblick Gibt es Addierer mit linearen Kosten und logarithmischer Tiefe? Carry Lookahead Addierer Idee: Schnelle Vorberechnung der Übertragsbits c i. Sind die c i bekannt, so ergibt sich s i durch a i b i c i-1. Berechnung der c i durch parallele Präfix-Berechnung: Sei M eine Menge und 0 assoziative Operation 0 : M M M parallele Präfix-Funktion PP n : M n M n mit PP n (x n-1, …, x 0 ) = ( x n-1 0 x n-2 … 0 x 0, x n-2 0 x n-3 0 … 0 x 0,…, x 0 ) Ergebnis: C( CLA n ) 11n und depth( CLA n ) 4 log(n) + 2

38 RW-SystemarchitekturKap. 3 Addition von Zweierkomplementzahlen Wiederholung: Formale Darstellung:

39 RW-SystemarchitekturKap. 3 Behauptung Zur Addition von (n+1)-Bit-Zweierkomplementzahlen kann man (n+1)-Bit-Binäraddierer benutzen. Der Test, ob das Ergebnis durch eine (n+1)-Bit- Zweierkomplementzahl darstellbar ist, d.h. ob das Ergebnis aus R n = {-2 n,..., 2 n -1} ist, läßt sich zurückführen auf die Betrachtung von a n, b n und s n.

40 RW-SystemarchitekturKap. 3 n-Bit Addierer ADD n+1 Überlauf cncn snsn s n-1 s0s0 anan bnbn a0a0 b0b0 c a n = b n s n

41 RW-SystemarchitekturKap. 3 Satz 3.3 Seien a,b B n+1, c -1 {0,1} und s {0,1} n+1, so dass = + + c -1. Dann gilt: Beweis durch Fallunterscheidung [a], [b] beide positiv, beide negativ bzw. o.E. [a] negativ, [b] positiv und Nachrechnen... Alternativ kann man den folgenden Überlauftest verwenden.


Herunterladen ppt "Kapitel 3 Arithmetische Schaltkreise 3.1 Addierer 3.2 Subtrahierer Multiplizierer ALU TexPoint fonts used in EMF. Read the TexPoint manual before you delete."

Ähnliche Präsentationen


Google-Anzeigen