Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Kapitel 3 Arithmetische Schaltkreise

Ähnliche Präsentationen


Präsentation zum Thema: "Kapitel 3 Arithmetische Schaltkreise"—  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.: AAAAAAAAA

2 Wiederholung: Sei a = an-1 ... a0 eine Folge von Ziffern, ai Î {0,1}
Binärdarstellung: <a> = ai 2i Zweierkomplement: [anan a0] = ai2i – an2n Rechenregel: mit RW-Systemarchitektur Kap. 3

3 3.1 Addierer Gegeben: 2 positive Binärzahlen <a> = <an a0>, <b> = <bn b0>, Eingangsübertrag c Î {0,1} Gesucht: Schaltkreis, der Binärdarstellung s von <a> + <b> +c berechnet Wegen <a> + <b> + c £ 2×(2n – 1) + 1 = 2n+1 - 1 genügen n+1 Stellen für s, d.h. ein Schaltkreis mit n+1 Ausgängen RW-Systemarchitektur Kap. 3

4 Definition 3.1 Ein n-Bit Addierer ist ein Schaltkreis, der die
folgende Boolesche Funktion berechnet: +n : B2n+1 ® B2n+1 , (an-1, ..., a0 , bn-1, ..., b0 , c) ® (sn, ..., s0) mit <s> = <sn ... s0> = <an a0> + <bn b0> + c n+1 n a b c s Schaltbild eines n-Bit-Addierers: ADDn RW-Systemarchitektur Kap. 3

5 Beispiel Addieren nach der Schulmethode: 1 0 1 1 + 0 1 1 0 + 0 ¾¾¾¾¾
¾¾¾¾¾ Eingangsübertrag RW-Systemarchitektur Kap. 3

6 Der Halbaddierer (HA) Der Halbaddierer dient zur Addition zweier
1-Bit-Zahlen ohne Eingangsübertrag. Er berechnet die Funktion: ha : B2 ® B2 mit ha(a0, b0) = (s1, s0) mit 2s1 + s0 = a0 + b0 RW-Systemarchitektur Kap. 3

7 Funktionstabelle des HA
1 1 1 1 1 1 1 Folglich: RW-Systemarchitektur Kap. 3

8 Schaltkreis eines Halbaddierers
Å a0 b0 s0 s1 dabei: C(HA) = 2, depth(HA) = 1 RW-Systemarchitektur Kap. 3

9 Der Volladdierer (FA) Der Volladdierer dient zur Addition zweier
1-Bit-Zahlen mit Eingangsübertrag. Er berechnet die Funktion: fa : B3 ® B2 mit fa(a0, b0, c) = (s1, s0) mit 2s1 + s0 = a0 + b0 + c RW-Systemarchitektur Kap. 3

10 Funktionstabelle des FA
1 fa0 fa1 c b0 a0 RW-Systemarchitektur Kap. 3

11 Volladdierer als Funktion von HAs
b0 c s0 s1 Aus der Tabelle folgt: FA a0 b0 c s1 s0 Kosten und Tiefe eines FA: C(FA) = 5, depth(FA) = 3 RW-Systemarchitektur Kap. 3

12 Schaltkreis eines Volladdierers
b0 c s0 s1 FA a0 b0 c s1 s0 RW-Systemarchitektur Kap. 3

13 Realisieren der Schulmethode: Carry Ripple Addierer (CR )
cn-1 = sn FA bn-1 an-1 bn-2 an-2 cn-2 sn-1 sn-2 cn-3 FA b1 a1 s1 c0 FA b0 a0 s0 c-1

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

15 Aufbau des n-Carry Ripple Addierers (CRn) (rekursiv)
FA c0 a0 b0 c-1 s0 CR n-1 an-1 a1 ... bn-1 b1 ...... sn s1

16 Satz 3.1 Der Schaltkreis CRn ist ein n-Bit-Addierer.
D.h. er berechnet die Funktion +n : B2n+1 ® B2n+1 , (an-1, ..., a0 , bn-1, ..., b0 , c) ® (sn, ..., s0) mit <s> = <sn ... s0> = <an a0> + <bn b0> + c RW-Systemarchitektur Kap. 3

17 Satz 3.1 (ff) Beweis durch Induktion: n=1: ü n-1  n:
Eingabe an CRn: (an-1, ..., a0, bn-1, ... b0, c-1) Zeige für Ausgabe (sn, ..., s0) von CRn <s> = <sn ... s0> = <an a0> + <bn b0> +c-1 Nach I.V.: <c0, s0> = a0 + b0 + c-1 (FA) Für CRn-1: <sn ... s1> = <an a1> + <bn b1> + c0 Insgesamt: <sn ... s0> = 2 × <sn ... s1> + s0 I.V.b) = 2 × (<an a1> + <bn b1> + c0) + s0 I.V.a) = 2 × <an a1> + a0 + 2 × <bn b1> + b0 + c-1 = <a> + <b> + c-1 RW-Systemarchitektur Kap. 3

