Arithmetische Einheit
Addier- und Subtrahierwerk
Subtraktion
in der Zweierkomplement-Arithmetik
Der
Aufbau einer solchen Schaltung, die addieren und subtrahieren kann,
ist über die Mathematik (Komplementbildung = Ergänzung zu einer
anderen Zahl) herzuleiten und soll am Beispiel 6 - 5 = 1 verdeutlicht
werden.
Die Überführung der Subtraktion in eine Addition
erfolgt wie bereits gesagt über die Komplementbildung, die sich,
angewandt auf obiges Beispiel, wie folgt darstellt:
6 +
(10 - 5) - 10 = oder 6 + (9 - 5) - 9 =
Bn
Bn
- 1
Bn-Komplement:
Im Dezimalsystem wird der Subtrahend auf die nächst höhere Wertigkeit ergänzt (bei einem einstelligen Subtrahenden auf die 10, bei einem zweistelligen auf die 100 usw. ). Um den Ausdruck allgemein zu halten wird für die Basis eines Zahlensystems B und für die Stelle n geschrieben. Im Dezimalsystem wird dieses Komplement als Zehnerkomplement bezeichnet.
Bn-1-Komplement:
Hier
wird der Subtrahend auf die höchste Zahl des Ziffernvorrats
(abhängig von der Stellenzahl) eines Zahlensystems ergänzt (bei
einem einstelligen Subtrahenden auf die 9, bei einem zweistelligen
auf die 99 usw.). Dieses Komplement wird als Stellen- oder
Neuner-Komplement bezeichnet.
0 1 1 0
- 0 1 01 1
0 0 0 1
1 0 0 0 0
- 01 01 01 01 1
0 1 1 1 1 "Borger"
↓ ↓
Bn Bn-1
0 1 1 0 + (1 0 0 0 0 - 0 1 0 1) - 1 0 0 0 0 = oder 0 1 1 0 + (1 1 1 1 - 0 1 0 1) - 1 1 1 1 =
↓ ↓
(schwierig wg. "-" ) (schwierig wg. "-")
↓
1 1 1 1
- 0 1 0 1
1 0 1 0 einfach invertieren
Das Bsp. zeigt, dass das
Stellenkomplement bzw. im Dualzahlensystem das Einerkomplement nichts
anderes als der invertierte Subtrahend ist. Würde die
Rechenvorschrift weiter verfolgt, müsste der Minuend und das
erhaltene Komplement addiert und der "Borger" von diesem
Ergebnis subtrahiert werden; damit wird die Ergänzung
zurückgenommen. Die letzte Rechenoperation ist allerdings wieder
eine Subtraktion. Eine andere Möglichkeit ist mit diesem Ergebnis in
das Zweierkomplement zu wechseln, indem zu dem Einerkomplement eine
"1" dazu addiert wird:
Bn
- 1 + 1 = Bn
:
Mit diesem Vorgehen ergibt sich:
0 1 1 0
+ 1 0 1 0 invertierte Subtrahend
+ 1 +1 wegen Übergang von Bn nach Bn-1 Komplement
1 0 0 0 1
Hiervon
ist der "Borger" noch zu subtrahieren. Der Unterschied zum
Einerkomplement besteht zuerst in der einfacheren Ausführung der
Rechnung und im weiteren in einer einfacheren Umsetzung in eine
Schaltung.
1 0 0 0 1
- 1 0 0 0 0 <=>10 0 0 1
0 0 0 0 1
Der
durch die Addition sich ergebende Übertrag entfällt durch die
Zurücknahme der Ergänzung. Dies gilt für alle Berechnungen die zu
einem positiven Ergebnis führen. Schaltungstechnisch ist die
Zurücknahme der Ergänzung dadurch einfach zu realisieren: der
Übertrag wird ignoriert (gestrichen).
Weiteres Bsp. mit negativem Ergebnis: 5 - 6 = -1
0 1 0 1 0 1 0 1
- 01 11 1 0 <=> + 1 0 0 1
... 1 1 1 1 + 11
1 1 1 1 Wie ist das zu verstehen?
Interpretation des Ergebnisses:
Zunächst
ist festzustellen, dass kein Übertrag vorhanden ist. Es handelt sich
aber auch um ein Zwischenergebnis, von dem die "geborgten"
1 0 0 0 0 subtrahiert werden müsste.
Exkurs:
Darstellung des Beispiels im Dezimalzahlensystem
5 - 6 =
5 + (10 - 6) - 10 =
5
+ 4 (Bn-Komplement)
9 Zwischenergebnis
- 1 0
- 1 Ergebnis
Auch
hier ist das Zwischenergebnis (9) weiter zu bearbeiten, indem der
"Borger" (10) zu subtrahieren ist. Das Ergebnis ist eine
negative Zahl, die durch das vorangestellte Minuszeichen
charakterisiert wird.
Im Dualzahlensystem gibt es keine
Sonderzeichen wie + oder - . Daher muss in diesem Zahlensystem die
Darstellung einer negativen Zahl über die Aufteilung des
Zeichenvorrats erfolgen.
Wie erfolgt dies?
Das
Zwischenergebnis 9 im Dezimalsystem ist vergleichbar mit dem
Zwischenergebnis 1
1 1 1 im Dualsystem. Beide Zwischenergebnisse stehen für eine
negative Zahl (in der Zweierkomplementarithmetik). Da
Sonderzeichen im Dualsystem fehlen, kann das Ergebnis nur über den
Betrag interpretiert werden. Dieses
wird gebildet, indem vom "Borger" das Zwischenergebnis
subtrahiert wird.
1 0 0 0 010 0 0 0
- 1 11 11 11 1 <=> + 0 0 0 0
0 0 0 0 1 + 1
1
-
A
B
C
D
Dezimal
0
0
0
0
0
0
0
0
1
1
0
0
1
0
2
0
0
1
1
3
0
1
0
0
4
0
1
0
1
5
0
1
1
0
6
0
1
1
1
7
1
0
0
0
-8
1
0
0
1
-7
1
0
1
0
-6
1
0
1
1
-5
1
1
0
0
-4
1
1
0
1
-3
1
1
1
0
-2
1
1
1
1
-1
Jede
negative Zahl lässt sich als Dualzahl wie folgt darstellen:
\( -A= \overline{A} +1 \)
Um den Betrag einer negativen Zahl zu ermitteln ist die Vorgehensweise wie folgt:
\( |A|= \overline{-A} +1 \)Die Umwandlung einer Dualzahl in eine negative Dualzahl und umgekehrt erfolgt also beides nach dem gleichen Algorithmus:
- Invertieren
- +1 rechnen
Die durch die mathematische Betrachtung gewonnene Lösung gilt es nun in eine Digitalschaltung umzusetzen! Diese muss für die Subtraktion die Möglichkeit enthalten den Subtrahenden zu invertieren, eine "1" aufaddieren, um das Bn-Komplement (Zweierkomplement) zu erhalten bzw. für die Addition dieses Verfahren auszuschalten:
Erweitertes Addier-/Subtrahierwerk
Diese
Schaltung realisiert die zuvor gestellte Forderung, die Subtraktion
auf eine Addition zurückzuführen.
Zu dem zuletzt betrachteten
Volladdierer sind die Erweiterungen mit XOR- und AND-Schaltungen
hinzugekommen. Die Funktionen der zusätzlichen Schaltungen werden
über die Steuerleitungen festgelegt. Dadurch verändert sich das
Verhalten der Schaltung insgesamt.

Überprüfen
Sie die möglichen Funktionen der Schaltung anhand der beigefügten
Wahrheitstabelle, die allerdings nur Auszüge der kompletten
Wahrheitstabelle beinhaltet.
| Steuereingänge | Funktion | |||||
X0 |
X1 |
X2 |
X3 |
Cin |
|
|
0 |
0 |
0 |
1 |
0 |
\( S=A+0 = A \) => A wird durchgeschaltet. |
|
0 |
0 |
1 |
1 |
0 |
\( S= A + B \) |
|
0 |
1 |
1 |
1 |
1 |
\( S= \overline{A} + B + 1 = B-A \) |
|
0 |
0 |
0 |
1 |
1 |
\( S= A + 1 \) |
|
1 |
0 |
1 |
1 |
1 |
\( S= A+\overline{B} + 1 = A-B \) |
|
Anmerkung: Die AND-Gatter fungieren hier als steuerbarer Schalter. Die XOR-Gatter fungieren als schaltbare Inverter.
Arbeitsblatt hierzu: https://moodle.eick-at.de/pluginfile.php/355/mod_page/content/16/AddierSubtrahierwerkNichtAusgefuellt.pdf