DE3424078A1 - Dezimalmultiplikations-einrichtung - Google Patents

Dezimalmultiplikations-einrichtung

Info

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
Application number
DE19843424078
Other languages
English (en)
Other versions
DE3424078C2 (de
Inventor
Masaharu Hadano Fukuta
Sako Ishikawa
Toru Ohtsuki
Yoshio Oshima
Hideaki Yabe
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Publication of DE3424078A1 publication Critical patent/DE3424078A1/de
Application granted granted Critical
Publication of DE3424078C2 publication Critical patent/DE3424078C2/de
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods 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/491Computations with decimal numbers radix 12 or 20.
    • G06F7/4915Multiplying; 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".
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".
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) 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
30 (= 5 χ 6)
+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)

  1. Patentansprüche
    1 .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 durch
    a) 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; und
    g) 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. 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. 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. 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. 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, und
    ein 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. 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; und
    daß 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. 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. 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. 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
    ~ " 342A078
    ein 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. 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.
DE19843424078 1983-07-01 1984-06-29 Dezimalmultiplikations-einrichtung Granted DE3424078A1 (de)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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 乗算方式

Patent Citations (1)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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