08.02.2013 Aufrufe

Paralleladdierer und -subtrahierer Paralleladdierer und -subtrahierer

Paralleladdierer und -subtrahierer Paralleladdierer und -subtrahierer

Paralleladdierer und -subtrahierer Paralleladdierer und -subtrahierer

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

<strong>Paralleladdierer</strong> <strong>und</strong><br />

-<strong>subtrahierer</strong><br />

Jetzt andere Vorgehensweise:<br />

• Schaltung ist gegeben,<br />

• Überlegung, warum <strong>und</strong> wie die Schaltung Addition <strong>und</strong> Subtraktion realisiert<br />

A/S=0 � Addition A/S=1 � Subtraktion<br />

<strong>Paralleladdierer</strong> <strong>und</strong><br />

-<strong>subtrahierer</strong><br />

1. Addition<br />

A/S=0 � Addition<br />

1<br />

1 (z.B.) 0 (z.B.)<br />

Bei der Addition verändern diese Erweiterungen nichts<br />

0<br />

43<br />

0 (immer<br />

so belegt)<br />

44<br />

1


<strong>Paralleladdierer</strong> <strong>und</strong><br />

-<strong>subtrahierer</strong><br />

1. Subtraktion<br />

Bei der Subtraktion:<br />

• Invertierung aller Zeichen <strong>und</strong><br />

• Addition von 1<br />

0<br />

A/S=1 � Subtraktion<br />

1 (z.B.) 0 (z.B.)<br />

<strong>Paralleladdierer</strong> <strong>und</strong><br />

-<strong>subtrahierer</strong><br />

1<br />

A/S=0 � Addition<br />

A/S=1 � Subtraktion<br />

a 1..n ,<br />

b 1..n : Eingänge<br />

n+1 Ausgänge<br />

1 (immer<br />

so belegt)<br />

45<br />

46<br />

2


<strong>Paralleladdierer</strong> <strong>und</strong><br />

-<strong>subtrahierer</strong><br />

Beispiel: Addition von a=3 (0011) <strong>und</strong> b=2 (0010):<br />

<strong>Paralleladdierer</strong> <strong>und</strong><br />

-<strong>subtrahierer</strong><br />

Beispiel: Subtraktion von a=5 (0101) <strong>und</strong> b=3 (0011):<br />

47<br />

48<br />

3


<strong>Paralleladdierer</strong> <strong>und</strong> -<br />

<strong>subtrahierer</strong><br />

Beispiel: Subtraktion von a=2 (0010) <strong>und</strong> b=5 (0101):<br />

Carry-Select-Addiernetze<br />

Bisher war Addiernetz zur Addition zweier n-stelliger Dualzahlen<br />

nur mittels n Volladdierern realisierbar:<br />

� Sicherstellen, dass am u-Eingang des<br />

1. Volladdierers stets eine 0 anliegt.<br />

� als Carry-Ripple- oder Carry-Chain-Adder<br />

(Übertrags:, Übertrags:)<br />

bezeichnet, da endgültiger Übertrag (wie<br />

bei der schriftlichen Addition von rechts<br />

nach links) durch das Schaltnetz<br />

geschoben wird.<br />

Problem bei hoher Stellenanzahl � viele Schaltstufen<br />

� zeitaufwändig, bis Volladdierer nacheinander ihre<br />

Operationen ausgeführt haben<br />

49<br />

50<br />

4


Andere Variante: Carry-<br />

Save-Addiernetze<br />

1. In 1. Stufe � 3 Summanden stellenweise zu einer Summe<br />

zusammenaddiert, Überträge sind nicht in dieser Summe<br />

enthalten, werden eigens festgehalten<br />

2. In weiteren Stufen kommt zu der Summe <strong>und</strong> dem Übertrag<br />

immer je ein neuer Summand hinzu.<br />

Beispiel:<br />

Addition von 4 Zahlen: x = 0101, y = 0011, z = 0100, w = 0001<br />

Carry-Save-Addiernetze<br />

Anzahl der Additionsschritte ist abhängig von<br />

• Der Anzahl der zu addierenden Zahlen (nicht der Anzahl der<br />

Stellen)<br />

Dazu noch mal das Beispiel:<br />

Addition von 4 Zahlen: x = 0101, y = 0011, z = 0100, w = 0001<br />

Addition muss durchgeführt werden bis der Übertrag = 0000 ist<br />

52<br />

51<br />

5


Addiernetze - Carry-Save-<br />

Addiernetze<br />

Berechnungen = Carry-Save-Addierbausteine (CSA),<br />

reduzieren drei Summanden auf zwei Summanden,<br />

(d. h. eine „Summe“ <strong>und</strong> einen Übertrag)<br />

Realisierung durch nebeneinander geschaltete Volladdierer<br />

möglich<br />

Addiernetze - Carry-Save-<br />

Addiernetze<br />

53<br />

54<br />

6


Addiernetze - Carry-Save-<br />

Addiernetze<br />

Allgemein benötigt<br />

man m-2 CSA-<br />

Bausteine,<br />

um m Summanden<br />

zu addieren.<br />

Conditional-Sum-Addierer<br />

Beschleunigung der Berechnung durch red<strong>und</strong>ante<br />

Hardware<br />

55<br />

56<br />

7


Addiernetze - Multiplizierer<br />

Multiplikation ganzer Zahlen lässt sich<br />

mit Hilfe wiederholter Addition<br />

durchführen.<br />

Multiplikation kann<br />

folglich mit<br />

Schiebeoperationen<br />

<strong>und</strong> Additionen<br />

realisiert werden:<br />

Addiernetze - Multiplizierer<br />

Schaltet man also n-2<br />

CSA-Bausteine<br />

hintereinander,<br />

können n Additionen<br />

durchgeführt werden:<br />

57<br />

58<br />

8


Addiernetze - Multiplizierer<br />

Vorherige Technik sehr langsam, da Additionen sequenziell<br />

� CSA-Baustein kann immer erst dann addieren, wenn er die Ergebnisse<br />

von seinem Vorgänger erhalten hat.<br />

� 4-zu-2-Bausteinen<br />

Bisherige Schaltungen<br />

• Comparator<br />

• Decoder<br />

• Encoder<br />

• Shifter (Stellenverschiebung nach links <strong>und</strong> rechts)<br />

• Multiplexer<br />

• Demultiplexer<br />

• Addierer/Subtrahierer<br />

59<br />

60<br />

9


Bisherige Schaltungen<br />

Diese werden benötigt, um eine Arithmetik-Logik-<br />

Einheit zu erstellen,<br />

• diese soll als Eingang zwei Eingabewerte A <strong>und</strong> B<br />

haben,<br />

• Eine Funktion soll ausgeführt werden: A and B, A or<br />

B, not B, A+B (arithmetische Addition),<br />

• welche Funktion realisiert wird, soll durch<br />

Funktionseingänge bestimmt werden<br />

Arithmetic Logic Units (1)<br />

Eine 1-Bit ALU<br />

(aufgr<strong>und</strong> der<br />

Übersichtlichkeit),<br />

analog für<br />

8-Bit, 16-Bit, 32-Bit,<br />

64-Bit, …<br />

61<br />

62<br />

10


Arithmetic Logic Units (2)<br />

• Einfache Lösung: Verbindung von 8 1-bit ALUs zur Realisierung einer 8-bit ALU.<br />

• (Aufgr<strong>und</strong> der einfachen Darstllung wurden einige Eingänge weggelassen:<br />

ENA, ENB (= enable A bzw B))<br />

Logische Bausteine – Gatter<br />

63<br />

64<br />

11


Literatur<br />

� Helmut Herold / Bruno Lurz / Jürgen Wohlrab:<br />

Gr<strong>und</strong>lagen der Informatik, Pearson Studium, 2006<br />

� Bernd Becker / Rolf Drechsler / Paul Molitor: Technische<br />

Informatik – Eine Einführung, Pearson Studium, 2005<br />

� Computerarchitektur. Strukturen - Konzepte - Gr<strong>und</strong>lagen<br />

(Geb<strong>und</strong>ene Ausgabe) von Andrew S. Tanenbaum, Pearson<br />

Studium, 2005<br />

65<br />

12

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!