Arithmetische Schaltungen

Additionsschema

Erinnerung an das Additionsschema: Im ersten Schritt, in der rechtesten Stelle, werden zwei Summandenbits zu einem Summenbit und dem Übertrag verknüpft (weiß auf blau/grün), in allen weiteren Schritten werden jeweils zwei Summandenbits und ein Übertrag aus der vorigen Stelle zu einem Summenbit und dem Übertrag in die nächste Stelle verknüpft (gelb/grün).
1 0 1 0
1 0 1 1
1 0 1 0

  0 1 0 1

Addition einer Stelle

Um die rechte Stelle des Additionsschemas zu berechnen, verknüpfen wir die beiden rechten Bits der Summanden (a, b) und erhalten die binäre Summe (ü, s) zweistellig als Kombination von Übertrag und Summenbit.

a b ü s
0 0 0 0
0 1 0 1
1 0 0 1
1 1 1 0

Mit wenig Übung ist zu erkennen, dass es sich um die AND- und die XOR-Funktion handelt:
ü = a · b
s = a ⨁ b

Die gemeinsame Schaltfunktion nennt sich Halbaddierer.

Für die weiteren Stellen sind jeweils drei Bits zu addieren, um ein zweistelliges Ergebnis zu erhalten:

a b c ü s
0 0 0 0 0
0 0 1 0 1
0 1 0 0 1
0 1 1 1 0
1 0 0 0 1
1 0 1 1 0
1 1 0 1 0
1 1 1 1 1

Diese Schaltfunktionen vereinfachen wir nach KV und erhalten:
ü = a b + b c + a c
und für die Summe lassen sich keine benachbarten 1-Felder im KV-Diagramm finden, so dass wir auf den Mintermen sitzen bleiben:
s = a b c + a b c + a b c + a b c
(dieses liegt in der Natur der Funktion, da beim Addieren jede Änderung eines einzelnen Eingangs das untere Bit des Ergebnisses verändert)

Die gemeinsame Schaltfunktion nennt sich Volladdierer.

n-stelliges Addierwerk

Addition zweier n-stelliger Summanden a und b durch Nachbilden des Additionsschemas:

Kombiniertes Addier-/Subtrahierwerk

Subtraktion durch Addition

Da negative Zahlen durch das Zweierkomplement dargestellt werden, kann die Subtraktion durch Addition des Zweierkomplements erfolgen:
a – b = a + (–b) = a + ZK(b) = a + EK(b) + 1
Im Wesentlichen wird dabei das Einerkomplement, d.h. in jeder Stelle bi das invertierte Bit bi addiert.

Wir wollen nun durch ein Steuersignal SUB wählen, ob die Schaltung jeweils addiert oder subtrahiert, SUB = 1 soll Subtrahieren heißen. In jeder Stelle ist dann das Bit bi' zu addieren, wobei

bi' = { bi falls SUB = 0
bi falls SUB = 1