18 Komplexität und Tiefe eines Carry Ripple-Addierers
cn-1 = sn FA bn-1 an-1 bn-2 an-2 cn-2 sn-1 sn-2 cn-3 FA b1 a1 s1 c0 FA b0 a0 s0 c-1 Kosten eines CRn: C(CRn) = n × C(FA) = 5n Tiefe eines CRn: depth(CRn) = 3 + 2(n-1) RW-Systemarchitektur Kap. 3

19 Komplexität und Tiefe eines Carry Ripple-Addierers (rekursiv)
FA c0 a0 b0 c-1 s0 CR n-1 an-1 a1 ... bn-1 b1 ...... sn s1 Kosten eines CRn: C(CRn) = C(FA) + C(CRn-1) = 5 + C(CRn-1) Tiefe eines CRn: depth(CRn) = 3 + depth(CRn-1) = 3 + 2(n-1) RW-Systemarchitektur Kap. 3

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

21 Definition 3.2 Ein n-Bit Inkrementer berechnet die Funktion:
incn : Bn+1 ® Bn+1 , (an-1, ..., a0 , c) ® (sn, ..., s0) mit <sn ... s0> = <a> + c RW-Systemarchitektur Kap. 3

22 Inkrementer Ein Inkrementer ist ein Addierer mit bi = 0 i
 Ersetze in CRn die FA durch HA. Kosten und Tiefe: C(INCn) = n × C(HA) = 2n depth(INCn) = n × depth(HA) = n RW-Systemarchitektur Kap. 3

23 Definition 3.3 Ein n-Bit-Multiplexer (MUXn) ist ein Schaltkreis,
der die folgende Funktion berechnet: seln : B2n+1 ® Bn mit a b s sel 1 n Schaltbild RW-Systemarchitektur Kap. 3

24 Schaltbild zum n-Bit Multiplexer
Prinzip der Konstruktion: an-1 bn-1 a0 b0 s Kosten und Tiefe eines MUX: C(MUXn) = 3n + 1 depth(MUXn) = 3 ... seln-1 sel0

25 Rückkehr zum Addierer Gibt es billigere Addierer als CRn ?
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 = 2k. RW-Systemarchitektur Kap. 3

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

27 Schaltbild des CSAn ah bh al bl c-1 1 sh sl n/2 n/2 n/2 CSAn/2 CSAn/2
1 CSAn/2 CSAn/2 CSAn/2 (n/2)+1 (n/2)+1 n/2 1 MUX sh sl

28 Zur Komplexität des CSAn
Ein CSAn besteht aus 3 CSAn/2 Dabei steht xh für die n/2 höchstwertigen Bits, xl für die n/2 niederwertigen Bits der Eingabe Es gilt: CSA1 = FA RW-Systemarchitektur Kap. 3

29 Satz 3.2. Der CSAn hat Tiefe £ 3 log n + 3. Beweis:
n=1: depth(CSA1) = depth(FA) = 3 n>1: depth(CSAn) £ depth(CSAn/2) + depth(MUX(n/2)+1) £ depth(CSAn/2) + 3 £ depth(CSAn/4) £ depth(CSAn/8) ...... £ depth(CSAn/(2k )) + k × 3 £ 3 × (k + 1) = 3 log(n) + 3 RW-Systemarchitektur Kap. 3

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

31 Kosten eines CSAn (ff) RW-Systemarchitektur Kap. 3

32 Kosten eines CSAn (ff) RW-Systemarchitektur Kap. 3

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

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

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

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

37 Ausblick Gibt es Addierer mit linearen Kosten und logarithmischer Tiefe?  Carry Lookahead Addierer Idee: Schnelle Vorberechnung der Übertragsbits ci. Sind die ci bekannt, so ergibt sich si durch ai Å bi Å ci-1. Berechnung der ci durch parallele Präfix-Berechnung: Sei M eine Menge und 0 assoziative Operation 0: MM M parallele Präfix-Funktion PPn: Mn  Mn mit PPn (xn-1, …, x0) = (xn-1 0 xn-2 … 0 x0, xn-2 0 xn-3 0 … 0 x0,…, x0) Ergebnis: C(CLAn) £ 11n und depth(CLAn) £ 4 log(n) + 2 RW-Systemarchitektur Kap. 3

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

39 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 Rn = {-2n, ..., 2n-1} ist, läßt sich zurückführen auf die Betrachtung von an, bn und sn. RW-Systemarchitektur Kap. 3

40 n-Bit Addierer an bn a0 b0 c ADDn+1 Å cn sn sn-1 s0 Å an = bn  sn
RW-Systemarchitektur Kap. 3 Überlauf

41 Satz 3.3 Seien a,b Î Bn+1, c-1 Î {0,1} und s Î {0,1}n+1,
so dass <cn,s> = <a> + <b> + 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. RW-Systemarchitektur Kap. 3


Herunterladen ppt "Kapitel 3 Arithmetische Schaltkreise"

Ähnliche Präsentationen


Google-Anzeigen