DE3424078A1 - Dezimalmultiplikations-einrichtung - Google Patents
Dezimalmultiplikations-einrichtungInfo
- Publication number
- DE3424078A1 DE3424078A1 DE19843424078 DE3424078A DE3424078A1 DE 3424078 A1 DE3424078 A1 DE 3424078A1 DE 19843424078 DE19843424078 DE 19843424078 DE 3424078 A DE3424078 A DE 3424078A DE 3424078 A1 DE3424078 A1 DE 3424078A1
- Authority
- DE
- Germany
- Prior art keywords
- carry
- digit
- sum
- adder
- decimal
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/491—Computations with decimal numbers radix 12 or 20.
- G06F7/4915—Multiplying; Dividing
Landscapes
- Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Complex Calculations (AREA)
Description
HITACHI, LTD., Tokyo, Japan
Dezimalmultiplikations-Einrichtung
Die Erfindung bezieht sich auf eine Dezimalmultiplikations-Einrichtung
zur Bildung der Summe eines Teilprodukts und eines Zwischenprodukts durch ein Schleifenaddierwerk, insbesondere
eine solche Einrichtung, die eine Hochgeschwindigkeits-Schleifenaddition
unter Verwendung eines oder mehrerer Übertragszwischenspeicher-Addierwerke als Schleifena,ddierwerk
verwendet. Mit dieser Anmeldung verwandte Anmeldungen sind die US-Patentanmeldungen Serial-Nr. 462 423 und Serial-Nr. 549 809.
Wenn ein binärcodierter Dezimalmultiplikand mit einem binärcodierten
Dezimalmultiplikator zu multiplizieren ist unter Bildung eines binärcodierten Dezimalendprodukts (vgl. Fig. 1),
wird üblicherweise eine Einrichtung verwendet, in der Multiplikationen eines Multiplikanden mit einem Multiplikator
vorbestimmter Abarbeitungsbreite (z. B. 1 Ziffer) unter Bildung von η Teilprodukten durchgeführt werden, wonach das Endprodukt
durch Addition dieser Teilprodukte 1-n gebildet wird.
Ein Beispiel einer konventionellen Dezimalmultiplikations-Einrichtung
zur Durchführung der Operation gemäß Fig. 1 ist in Fig. 2 gezeigt. Dabei erfolgt die Multiplikation eines in ein
Multiplikator-Register 1 gesetzten Multiplikators mit einem in ein Multiplikand-Register 2 gesetzten Multiplikanden wie folgt.
Wenn ein Dezimalteilproduktgeber 4 aktiviert wird, erfolgt eine erste Dezimalteilprodukt-Operation des in das Multiplikand-Register
2 gesetzten Multiplikanden mit der vorbestimmten Abarbeitungsbreite, die von der Ziffer niedriger Ordnung des im
Multiplikator-Register 1 gesetzten Multiplikators abgetrennt ist, und dieses erste Dezimalteilprodukt wird in ein Teilproduktregister
6 gesetzt. Gleichzeitig wird in ein Zwischenproduktregister 5 Null (0) (als Anfangswert) gesetzt, und der in
das Multiplikator-Register 1 gesetzte Multiplikator wird von
einem Verschiebeglied 3 um die abgetrennte Datenbreite nach rechts verschoben und wieder in das Multiplikator-Register 1
gesetzt. Dann werden der in dem Zwischenproduktregister 5 gesetzte Anfangswert 0 und das erste Dezimalteilprodukt, das in
das Teilprodüktregister 6 gesetzt'ist, in einem Dezimalschleifenaddierwerk
7 addiert, und das erste DezimalZwischenprodukt wird zum Zwischenproduktregister 5 übertragen und in dieses
gesetzt. Praktisch wird der Ausgang des Dezimalschleifenaddierwerks 7 um die vorbestimmte Abarbeitungsbreite des Multiplikators
nach rechts verschoben und in das Zwischenproduktregister 5 gesetzt. Die niedrigste Ordnung des Ausgangs des
Dezimalschleifenaddierwerks 7 entsprechend der vorbestimmten Abarbeitungsbreite des Multiplikators wird mit der vorbestimmten
Abarbeitungsbreite des Multiplikators über"Leitung 99 übertragen und als niedrigste Ordnung des Endprodukts in das
Multiplikator-Register 1 in die Stelle höchster Ordnung der vorbestimmten Abarbeitungsbreite des Multiplikators gesetzt.
Die gleiche Operation wird für sämtliche bedeutsamen Ziffern des Multiplikators durchgeführt, so daß der niedrigere Anteil
des Dezimalendprodukts der bedeutsamen Ziffernbreite des Multiplikators linksbündig ausgerichtet im Multiplikator-Register
enthalten ist und der höhere Anteil des Dezimalendprodukts als Ausgang des Dezimalschleifenaddierwerks 7 in einem letzten
Operationszyklus erhalten wird. Danach wird der höhere Anteil
des Dezimalendprodukts, der als Ausgang des Dezimalschleifenaddierers
7 erscheint, auf Leitung 98 zum Multiplikand-Register 2 übertragen und in dieses gesetzt.
In der vorgenannten Weise kann das durch binärcodierte Dezimalziffern
dargestellte Produkt erhalten werden, indem der binärcodierte Dezimalmultiplikand mit dem binärcodierten Dezimalmultiplikator
multipliziert wird. Eine Beschleunigung der Operationsgeschwindigkeit des Dezimalschleifenaddierwerks 7
ist eine Möglichkeit, eine Hochgeschwindigkeits-Dezimalmultiplikation zu realisieren.
Normalerweise ist das Dezimalschleifenaddierwerk entsprechend Fig. 3 aufgebaut. Die Funktionsweise ist wie folgt: Vor einer
Addition von zwei Eingängen A und B wird zuerst dem Eingang A für jede Ziffer der binärcodierten Dezimalzahl 6 hinzuaddiert
in 6-Addiergliedern 9., 9·+1/ ··· (i = jede Ziffer) (unter
Bildung von A1), und dieser Ausgang A1 sowie der weitere
Eingang B werden in einer Binäroperation addiert (unter Bildung von R). Während der binären Addition wird, wenn (in einem
ersten Fall) kein Übertrag von einer Ziffer der binärcodierten Dezimalzahl erfolgt, 6 von R subtrahiert für j$d,e Ziffer der
binärcodierten Dezimalzahl, und zwar in 6-Subtraktionsgliedern
11. r "!-+i* Wenn (in einem zweiten Fall) ein Übertrag auftritt,
werden 6-Subtraktions-Korrekturglieder 12., 12. ,. angesteuert,
so daß der Wert von R selbst als Ausgang des Dezimalschleifenaddierwerks verwendet wird. Fig. 4a zeigt ein Beispiel des
ersten Falls, und Fig. 4b zeigt ein Beispiel des zweiten Falls. Ein solches Vorgehen ist ferner von H. Hellerman in "Digital
Computer System Principles" (McGraw-Hill Book Co., 1967), S. 300-301, angegeben. In der vorstehend erläuterten Weise werden
zwei binärcodierte Dezimalzahlen eingegeben und binäraddiert, und ihre Summe wird gebildet. Da jedoch bei der binären
Addition der nächste Operationszyklus erst beginnen kann, wenn der Übertrag von einem wertniedrigsten Bit zu einem werthöchsten
Bit weitergeleitet ist, ergibt sich dabei eine systembedingte Einschränkung des Hochgeschwindigkeits-Betriebs.
Fig. 5 zeigt dagegen einen beispielhaften Aufbau, bei dem in einer Binärmultiplikations-Einrichtung der Hochgeschwindigkeits-Betrieb
eines Schleifenaddierwerks realisiert ist. Ein solcher Aufbau ist von K. Hwang in "Computer Arithmetic
Principles, Architecture, and Design" (John Wiley & Sons, Inc., 1979), etc. angegeben. Dabei wird der während der Multiplikation
auftretende übertrag im Schleifenaddierwerk als zwischengespeicherter Übertrag einbehalten bzw. zwischengespeichert,
und nachdem sämtliche bedeutsamen Ziffern eines Multiplikators abgearbeitet sind, findet die Operation zur
Weitergabe des Übertrags statt. In Fig. 5 wird die Multiplikation mit einem in das Register 1 gesetzten Multiplikator und
einem in das Register 2 gesetzten Multiplikanden wie folgt durchgeführt. Wenn ein Binärteilproduktgeber 13 aktiviert wird,
wird eine erste Binärteilproduktoperation des in das Multiplikand-Register 2 gesetzten Multiplikanden und der vorbestimmten
Abarbeitungsbreite, die aus dem Bit niedriger Ordnung des Multiplikators im Multiplikator-Register 1 abgetrennt ist,
durchgeführt, und das erste Teilprodukt wird in die Teilprodukt-Register 16 und 17 gesetzt. Normalerweise wird ein Übertragszwischenspeicher-Addierwerk
ebenfalls als Binärteilproduktgeber 13 verwendet. In Fig. 5 ist das Teilprodukt ferner
auch im Teilprodukt-Summenregister 16 und im Teilprodukt-Übertragsregister 17 in Form einer Summe (Teilsumme) bzw. eines
zwischengespeicherten Übertrags enthalten. Gleichzeitig wird Null (0) in ein Zwischensummen-Register (14) und in ein
Zwischenprodukt-Übertragsregister 15 als Anfangswert gesetzt, und der in das Multiplikator-Register 1 gesetzte Multiplikator
wird von dem Verschiebeglied 13 nach Abtrennung einer erforderlichen Datenbreite nach rechts verschoben und in das Multiplikator-Register
1 gesetzt. Der in das Zwischenprodukt-Summenregister 14 und das Zwischenprodukt-Übertragsregister 15
gesetzte Anfangswert Null und die erste Teilproduktsumme bzw.
der Teilproduktübertrag, die in das Teilprodukt-Summenregister 16 bzw. das Teilprodukt-Übertragsregister gesetzt sind, werden
in zwei Stufen von Übertragszwischenspeicher-Addierwerken 18
und 21, die beide mit einer Strichlinie 23 umschlossen sind,
zur Übertragszwischenspeicherung addiert, und die Summe und der übertrag des ersten Zwischenprodukts werden zu dem Zwischenprodukt-Summenregister
14 bzw. dem Zwischenprodukt-Übertragsregister 15 übertragen und in diese gesetzt. Wenn dann der
Übertragsausgang des Übertragszwischenspeicher-Addierwerks zu einer nächstfolgenden Stufe des Addierwerks übertragen wird,
wird er zur Übertragsausrichtung von Verschiebegliedern 19, und 22 um ein Bit nach links verschoben. Der Summenausgang des
Übertragszwischenspeicher-Addierwerks 21 und der Ausgang des Verschiebeglieds 22 werden von Verschiebegliedern 24 und 25 um
die vorbestimmte Datenverarbeitungsbreite des Multiplikators nach rechts verschoben und in das Zwischenprodukt-Summenregister
14 bzw. das Zwischenprodukt-Übertragsregister 15 gesetzt. Die Daten der niedrigsten Ordnung der vorbestimmten
Multiplikator-Abarbeitungsbreite des Summenausgangs des Übertragszwischenspeicher-Addierwerks
und des Ausgangs des eine Ein-Bit-Verschiebung nach links durchführenden Verschiebeglieds
22 sind beide gleich der vorbestimmten Abarbeitungsbreite des Multiplikators und werden einem Überlaufaddierwerk 26 zugeführt,
in dem sie einer Binäraddition unterzogen werden. Dieser Ausgang des Überlaufaddierwerks 26, d. h» die niedrigste
Ordnung des Endprodukts mit der vorbestimmten Multiplikator-Abarbeitungsbreite,
wird zum Multiplikator-Register 1 übertragen und in die werthöchste Stelle der vorbestimmten Multiplikator-Abarbeitungsbreite
des Registers 1 gesetzt.
Sämtliche anderen bedeutsamen Ziffern des Multiplikators werden in gleicher Weise abgearbeitet. So wird der Anteil niedriger
Ordnung des Endprodukts mit bedeutsamer Multiplikator-Ziffernbreite
im Multiplikator-Register 1 linksbündig ausgerichtet, und der Anteil höherer Ordnung des Endprodukts wird aus dem
Summenausgang des Übertragszwischenspeicher-Addierwerks 21 und dem Ausgang des Verschiebeglieds 22, der durch Linksverschiebung
des Übertragsausgangs des Übertragszwischenspeicher-Addierwerks 21 um ein Bit erhalten ist, in einem letzten
Operationszyklus in Form einer Summe bzw. eines Übertrags
erhalten. Die Summe und der Übertrag des Anteils höherer Ordnung des Endprodukts werden in ein Volladdierwerk 27
eingegeben und dort einer Binäraddition unterzogen. Der Ausgang des Volladdierwerks 27, d. h. der Anteil höherer Ordnung des
Endprodukts, wird zum Multiplikand-Register 2 übertragen und in dieses gesetzt.
In der vorgenannten Weise wird ein Binärprodukt erhalten durch Multiplikation eines binären Multiplikanden mit einem binären
Multiplikator. Wie Fig. 5 zeigt, können in diesem Fall die Übertragszwischenspeicher-Addierwerke 18 und 21 mit einer oder
zwei Torstufen ausgebildet sein, und ein Warten auf die Beendigung der Übertrags-Weitergabe vom wertniedrigsten Bit des
Addierwerks auf das werthöchste Bit desselben ist nicht erforderlich, so daß ein Hochgeschwindigkeits-Schleifenaddierwerk
aufgebaut werden kann. Im Gegensatz zu einem Binärcode verwendet jedoch eine binärcodierte Dezimalzahl zur Darstellung
einer Ziffer eine Vier-Bit-Breite und arbeitet mit 0-9 nur als Zahlenwerte, so daß ein Übertragszwischenspeicher-Addierwerk
für die Binärzahl, an dessen Summenausgang und Übertragsausgang Binärwerte (101O)2 - (1111)- erscheinen, die eine dezimale
Schreibweise übersteigen, für die Dezimalmultiplikation nicht anwendbar ist, was einen Nachteil darstellt.
Aufgabe der Erfindung ist die Bereitstellung einer Dezimalmultiplikations-Einrichtung,
mit der eine Hochgeschwindigkeits-Dezimalschleifenaddition möglich ist, indem ein Übertragszwischenspeicher-Addierwerk
als Schleifenaddierwerk eingesetzt wird, wenn eine Dezimalmultiplikation mittels Teilprodukterzeugung
und Schleifenaddition (wiederholter Addition) des Teil- und des Zwischenprodukts durchzuführen ist.
Die Dezimalmultiplikations-Einrichtung nach der Erfindung bildet das Produkt eines Multiplikanden und eines Multiplikators,
die jeweils binärcodierte Dezimalziffern sind. Die Dezimalmultiplikations-Einrichtung unterteilt den Multiplikator
in mehrere Gruppen, deren jede wenigstens eine Ziffer enthält,
erzeugt die Teilprodukte des Multiplikanden mit den jeweiligen Gruppen in aufeinanderfolgenden Operationszyklen und addiert
das jeweilige Teilprodukt zu einem Zwischenprodukt, das die Summe der aufeinanderfolgenden Teilprodukte ist. Das Zwischenprodukt
wird in Form einer Summe und eines Übertrags erhalten. Die Dezimalmultiplikations-Einrichtung enthält eine Übertragszwischenspeicher-Addiereinheit,
die in jedem Operationszyklus eine zur Übertragszwischenspeicherung dienende Addition des
Teilprodukts und des Zwischenprodukts durchführt, so daß eine Zwischensumme und ein Übertrag erhalten werden.
In einem ersten Operationszyklus ist das Zwischenprodukt Null, und jeder Ziffer eines der Zwischenprodukte, d. h. der
Zwischensumme oder dem Zwischenübertrag oder dem Teilprodukt, wird eine 6 hinzuaddiert. Die Übertragszwischenspeicher-Addiereinheit
enthält ein Übertragszwischenspeicher-Addierwerk und Korrektureinheiten. Die Korrektureinheiten korrigieren den Wert
der Summe oder das Resultat der der übertragszwischenspeicherung dienenden Addition ziffernweise und gleichzeitig und
korrigieren erforderlichenfalls die Übertrags-Weiterleitung
ziffernweise am Teilprodukt eines nachfolgenden Operationszyklus auf der Basis der Regel, die aus einer Kombination der
Werte der Summe und des Übertrags, also den Resultaten der Übertragszwischenspeicher-Addition, abgeleitet ist.
Der Ausgang der Übertragszwischenspeicher-Addiereinheit dient als Zwischenprodukt im nachfolgenden Operationszyklus. In einem
letzten Operationszyklus werden die Summe und der Übertrag aus der Übertragszwischenspeicher-Addiereinheit binär volladdiert,
und jede Ziffer des Endprodukts wird dadurch erhalten, daß entweder das Resultat der binären Volladdition selbst gewählt
wird, wenn an der Ziffer ein Übertrag erzeugt wird, oder der
durch Subtraktion von 6 vom Resultat erhaltene Wert gewählt wird, wenn kein Übertrag gebildet wird.
Anhand der Zeichnung wird die Erfindung beispielsweise näher erläutert. Es zeigen:
Fig. 1 eine Darstellung, die die Multiplikation eines Multiplikanden mit einem Multiplikator veranschaulicht;
Fig. 2 den Aufbau der konventionellen Dezimalmultiplikations-Einrichtung;
Fig. 3 den Aufbau eines Dezimaladdierwerks;
Fig. 4a und
Fig. 4b Darstellungen zur Erläuterung des Betriebs des Dezimaladdierwerks von Fig. 3;
Fig. 5 eine Darstellung der Hochgeschwindigkeits-Binärmultiplikations-
Einrichtung mit Übertragszwischenspeicher-Addierwerken;
Fig. 6 eine Darstellung des Operationskonzepts der Dezimalmultiplikations-Einrichtung nach der
Erfindung;
eine Additionstabelle zur Erläuterung der Dezimalübertrags-Korrektur
gemäß der Erfindung; ein Beispiel der Dezimalübertrags-Korrekturtabelle
für einen Summenausgang eines Übertragszwischenspeicher-Addierwerks ;
ein Beispiel der Dezimalübertrags-Korrekturtabelle für eine Dezimalziffer höherer Ordnung;
ein Ausführungsbeispiel einer Dezimalübertrags-Addierwerkstufe, umfassend Übertragszwischenspeicher-Addierwerke
und Dezimalübertrags-Korrekturglieder, die bei der Erfindung verwendet werden;
Fig. 11 ein weiteres Beispiel der Dezimalübertrags-Korrekturtabelle
für einen Summenausgang eines Übertrags
Zwischenspeicher-Addierwerks ;
Fig. 12 ein weiteres Beispiel der Dezimalübertrags-Korrekturtabelle
für Dezimalziffern höherer Ordnung;
Fxg. | 7 |
Fig. | 8 |
Fig. | 9 |
Fig. | 10 |
Fig. 13 ein weiteres Beispiel einer Dezimalübertragszwischenspeicher-Addierwerkeinheit
aus Übertragszwischenspeicher-Addierwerken und Dezimalübertrag
s -Korrekturgliedern;
Fig. 14 eine Ansicht der gesamten Dezimalmultiplikations-Einrichtung
nach der Erfindung, aufgebaut unter Verwendung des Dezimalübertragszwischenspeicher-Addierwerks
von Fig. 10;
Fig. 15 eine Darstellung des Dezimalschleifenaddierwerk-Abschnitts
der Dezimalmultiplikations-Einrichtung nach der Erfindung unter Verwendung der Dezimalübertragszwischenspeicher-Addierwerkeinheit
von Fig. 13; und
Fig. 16 eine Darstellung einer weiteren Ausführungsform der Dezimalmultiplikations-Einrichtung nach der
Erfindung.
Bevor die Ausführungsbeispiele erläutert werden, soll das
Operationsprinzip der Einrichtung unter Bezugnahme auf die Fig. 6 und 7 beschrieben werden.
Fig, 6 dient der Erläuterung des OperationspEinzips der Einrichtung
für die Erzeugung des Endprodukts oder Resultats durch die Wiederholung der Dezimalschleifenaddition unter Verwendung
eines Dezimalschleifenaddierwerks mit einem Übertragszwischenspeicher-Addierwerk.
Die wiederholt dargestellten Einheiten wie ein Übertragszwischenspeicher-Addierwerk CSA 29 werden in jedem
Zyklus wiederholt eingesetzt; PP1-PP3 sind Dezimalteilprodukte
für jeweilige Operationszyklen; P ist das Dezimalendprodukt; S.-S., und C1-C., sind Summen- und Übertragsausgangswerte der
Übertragszwischenspeicher-Addierwerke in den jeweiligen Operationszyklen; und S' -S' sind Summen, die jeweils durch
das Summenausgangskorrekturglied 31 während der Übertragskorrekturphase
korrigiert werden; C1-C3 sind Überträge, die
jeweils von der Verschiebeeinheit 30 bitmäßig ausgerichtet werden, und PP^-pp1 sind Dezimalteilprodukte, die jeweils
während der Übertragskorrekturphase von dem Korrekturglied 32
für Dezimalziffern höherer Ordnung modifiziert werden. Eine
Schleifenaddition beginnt durch Addition von 6 zu jeder Ziffer einer Dezimalzahl als Anfangssetzwert durch ein 6-Additions-Korrekturglied
28. Die erste Dezimaladdition des Zwischenprodukts in Form einer Summen- und Übertragsbildung und des
Dezimalteilprodukts PP. läuft wie folgt ab:
(1) Das Zwischenprodukt in Form der Summe und des Dezimalteilprodukts
PP, erhalten durch weitere Betriebsmittel, wird von einem Übertragszwischenspeicher-Addierwerk CSA 29 mit drei
Eingängen zur Übertragszwischenspeicherung addiert. Der Übertragsausgang C1 des CSA 29 wird von der Verschiebeeinheit 30 um
ein Bit nach links verschoben, so daß seine Bitposition ausgerichtet wird (Übertragszwischenspeicher-Additionsphase).
(2) Die Werte jeder Ziffer des Summenausgangs S1 und des
Übertragsausgangs C1 werden geprüft, und der Korrekturwert für
die Summe S1 und die Dezimalziffer höherer Ordnung werden
festgelegt, so daß ein richtiges Zwischenprodukt erhalten wird, wenn die Summe S1, der Ausgang des Summenausgang-Korrekturglieds
31 nach Übertragskorrektur sowie der Übertrag C, der Ausgang der Verschiebeeinheit 30, die die Ausrichtung des
Bitabschnitts durchführt, in binärer Form volladdiert werden (Übertragskorrekturphase).
(3) Wenn die Summe S1 nach Übertragskorrektur und der übertrag
C nach Bitstellenausrichtung im nächsten Zyklus in das Übertragszwischenspeicher-Addierwerk
29 eingegeben werden, werden sie durch Verschiebeeinheiten 33 und 34 um die Verarbeitungsbreite
der Einrichtung nach rechts verschoben, um die hohen Ziffernstellen des Zwischenprodukts gegenüber einem zweiten
Zwischenprodukt PP? auszurichten (Ziffernstellen-Ausrichtungsphase)
.
. 3Λ2Α078
• η-
Eine solche Verarbeitung ist ein Operationszyklus. Die Operationszyklen, die durch die Anzahl der dezimalen Teilprodukte
PP entsprechend den bedeutsamen Ziffern des Multiplikators bestimmt sind, werden zur Erzeugung eines Endprodukts
wiederholt.
Fig. 6 zeigt den Fall, daß zwei Dezimalteilprodukts PP1 und PP „
dezimaladdiert werden. Wenn 2 oder 3 Dezimalüberträge in dem bzw. durch den Summenausgang S2 des Übertragszwischenspeicher-Addierwerks
29 und den übertrag C'2 nach Bitstellenausrichtung
infolge der Schleifenaddition für das Dezimalteilprodukt in einem zweiten Zyklus zwischengespeichert werden, also für den
Operationszyklus, der der letzten Ziffer des Multiplikators entspricht, wird die Übertragskorrektur durch die Übertragszwischenspeicher-Addition
beendet, wobei das Dezimalteilprodukt
PP3 in einem dritten bzw. letzten Zyklus den Wert Null hat. Die
Summe S'3 und der Übertrag C' werden in binärer Form
volladdiert unter Verwendung eines binären Volladdierwerks 35.
Jede Ziffer des Dezimalendprodukts P wird erhalten entweder durch Auswahl des Ergebnisses der binären Volladdition selbst,
wenn ein Übertrag an der Ziffer erzeugt wird, oder durch Wahl des vom Resultat subtrahierten Werts durch das 6-Subtrahier-Korrekturglied
36, wenn kein Übertrag gebildet wird. In der vorgenannten Weise wird die gesamte Operation der Dezimalmultiplikations-Einrichtung
unter Erzeugung eines richtigen Endprodukts durchgeführt.
Es wird noch erläutert, daß der Dezimalübertrag um 0-3 in dem
und durch den Summenausgang S vom Übertragszwischenspeicher-Addierwerk und dem übertrag C nach Bitstellenausrichtung
zwischenspeicherbar ist.
Fig. 7 ist eine Additionstabelle der Ausgänge des Übertragszwischenspeicher-Addierwerks,
und die Zahl in jeder Stelle der Tabelle ist eine Dezimalzahl, die das Resultat der Addition des
Summenausgangs S und des Übertrags C, die die Breite einer
Dezimalziffer haben, sein sollte. Der Summenausgang S und der
Übertragsausgang C des Übertragszwischenspeicher-Addierwerks haben eine Dezimalziffernbreite, und der übertrag C ist ein
zur Bitstellenausrichtung um ein Bit nach links verschobener Ausgang des Übertrags C. In der Figur sind S, C und C
sedezimal, und (S)10 und (C)10 sind dezimal geschrieben» Die
Zahlen 0-40, die dort eingeschrieben sind, wo sich S und C kreuzen, sind dezimal geschrieben, obwohl sie nicht als ( ).. _
ausgedrückt sind. Nachstehend bedeutet ( )_ binäre Schreibweise, ( )1Q bedeutet dezimale Schreibweise, und " "
bedeutet sedezimale Schreibweise. Eine Ziffer der dezimalen Schreibweise ist ersichtlich die gleiche wie diejenige der
sedezimalen Schreibweise, so daß in einigen Fällen die
Schreibweise nicht angegeben ist.
Die als Resultat der Addition des Summenausgangs und des Übertragsausgangs des Übertragszwischenspeicher-Addierwerks zu
erhaltende Summe wird errechnet unter Verwendung des Ausdrucks (S)10 + (C)10 - (6)10, da die Operation nach Addition von
(6)in für jede Dezimalziffer als Anfangssetzwert für ein
Schleifenaddierwerk durchgeführt wird. Wenn z. B. der Summenausgang S und der Übertragsausgang C des Übertragszwischenspeicher-Addierwerks
für eine bestimmte Dezimalziffer S = "6" bzw. C = "3", so ist C = "6" oder C = "7" je nachdem,
ob der Wert von C die Ziffer niedrigerer Ordnung der momentanen Dezimalziffer "0" - "7" oder "8" - "F" ist.
Wenn der Wert von C der Ziffer niedrigerer Ordnung "0" - "7", dann ist C = "6", und wenn der Wert von C der Ziffer niedrigerer
Ordnung "8" - "F", dann ist C = "7". In der Praxis wird C = "3" als (001I)2 geschrieben.und wird zu (011X)2, wenn es um
ein Bit nach links verschoben wird. X bezeichnet ein bedeutsamstes Bit von C der Ziffer niedrigerer Ordnung, und sein Wert
ist entweder Null oder Eins. Wenn daher der Wert von C der Ziffer niedriger Ordnung "0" - "7" ist, wird er als (OXXX)2
geschrieben, und das bedeutsamste Bit ist 0, so daß diese 0 das wertniedrigste Bit der vorgenannten Ziffer (011X)2 wird.
(011X)2 ist somit (011O)2, d. h., es hat den Wet "6". Wenn der
Wert von C der Ziffer niedriger Ordnung "8" - "F" ist, wird er als (1XXX)_ geschrieben, und das bedeutsamste Bit ist 1, so daß
diese 1 das wertniedrigste Bit der vorgenannten Ziffer (011X)2
wird. (011X)2 ist somit (0111)2, d. h., es zeigt den Wert "7".
Wenn S = "6" und C = "3", dann ist C = "7", wenn der Wert von C der Ziffer niedriger Ordnung "8" - "F" ist, und die Zahl "7"
in den sich kreuzenden Einträgen der Tabelle wird aus der Berechnung
(S)10 + (C)10 - (6)10 = "6" + "7" - "6" = "7"
erhalten.
Bei dem System nach Fig. 6 können der Summenausgang S, der
Übertragsausgang C und der Übertrag C des Übertragszwischenspeicher-Addierwerks "0" ~ "F" sedezimal geschrieben sein, und
die Summe und der Übertrag werden im binären Volladdierwerk
volladdiert. Eine ordnungsgemäße Korrektur muß für die Summe S und die höherwertige Ziffer der betreffenden Dezimalziffer auf
der Grundlage einer Kombination der Werte der Summe S, des Übertrags C und des Übertrags C vorgenommen werden, so daß die
richtigen Werte erzeugt werden, d. h., unter Anwendung des Dezimalzahl-Operationssystems, das den Wert selbst auswählt,
wenn an der Dezimalziffer ein übertrag erzeugt wird, und das
den um (6)-I0 vom Ergebnis der Volladdition subtrahierten Wert
auswählt, wenn kein Übertrag erzeugt wird, werden Dezimalzahlen
entsprechend Fig. 7 gebildet (nachstehend als Dezimalzahl-Operationssystem
bezeichnet).
Die Additionstabelle von Fig. 7 ist in 9 Abschnitte A *»- I
unterteilt, basierend auf der Anzahl von Dezimalüberträgen, und der Summenausgang S, der Übertragsausgang C und der Übertrag C
des Übertragszwischenspeicher-Addierwerks sowie richtige Dezimalübertragskorrekturen werden wie folgt für die entsprechenden
Abschnitte durchgeführt.
Im Abschnitt A genügen die Werte der Summe S und des Übertrags C der Bedingung 11O" £ S + C <
"5", die tatsächlich nicht auftritt, da eine Operation durchgeführt wird, nachdem als
Anfangseinstellung eine (6)-„-Addition für jede einzelne
Dezimalziffer erfolgt. Bei dem Operationssystem nach Fig* 6,
das unter Verwendung von Übertragszwischenspeicher-Addierwerken und Übertragsbestimmungs-Korrekturgliedern, die der Dezimalübertragslogik
der Additionstabelle von Fig. 7 genügen, aufgebaut ist, ist es erforderlich, damit die Werte der Summe
und des Übertrags eines Endprodukts wie etwa S ' und C^% von
Fig. 6 der Bedingung "0" < S3 1 + C3 1 5 5 genügen, daß eine
Operation gestartet wird, ohne daß eine Addition von (6).. Q für
jede Dezimalziffer als Anfangseinstellung für die Operation erfolgt, so daß die Kombination der Summe S und des Übertrags
C, die der Bedingung "0" < S + C £ 5 genügt, nicht auftritt.
In Abschnitt B genügen die Werte der Summe S und des Übertrags C der Bedingung "6" 5 S + C £ "F", und ein Übertrag zur
höherwertigen Ziffer erfolgt nicht. Daher kann das Dezimalzahl-Operationssystem an den Abschnitt B in der vorliegenden
Form angepaßt werden, und die Summe S und der Übertrag C werden binär volladdiert, und anschließend erfolgt die
(6)10-Subtraktionskorrektur. Mit S = "6", C = "7" ist z. B.
s + C' - "6" = "6" + "7" - "6" = "7". Somit sind für den
Abschnitt B die Dezimalübertragskorrekturen für den Summenausgang S nach der Übertragszwischenspeicherungs-Addition und für
die Dezimalziffer höherer Ordnung nicht erforderlich.
Im Abschnitt C genügen die Werte der Summe S und des Übertrags
C1 der Bedingung "10" ί S + C ^ "19", und der in S und C· um 1
zwischengespeicherte Übertrag wird durch die binäre Volladdition zur Dezimalziffer höherer Ordnung weitergeleitet. Infolgedessen
kann der resultierende Additionswert ein richtiger Ausdruck einer Dezimalzahl in ihrer normalen Form sein. Daher
kann das Dezimalzahl-Operationssystem an den Abschnitt C ohne Modifikation angepaßt werden. Somit sind die Dezimalübertrags-
korrekturen am Summenausgang S nach der Übertragszwischenspeicherungs-Addition
und an der Dezimalziffer höherer Ordnung nicht erforderlich. Mit S = "A", C1 = "F" ist z. B.
S + C = "A" + 11F" = "19".
Wenn im Abschnitt D der Übertragsausgang C vom Übertragszwischenspeicher-Addierwerk
zur Bitstellenausrichtung um ein Bit nach links verschoben wird, um den übertrag C zu erhalten,
so ist der Wert des Übertrags C derart, daß der explizite übertrag nicht zur Dezimalziffer höherer Ordnung weitergegeben
wird infolge der Übertragszwischenspeicherungs-Addition, d. h., "0" S C £ "7", und die Werte der Summe S und des Übertrags C
genügen der Bedingung "1A" 5 S + C < "1E". "IA" bezeichnet
ferner (26K0, und "IE" bezeichnet (3O)10. In Abschnitt D wird
der übertrag in S und C um 2 zwischengespeichert. Die eine 1 wird in S und C gespeichert, da der Übertrag durch das
Dezimalzahl-Operationssystem zur Dezimalziffer höherer Ordnung weitergegeben wird, während die andere 1 der Dezimalübertragskorrektur
unterliegt, da die binäre Volladdition von S und C in einem Wert "A" /N-11E" resultiert, der die binärcodierte
dezimale Schreibweise überschreitet, und daher muß der Resultatwert als "10" ~ "14" geschrieben werden» Die Dezimalübertragskorrektur
in Abschnitt D wird so durchgeführt, daß die (6)1--Addition unter Verwendung von (16)1Q als Modul· an der
Dezimalziffer des Summeηausgangs vom Übertragszwischenspeicher-Addierwerk
erfolgt, und der Ziffer höherer Ordnung der gültigen Dezimalziffer wird Eins zuaddiert. Nachstehend wird die Π 6)
als Modul verwendende Addition als (mod 16) bezeichnet. Wenn z. B. S = "E", C = "6" und C1 = "D", so ist S1 = S + "6"
(mod 16) = "E" + "6" (mod 16) = "4", vorausgesetzt, daß die Summe nach der Dezimalubertragskorrek.tur S1 ist und daß die
Addition von Eins zu der Ziffer höherer Ordnung der Dezimalziffer durch die Addition von "10" ausgedrückt ist, und somit
resultiert die Operation in
S1 + C + "10" = "4" + "D" + "10" = "21".
S1 + C + "10" = "4" + "D" + "10" = "21".
In den Abschnitten E «Ί ist der Wert des Übertragsausgangs C
vom Übertragszwischenspeicher-Addierwerk "8" 5 C 1 "F", so daß, wenn ein Übertragsausgang C zur Bitstellenausrichtung um ein
Bit nach links verschoben wird zum Erhalt eines Übertrags C, ein Übertrag explizit zur Ziffer höherer Ordnung der jeweiligen
Dezimalziffer weitergegeben wird. Infolgedessen gilt "10" 5 C :£ "1F". Und zum Erhalt einer korrekten Dezimalzahl unter
Anwendung des Dezimalzahl-Operationssystems auf den Übertrag C und den Summenausgang S erfolgt die Addition von 6 (mod 16) zur
Dezimalziffer des Summenausgangs. Wenn z. B. S = 11O", C = "8"
und dann C = "10", S1 = S + "6" (mod 16) = "0" + "6" (mod
16) = "6", somit S1 + C - "6" = "6" + "10" - "6" = "10", wenn
S1 die Summe nach Dezimalübertragskorrektur ist.
Im Abschnitt E tritt die Übertragsverschiebung zur Ziffer höherer Ordnung der jeweiligen Dezimalziffer explizit im
übertrag C wie oben erwähnt auf, d. h., "8" < C <"F", und die
Werte der Summe und des Übertrags C genügen der Bedingung "10" £ S + C 1 "19". Im Abschnitt E erfolgt die Dezimalübertragskorrektur
zum Summenausgang S, die aus der vorgenannten expliziten Übertragsverschiebung im übertrag C resultiert,
d. h., die (O)1Q (mod 16)-Addition, an der einschlägigen
Dezimalziffer der Summe S. Wenn z. B. S= "4", C = "A" und dann C = 15, ist die Summe S1 nach Dezimalübertragskorrektur
S' = S + "6" (mod 16) = "4" + "6" (mod 16) = "A", und somit resultiert die Operation in
S· +c1 - "6" = "A" + "15" - "6" = "19".
S· +c1 - "6" = "A" + "15" - "6" = "19".
Im Abschnitt E erfolgt die Übertragsverschiebung zur Ziffer höherer Ordnung der jeweiligen Dezimalziffer explizit im
Übertrag C1, d. h., "8" £■ C S11F", die Werte der Summe S und
des Übertrags C genügen der Bedingung 1A - S + C — 23, und
die Summe S genügt ebenfalls der Bedingung "0" — S £ 9. Im Abschnitt F gibt es zwei Überträge; der eine wird explizit zur
Ziffer höherer Ordnung der jeweiligen Dezimalziffer im Übertrag
C verschoben, und der andere wird in der Summe S und im
übertrag C einbehalten. Die Dezimalübertragskorrektur infolge
der expliziten Übertragsverschiebung zur Ziffer höherer Ordnung der jeweiligen Dezimalziffer im Übertrag C erfolgt durch die
Addition von (6)1Q (mod 16) zur Summe S, wie bereits
beschrieben wurde. Andererseits bleibt der in der Summe S und dem Übertrag C1 einbehaltene Übertrag dort einbehalten, da ein
übertrag zur Ziffer höherer Ordnung der jeweiligen Dezimalziffer
weitergegeben werden kann durch Anwendung des Dezimalzahl-Operationssystems auf den Wert der Summe nach der Dezimalübertragskorrektur
an der Summe S, die aus der expliziten Übertragsverschiebung zur Ziffer höherer Ordnung der jeweiligen
Dezimalziffer im Übertrag C resultiert, sowie auf den Übertrag
C. Somit erfolgt die Dezimalübertragskorrektur des Abschnitts F durch die Addition von (6),q (mod 16) zur Dezimalziffer des
Summenausgangs S vom Übertragszwischenspeicher-Addierwerk. Wenn z. B. S= "8", C = "D", und dann C1 = "1B", so ist die Summe S1
nach der Dezimalübertragskorrektur
S1 = S + "6" (mod 16) = "8" + "6" (mod 16) = 11E". Infolgedessen
resultiert die Operation in S1 +C = "E" + "1B" = "291
ι η
In Abschnitt G erfolgt die Übertragsverschiebung zur Ziffer
höherer Ordnung der jeweiligen Dezimalziffer explizit im
Übertrag C, d. h., "8" < C ^11F", die Werte der Summe S und
des Übertrags C genügen der Bedingung "IA" £ S + C S "23",
und die Summe S genügt ebenfalls der Bedingung "A" 5 S 5 "F". Im Abschnitt G gibt es zwei Überträge; der eine wird explizit
zur Ziffer höherer Ordnung der jeweiligen Dezimalziffer im Übertrag C verschoben, und der andere wird in der Summe S und
im Übertrag C einbehalten. Die Dezimalübertragskorrektur unter expliziter Übertragsverschiebung zur Ziffer höherer Ordnung der
jeweiligen Dezimalziffer im Übertrag C erfolgt durch die (6).Q-Addition (mod 16) zur Summe S, wie vorstehend erläutert.
Andererseits erfolgt die Dezimalübertragskorrektur an dem in der Summe S und dem übertrag C einbehaltenen übertrag durch
(6).--Addition (mod 16) zum Wert der Summe S und durch die
Addition von Eins zur Ziffer höherer Ordnung, der jeweiligen Dezimalziffer. Dies erfolgt, um eine korrekte Dezimalzahl zu
erhalten, indem das Dezimalzahl-Operationssystem auf den Wert der Summe nach der Dezimalübertragskorrektur der Summe S,
resultierend aus der expliziten Verschiebung zur Ziffer höherer Ordnung der jeweiligen Dezimalziffer im übertrag C, und auf
den Übertrag C angewandt wird. Somit erfolgt die Dezimalübertragskorrektur
im Abschnitt G durch die Addition von (12)1n
(mod 16) zu der jeweiligen Dezimalziffer des Summenausgangs S vom Übertragszwischenspeicher-Addierwerk und durch die Addition
von Eins zur Ziffer höherer Ordnung der jeweiligen Dezimalziffer. Wenn z. B. S = "B", C = "8" und dann C = "11", so ist
S1 = S + "C" (mod 16) = "B" + "C" (mod 16) = "7", vorausgesetzt,
daß die Summe nach der Dezimalübertragskorrektur als S1
bezeichnet ist und daß die Addition von Eins -zur Ziffer höherer Ordnung der jeweiligen Dezimalziffer durch die Addition von
"10" ausgedrückt wird, und somit resultiert die Operation in Qi+Qi+ H10" - "6" = "7" + "11" + "10" - "6" = "22".
Im Abschnitt H erfolgt die Übertragsverschiebung zur Ziffer höherer Ordnung der entsprechenden Dezimalziffer explizit im
Übertrag C, d. h., "8" Z C ά "F", und die Werte der Summe S
und des Übertrags C genügen der Bedingung "24" ί S + C1 £ "2D". Im Abschnitt'H gibt es drei Überträge;
der eine soll explizit zur Ziffer höherer Ordnung der jeweiligen Dezimalziffer im Übertrag C verschoben werden, und
zwei Überträge werden in der Summe S und im Übertrag C1
einbehalten. Die Dezimalübertragskorrektur der expliziten Übertragsverschiebung zur entsprechenden Dezimalziffer im
Übertrag C erfolgt durch die Addition von (6)10 (mod 16) zu
der Summe S, wie bereits erläutert. Ferner bleiben der eine der beiden Überträge, die in der Summe S und im Übertrag C
einbehalten sind, weiterhin einbehalten, da ein Übertrag zur Ziffer höherer Ordnung einer einschlägigen Dezimalziffer durch
Anwendung des Dezimalzahl-Operationssystems weitergegeben wird. Andererseits unterliegt der weitere eine Übertrag der Dezimalübertragskorrektur
durch die Addition von (6)^_ (mod 16) zum
Wert der Summe S und durch die Addition von Eins zur Ziffer
höherer Ordnung der Dezimalziffer. Somit erfolgt die Dezimalübertragskorrektur
im Abschnitt H durch die Addition von (12) (mod 16) zur Dezimalziffer des Summenausgangs S aus dem Übertragszwischenspeicher-Addierwerk
und durch die Addition von Eins zur Ziffer höherer Ordnung der Dezimalziffer. Wenn z. B.
S = 11D", C = 11B" und dann C = "17", dann ist S1 = S + "C"
(mod 16) = "D" + "C" (mod 16) = "9", vorausgesetzt, daß die
Summe nach der Dezimalübertragskorrektur als S' ausgewiesen ist und daß die Addition von Eins zur Ziffer höherer Ordnung der
jeweiligen Dezimalziffer durch die Addition von "10" ausgedrückt wird, und somit resultiert die Operation in
S1 + C + "10" = "9" + "17" + "10" = "30".
Im Abschnitt I erfolgt die Übertragsverschiebung zur Ziffer höherer Ordnung der jeweiligen Dezimalziffer explizit im
Übertrag C, d. h. , "8" £. C S11F", und die Werte der Summe S
und des Übertrags C genügen der Bedingung S + C = "2E". Im Abschnitt I gibt es vier Überträge; der eine wird explizit zur
Ziffer höherer Ordnung der jeweiligen Dezimalziffer im Übertrag
C verschoben, und drei Überträge werden in der Summe S und dem Übertrag C einbehalten. Die Dezimalübertragskorrektur für die
explizite Übertragsverschiebung zur Dezimalziffer im Übertrag C erfolgt durch die Addition von (6)10 (mod 16) zur jeweiligen
Dezimalziffer der Summe S, wie vorstehend erwähnt. Ferner bleibt einer der drei Überträge, die in der Summe S und im
Übertrag C einbehalten sind, dort einbehalten, da ein übertrag zur Ziffer höherer Ordnung einer einschlägigen Dezimalziffer
verschoben wird durch Anwendung des Dezimalzahl-Operationssystems.
Andererseits werden die übrigen zwei Überträge der Dezimalübertragskorrektur durch die Addition von (12)1f)
(mod 16) zum Wert der Summe S und von 2 zur Ziffer höherer Ordnung der jeweiligen Dezimalziffer unterworfen. Somit erfolgt
die Dezimalübertragskorrektur im Abschnitt I durch die Addition von (18) .J0 (mO(3 iß) Zur Dezimalziffer des Summenausgangs S vom
Übertragszwischenspeicher-Addierwerk und durch die Addition von 2 zur Ziffer höherer Ordnung der jeweiligen Dezimalziffer. Wenn
z. B. S = "F", C = "F" und C = "1F", so ist S1 = S + "12"
(mod 16) = "F" + "12" (mod 16) = "1", vorausgesetzt, daß die
Summe nach der Dezimalubertragskorrektur als S1 erscheint und
daß die Addition von 2 zur Ziffer höherer Ordnung der jeweiligen Dezimalzahl durch die Addition von "20" ausgedrückt ist,
und somit resultiert die Operation in S' +C + "20" = "1" + "1F" + "20" = "40".
Die Dezimalübertragskorrekturen in den Abschnitten A ~ I der
Additionstabelle von Fig. 7 werden wie folgt zusammengefaßt.
In Abschnitt A erfolgt keine Kombination von S und C. In den Abschnitten B und C ist die Korrektur nicht erforderlich. Im
Abschnitt D erfolgt die Korrektur durch die Addition von (6)10
(mod 16) zur Summe S und durch die Addition von Eins zur Ziffer höherer Ordnung einer einschlägigen Dezimalziffer. In den
Abschnitten E und F erfolgt die Korrektur durch die Addition von (16)10 (mod 16) zu der Summe S. In den Abschnitten G und H
erfolgt die Korrektur durch die Addition von (12).» (mod 16)
zur Summe S und durch die Addition von Eins zur Ziffer höherer Ordnung der einschlägigen Dezimalziffer. In Abschnitt I erfolgt
die Korrektur durch die Addition von (18)1Q (mod 16) und durch
die Addition von Zwei zur Ziffer höherer Ordnung der einschlägigen Dezimalziffer.
Einige Kombinationen der Summe S und des Übertrags C erfolgen tatsächlich nicht in den Abschnitten I und H, was beweisbar
ist. Insbesondere im Fall der Implementierung der vorliegenden Einrichtung ist der Abschnitt I nicht erforderlich. Wenn ferner
die Dezimalübertragskorrektur der Kombinationen von S und C, die in den Abschnitten C, D, F und H enthalten sind, erfolgt
und das Dezimalzahl-Operationssystem darauf angewandt wird, erfolgt eine Übertragsverschiebung zur Ziffer höherer Ordnung
der einschlägigen Dezimalziffer in der binären Volladdition der Summe S1 nach der Korrektur und des Übertrags C. Daher kann in
den Abschnitten C und F die Übertragsverschiebung vorher erfaßt werden, so daß die Dezimalubertragskorrektur in diesen
Abschnitten zwangsweise erfolgen kann. D. h., im Abschnitt C
können die Addition von (6)1Π zum Summenausgang S und die
Addition von Eins zur Ziffer höherer Ordnung der einschlägigen Dezimalziffer erfolgen, während im Abschnitt F' die Addition
von (12)10 (mod 16) zum Summenausgang S und die Addition von
Eins zur Ziffer höherer Ordnung der einschlägigen Dezimalziffer stattfinden.
Die Fig. 8 und 9 zeigen das erste Ausführungsbeispiel von Dezimalübertragskorrektur-Tabellen, die den Dezimalübertragskorrekturen
des Summenausgangs und der Ziffer höherer Ordnung der einschlägigen Dezimalziffer in den Abschnitten A ~ I der
Additionstabelle von Fig. 7 genügen und die zur Implementierung eines Dezimalschleifen-Addierwerks unter Verwendung eines
Übertragszwischenspeicher-Addierwerks auf der Basis des vorgenannten Prinzips dienen. Fig. 10 zeigt ein Ausführungsbeispiel
einer Dezimalkorrekturschaltung zur Durchführung dieser Korrekturen.
Fig. 8 zeigt ein Beispiel der Dezimalübertragskorrektur des Summeηausgangs von einem Übertragszwischenspeicher-Addierwerk,
und Fig. 9 zeigt ein Beispiel der Dezimalübertragskorrektur der Ziffer höherer Ordnung der einschlägigen Dezimalziffer. Der
Korrekturbetrag und die Bedingung in der Tabelle von Fig. 8 sind: wenn ^nA.i <
s < "F»). ("4"
< c < "7") + ("0" < S < "3")'
so erfolgt die Korrektur des Summenausgangs S durch die Additon von (6)in (mod 16) dazu, und wenn
erfolgt die Korrektur zum Summenausgang S durch die Addition
von (12).. 0 (mod 16) dazu, und in den anderen Fällen wird keine
Korrektur durchgeführt. Der Korrekturbetrag und die Bedingung
in der Tabelle von Fig. 9 sind: wenn
erfolgt die Korrektur durch Addition von Eins zur Ziffer höherer Ordnung der einschlägigen Dezimalziffer, und in den
anderen Fällen erfolgt keine Korrektur.
Fig. 10 zeigt einen Teil der Dezimalübertragszwischenspeicher-Addiereinheit,
die für jede Dezimalziffer (vier Bits), die den Korrekturen der Fig. 8 und 9 genügt, ein Dezimalübertragskorrekturglied
verwendet. Dabei ist die Einheit mit einer Dezimalziffernbreite (((d+1)-te Dezimalziffer) auf der linken Seite
eine Dezimalziffer höherer Ordnung der Einheit (d-te Dezimalziffer) auf der rechten Seite. Die Korrektur des Summenausgangs
aus dem Übertragszwischenspeicher-Addierwerk erfolgt durch das Summenausgangs-Korrekturglied 31 auf der Basis des Entscheidungsergebnisses
eines Korrekturbetrags-Entscheidungsglieds 37 unter Nutzung der Werte des Summenausgangs S und des Übertragsausgangs
C des Übertragszwischenspeicher-Addierwerks 29 als Eingänge für jede Dezimalziffer wie folgt: Wenn die Bedingung
gemäß Fig. 8 erfüllt ist, wird der aus der Addition von 6 (mod 16) zur Summe S resultierende Wert als Summe S1 nach der
Korrektur gewählt; wenn die Bedingung
die ebenfalls in Fig. 8 angegeben ist, erfüllt ist, wird der aus der Addition von 12 (mod 16) zur Summe S resultierende Wert
als die Summe S1 nach der Korrektur gewählt, und wenn keine der
beiden genannten Bedingungen erfüllt ist, wird der Wert der Summe S selbst als die Summe S1 nach der Korrektur gewählt.
Die Korrektur der Addition von Eins zur Ziffer höherer Ordnung der einschlägigen Dezimalziffer erfolgt für den Dezimalteileingang
PP des Übertragszwischenspeicher-Addierwerks in der nächsten Stufe und wird von dem Dezimalziffer-höherer-Ordnung-Korrekturglied
31 auf der Basis des Entscheidungsergebnisses des Korrekturbetrags-Entscheidungsglieds 37 unter Nutzung der
Summe S und des Übertrags C als Eingänge wie folgt durchgeführt. Wenn die Bedingung
erfüllt ist, wie in Fig. 9 angegeben, wird der aus der Addition von Eins zu dem Dezimalteilprodukteingang PP des Übertragszwischenspeicher-Addierwerks
für die Ziffer höherer Ordnung der einschlägigen Dezimalziffer in der nächsten Stufe als Dezimalteilprodukteingang
PP1 nach der Korrektur gewählt, und wenn die vorgenannte Bedingung nicht erfüllt ist, wird der Dezimalteilprodukteingang
PP selbst als Dezimalteileingang PP1 nach der
Korrektur gewählt. Wenn der Übertragsausgang C des Übertragszwischenspeicher-Addierwerks
dem Übertragszwischenspeicher-Addierwerk der nächsten Stufe eingegeben, ytixci. sum binären
Volladdierer für die binäre Volladdition der Summe und des Übertrags des Endprodukts, wird der Übertragsausgang C du-rch
die Verschiebeeinheit 30 um ein Bit nach links verschoben und als Eingang C der nächsten Stufe genutzt.
Wenn z. B. S = "0" und C = "8", wird, da die Korrekturbedingung
{("0" < S < "3")·("8" < C < "F")}
erfüllt ist, der aus der Addition von 6 (mod 16) zur Summe S resultierende Wert als die Summe S1 nach der Korrektur gewählt,
und da andererseits keine Korrekturbedingung für die Ziffer höherer Ordnung erfüllt ist, wird der Wert des Dezimalteil-
Produkts PP selbst als Dezimalteilprodukt PP1 des Übertragszwischenspeicher-Addierwerks
höherer Ordnung der einschlägigen Dezimalziffer in der nächsten Stufe genutzt. Infolgedessen
S' = S + "6" (mod 16) = "0" + "6" (mod 16) = "6", C = "10"
oder C = "11", und die Ziffer PP1 höherer Ordnung ist
PP' = PP. Wenn ferner S = "4", C = "C", wird, da eine der
Korrekturbedingungen
erfüllt ist, der aus der Addition von 12 (mod 16) zur Summe S
resultierende Wert als die Summe nach der Korrektur gewählt, und da andererseits eine der Korrekturbedingungen der Ziffer
höherer Ordnung
ebenfalls erfüllt ist, wird der aus der Addition von Eins zu dem Dezimalteilprodukteingang PP resultierende Wert als der
Dezimalteilprodukteingang PP' des Übertragszwischenspeicher-Addierwerks
höherer Ordnung der einschlägigen Dezimalziffer in der nächsten Stufe gewählt. Infolgedessen ist
S=S+ "C" (mod 16) = "4" + "C" (mod 16) und die Ziffer höherer Ordnung PP' ist PP' = PP + 1.
In Fig. 10 weisen die Leitungen S, S1, C, C, PP und PP1
jeweils 4 Bits auf. Selbst wenn also ein Übertrag vom höchstwertigen Bit im Korrekturglied 31 infolge der Addition von
(6)in ((011O)2 wird dem S-Eingang mit 4 Bits zuaddiert) oder
der Addition von (12)1Q ((110O)2 wird dem S-Eingang mit 4 Bits
zuaddiert) auftritt, wird er vernachlässigt.
Die Fig. 11 und 12 zeigen weitere Beispiele der Dezimalübertrags-Korrekturtabellen,
die die Dezimalübertragskorrekturen des Summenausgangs und der Ziffer höherer Ordnung der
einschlägigen Dezimalziffer in den Abschnitten A I der Additionstabelle
von Fig. 7 erfüllen und zur Implementierung eines Dezimalschleifen-Addierwerks unter Verwendung eines Übertragszwischenspeicher-Addierwerks
dienen. Fig. 13 zeigt ein weiteres Ausführungsbeispiel einer Dezirnalübertrags-Korrekturschaltung
zur Durchführung dieser Korrekturen.
Fig. 11 zeigt ein weiteres Ausführungsbeispiel der Dezimalübertragskorrektur
des Summenausgangs von einem Übertragszwischenspeicher-Addierwerk.
Der Korrekturbetrag und die Korrekturbedingung in Fig. 11 bestehen aus zwei Schritten. Bei der
ersten Korrektur, wenn ("8" ± C < "F") = 1, erfolgt die Addition
von 6 (mod 16) zum Summenausgang S des Übertragszwischenspeicher-Addierwerks, und in den anderen Fällen erfolgt keine
Korrektur desselben. Der Summenausgang S, der der ersten Korrektur unterzogen wird, wird als S1 gewählt, und der aus der
Linksverschiebung um ein Bit des Übertragsausgangs des Übertragszwischenspeicher-Addierwerks
resultierende Wert wird als C genutzt. Bei der zweiten Korrektur, wenn
erfolgt die Addition von 6 (mod 16) zu S', und in den anderen Fällen erfolgt keine Korrektur, wobei '
G' = S0'+P0' "V+V 'V-V+V 'V'V'V
g. ' = S- ' · Gi I (i = 0 ^ 2)
S '^S ' und C0 1A, C3 1 sind Bitdarstellungen von S' und C, die
jeweils eine Dezimalziffer haben, und S0 1 und Cn 1 sind die
höchstwertigen Bits, während S3 1 und C3 1 die niederwertigsten
Bits sind. G1 ist eine Bedingung, wobei ein Übertrag als
Resultat einer binären Volladdition von S1 und C erzeugt wird.
Fig. 12 zeigt ein weiteres Ausführungsbeispiel der Dezimalübertrags-Korekturtabelle
für die Ziffer höherer Ordnung der einschlägigen Dezimalziffer. Der Korrekturbetrag und die Korrekturbedingung
in Fig. 12 sind nachstehend gezeigt: wenn
erfolgt die Addition von Eins zur Ziffer höherer Ordnung, und in anderen Fällen erfolgt keine Korrektur. S1, C und G1 haben
die vorstehend erläuterten Definitionen.
Fig. 13 zeigt einen Teil des weiteren Ausführungsbeispiels der
Dezimalübertragszwischenspeicher-Addiereinheit, die ein Dezimalübertragungs-Korrekturglied für jede Dezimalziffer (vier
Bits) verwendet, die die Korrekturbedingungen der Fig. 11 und 12 erfüllt. Die linke Einheit mit einer Dezimalzifferbreite
((d+1)-te Dezimalziffer) ist eine Dezimalziffer höherer Ordnung der Einheit (d-te Dezimalziffer) auf der rechten Seite. Die
erste Korrektur des Summenausgangs vom Übertragszwischenspeicher-Addierwerk
erfolgt durch ein erstes Summenausgangs-Korrekturglied 48 auf der Basis des Entscheidungsergebnisses eines
ersten Korrekturbetrag-Entscheidungsglieds 47 unter Nutzung des Werts des Übertragsausgangs des Übertragszwischenspeicher-Addierwerks
als Eingang für jede Dezimalziffer wie folgt: Wenn die Bedingung ("8" ί C £ "F") erfüllt ist, wird der aus der
Addition von 6 (mod 16) zur Summe S resultierende Wert als die Summe S1 nach der ersten Korrektur gewählt, und wenn die
vorgenannte Bedingung nicht erfüllt ist, wird der Wert der Summe S selbst als die Summe S1 nach der ersten Korrektur
gewählt. Dann erfolgt die zweite Korrektur des Summenausgangs S1 des ersten Summenausgangs-Korrekturglieds 48 durch ein
zweites Summenausgangs-Korrekturglied 50 auf der Grundlage des
Entscheidungsergebnisses eines zweiten Korrekturbetrag-Entscheidungsglieds 49 unter Verwendung der Werte des Summenausgangs
S und des Übertragsausgangs C aus dem Übertragszwischenspeicher-Addierwerk und der Werte der Summe S1 nach der
ersten Korrektur und des Übertrags C, der aus der Linksverschiebung
um ein Bit durch das Verschiebeglied 30 resultiert, als Eingangswerte, wenn die Bedingung
erfüllt ist, wird der aus der Addition von 6 (mod 16) zu S1
nach der ersten Korrektur resultierende Wert als die Summe S" nach der zweiten Korrektur gewählt, und wenn die vorgenannte
Bedingung nicht erfüllt ist, wird der Wert der Summe S' nach der ersten Korrektur selbst als die Summe S" nach der zweiten
Korrektur gewählt.
Die Korrektur der Addition von Eins zu der Ziffer höherer Ordnung der einschlägigen Dezimalziffer erfolgt für das Dezimalteilprodukt
PP für die nächste Stufe des Übertragszwischenspeicher-Addierwerks und wird von dem Dezimalkorrekturglied
höherer Ordnung auf der Basis des Entscheidungsergebnisses des zweiten Korrekturbetrag-Entscheidungsglieds 49 durchgeführt,
wobei als Eingänge der Summenausgang S, der Übertragsausgang C, die Summe S1 nach der ersten Korrektur und der Übertrag C nach
der Linksverschiebung um ein Bit wie folgt verwendet werden: Wenn die Bedingung
erfüllt ist, wird der aus der Addition von Eins zu dem Dezimalteilprodukteingang PP der nächsten Stufe des Übertragszwischenspeicher-Addierwerks
der Ziffer höherer Ordnung der einschlägigen Dezimalziffer als Dezimalteilprodukteingang PP1
nach der Korrektur gewählt, und wenn die vorgenannte Bedingung nicht erfüllt ist, wird das Dezimalteilprodukt PP selbst als
Dezimalteilprodukteingang PP1 nach der Korrektur gewählt.
Wenn z. B. S = "A" und C = "2", so ist, da die erste Korrekturbedingung
für den Summenausgang ("8" £ C <."F") nicht erfüllt
ist, die Summe S1 nach der ersten Korrektur S1 = S = "A", und
ebenso ist C1 = "6" oder C = "7", so daß die binäre Volladdition
von S1 und C die Übertragsverschiebung zur Ziffer höherer
Ordnung der einschlägigen Dezimalziffer erzeugt und damit
(G1 = 1) erfüllt ist. Da somit die Bedingung der zweiten
Korrekturbedingungen
erfüllt ist, wird der aus der Addition von 6 (mod 16) zur Summe S' nach der ersten Korrektur resultierende Wert als die Summe
S" nach der zweiten Korrektur gewählt, und der aus der Addition von Eins zum Dezimalteilprodukteingang PP erhaltene Wert wird
als Dezimalteilprodukteingang PP1 zur nächsten Stufe des Übertragszwischenspeicher-Addierwerks
der Ziffer höherer Ordnung der einschlägigen Dezimalziffer gewählt, da eine der Korrekturbedingungen
ebenfalls erfüllt ist. Infolgedessen ist S" = S1 + "6" (mod 16) = "0", und C = "6" oder C1 = "7" und
PP1 der Ziffer höherer Ordnung ist PP1 = PP + 1. Wenn S= "8"
und C = "E", so ist, da die erste Korrekturbedingung für den Summenausgang ("8" 5 C I11F") erfüllt ist, die Summe S1 nach
der ersten Korrektur
S=S+ "6" (mod 16) = "8" + "6" (mod 16) = "E" und ferner
C = "C" oder C = "D", so daß die Volladdition von S" und C
die Übertragsverschiebung zur Ziffer höherer Ordnung der einschlägigen Dezimalziffer erzeugt und damit (G1 = 1) erfüllt
ist. Da somit eine der zweiten Korrekturbedingungen
erfüllt ist, wird der aus der Addition von 6 (mod 16) zur Summe S1 nach der ersten Korrektur resultierende Wert als die Summe
S" nach der zweiten Korrektur gewählt. Und der aus der Addition von Eins zu dem Dezimalteilprodukteingang PP erhaltene Wert
wird als Dezimalteilprodukteingang PP' zur nächsten Stufe des Übertragszwischenspeicher-Addierwerks der höheren Ziffer der
einschlägigen Dezimalziffer gewählt, da eine der Korrekturbedingungen
ebenfalls erfülllt ist. Infolgedessen ist S" = S1 + "6"
(mod 16) = "E" + "6" (mod 16) = "4", und C = "C" oder C = "0"
und PP1 der Ziffer höherer Ordnung ist PP' = PP + 1.
Der vorgenannte Korrekturvorgang bedeutet, daß die Korrekturen der Addition von 12 (mod 16) zur Summe S und der Addition von
Eins zum Dezimalteilprodukteingang PP der Ziffer höherer Ordnung durch das erste und das zweite Korrekturglied
erfolgten. Dies zeigt, daß die Dezimalübertragszwischenspeicher-Addiereinheit so aufgebaut sein kann, daß sie nicht derart
vom Schaltungsaufbau abhängt, daß das Übertragszwischenspeicher-Addierwerk das Korrekturglied aufweist, das der Dezimalübertragskorrektur
des Summenausgangs und der Dezimalziffer höherer Ordnung in den Fig. 11 und 12 genügt und ferner den
Bedingungen in den Abschnitten A I der Additionstabelle von Fig. 7 genügt.
Fig. 14 zeigt ein Ausführungsbeispiel der Dezimalmultiplikations-Einrichtung,
die unter Verwendung der Dezimalübertragszwischenspeicher-Addiereinheit von Fig. 10 aufgebaut ist. Dabei
erfolgt die Multiplikation eines Multiplikators einer binärcodierten Dezimalzahl, die in das Multiplikator-Register 1
gesetzt ist, mit einem Multiplikanden einer binärcodierten
Dezimalzahl, die in das Multiplikand-Register 2 gesetzt ist, wie folgt.
Wenn ein Dezimalteilproduktgeber 46 aktiviert wird, wird durch die erste Dezimalteilproduktoperation des Multiplikanden, der
in das Multiplikand-Register 2 gesetzt ist, und des Multiplikators vorbestimmter Verarbeitungsbreite (z. B. eine Ziffer),
die aus der niedrigen Ordnung des in das Multiplikator-Register 1 gesetzten Multiplikators abgetrennt ist, das erste Dezimalteilprodukt
erzeugt. Dabei wird das durch eine Dezimalteilproduktoperation erhaltene Teilprodukt in zwei Zahlen DH und DL
unterteilt, die in die Teilproduktregister 16 bzw. 17 gesetzt werden. DH und DL sind nachstehend angegeben. Wenn z. B. der
Multiplikand (35)1Q mit 2 Ziffern mit dem eine Ziffer
aufweisenden Multiplikator (6)10 multipliziert wird, ist das
Resultat
35
xO6
xO6
30 (= 5 χ 6)
+18 (=3x6)
+18 (=3x6)
0210
DH und DL bezeichnen eine Ziffernfolge (130)-Q von Ziffern
höherer Ordnung und eine Ziffernfolge (080)1Q von Ziffern
niedriger Ordnung, die in den Produkten von zwei Ziffern enthalten sind, deren jede das Resultat der Multiplikation
jeder einzelnen Ziffer des Multiplikanden mit einer Ziffer des Multiplikators ist.
Das Zwischenprodukt-Summenregister 14 und das Zwischenprodukt-Übertragsregister
15 sind ursprünglich jeweils auf Null gesetzt. Zur gleichen Zeit, wenn das Teilprodukt im ersten
Zyklus erzeugt wird, wird der in das Multiplikator-Register 1 gesetzte Multiplikator um die abgetrennte Datenbreite nach
rechts verschoben und dort wieder gesetzt. Wenn der in das Zwischenprodukt-Summenregister 14 und der in das Zwischenprodukt-Übertragsregister
15 ursprünglich gesetzte Wert Null und
« ότ das in das Teilproduktregister 16 gesetzte Dezimalteilprodukt
DH in einer ersten Stufe des Übertragszwischenspeicher-Addierwerks 29a zur Übertragszwischenspeicherung addiert werden, wird
ein 6-Additionsglied 28 angesteuert und addiert 6 zu jeder
Dezimalziffer des Ausgangs des Zwischensummenregisters 14, in das der Anfangswert Null gesetzt ist, auf der Basis des Systems
zur Addition von zwei Zahlen, die durch binärcodierte Dezimalschreibweise bezeichnet sind, unter Verwendung des Binäraddierers
von Fig. 3 zur Erzeugung einer korrekten Summe von binärcodierten Dezimalzahlen. Ein 1-Additions-Korrekturglied
wird so angesteuert, daß der Ausgang des Teilproduktregisters 16 selbst als Eingang zum Übertragszwischenspeicher-Addierwerk
gewählt wird. Der Summenausgang des Übertragszwischenspeicher-Addierwerks
29a und das in das Teilproduktregister 17 gesetzte Dezimalteilprodukt DL werden der Dezimalziffernkorrektur für
jede Dezimalziffer - wie oben ausgeführt - unterzogen, und zwar durch ein Summenausgangs-Korrekturglied 31a und ein Korrekturglied
32b für Dezimalziffern höherer Ordnung, jeweils auf der Grundlage des Entscheidungsergebnisses eines Korrekturbetrag-Entscheidungsglieds
37a, das die Werte des Summenausgangs und des Übertragsausgangs vom ÜbertragsZwischenspeicher-Addierwerk
29a prüft. Der Übertragsausgang vom Übertragszwischenspeicher-Addierwerk wird durch eine Verschiebeeinheit 30a zur Bitstellenausrichtung
um ein Bit nach links verschoben. Die der Dezimalübertragskorrektur durch das Summenausgangs-Korrekturglied
31a unterzogene Summe, der um ein Bit durch das Verschiebeglied 30a nach links verschobene Übertragsausgang und
das der Übertragskorrektur zur Ziffer höherer Ordnung unterzogene Dezimalteilprodukt werden unter Übertragszwischenspeicherung
durch eine zweite Stufe des Übertragszwischenspeicher-Addierwerks 29b addiert, und das Resultat wird in Form einer
Summe und eines Übertrags erhalten. Eine Dezimalübertragskorrektur des Summenausgangs vom Übertragszwischenspeicher-Addierwerk
29b erfolgt durch ein Summenausgangs-Korrekturglied 31b auf der Grundlage des Entscheidungsergebnisses eines Korrekturbetrag-Entscheidungsglieds
37b, das die obigen Werte des Summenausgangs und des Übertragsausgangs prüft. Das Entschei-
dungsergebnis des Korrekturbetrag-Entscheidungsglieds 37b wird
in das Entscheidungsresultat-Register 42 gesetzt, das das 1-Additions-Korrekturglied 32a ansteuert, so daß der Ziffer
höherer Ordnung am Dezimalteilprodukt-DH-Eingang des Übertragszwischenspeicher-Addierwerks
in einem nächsten Zyklus Eins zuaddiert wird. Ein Übertragsausgang vom Übertragszwischenspeicher-Addierwerk
29b wird durch eine Verschiebeeinheit 30b zur Bitstellenausrichtung um ein Bit nach links verschoben. Die
der Dezimalübertragskorrektur durch das Summenausgangs-Korrekturglied
31b unterzogene Summe und der von der Verschiebeeinheit 30b um ein Bit nach links verschobene Übertragsausgang
werden von Verschiebeeinheiten 33 und 34 um eine vorbestimmte Datenverarbeitungsbreite des Multiplikators nach rechts
verschoben und in das Zwischenprodukt-Summenregister 14 sowie das Zwischenprodukt-Übertragsregister 15 gesetzt. Die Daten mit
der vorbestimmten Multiplikator-Verarbeitungsbreite niedriger Ordnung des Ausgangs des Summenausgangs-Korrekturglieds 31b und
des Ausgangs der Verschiebeeinheit 30b, die eine Verschiebung nach links um ein Bit bewirkt, d. h., die Summe und der
Übertrag der niedrigsten Ordnung des Endprodukts mit der vorbestimmten Multiplikator-Verarbeitungsbreite, werden in ein
Überlaufaddierwerk eingegeben und dort binär volladdiert. Wenn ein Übertrag zu einer Ziffer höherer Ordnung der einschlägigen
Dezimalziffer weitergegeben wird, wird das Additionsergebnis
selbst als der Wert dieser Dezimalziffer gewählt, und wenn kein Übertrag weitergegeben wird, erfolgt die Korrektur durch
Subtraktion von 6, d. h., der aus der Subtraktion von 6 durch das 6-Subtraktionsglied 44 resultierende Wert wird als der Wert
dieser Dezimalziffer des Endprodukts gewählt. Diese Operationen werden für jede Dezimalziffer durchgeführt. Der erhaltene Wert
als Teil des Endprodukts mit der vorbestimmten Verarbeitungsbreite des Multiplikators wird in das Multiplikator-Register 1
übertragen und dort in den Teil höchster Ordnung mit der vorbestimmten Verarbeitungsbreite des Multiplikators gesetzt.
Die gleiche Verarbeitung wird für sämtliche bedeutsamen Ziffern des Multiplikators wiederholt, wobei allerdings die Addition
von 6 durch das 6-Additionsglied 28 nicht erfolgt. So wird der
Teil niedriger Ordnung des Endprodukts mit der Breite der bedeutsamen Ziffern des Multiplikators im Multiplikator-Register
1 nach links ausgerichtet, während der Teil höherer Ordnung des Endprodukts am Summenausgang und am Übertragsausgang
des Übertragszwischenspeicher-Addierwerks 29b im Operationszyklus für eine bedeutsame Endziffer erhalten wird. Wie in
der Additionstabelle von Fig. 7 gezeigt ist, gibt es Fälle, in denen die Addition von Eins zur Ziffer höherer Ordnung der
einschlägigen Dezimalziffer für bestimmte Kombinationen des Summen- und des Übertragsausgangs erforderlich ist. Nachdem
daher die Verarbeitung für sämtliche bedeutsamen Ziffern des Multiplikators in der oben angegebenen Weise wiederholt wurde,
wird die Verarbeitung in noch einem Zyklus wiederholt unter Verwendung von Null der höheren Ordnung zu den bedeutsamen
Ziffern des Multiplikators. Damit wird die Addition von Eins zu Ziffern höherer Ordnung der einschlägigen Dezimalziffer
beendet. Die erhaltene Summe bzw. der Übertrag des Endprodukts, d. h,, der Ausgang des Summenausgangs-Korrekturglieds 31b und
der Ausgang der Verschiebeeinheit 30b, werden in einem binären Volladdierwerk 35 binär volladdiert. Wenn danach ein Übertrag
zu einer Ziffer höherer Ordnung der einschlägigen Dezimalziffer weitergegeben wird, wird das Additionsergebnis selbst als der
Wert dieser Dezimalziffer gewählt, und wenn kein Übertrag weitergegeben wird, erfolgt die Korrektur durch Subtraktion von
6, d. h., der aus der Subtraktion von 6 durch das 6-Subtraktionsglied
36 erhaltene Wert wird als der Wert dieser Dezimalziffer des Endprodukts gewählt. Diese Operationen werden für
jede Dezimalziffer durchgeführt. Der erhaltene Wert des Teils höherer Ordnung des Endprodukts wird zum Multiplikand-Register
2 übertragen und in dieses gesetzt.
In der vorgenannten Weise wird die Dezimalmultiplikation eines Multiplikators mit binärcodierten Dezimalzahlen und eines
Multiplikanden gleicher Schreibweise durch eine Dezimalmultiplikations-Einrichtung
durchgeführt, die eine Dezimalübertragszwischenspeicher-Addiereinheit
aufweist, die ein Übertragszwischenspeicher-Addierwerk und ein Dezimalübertrag-Korrekturglied
aufweist, und somit kann das Produkt der binärcodierten Dezimalzahlen erhalten werden.
Fig. 15 zeigt einen Teil des Dezimalschleifenaddierwerks, das
die Dezimalübertragszwischenspeicher-Addiereinheit von Fig. 13 aufweist. Dieses Dezimalschleifenaddierwerk kann auch ein
binärcodiertes Dezimalprodukt durch die Dezimalmultiplikation eines binärcodierten Dezimalmultiplikators mit einem binärcodierten
Dezimalmultiplikanden mit Hilfe der gleichen Abarbeitung, die unter Bezugnahme auf Fig. 14 erläutert wurde,
bilden. Die Operation läuft vollständig entsprechend derjenigen nach Fig. 14 ab, so daß sie nicht erläutert wird.
Wie unter Bezugnahme auf Fig. 14 erläutert wurde, wird die Dezimalmultiplikations-Einrichtung so gesteuert, daß die Summe
und der Übertrag des im Dezimalschleifenaddierwerk erhaltenen Endprodukts in einem binären Volladdierwerk volladdiert werden,
wonach die Korrektur durch Subtraktion von 6 für jede Dezimalziffer in Abhängigkeit.davon erfolgt, ob eine Übertragsweiterleitung
an eine Ziffer höherer Ordnung erfolgt, so daß eine korrekte binärcodierte Dezimalzahl erhalten wird, und zwar in
solcher Weise, daß nach Wiederholung der Abarbeitung für sämtliche bedeutsamen Ziffern des Multiplikators die Operation
in einem weiteren Zyklus wiederholt wird unter Verwendung von Null der höchsten Ordnung der bedeutsamen Ziffern des Multiplikators,
um dadurch die Additionskorrektur um Eins der Ziffer höherer Ordnung zu vervollständigen.
Fig. 16 zeigt ein weiteres Ausführungsbeispiel der Dezimalmultiplikations-Einrichtung.
Damit der letzte Operationszyklus unter Verwendung von Null der Ziffer höherer Ordnung zu den
bedeutsamen Ziffern nicht erforderlich ist, werden der Ausgang eines 1-Additions-Korrekturglieds 55 sowie die Summe und der
Übertrag des Endprodukts in das binäre Volladdierwerk 54 eingegeben, das drei Eingänge für jede Dezimalziffer aufweist,
und wenn die 1-Additionskorrektur der Ziffer höherer Ordnung jeder einschlägigen Dezimalziffer erforderlich ist infolge der
Operation für die bedeutsamste Ziffer, erfolgen die 1-Additions-Korrekturen der Ziffern höherer Ordnung durch das
drei Eingänge aufweisende binäre Volladdierwerk.
Die hier angegebene Dezimalmultiplikations-Einrichtung bietet den Vorteil, daß ihr Dezimalschleifenaddierwerk im wesentlichen
ebenso wie ein binäres Multiplikations-Schleifenaddierwerk betrieben werden kann. Das Dezimalschleifenaddierwerk ist unter
Verwendung eines Dezimalübertragszwischenspeicher-Addierwerks aufgebaut, in dem ein zur binären Hochgeschwindigkeits-Multiplikation
verwendetes Übertragszwischenspeicher-Addierwerk mit einem Dezimalübertrags-Korrekturglied ausgerüstet ist. Die
Dezimalübertragskorrektur ist durch eine relativ geringe Hardware-Menge implementierbar. Die Dezimalmultiplikation nach
der Erfindung erfolgt mit ungefähr der vierfachen Hochgeschwindigkeit der Schleifenoperation wie bei der konventionellen
Dezimalmultiplikations-Einrichtung.
Da ferner die Dezimalmultiplikations-Einrichtung unter
Ausbildung eines binären Übertragszwischenspeicher-Addierwerks als Grundkonstruktionselement mit einem Dezimalübertrags-Korrekturglied
aufgebaut ist, macht eine geringfügige Modifikation der Steuerung des Schleifenaddierwerks in der Einrichtung die
Anwendung sowohl, für Binär- als auch für Dezimal-Multiplikation
möglich.
- Leerseite -
Claims (10)
- Patentansprüche1 .JDezimalmultiplikations-Einrichtung zur Bildung eines Produkts aus einem Multiplikator und einem Multiplikanden, die beide in binärcodierter Dezimalform vorliegen, wobei der Multiplikator in η Gruppen unterteilt wird, deren jede durch wenigstens eine Ziffer gebildet ist, und im Verlauf von η Zyklen aufeinanderfolgend η Teilprodukte durch Multiplikation des Multiplikanden mit den η Multiplikator-Gruppen gebildet und zu einem Zwischenprodukt addiert werden, das die Summe der aufeinanderfolgenden Teilprodukte ist, gekennzeichnet durcha) Dezimalteilprodukt-Erzeugungseinheiten (1, 2, 46), die aufeinanderfolgend die η Teilprodukte von Multiplikator und Multiplikand während der η Zyklen erzeugen;b) ein Zwischenprodukt-Summenregister (14) und ein Zwischenprodukt-Übertragsregister (15), in denen das Zwischenprodukt in Form von Summe bzw. Übertrag gespeichert ist;c) ein Addierglied (28), das zu jeder Ziffer der Zwischenproduktsumme aus dem Zwischenprodukt-Summenregister bzw. dem Teilprodukt aus den Teilprodukt-Erzeugungseinheiten 6 hinzuaddiert;81-A8812-02-Schöeine Übertragszwischenspeicher-Addiereinheit (29, 30, 31, 37, 42), die ein Übertragszwischenspeicher-Addierwerk (29) aufweist, das unter Übertragszwischenspeicherung das Teilprodukt aus den Teilprodukt-Erzeugungseinheiten, die Zwischenproduktsumme aus dem Zwischenprodukt-Summenregister und den Zwischenproduktübertrag aus dem Zwischenprodukt-Übertragsregister addiert und das Additionsergebnis in Form einer Summe und eines Übertrags ausgibt und die resultierende Summe bzw. den Übertrag dem Zwischenprodukt-Summenregister bzw. dem Zwischenprodukt-Übertragsregister zuführt;e) wobei die Übertragszwischenspeicher-Addiereinheit Korrekturglieder (31, 32, 37) aufweist, die den Summenausgang des Übertragszwischenspeicher-Addierwerks für jede Ziffer korrigieren und das Teilprodukt aus den Teilprodukt-Erzeugungseinheiten in einem nächstfolgenden Zyklus für jede Ziffer auf der Basis der Summe und des Übertrags als Ausgänge vom Übertragszwischenspeicher-Addierwerk korrigieren;f) ein Volladdierwerk (35), das eine binäre Volladdition des Summenausgangs und des Übertragsausgangs aus der Übertragszwischenspeicher-Addiereinheit durchführt; undg) ein 6-Subtraktionsglied (36), das entweder den Ausgang des Volladdierers selbst oder den durch Subtraktion von 6 von diesem für jede Ziffer als Multiplikationsergebnis ausgibt nach Maßgabe des Vorliegens einer Übertrags-Weitergabe von jeder Ziffer zu einer Ziffer höherer Ordnung in dem Volladdierer.
- 2. Dezimalmultiplikations-Einrichtung nach Anspruch 1, dadurch gekennzeichnet, daß die Korrekturglieder umfassen:ein Entscheidungsglied (37), das entscheidet, ob für jede Ziffer eine Korrektur des Summenausgangs und eine Übertragskorrektur der Ziffer höherer Ordnung erforderlich ist auf der Grundlage d,er Summe und des Übertrags, die aus dem Übertragszwischenspeicher-Addierwerk ausgegeben werden;ein Summenausgangs-Korrekturglied (31), das den Summenausgang aus dem Übertragszwischenspeicher-Addierwerk für jede Ziffer auf der Grundlage des Entscheidungsergebnisses des Entscheidungsglieds, ob die Korrektur des Summenausgangs erforderlich ist, korrigiert; und- ein Korrekturglied (32) für Ziffern höherer Ordnung, das zwischen die Teilprodukt-Erzeugungseinheiten und das Übertragszwischenspeicher-Addierwerk geschaltet ist und im nächstfolgenden Zyklus das Teilprodukt für jede Ziffer auf der Grundlage des Entscheidungsergebnisses des Entscheidungsglieds, ob die Übertragskorrektur erforderlich ist, korrigiert.
- 3. Dezimalmultiplikations-Einrichtung nach Ansruch 2, dadurch gekennzeichnet, daß die Übertragszwischenspeicher-Addiereinheit ein erstes Verschiebeglied aufweist, das den Übertragsausgang des Übertragszwischenspeicher-Addierwerks in eine um ein Bit höhere Stelle verschiebt und ausgibt.
- 4. Dezimalmultiplikations-Einrichtung nach Anspruch 3, gekennzeichnet durch eine zweite Verschiebeeinheit (33, 34), die die Summe und den Übertrag aus der Übertragszwischenspeicher-Addiereinheit des vorhergehenden Zyklus zur Ziffernausrichtung im nächstfolgenden Zyklus jeweils verschiebt und die resultierende Summe bzw. den resultierenden Übertrag dem Zwischenprodukt-Summenregister bzw. dem Zwischenprodukt-Übertragsregister zuführt.
- 5. Dezimalmultiplikations-Einrichtung nach Anspruch 4, gekennzeichnet durch ein Überlaufaddierwerk (43), das einen Summen- und einen Übertragsausgang der übergelaufenen Ziffern niedriger Ordnung, der gleich der Anzahl der von der zweiten Verschiebeeinheit verschobenen Ziffern des Summenausgangs und des Übertragsausgangs der Übertragszwischenspeicher-Addiereinheit ist, addiert, undein 6-Subtraktionsglied (44), das entweder den Ausgang des Überlaufaddierwerks selbst oder den aus der Subtraktion von von diesem resultierenden Wert für jede Ziffer als Multiplikationsergebnis der übergelaufenen Ziffern nach Maßgabe des Vorliegens einer Übertrags-Weitergabe von jeder Ziffer zu einer Ziffer höherer Ordnung in dem Überlaufaddierwerk ausgibt.
- 6. Dezimalmultiplikations-Einrichtung nach Anspruch 1, dadurch gekennzeichnet,- daß jede Teilprodukt-Erzeugungseinheit jedes Teilprodukt in einen Ziffernanteil höherer Ordnung und einen Ziffernanteil niedriger Ordnung unterteilt ausgibt; daß der Ziffernanteil höherer Ordnung eine Spalte der höheren Ziffern jedes Produkts jeder Ziffer des Multiplikanden und einer Gruppe des Multiplikators bezeichnet, während die Ziffer niedriger Ordnung eine Spalte der niedrigeren Ziffern dieses Produkts bezeichnet; daß die Übertragszwischenspeicher-Addiereinheit ein erstes und ein zweites Übertragszwischenspeicher-Addierwerk (29a, 29b) aufweist, die in zwei Stufen in Kaskadenschaltung angeordnet sind;daß der Ziffernabschnitt höherer Ordnung der Teilprodukt-Erzeugungseinheiten, die Zwischenproduktsumme des Zwischenprodukt-Summenregisters und der Zwischenproduktübertrag des Zwischenprodukt-Übertragsregisters als Eingänge dem ersten Übertragszwischenspeicher-Addierwerk zugeführt werden, während die Summe und der Übertrag aus dem ersten Übertragszwischenspeicher-Addierwerk und der Ziffernabschnitt niedriger Ordnung der Teilprodukt-Erzeugungseinheiten als Eingänge dem zweiten Übertragszwischenspeicher-Addierwerk zugeführt werden; unddaß die Korrekturglieder eine erste Korrektureinheit (31a, 32b, 37a) aufweisen, die den Summenausgang des ersten Übertragszwischenspeicher-Addierwerks für jede Ziffer und den Ziffernabschnitt niedriger Ordnung der Teilprodukt-Erzeugungseinheiten für jede Ziffer auf der Basis der Summe und des Übertrags als Ausgänge des ersten übertragszwischen-Speicher-Addierwerks korrigiert, und eine zweite Korrektureinheit (31b, 32a, 37b) aufweisen, die den Summeηausgang des zweiten Übertragszwischenspeicher-Addierwerks für jede Ziffer und den Ziffernabschnitt höherer Ordnung der Teilprodukt-Erzeugungseinheiten für jede Ziffer auf der Basis der Summe und des Übertrags als Ausgänge des zweiten Übertragszwischenspeicher-Addierwerks korrigiert.
- 7. Dezimalmultiplikations-Einrichtung nach Anspruch 6, dadurch gekennzeichnet, daß die erste Verschiebeeinheit ein drittes Verschiebeglied (30a) aufweist, das den Übertragsausgang des ersten Übertragszwischenspeicher-Addierwerks in eine um ein Bit höherwertige Stelle verschiebt und ihn dem zuweiten Übertragszwischenspeicher-Addierwerk zuführt, und ein viertes Verschiebeglied (30b) aufweist, das den Übertragsausgang des zweiten Übertragszwischenspeicher-Addierwerks in eine um ein Bit höherwertige Stelle verschiebt und ihn als Übertragsausgang aus der Übertragszwischenspeicher-Addiereinheit ausgibt.
- 8. Dezimalmultiplikations-Einrichtung nach Anspruch 7, gekennzeichnet durch eine fünfte Verschiebeeinheit (33, 34), die die Summe und den Übertrag aus der Übertragszwischenspeicher-Addiereinheit zur Ziffernstellenausrichtung in einem nachfolgenden Zyklus jeweils verschiebt und sie in das Zwischenprodukt-Summenregister bzw. das Zwischenprodukt-Übertragsregj-Ster setzt.
- 9. Dezimalmultiplikations-Einrichtung nach Anspruch 8, gekennzeic h η e t d u r c h ein Überlaufaddierwerk (43), das einen Summen- und einen Übertragsausgang der übergelaufenen Ziffern niedriger Ordnung, der gleich der von dem zweiten Verschiebeglied verschobenen Anzahl Ziffern ist, des Summenausgangs und des Übertragsausgangs aus der Übertragszwischenspeicher-Addiereinheit addiert, und~ " 342A078ein 6-Subtraktionsglied (44), das entweder den Ausgang des Überlaufaddierwerks selbst oder den aus der Subtraktion von von diesem resultierenden Wert für jede Ziffer als Multiplikationsergebnis der übergelaufenen Ziffer nach Maßgabe des Vorliegens einer Übertragsweiterleitung von jeder Ziffer zu einer Ziffer höherer Ordnung in dem überlaufaddierwerk ausgibt.
- 10. Dezimalmultiplikations-Einrichtung nach Anspruch 7, dadurch gekennzeichnet, daß die erste Korrektureinheit dritte Korrekturglieder (47, 48) aufweist, die den Ausgang des ersten Übertragszwischenspeicher-Addierwerks für jede Ziffer auf der Basis der Summe und des Übertrags als Ausgänge des ersten Übertragszwischenspeicher-Addierwerks korrigieren, und dritte Korrekturglieder (49, 50, 32) aufweist, die den Summenausgang der dritten Korrekturglieder für jede Ziffer und den Ziffernabschnitt niedriger Ordnung der Teilprodukt-Erzeugungseinheiten für jede Ziffer korrigieren.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP58119556A JPS6011927A (ja) | 1983-07-01 | 1983-07-01 | 10進乗算装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
DE3424078A1 true DE3424078A1 (de) | 1985-01-10 |
DE3424078C2 DE3424078C2 (de) | 1989-06-29 |
Family
ID=14764235
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19843424078 Granted DE3424078A1 (de) | 1983-07-01 | 1984-06-29 | Dezimalmultiplikations-einrichtung |
Country Status (3)
Country | Link |
---|---|
US (1) | US4677583A (de) |
JP (1) | JPS6011927A (de) |
DE (1) | DE3424078A1 (de) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0237928A2 (de) * | 1986-03-18 | 1987-09-23 | Deutsche Thomson-Brandt GmbH | Verfahren zur Korrektur von blockweise übertragenen diskreten Werten |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS60140429A (ja) * | 1983-12-28 | 1985-07-25 | Hitachi Ltd | 10進乗算装置 |
US4947364A (en) * | 1985-10-23 | 1990-08-07 | Hewlett-Packard Company | Method in a computing system for performing a multiplication |
JPH0769784B2 (ja) * | 1987-09-29 | 1995-07-31 | 日本電気株式会社 | 10進加算装置 |
US7546328B2 (en) * | 2004-08-31 | 2009-06-09 | Wisconsin Alumni Research Foundation | Decimal floating-point adder |
US7743084B2 (en) * | 2004-09-23 | 2010-06-22 | Wisconsin Alumni Research Foundation | Processing unit having multioperand decimal addition |
US7475104B2 (en) * | 2005-02-09 | 2009-01-06 | International Business Machines Corporation | System and method for providing a double adder for decimal floating point operations |
US7519647B2 (en) | 2005-02-09 | 2009-04-14 | International Business Machines Corporation | System and method for providing a decimal multiply algorithm using a double adder |
US8577952B2 (en) * | 2008-12-08 | 2013-11-05 | International Business Machines Corporation | Combined binary/decimal fixed-point multiplier and method |
US8566385B2 (en) * | 2009-12-02 | 2013-10-22 | International Business Machines Corporation | Decimal floating point multiplier and design structure |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE2952229A1 (de) * | 1979-01-03 | 1980-07-17 | Honeywell Inf Systems | Verfahren und einrichtung zur multiplikation von dezimalzahlen in einer dv-anlage |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB1196298A (en) * | 1966-10-04 | 1970-06-24 | Zentralen Inst Istchislitelna | Electric Circuit for Performing the Operation 'Multiplication', Especially in Electronic Calculators |
US3958112A (en) * | 1975-05-09 | 1976-05-18 | Honeywell Information Systems, Inc. | Current mode binary/bcd arithmetic array |
US4484300A (en) * | 1980-12-24 | 1984-11-20 | Honeywell Information Systems Inc. | Data processor having units carry and tens carry apparatus supporting a decimal multiply operation |
JPS58129653A (ja) * | 1982-01-29 | 1983-08-02 | Hitachi Ltd | 乗算方式 |
-
1983
- 1983-07-01 JP JP58119556A patent/JPS6011927A/ja active Granted
-
1984
- 1984-06-27 US US06/625,131 patent/US4677583A/en not_active Expired - Fee Related
- 1984-06-29 DE DE19843424078 patent/DE3424078A1/de active Granted
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE2952229A1 (de) * | 1979-01-03 | 1980-07-17 | Honeywell Inf Systems | Verfahren und einrichtung zur multiplikation von dezimalzahlen in einer dv-anlage |
Non-Patent Citations (2)
Title |
---|
H. Hellermann,"Digital Computer System Principles"(McGraw-Hill Book Co., 1967, S. 300-301 * |
IBM Techn. Disclos. Bull., Vol. 14, Nr. 6, Nov. 1971, S. 1813-1816 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0237928A2 (de) * | 1986-03-18 | 1987-09-23 | Deutsche Thomson-Brandt GmbH | Verfahren zur Korrektur von blockweise übertragenen diskreten Werten |
DE3608914A1 (de) * | 1986-03-18 | 1987-10-01 | Thomson Brandt Gmbh | Verfahren zur korrektur |
US4758889A (en) * | 1986-03-18 | 1988-07-19 | Deutsche Thomson-Brandt Gmbh | Value correction method |
EP0237928A3 (en) * | 1986-03-18 | 1989-03-29 | Deutsche Thomson-Brandt Gmbh | Method for correcting blockwise transmitted discrete values |
Also Published As
Publication number | Publication date |
---|---|
DE3424078C2 (de) | 1989-06-29 |
JPH0234054B2 (de) | 1990-08-01 |
US4677583A (en) | 1987-06-30 |
JPS6011927A (ja) | 1985-01-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE4302898C2 (de) | Arithmetische Recheneinheit mit Akkumulierfunktion | |
DE1956209C3 (de) | Multipliziervorrichtung | |
DE19758079A1 (de) | Verfahren und Vorrichtung zur Galoisfeld-Multiplikation | |
DE2758130C2 (de) | Binärer und dezimaler Hochgeschwindigkeitsaddierer | |
DE3424078A1 (de) | Dezimalmultiplikations-einrichtung | |
DE4101004A1 (de) | Paralleler multiplizierer mit sprungfeld und modifiziertem wallac-baum | |
DE3447634C2 (de) | ||
DE2039228C3 (de) | Schaltungsanordnung in einer Datenverarbeitungsanlage zum Verschieben einer binär kodierten Oktalzahl um eine Anzahl von Dezimalstellen nach rechts | |
EP0265555A1 (de) | Verfahren und Schaltungsanordnung zur Addition von Gleitkommazahlen | |
DE1449564C3 (de) | Recheneinrichtung zur Subtraktion mehrerer Operanden oder zu deren Addition durch Verwendung von Komplementärwerten eines der Operanden | |
DE2727051C3 (de) | Einrichtung zur binären Multiplikation einer ersten Zahl als Multiplikand mit einer den Multiplikator ergebenden Summe aus einer zweiten und dritten Zahl im Binärcode | |
DE1241159B (de) | UEbertragschaltung fuer ein Schnelladdierwerk | |
DE2855946A1 (de) | Pla-addierschaltung | |
DE2913729C2 (de) | Schaltungsanordnung zur bitparallelen Binäraddition oder zum Shiften von Binärzahlen | |
DE1499227C3 (de) | Schaltungsanordnung für arithmetische und logische Grundoperationen | |
DE1549485C3 (de) | Anordnung zur Division binärer Operanden ohne Rückstellung des Restes | |
DE1549105C3 (de) | Codeprüfanordnung für die Korrektur fehlerhaft übertragener Zeichen | |
DE3302013A1 (de) | Divisionsvorrichtung | |
DE19847245C2 (de) | Kombinierte Addierer- und Logik-Einheit | |
DE3634691A1 (de) | Differenzpulscodemodulator sowie dessen verwendung als demodulator | |
DE2207566C3 (de) | Serien-Parallel-Multiplizierwerk | |
DE2902488C2 (de) | ||
DE2460897B2 (de) | Parallel-rechenwerk fuer addition und subtraktion | |
DE1524177C (de) | Multiplikationseinrichtung zur teilweise parallelen Multiplikation binärer Faktoren | |
DE2027179C (de) | Rechenwerk zur arithmetischen oder bitweisen logischen Verknüpfung |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OP8 | Request for examination as to paragraph 44 patent law | ||
D2 | Grant after examination | ||
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |