DE4409834A1 - Multiplizierschaltung und Divisionsschaltung - Google Patents
Multiplizierschaltung und DivisionsschaltungInfo
- Publication number
- DE4409834A1 DE4409834A1 DE4409834A DE4409834A DE4409834A1 DE 4409834 A1 DE4409834 A1 DE 4409834A1 DE 4409834 A DE4409834 A DE 4409834A DE 4409834 A DE4409834 A DE 4409834A DE 4409834 A1 DE4409834 A1 DE 4409834A1
- Authority
- DE
- Germany
- Prior art keywords
- adder
- output
- quotient
- given
- digit
- 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/52—Multiplying; Dividing
- G06F7/523—Multiplying only
- G06F7/53—Multiplying only in parallel-parallel fashion, i.e. both operands being entered in parallel
- G06F7/5306—Multiplying only in parallel-parallel fashion, i.e. both operands being entered in parallel with row wise addition of partial products
- G06F7/5312—Multiplying only in parallel-parallel fashion, i.e. both operands being entered in parallel with row wise addition of partial products using carry save adders
-
- 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/52—Multiplying; Dividing
- G06F7/535—Dividing only
-
- 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/499—Denomination or exception handling, e.g. rounding or overflow
- G06F7/49942—Significance control
- G06F7/49947—Rounding
- G06F7/49963—Rounding to nearest
-
- 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/52—Multiplying; Dividing
- G06F7/523—Multiplying only
- G06F7/533—Reduction of the number of iteration steps or stages, e.g. using the Booth algorithm, log-sum, odd-even
- G06F7/5334—Reduction of the number of iteration steps or stages, e.g. using the Booth algorithm, log-sum, odd-even by using multiple bit scanning, i.e. by decoding groups of successive multiplier bits in order to select an appropriate precalculated multiple of the multiplicand as a partial product
- G06F7/5336—Reduction of the number of iteration steps or stages, e.g. using the Booth algorithm, log-sum, odd-even by using multiple bit scanning, i.e. by decoding groups of successive multiplier bits in order to select an appropriate precalculated multiple of the multiplicand as a partial product overlapped, i.e. with successive bitgroups sharing one or more bits being recoded into signed digit representation, e.g. using the Modified Booth Algorithm
- G06F7/5338—Reduction of the number of iteration steps or stages, e.g. using the Booth algorithm, log-sum, odd-even by using multiple bit scanning, i.e. by decoding groups of successive multiplier bits in order to select an appropriate precalculated multiple of the multiplicand as a partial product overlapped, i.e. with successive bitgroups sharing one or more bits being recoded into signed digit representation, e.g. using the Modified Booth Algorithm each bitgroup having two new bits, e.g. 2nd order MBA
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Complex Calculations (AREA)
Description
Die vorliegende Erfindung bezieht sich auf eine Multiplizier
schaltung und auf eine Divisionsschaltung, und genauer auf sol
che, die mit einer Rundungsfunktion ausgerüstet sind.
Fig. 21 und 22 sind Schaltbilder, die jeweils eine Teilstruk
tur einer herkömmlichen Multiplizierschaltung 100 zeigen. In Kom
bination zeigen die Fig. 21 und 22 die gesamte Struktur der
Multiplizierschaltung 100.
Ein Multiplikand 1a (= A3 A2 A1 A0) und ein Multiplikator 1b
(= B3 B2 B1 B0), die an die Multiplizierschaltung 100 gegeben wer
den, sind jeweils in binären 4 Bits ausgedrückt. Der Multiplikand
1a und der Multiplikator 1b werden in einem carry-save-Multipli
zierteil 30 zum Erhalt eines ersten Multiplikationsergebnisses 4
(= P′7 P′6 P′5 P′4 P′3 P′2 P′1 P′0) multipliziert. Das sechsthöch
ste Bit (sechstsignifikante Bit) des Multiplikationsergebnisses 4
wird in einer Bruchzahlrundungsschaltung 5 gerundet, wobei ein
zweites binäres 5-Bit Multiplikationsergebnis 2 (= P7 P6 P5 P4 P3)
erhalten wird.
In der verwendeten Darstellung stellt der Index i der Daten
(= 0, 1, 2, 3) die Stelle von 2i dar. "Runden" bedeutet, eine ge
rundete Zahl zu berechnen, und entspricht dem Runden der Bruch
zahlen in dem Dezimalsystem.
Der Multiplizierteil 30 wird durch ein Erzeugungsteil 30a für
Teilprodukte und einen Additionsverarbeitungsteil 30b gebildet.
Der Erzeugungsteil 30a für Teilprodukte erzeugt eine Teilprodukt
gruppe 6 aus dem Multiplikanden 1a und dem Multiplikator 1b. Der
Additionsverarbeitungsteil 30b führt eine Übertragungsspar- bzw.
Übertragssicherung-Addition (carry-save Addition) unter Verwen
dung der Halbaddierer (Einziffer-Addierglieder) 7a bis 7c, der
Volladdierer (Addierglieder) 8a bis 8f und eines Hochgeschwindig
keitsaddierers 9 mit Parallelübertrag aus, wobei die Ziffern bzw.
Stellen der Teilproduktgruppe 6 ausgerichtet werden. Das gestri
chelte Gitter in dem Additionsverarbeitungsteil 30b stellt dar,
wie die Stellen aus-gerichtet werden, und stellt die Stufen, in
denen eine Addition ausgeführt wird, dar.
Fig. 23 ist ein Schaltbild, das eine Struktur einer herkömmli
chen Divisionsschaltung 200 zeigt. Ein Dividend A und ein Divisor
(Teiler) B, die an die Divisionsschaltung 200 gegeben werden,
sind jeweils in binären 8 Bit gegeben und erfüllen die Beziehung
A < B. Der Dividend A und der Divisor B werden einer 9-Bit Divi
sionsschaltung 10 zugeführt, die einen Quotienten Q′ berechnet,
der dezimale 9 Bits enthält. Der Quotient Q′ wird der Rundungs
schaltung 5 eingegeben, welche das dezimale neunte Bit des Quo
tienten Q′ rundet und einen 8-Bit Quotienten Q ausgibt.
Fig. 24 ist ein Schaltbild, das die Details der 9-Bit Divisions
schaltung 10 zeigt. Die 9-Bit Divisionsschaltung 10 weist 1-Bit
Quotientenbestimmungsschaltungen 12a, 12b . . . 12i auf. Zuerst
werden 9-Bit Daten, die durch Addieren von 0 an die niedere
Bitseite des Dividenden A erhalten werden, durch den Divisor B in
der 1-Bit Quotientenbestimmungsschaltung 12a dividiert, und das
resultierende signifikanteste Bit wird als ein 1-Bit Quotient q′8
bestimmt. Zur selben Zeit wird ein 8-Bit Rest R8 berechnet.
Als nächstes werden 9-Bit Daten, die durch Addieren von 0 an die
niedere Bitseite des 8-Bit Restes R8 erhalten werden, durch den
Divisor B in der 1-Bit Quotientenbestimmungsschaltung 12b ge
teilt, und das resultierende signifikanteste Bit wird als ein 1-
Bit Quotient q′7 bestimmt, und ein Rest R7 berechnet. Auf diese
Art werden 1-Bit Quotienten nacheinander berechnet, bis letztend
lich ein 1-Bit Quotient q′0 berechnet ist. Derart wird der 9-Bit
Quotient Q′ (= q′8 q′7 q′6 q′5 q′4 q′3 q′2 q′1 q′0) erhalten.
Mit einer Struktur wie oben benötigen die herkömmliche Multipli
zierschaltung und die herkömmliche Divisionsschaltung eine Run
dungsschaltung, was in einem Anstieg der Anzahl von Verarbei
tungsstufen, einer größeren Schaltungsgröße und einer verzögerten
Betriebsgeschwindigkeit resultiert.
Es ist Aufgabe der vorliegenden Erfindung, eine Multiplizier
schaltung und eine Divisionsschaltung, die nur eine kleine Schal
tungsgröße benötigen und ein Runden bei hoher Geschwindigkeit
ausführen, zu ermöglichen.
Diese Aufgabe wird gelöst durch eine Multiplizierschaltung nach
Anspruch 1 oder eine Divisionsschaltung nach Anspruch 11 oder 12
oder 13 oder 14 oder 15.
Weiterbildungen der Erfindung sind in den Unteransprüchen gekenn
zeichnet.
Eine Multiplizierschaltung weist auf: (a) ein Erzeugungsteil für
Teilprodukte zum Erzeugen einer Mehrzahl von Teilprodukten aus
einer Mehrzahl von Multiplikandenelementen und eine Mehrzahl von
Multiplikatorelementen, wobei die Multiplikandenelemente jeweils
mindestens eine der Stellen sind, die einen Multiplikanden A
(= A(M-1) . . . A1 A0) bilden, der D-artig (Basis D) in M Stellen
dargestellt ist, die Multiplikatorelemente jeweils mindestens
eine der Stellen sind, die einen Multiplikator B (= B(N-1) . . . B1
B0) bilden, der D-artig in N Stellen dargestellt ist; und (b)
einen Additionsverarbeitungsteil zum Aufaddieren der Teilproduk
te, wobei die Teilprodukte Stelle für Stelle miteinander
ausgerichtet sind. Der Additionsverarbeitungsteil weist (b-1)
einen rundenden Addierer auf, der einen ersten und einen zweiten
Eingabeanschluß zum jeweiligen Empfangen eines 1-stelligen Wertes
und einen ersten und einen zweiten Ausgabeanschluß aufweist,
wobei ein Wert, der am ersten Ausgabeanschluß des rundenden
Addierers verfügbar ist, eine relativ höhere Stelle einer Summe
von Werten, die an den ersten und an den zweiten Eingabeanschluß
gegeben werden, und einer Hilfszahl ist, wobei ein Wert, der an
dem zweiten Ausgabeanschluß des rundenden Addierers verfügbar
ist, eine relativ niedrigere Stelle der Summe von Werten, die an
den ersten und den zweiten Eingabeanschluß gegeben werden, und
der Hilfszahl ist, und wobei der rundende Addierer an einer
Position angeordnet ist, die der K-höchsten bzw. K-signifikante
sten Stelle eines Produktes E des Multiplikanten A und des
Multiplikators B entspricht.
Bevorzugterweise ist die Hilfszahl ein Minimumwert, der gleich
oder größer als die Hälfte der Zahl D ist.
Bevorzugterweise ist die Zahl D gleich 2 und die Hilfszahl ist
gleich 1.
Der rundende Addierer kann aufweisen: (b-1-1) ein erstes Gatter,
das einen ersten, einen zweiten und einen dritten Anschluß auf
weist, wobei der erste Anschluß mit dem ersten Eingabeanschluß
verbunden ist, der zweite Anschluß mit dem zweiten Eingabean
schluß verbunden ist, und der dritte Anschluß den ersten Ausgabe
anschluß bildet, mit einem ODER der Werte, die an den ersten und
den zweiten Anschluß des ersten Gatters gegeben werden; und
(b-1-2) ein zweites Gatter, das einen ersten, einen zweiten und
einen dritten Anschluß aufweist, wobei der erste Anschluß mit dem
ersten Eingabeanschluß verbunden ist, der zweite Anschluß mit dem
zweiten Eingabeanschluß verbunden ist, und der dritte Anschluß
den zweiten Ausgabeanschluß bildet, mit einem exklusiven NOR der
Werte, die an den ersten und den zweiten Anschluß des zweiten
Gatters gegeben werden.
Bevorzugterweise sind die Multiplikatorelemente, die Multiplikan
denelemente und die Teilprodukte alle 1-stellige Werte "0" oder
"1", und der Erzeugungsteil für Teilprodukte weist (a-1) M × N
Gatter auf, die jeweils zum Erhalt, als eines der Teilprodukte,
eines logischen Produktes Cmn aus einem der Multiplikandenelemen
te Am, das der m-ten Stelle des Multiplikanten A (0 m M-1)
entspricht, und eines der Multiplikatorelemente Bn, das der n-ten
Stelle des Multiplikators B (0 n N-1) entspricht.
Nach einem ersten Aspekt der Multiplizierschaltung weist der
Additionsverarbeitungsteil weiter auf: (b-2) eine erste Addierer
gruppe, die durch (M-1) Halbaddierer gebildet wird; (b-3) ein
k-te Addierergruppe, die aus (M-1) Volladdierern gebildet wird
(2 k N-1); und (b-4) einen Addierer mit Parallelübertrag, der
Eingabeanschlüsse für (M-1) Stellen und Ausgabeanschlüsse M
Stellen aufweist. In dem Additionsverarbeitungsteil (c-1) wird
eines der Teilprodukte C(M-1)j (1 j N-2) an den Volladdierer
der (j+1)-ten Addierergruppe für die signifikantes bzw. höchste
Stelle geliefert; (c-2) eines der Teilprodukte
Cÿ (0 i M-2, 2 j N-1) wird an den Volladdierer der j-ten
Addierergruppe für die (i+1)-niedrigste bzw. am wenigsten
signifikante Stelle geliefert; (c-3) eines der Teilprodukte Ci1
(0 i M-2) wird an den Halbaddierer der ersten Addierergruppe
für die (i+1)-niedrigste Stelle geliefert; (c-4) eines der
Teilprodukte Ci0 (0 i M-1) wird an den Halbaddierer der ersten
Addierergruppe für die i-niedrigste Stelle geliefert; (c-5) der
Eingabeanschluß des Addierers mit Parallelübertrag für die
höchste bzw. signifikanteste Stelle wird mit dem Teilprodukt
C(M-1)(N-1) und einer relativ höheren Stelle der Ausgabe des Voll
addierers der (N-1)-ten Addierergruppe für die höchste Stelle
versorgt; (c-6) der Eingabeanschluß des Addierers mit Parallel
übertrag für die p-niedrigste Stelle (1 p (M-2)) wird mit der
relativ höheren Stelle einer Ausgabe des Addierers der (N-1)-ten
Addierergruppe für die p-niedrigste Stelle und der relativ
niedrigen Stelle einer Ausgabe des Volladdierers der (N-1)-ten
Addierergruppe für die (p+1)-niedrigste Stelle versorgt wird;
(c-7) der Volladdierer der j-ten Addierergruppe (3 j N-1) für
die p-niedrigste Stelle wird mit der relativ niedrigen Stelle ei
ner Ausgabe des Volladdierers der (j-1)-ten Addierergruppe für
eine (p+1)-niedrigste Stelle und der relativ höheren Stelle der
Ausgabe des Volladdierers der (J-1)-ten Addierergruppe für die
p-niedrigste Stelle versorgt; (c-8) der Volladdierer der j-ten
Addierergruppe für die höchste Stelle wird weiter mit der relativ
höheren Stelle der Ausgabe des Volladdierers der (j-1)-ten
Addierergruppe für die höchste Stelle versorgt; (c-9) der
Volladdierer der zweiten Addierergruppe für die p-niedrigste
Stelle wird mit der relativ niedrigen Stelle der Ausgabe des
Halbaddierers der ersten Addierergruppe für die (p+1)-niedrigste
Stelle und der relativ höheren Stelle einer Ausgabe des Halbad
dierers der ersten Addierergruppe für die p-niedrigste Stelle
versorgt; und (c-10) der Volladdierer der zweiten Addierergruppe
für die höchste Stelle wird mit der relativ höheren Stelle einer
Ausgabe des Halbaddierers der ersten Addierergruppe für die höch
ste Stelle versorgt. Aus der ersten Addierergruppe ist der Halb
addierer, der an einer Position angeordnet ist, die der K-
höchsten Stelle des Produktes E entspricht, der rundende
Addierer.
Bei dem ersten Aspekt der Multiplizierschaltung können die Zahlen
M und N einander gleich sein.
Bei einem zweiten Aspekt der Multiplizierschaltung bildet der
Additionsverarbeitungsteil eine Wallace-Baum-Schaltung.
Bei dem zweiten Aspekt der Multiplizierschaltung können die
Zahlen M und N einander gleich sein.
Bei einem dritten Aspekt der Multiplizierschaltung sind der Mul
tiplikator und der Multiplikand jeweils als ein Komplement von 2
ausgedrückt, falls sie negative Zahlen sind, der Multiplikand
entspricht den Multiplikandelementen, die Multiplikatorelemente
sind durch eine Mehrzahl von Stellen gebildet, die in dem Multi
plikator aufeinander folgend sind, der Erzeugungsteil für Teilpro
dukte weist eine Mehrzahl von Booth-Erzeugungsschaltungen für
Teilprodukte auf, die die Teilprodukte entsprechend dem Booth-
Algorithmus erzeugen, und der Additionsverarbeitungsteil addiert
die Teilprodukte auf, wobei die höchsten Stellen der Teilprodukte
miteinander ausgerichtet sind.
Bevorzugterweise ist die Zahl N eine gerade Zahl, die Mehrzahl
der Multiplikatorelemente wird in 0-te bis i-te 3-stellige Multi
plikatorelemente (B2i+1 B2i B2i-1 geteilt, wobei 0 i (N-2)/2
und B-1 = 0, die Teilprodukte werden in 0-te bis i-te Teilpro
dukte geteilt, die durch Ausführen einer vorbestimmten Berechnung
mit den Multiplikandenelementen und den 0-ten bis i-ten Multipli
katorelementen erhältlich sind. Der Additionsverarbeitungsteil
weist weiter auf: (b-2) eine erste Addierergruppe, die eine Mehr
zahl von Halbaddierern aufweist, die entsprechend dem 0-ten Teil
produkt, ausgenommen für die zwei niedrigsten Bits des 0-ten
Teilproduktes, und dem ersten Teilprodukt vorgesehen sind; (b-3)
eine (j+1)-te Addierergruppe, die aufweist: (b-3-1) j Halbaddie
rer, die aufeinanderfolgend von der Seite der niedrigeren Stelle
vorgesehen sind, wobei die Ausgaben der (j+1) niederen Stellen
der j-ten Addierergruppe (1 j (N-2)/2 - 1) an die j-te Addie
rergruppe gegeben werden, wobei deren Stellen miteinander ausge
richtet sind; und (b-3-2) Volladdierer, die aufeinanderfolgend
von der Seite der höheren Stelle vorgesehen sind, wobei die Aus
gaben der j-ten Addierergruppe und das (j+1)-te Teilprodukt ent
sprechend ausgerichtet an die Volladdierer gegeben werden. Von
Halbaddierern ist der eine, der in der Position angeordnet ist,
die der K-höchsten Stelle des Produktes E entspricht, der runden
de Addierer.
Bevorzugterweise sind die Zahlen M und N miteinander gleich.
Eine weitere Ausführungsform der Erfindung ist gerichtet auf eine
Divisionsschaltung zum Dividieren eines Dividenden A
(= A(M-1) . . . A1 A0), der D-artig in M Stellen ausgedrückt ist,
durch einen Divisor B (= B(N-1) . . . B1 B0), der D-artig in N
Stellen ausgedrückt ist, und der größer als der Dividend A ist,
und zum Berechnen eines Quotienten, der an der (K+1)-ten Stelle
ab dem Radixpunkt bzw. dem Komma gerundet ist, und der daher
K Stellen aufweist, wobei die Divisionsschaltung aufweist: (x-1)
Addiermittel zum Aufaddieren des Dividenden A und mindestens der
(2N-M-1)-höchsten Stellen, wobei die höchste Stelle des Divisors
B auf die Stelle von D(N-K-2) und die niedrigste Stelle des Divi
denden A auf die Stelle von D° ausgerichtet werden, wodurch ein
Dividend C erhalten wird; und (x-2) einen Divisionsverarbeitungs
teil zum Teilen des Dividenden C durch den Devisor B, um dadurch
einen Quotienten zu berechnen, der K-Stellen ab dem Radixpunkt
bzw. Komma aufweist.
Bevorzugterweise ist die Zahl D gleich 2.
Bevorzugterweise sind die Zahlen M und N miteinander gleich.
Bei einem ersten Aspekt der Divisionsschaltung zum Teilen eines
Dividenden A (= A(M-1) . . . A1 A0), der D-artig in M Stellen ausge
drückt ist, durch einen Divisor B (= B(N-1) . . . B1 B0), der
D-artig in N Stellen ausgedrückt ist, und der größer als der
Dividend A ist, weist die Divisionsschaltung auf: (a-1) einen
i-ten Quotientenbestimmungsteil, der einen ersten Eingabean
schluß, einen zweiten Eingabeanschluß zum Empfangen des Divisors
B, einen dritten Eingabeanschluß und einen ersten und einen
zweiten Ausgabeanschluß aufweist, wobei der i-te Quotientenbe
stimmungsteil einen Wert, der an den dritten Eingabeanschluß
eingegeben wird, an das Ende eines Wertes hinzugefügt (addiert),
der an den ersten Eingabeanschluß eingegeben wird, und den
resultierenden Wert durch den Divisor B teilt, um dadurch einen
1-stelligen i-ten Quotienten (1 i (2N-M-2)) und ein i-ten
Rest Ri zu erhalten, wobei der i-te Quotient und der i-te Rest Ri
an den ersten bzw. den zweiten Ausgabeanschluß ausgegeben werden;
und (a-2) einen (2N-M-1)-ten Quotientenbestimmungsteil, der einen
ersten Eingabeanschluß, einen zweiten Eingabeanschluß zum
Empfangen des Divisors B, einen dritten Eingabeanschluß und
einen Ausgabeanschluß aufweist, wobei der (2N-M-1)-te Quotienten
bestimmungsteil einen Wert, der an den dritten Eingabeanschluß
eingegeben wird, an das Ende eines Wertes hinzufügt, der an den
ersten Eingabeanschluß eingegeben wird, und den resultierenden
Wert durch den Divisor B teilt, um dadurch einen 1-stelligen
(2N-M-1)-ten Quotienten zu erhalten, wobei der (2N-M-1)-te
Quotient an dem Ausgabeanschluß ausgegeben wird. Die Divisions
schaltung ist dadurch gekennzeichnet, daß (b-1) der Dividend A an
den ersten Eingabeanschluß des ersten Quotientenbestimmungsteils
angelegt wird, (b-2) der (j-1)-te Rest R(j-1) an den ersten
Eingabeanschluß des j-ten Quotientenbestimmungsteils
(2 j (2N-M-1)) angelegt wird, (c-1) der Wert B(n-i) der
i-höchsten Stelle an den dritten Anschluß des i-ten Quotienten
bestimmungsteils gegeben wird, und (c-2) der Wert B(M-N+1) der
(2N-M-1)-höchsten Stelle des Divisors B an den dritten Anschluß
des (2N-M-1)-ten Quotientenbestimmungsteils gegeben wird.
Bei dem ersten Aspekt der Divisionsschaltung ist die Zahl D be
vorzugterweise gleich 2.
Beim ersten Aspekt der Divisionsschaltung sind die Zahlen M und N
bevorzugterweise miteinander gleich.
Bei einem zweiten Aspekt der Divisionsschaltung zum Dividieren ei
nes Dividenden A (= A(M-1) . . . A1 A0), der D-artig in M Stellen
ausgedrückt ist, durch einen Divisor B (= B(N-1) . . . B1 B0), der
D-artig in N Stellen ausgedrückt ist, und der größer als der Di
vidend A ist, weist die Divisionsschaltung auf: (a-1) einen i-ten
Quotientenbestimmungsteil, der einen ersten Eingabeanschluß,
einen zweiten Eingabeanschluß zum Empfangen des Divisors B, einen
dritten Eingabeanschluß und einen ersten und einen zweiten
Ausgabeanschluß aufweist, wobei der i-te Quotientenbestim
mungsteil einen Wert, der an den dritten Anschluß angelegt wird,
an das Ende eines Wertes fügt (addiert), der an den ersten
Eingabeanschluß gegeben wird, und den resultierenden Wert durch
den Divisor B teilt, um dadurch einen 1-stelligen i-ten Quotien
ten (1 i (N-M+K-1), K < (N-1) und einen i-ten Rest Ri zu er
halten, wobei der i-te Quotient und i-te Rest Ri an dem ersten
bzw. dem zweiten Ausgabeanschluß ausgegeben werden; und (a-2)
einen (N-M+K)-ten Quotientenbestimmungsteil, der einen ersten
Eingabeanschluß, einen zweiten Eingabeanschluß zum Empfangen des
Divisors B, einen dritten Eingabeanschluß und einen Ausgabe
anschluß aufweist, wobei der (N-M+K)-te Quotientenbestimmungsteil
einen Wert, der an den dritten Eingabeanschluß gegeben wird, an
das Ende eines Wertes fügt, der an den ersten Eingabeanschluß
gegeben wird, und den resultierenden Wert durch den Divisor B
teilt, um dadurch einen 1-stelligen (N-M+K)-ten Quotienten zu er
halten, wobei der (N-M+K)-te Quotient an dem Ausgabeanschluß aus
gegeben wird. Die Divisionsschaltung ist dadurch gekennzeichnet,
daß (b-1) der Dividend A an den ersten Eingabeanschluß des ersten
Quotientenbestimmungsteils angelegt wird, (b-2) der (j-1)-te Rest
R(j-1) an den ersten Eingabeanschluß der j-ten Quotientenbestim
mungsteils (2 j (N-M+K)) angelegt wird, (c-1) der Wert "0" an
den dritten Anschluß des k-ten Quotientenbestimmungsteils (1 j (K-N+1))
gegeben wird, (c-2) der Wert B(N-(m-K-N+1)) der (m-(K-
N+1))-höchsten Stelle des Divisors B an den dritten Anschluß des
m-ten Quotientenbestimmungsteils ((K-N+2) m (N-M+K-1)) ange
legt wird, und (c-3) der Wert B(M-N+1) der (2N-M-1)-höchsten Stel
le des Divisors B an den dritten Anschluß des (N-M+K)-ten Quo
tientenbestimmungsteils angelegt wird.
Bei dem zweiten Aspekt der Divisionsschaltung ist die Zahl D be
vorzugterweise gleich 2.
Bei dem zweiten Aspekt der Divisionsschaltung sind die Zahlen M
und N bevorzugterweise miteinander gleich.
Bei einem dritten Aspekt der Divisionsschaltung zum Teilen eines
Dividenden A (= A(M-1) . . . A1 A0), der D-artig in M Stellen ausge
drückt ist, durch einen Divisor B (= B(N-1) . . . B1 B0), der
D-artig in N Stellen ausgedrückt ist, und der größer als der
Dividend A ist, weist die Divisionsschaltung auf: (a) einen
Addierer, der einen ersten und einen zweiten Eingabeanschluß und
einen Ausgabeanschluß aufweist, wobei der erste Eingabeanschluß
den Dividenden A empfängt, der zweite Eingabeanschluß einen Wert
B(N-1) B(N-2) . . . BK B(K+1), der den höchsten bis (N-1-K)-höchsten
Stellen des Divisors B (K < N-1) entspricht, empfängt, und der
Ausgabeanschluß ein Additionsergebnis ausgibt, das durch Auf
addieren (Summieren) der Werte, die an den ersten und den zweiten
Eingabeanschluß gegeben werden, erhalten wird, wobei die niedrig
sten Bits der Werte, die an den ersten und an den zweiten Ein
gabeanschluß gegeben werden, miteinander ausgerichtet sind; (b-1)
einen i-ten Quotientenbestimmungsteil, der einen ersten Eingabe
anschluß, einen zweiten Eingabeanschluß zum Empfangen des
Divisors B, einen dritten Eingabeanschluß und einen ersten und
einen zweiten Ausgabeanschluß aufweist, wobei der i-te Quotien
tenbestimmungsteil einen Wert, der an den dritten Eingabeanschluß
gegeben wird, an das Ende eines Wertes fügt (addiert), der an den
ersten Eingabeanschluß gegeben wird, und den resultierenden Wert
durch den Divisor B teilt, um dadurch einen 1-stelligen i-ten
Quotienten (1 i (N-M+K-1) und einen i-ten Rest Ri zu er
halten, wobei der i-te Quotient und i-te Rest Ri an dem ersten
bzw. dem zweiten Ausgabeanschluß ausgegeben werden; und (a-2)
einen (N-M+K)-ten Quotientenbestimmungsteil, der einen ersten
Eingabeanschluß, einen zweiten Eingabeanschluß zum Empfangen des
Divisors B, einen dritten Eingabeanschluß und einen Ausgabean
schluß aufweist, wobei der (N-M+K)-te Quotientenbestimmungsteil
einen Wert, der an den dritten Eingabeanschluß eingegeben wird,
an das Ende eines Wertes fügt, der an den ersten Eingabeanschluß
eingegeben wird, und den resultierenden Wert durch den Divisor B
teilt, um dadurch einen 1-stelligen (N-M+K)-ten Quotienten zu
erhalten, der an dem Ausgabeanschluß ausgegeben wird. Die
Divisionsschaltung ist dadurch gekennzeichnet, daß (c-1) das
Additionsergebnis an den ersten Eingabeanschluß des ersten
Quotientenbestimmungsteils gegeben wird, (c-2) der (j-1)-te Rest
R(j-1) an den ersten Eingabeanschluß des j-ten Quotientenbestim
mungsteils (2 j (N-M+K)) gegeben wird, (d-1) der Wert B(k-i+1)
der (i+(N-1-K))-höchsten Stelle des Divisors B an den dritten
Anschluß des i-ten Quotientenbestimmungsteils angelegt wird, und
(d-2) der Wert B(M-N+1) der (2N-M-1)-höchsten Stelle des Divisors
B an den dritten Anschluß des (N-M+K)-ten Quotientenbestimmungs
teils angelegt wird.
Bei dem dritten Aspekt der Divisionsschaltung ist die Zahl D be
vorzugterweise gleich 2.
Bei dem dritten Aspekt der Divisionsschaltung sind die Zahlen M
und N bevorzugterweise miteinander gleich.
Bei einem vierten Aspekt der Divisionsschaltung zum Teilen eines
Dividenden A (= A(M-1) . . . A1 A0), der D-artig in M Stellen ausge
drückt ist, durch einen Divisor B (= B(N-1) . . . B1 B0), der D-
artig in N Stellen ausgedrückt ist, und der größer als der Divi
dend A ist, weist die Divisionsschaltung auf: (a) einen Addierer
mit einem ersten und einem zweiten Eingabeanschluß und einem Aus
gabeanschluß, wobei der erste Eingabeanschluß den Dividenden A
empfängt, der zweite Eingabeanschluß einen Wert
B(N-1) B(N-2) . . . BK B(K+1), der höchstens bis (N-1-K)-höchsten
Stelle des Divisors B entspricht, empfängt, und der Ausgabean
schluß ein Additionsergebnis ausgibt, das durch Aufaddieren der
Werte, die an den ersten und den zweiten Eingabeanschluß angelegt
werden, erhalten wird, wobei die niedrigsten Bits der Werte, die
an den ersten und an den zweiten Eingabeanschluß gegeben werden,
miteinander ausgerichtet sind;
(b-1) einen ersten Quotientenbestimmungsteil, der einen ersten
und eine zweiten Eingabeanschluß und einen ersten und einen zwei
ten Ausgabeanschluß aufweist, wobei der erste Eingabeanschluß das
Additionsergebnis empfängt, der zweite Eingabeanschluß den Divi
sor B empfängt, und der erste und der zweite Ausgabeanschluß ent
sprechend einen 1-stelligen ersten Quotienten und einen ersten
M-stelligen Rest Ri ausgeben, die durch Teilen des Additionser
gebnisses durch den Divisor B erhalten werden; (b-2) einen i-ten
Quotientenbestimmungsteil, der einen ersten Eingabeanschluß, ei
nen zweiten Eingabeanschluß zum Empfangen des Divisors B, einen
dritten Eingabeanschluß und einen Ausgabeanschluß aufweist, wobei
der i-te Quotientenbestimmungsteil einen Wert, der an den dritten
Eingabeanschluß gegeben wird, zu dem Ende eines Wertes, der an
den ersten Eingabeanschluß gegeben wird, fügt, und den resultie
renden Wert durch den Divisor B teilt, wobei dadurch ein 1-
stelliger i-ter Quotient und ein i-ter Rest Ri (2 i (N-M+K))
erhalten werden, wobei der i-te Quotient und der i-te Rest Ri an
dem ersten bzw. dem zweiten Ausgabeanschluß ausgegeben werden;
und (b-3) einen (N-M+K-1)-ten Quotientenbestimmungsteil, der ei
nen ersten Eingabeanschluß, einen zweiten Eingabeanschluß zum
Empfangen des Divisors B, einen dritten Eingabeanschluß und einen
Ausgabeanschluß aufweist, wobei der (N-M+K+1)-te Quotientenbe
stimmungsteil einen Wert, der an den dritten Eingabeanschluß ge
geben wird, an das Ende eines Wertes, der an den ersten Eingabe
anschluß gegeben wird, fügt (addiert) und den resultierenden
(M+1)-stelligen Wert durch den Divisor B teilt, um dadurch einen
1-stelligen (N-M+K+1)-ten Quotienten zu erhalten, wobei der (N-
M+K+1)-te Quotient an dem Ausgabeanschluß ausgegeben wird.
Die Divisionsschaltung ist dadurch gekennzeichnet, daß (c-1) der
(i-1)-te Rest R(i-1) an den ersten Eingabeanschluß des i-ten Quo
tientenbestimmungsteils gegeben wird, (c-2) der (N-M+K)-te Rest
R(N-M+K) an den ersten Eingabeanschluß des (N-M+K)-ten Quotien
tenbestimmungsteils gegeben wird, (d-1) ein Wert B(K-i+2) der
(i+(N-2-K)-höchsten Stelle des Divisors B an den dritten Anschluß
des i-ten Quotientenbestimmungsteils gegeben wird, und (d-2) der
Wert B(M-N+1) der (2N-M-1)-höchsten Stelle des Divisors B an den
dritten Eingabeanschluß des (N-M+K+1)-ten Quotientenbestimmungs
teils gegeben wird.
Bei dem vierten Aspekt der Divisionsschaltung ist die Zahl D be
vorzugterweise gleich 2.
Bei dem vierten Aspekt der Divisionsschaltung sind die Zahlen M
und N bevorzugterweise miteinander gleich.
Demzufolge wird in dem rundenden Addierer der Multiplizierschal
tung die Hilfszahl an einer Stelle addiert, die eine Stelle nied
riger als die Stelle ist, die zu runden ist. Demzufolge kann das
gerundete Produkt E berechnet werden, ohne Berechnungen bis zu
der (K-1)-höchsten Stelle auszuführen.
Der Divisor C, der in der Divisionsschaltung neu zu berechnen
ist, wird im voraus zur Berechnung eines gerundeten Quotienten
erhalten. Der Divisor C braucht nicht auf einmal vollständig be
rechnet zu werden. Vielmehr werden, wie in den ersten bis vierten
Aspekten der Divisionsschaltung, von dem Divisor C Stellen, die
in den ent-sprechenden Quotientenbestimmungsteilen benötigt wer
den, seriell bzw. nacheinander berechnet.
Wie oben beschrieben, wird entsprechend den Ausführungsformen der
vorliegenden Erfindung ein Runden in der Multiplizierschaltung
bzw. der Divisionsschaltung ausgeführt, während eine Multiplika
tion bzw. eine Division ausgeführt wird. Demzufolge ist die Not
wendigkeit des Vorsehens einer externen Rundungsschaltung elimi
niert, die Anzahl der Berechnungsstufen und die Schaltungsgröße
werden reduziert, und die Betriebsgeschwindigkeit wird erhöht.
Speziell bei der Multiplizierschaltung des ersten Aspektes ist,
da das carry-save-Verfahren verwendet wird, der Ausbreitungsweg
der Übertragung bzw. Übertragsübertragung verkürzt, und die Be
triebsgeschwindigkeit wird erhöht.
Bei der Multiplizierschaltung des zweiten Aspekts, die das
Wallace-Baum-Multiplikationsverfahren verwendet, wird eine gerin
gere Anzahl von Additionsverarbeitungsteilen als bei der Multi
plizierschaltung des ersten Aspektes benötigt.
Die Multiplizierschaltung des dritten Aspektes verwendet den
Booth-Algorithmus, und daher ist es möglich, eine Berechnung aus
zuführen, ohne negative Zahlen, die als ein Komplement von 2 aus
gedrückt sind, zu korrigieren.
Die Divisionsschaltungen der ersten und zweiten Aspekte sind spe
ziell passend zur Ausführung einer Berechnung, wenn es die Bezie
hungen K = N-1 bzw. K < N-1 gibt.
Die Divisionsschaltungen der dritten und vierten Aspekte sind
beide passend, wenn es eine Beziehung K < N-1 gibt. Die
Divisionsschaltung des dritten Aspektes ist speziell passend,
wenn es bekannt ist, daß ein gerundeter Quotient kleiner als 1
ist, während die Divisionsschaltung des vierten Aspekts speziell
passend ist, wo es nicht bekannt ist, daß der gerundete Quotient
kleiner als 1 ist.
Weitere Merkmale und Zweckmäßigkeiten der Erfindung ergeben sich
aus der Beschreibung von Ausführungsbeispielen anhand der Figu
ren.
Von den Figuren zeigt
Fig. 1 bis 8 Schaltdiagramme zur Erläuterung einer ersten
bevorzugten Ausführungsform;
Fig. 9 ein Schaltbild zur Erläuterung einer zweiten
bevorzugten Ausführungsform;
Fig. 10 bis 12 Schaltbilder zur Erläuterung einer dritten
bevorzugten Ausführungsform;
Fig. 13 bis 17 Schaltbilder zur Erläuterung einer vierten
bevorzugten Ausführungsform;
Fig. 18 bis 20 Schaltbilder zur Erläuterung einer fünften
bevorzugten Ausführungsform; und
Fig. 21 bis 24 Schaltbilder zur Erläuterung einer herkömmli
chen Technik.
Vor der detaillierten Beschreibung der vorliegenden Erfindung,
soll die grundlegende Idee der vorliegenden Erfindung erläutert
werden. Es wird angenommen, daß 4-Bit Ganzzahlen (Integer) zu
multiplizieren sind, und daß das Multiplizierungsergebnis zu
runden ist, um die fünf signifikantesten Bits zu belassen. Das
ist erreichbar, in dem das Multiplikationsergebnis belassen wird
wie es ist, falls das sechsthöchste bzw. sechstsignifikanteste
Bit (Stelle von 22) "0" ist, und indem "1" zu dem fünfthöchsten
bzw. fünftsignifikantesten Bit (Stelle von 23) des Multiplika
tionsrgebnisses addiert wird, falls das sechsthöchste Bit "1" ist.
Diese Berechnung wird herkömmlicherweise aufgeführt, nachdem das
gesamte Multiplikationsergebnis berechnet ist.
Die vorliegende Erfindung jedoch, unter Berücksichtigung der Tat
sache, daß der Vorgang des Berechnens des gesamten Multiplika
tionsergebnisses in einen Vorgang des Berechnens von Teilproduk
ten und einen Vorgang des Aufaddierens der Teilprodukte teilbar
ist, verlangt die Ausführung des Rundens vor der Berechnung des
gesamten Multiplikationsergebnisses.
In dem oben beschriebenen Beispiel des Rundens, "Belassen des
Multiplikationsergebnisses wie es ist, falls das sechsthöchste
Bit (Stelle von 22) "0" ist, und Addieren von "1" zu dem
fünfthöchsten Bit (Stelle von 23) des Multiplikationsergebnisses,
falls das sechsthöchste Bit "1" ist", ist gleich zu "Addieren
von "1" zu dem sechsthöchsten Bit (Stelle von 22) des
Multiplikationsergebnisses". In anderen Worten, durch Berechnen
von (Multiplikand) × (Multiplikator) + 100 in dem Binärsystem und
durch Weglassen der Stellen von 22 und niedriger wird ein
Berechnungsergebnis erhalten, das an dem sechsthöchsten bzw.
sechstsignifikantesten Bit (Stelle von 22) abgerundet ist. Im
folgenden wird "1", das neu zu dem sechsthöchsten Bit addiert
wird, als eine "Hilfszahl" bezeichnet.
Das heißt, "Runden einer bestimmten Stelle, die zu runden ist, um
einen Wert für eine Stelle zu erhalten, die nicht niedriger als
die bestimmte Stelle ist" ist gleich zu "Addieren einer Hilfszahl
zu einer Stelle, die eine Stelle niedriger als die bestimmte
Stelle ist". Andererseits wird, wie bei einer Addition, dasselbe
Additionsergebnis erhalten, selbst falls die Abfolge der
Additionsvorgänge geändert wird. Daher wird kein Problem auftre
ten, falls der Vorgang des Addierens der Hilfszahl während eines
Vorgangs des Aufaddierens von Teilprodukten ausgeführt wird.
Die vorliegende Erfindung wurde unter Berücksichtigung dieses
Punktes gemacht. Dementsprechend wird ein Halbaddierer, der ex
klusiv eine Funktion des Addierens einer Hilfszahl aufweist, für
eine Stelle (Ziffer) vorgesehen, die eine Stelle niedriger als
die bestimmte Stelle ist.
Die Fig. 1 und 2 sind Schaltbilder, die jeweils einen Teil der
Struktur einer Multiplizierschaltung 101 entsprechend einer Aus
führungsform zeigen. In Kombination zeigen die Fig. 1 und 2
die gesamte Struktur der Multiplizierschaltung 101.
Ein Multiplikand 1a (= A3 A2 A1 A0) und ein Multiplikator 1b
(= B3 B2 B1 B0), die jeweils durch binäre 4-Bit ausgedrückt sind,
werden in die Multiplizierschaltung 101 eingegeben. Das
sechsthöchste bzw. sechstsignifikanteste Bit wird gerundet, so
daß ein binäres 5-Bit Multiplikationsergebnis 2 (= P7 P6 P5 P4 P3)
erhalten wird.
Die Multiplizierschaltung 101 weist einen Übertragssicherung-
Additionsteil 31 auf. Darum wird direkt aus dem Multiplikanden 1a
und dem Multiplikator 1b, d. h. ohne Verwendung einer Rundungs
schaltung, die außerhalb der Multiplizierschaltung 101 vorgesehen
ist, durch Runden des sechsthöchsten Bit das Multiplikations
ergebnis 2 erhältlich.
Der Additionsteil 31 wird durch ein Erzeugungsteil 31a für Teil
produkte und einen Additionsverarbeitungsteil 31b gebildet. Der
Erzeugungsteil 31a für Teilprodukte erzeugt eine Teilprodukt
gruppe 6 (die durch Teilprodukte Cÿ (0 i, j 3) gebildet
wird) aus dem Multiplikanden 1a und dem Multiplikator 1b; und
weist dieselbe Struktur wie der herkömmliche Erzeugungsteil 30a
für Teilprodukte auf. Der Erzeugungsteil 31a für Teilprodukte
wird durch 16 (= 4 × 4) UND-Gatter gebildet, deren Ausgaben die
Teilproduktgruppe 6 bilden. Zum Beispiel stellt ein Teilprodukt
C30 das Produkt des signifikantesten Bits A3 des Multiplikanden
1a und des am wenigsten signifikanten (niedrigwertigsten) Bits B0
des Multiplikators 1b dar.
In dem Additionsverarbeitungsteil 31b, welcher die Teilprodukt
gruppe 6 empfängt, wird eine Ausrichtung der Stellen ausgeführt,
und die Stufen, in welchen eine Addition ausgeführt wird, sind
angepaßt, wie durch das gepunktete Gitter dargestellt. In der
folgenden Beschreibung werden die Additionsverarbeitungsstufen
durch die Zahl der Stufen, die von der obersten Stufe gezählt
werden, bezeichnet. In der ersten Stufe werden Halbaddierer 7a
und 7c, die durch den eingekreisten Buchstaben "h" bezeichnet
sind, und ein rundender Halbaddierer 13, der durch das einge
kreiste Symbol "h⁺" bezeichnet ist, vorgesehen. In der zweiten
Stufe werden Volladdierer 8a, 8b und 8c, die durch den eingekrei
sten Buchstaben "f" bezeichnet sind, vorgesehen. In der dritten
Stufe werden Volladdierer 8d, 8e und 8f, die durch den eingekrei
sten Buchstaben "f" bezeichnet sind, vorgesehen. In der vierten,
oder der letzten Stufe, wird ein 3-Bit Addierer 9 mit Parallel
übertrag vorgesehen.
In der ersten Stufe wird das Teilprodukt C00 = A0 B0) nicht durch
irgendeine Berechnung verarbeitet. Der Halbaddierer 7c empfängt
das Teilprodukt C10 (= A1 B0) und das Teilprodukt C01 (= A0 B1) und
addiert die zwei in ein 2-Bit Resultat. Die führende Stelle die
ser Ausgabe (d. h. das höhere Bit) wird an den Volladdierer 8c der
zweiten Stufe gegeben. Der rundende Halbaddierer 13 empfängt das
Teilprodukt C11 (= A1 B1) und das Teilprodukt C20 (= A2 B0) und
addiert diese zwei Teilprodukte und 1 und gibt ein 2-Bit Resultat
aus. Das höhere Bit dieser Ausgabe wird an den Volladdierer 8b
der zweiten Stufe gegeben, während das niedrigere Bit dieser Aus
gabe an den Volladdierer 8c der zweiten Stufe gegeben wird. Der
Halbaddierer 7a empfängt das Teilprodukt C21 (= A2 B1) und das
Teilprodukt C30 (= A3 B0). Das höhere Bit und das niedrigere Bit
der Summe von diesen zwei Teilprodukten wird an die Volladdierer
8a bzw. 8b der zweiten Stufe gegeben.
In der zweiten Stufe empfängt der Volladdierer 8a weiter das
Teilprodukt C22 (= A2 B2) und das Teilprodukt C31 (= A3 B1), der
Volladdierer 8b empfängt weiter das Teilprodukt C12 (= A1 B2) und
der Volladdierer 8c empfängt weiter das Teilprodukt C02 (= A0 B2)
Die Teilprodukte empfangend führen die entsprechenden Volladdie
rer die Addition der drei Eingaben aus. In einer vergleichbaren
Art und Weise empfängt in der dritten Stufe der Volladdierer 8d
das Teilprodukt C23 (= A2 B3) und das Teilprodukt C32 (= A3 B2)
und das höhere Bit des Volladdierers 8a und gibt einen 2-Bit Wert
aus. Der Volladdierer 8e, der das Teilprodukt C13 (=A1 B3), das
niedrigere Bit der Ausgabe des Volladdierers 8a und das höhere
Bit der Ausgabe des Volladdierers 8b empfängt, gibt einen 2-Bit
Wert aus. Der Volladdierer 8f, der das Teilprodukt C03 (= A0 B3),
das niedrigere Bit der Ausgabe des Volladdierers 8b und das höhe
re Bit der Ausgabe des Volladdierers 8c empfängt, gibt einen 2-
Bit Wert aus.
In der vierten Stufe werden dem 3-Bit Addierer 9 mit Parallel
übertrag das das Teilprodukt C33 (= A3 B3) und das höhere Bit der
Ausgabe des Volladdierers 8d an einer bzw. für eine Stelle
miteinander ausgerichtet eingegeben, das niedrigere Bit der
Ausgabe des Volladdierers 8d und das höhere Bit der Ausgabe des
Volladdierers 8e werden miteinander ausgerichtet an einer Stelle
eingegeben, und das niedrigere Bit der Ausgabe des Volladdierers
8e und das höhere Bit der Ausgabe des Volladdierers 8f werden
miteinander ausgerichtet an einer Stelle eingegeben.
Das niedrigere Bit der Ausgabe des Volladdierers 8f wird direkt
das niedrigstwertigste Bit P3 des Multiplikationsergebnisses 2.
Die verbleibenden höheren Bits (P7 P6 P5 P4) des Multiplikations
ergebnisses 2 werden von dem 3-Bit Addierer 9 mit
Parallelübertrag ausgegeben.
Der rundende Halbaddierer 13 ist an einer Position angeordnet, an
der das sechstsignifikanteste (sechsthöchste) Bit zu berechnen
ist, d. h. an einer Position, an der der Halbaddierer 7b bei dem
herkömmlichen Additionsverarbeitungsteil 30b, das in Fig. 22 ge
zeigt ist, anzuordnen ist. Dies ermöglicht, daß eine Hilfszahl
"1" zu dem sechsthöchsten Bit addiert wird. Demzufolge ist, wie
in "(A-0) grundlegende Idee" erläutert, das Multiplikationsergeb
nis 2, welches an dem sechsthöchsten Bit gerundet wurde, und wel
ches daher das signifikanteste bis zum fünftsignifikantesten Bit
aufweist, von der Multiplizierschaltung 101 erhältlich. Da das
Übertragsspar-Verfahren (carry-save Verfahren) in der ersten
bevorzugten Ausführungsform verwendet wird, ist der Weg der
Fortpflanzung des Übertrags kurz, wodurch ein Hochgeschwindig
keitsbetrieb ermöglicht wird.
Fig. 3 ist ein Schaltbild, das eine Struktur eines entsprechen
den Halbaddierers, typischerweise des Halbaddierers 7a, des Addi
tionsverarbeitungsteils 31b zeigt Fig. 4 ist ein Schaltbild,
das eine Struktur des rundenden Halbaddierers 13 zeigt. In den
Fig. 3 und 4 entsprechen die Eingaben K und L den Teilproduk
ten, die in Fig. 2 gezeigt sind. Die Ausgaben C und S entspre
chen dem höheren Bit und dem niedrigeren Bit der Ausgabe des
Halbaddierers 7a bzw. des rundenden Halbaddierers 13. Die Ausgabe
C entspricht außerdem der führenden Stelle. Bei dem Halbaddierer
7a werden ein UND-Gatter 14 und ein EXOR-Gatter 15 jeweils mit
den Eingaben K und L versorgt. Das UND-Gatter 14 gibt die Ausgabe
C und das EXOR-Gatter 15 gibt die Ausgabe S aus. Derart wird die
Summe von "K" und "L", die jeweils aus einem Bit bestehen, als 2-
Bit Wert "CS" erhalten.
Andererseits werden in dem rundenden Halbaddierer 13 ein ODER-
Gatter 16 und ein in EXNOR-Gatter 17 jeweils mit den Eingaben K
und L versorgt, und das ODER-Gatter 16 gibt die Ausgabe C und das
EXNOR-Gatter 17 gibt die Ausgabe S aus. Hier wird die Summe von
"K", "L" und der Hilfszahl "1" als ein 2-Bit Wert "CS" berechnet.
Fig. 5 ist ein Schaltbild, das im Detail eine Struktur des UND-
Gatters 14 des Halbaddierers 7a zeigt, und Fig. 6 ist ein
Schaltbild, das im Detail eine Struktur des ODER-Gatters 16 des
rundenden Halbaddierers 13 zeigt. Wie durch Vergleich der Fig. 5
mit Fig. 6 zu verstehen ist, benötigen die Gatter 14 und 16 je
weils 6 Transistoren. Fig. 7 ist ein Schaltbild, das im Detail
eine Struktur des EXOR-Gatters 15 des Halbaddierers 7a zeigt, und
Fig. 8 ist ein Schaltbild, das im Detail eine Struktur des
EXNOR-Gatters 17 des rundenden Halbaddierers 13 zeigt. Wie aus
dem Vergleich zwischen den Fig. 7 und 8 offensichtlich ist,
benötigen die Gatter 15 und 17 jeweils zehn Transistoren. Dies im
Licht der in den Fig. 3 und 4 gezeigten Strukturen berücksich
tigend, ist zu verstehen, daß die Schaltungsgrößen der Halbaddie
rer 7a und 13 dieselben sind. Demzufolge wird der Additionsverar
beitungsteil 31b der Multiplizierschaltung 101 mit derselben
Schaltungsgröße wie die des herkömmlichen Additionsverarbeitungs
teils 30b realisiert.
Andererseits ist die Rundungsschaltung 5 nicht notwendig für die
Multiplizierschaltung 101, und die Multiplizierschaltung 101 wird
in einer kleineren Größe als die herkömmliche Multiplizierschal
tung 100 ausgebildet. Die Reduktion der Schaltungsgröße ist für
sich selbst vorteilhaft, und weiter ist es vorteilhaft, daß ein
Hochgeschwindigkeitsbetrieb möglich wird.
Eine zweite bevorzugte Ausführungsform ist eine Anwendung der
vorliegenden Erfindung auf eine Multiplikation, die den Wallace-
Baum (Wallace Tree) verwendet. Fig. 9 ist ein Schaltbild, das
eine Struktur eines Additionsverarbeitungsteils 31c zeigt. Der
Additionsverarbeitungsteils 31c und der Erzeugungsteil 31a für
Teilprodukte, der in Fig. 1 gezeigt ist, bilden einen Multipli
zierteil 32. In dem Multiplizierteil 32 ist ein Wallace-Tree-Mul
tiplizierer ausgebildet.
Das heißt, daß in dem Additionsverarbeitungsteil 31c, in den die
Teilproduktgruppe 6 eingegeben wird, ein Halbaddierer 7a, Vollad
dierer 8a, 8b und 8c und ein Halbaddierer 7b in dieser Reihen
folge in der ersten Stufe angeordnet sind. In der zweiten Stufe
sind Halbaddierer 7c, 7d, 7e, ein Volladdierer 8b und ein runden
der Halbaddierer 13 in dieser Reihenfolge angeordnet. In der
dritten Stufe sind ein ODER-Gatter 9b und ein 4-Bit Addierer mit
Parallelübertrag 9a in dieser Reihenfolge angeordnet.
In der ersten Stufe wird das Teilprodukt C00 nicht durch irgend
eine Berechnung verarbeitet, der Halbaddierer 7a empfängt die
Teilprodukte C23 und C32, der Volladdierer 8a empfängt die Teil
produkte C13, C22 und C31, der Volladdierer 8b empfängt die Teil
produkte C12, C21 und C30, der Volladdierer 8c empfängt die Teil
produkte C02, C11 und C20, und der Halbaddierer 7b empfängt die
Teilprodukte C01 und C10. Jeder der Halb- und der Volladdierer be
rechnet die Summe der eingegebenen Teilprodukte als einen 2-Bit
Wert.
In der zweiten Stufe empfängt der Halbaddierer 7c das Teilprodukt
C33 und das höhere Bit der Ausgabe des Halbaddierers 7a, während
der Halbaddierer 7d das niedrigere Bit der Ausgabe des Halbaddie
rers 7a und das höhere Bit der Ausgabe des Volladdierers 8a
empfängt. Der Halbaddierer 7e empfängt das niedrigere Bit der
Ausgabe des Volladdierers 8a und das höhere Bit der Ausgabe des
Volladdierers 8b. Der Volladdierer 8d empfängt das Teilprodukt
C03, das niedrigere Bit der Ausgabe des Volladdierers 8b und das
höhere Bit der Ausgabe des Volladdierers 8c. Der rundende Halbad
dierer 13 empfängt das niedrigere Bit der Ausgabe des Volladdie
rers 8c und das höhere Bit der Ausgabe des Halbaddierers 7b.
Jeder der Halb- und der Volladdierer berechnet die Summe der ein
gegebenen Teilprodukte als einen 2-Bit Wert.
In der dritten Stufe werden dem 4-Bit-Addierer mit Parallelüber
trag 9a das niedrigere Bit der Ausgabe des Halbaddierers 7c und
das höhere Bit der Ausgabe des Halbaddierers 7d miteinander aus
gerichtet an einer Stelle (Ziffer) eingegeben, das niedrigere Bit
der Ausgabe des Halbaddierers 7d und das höhere Bit der Ausgabe
des Halbaddierers 7e werden miteinander ausgerichtet an einer
Stelle eingegeben, das niedrigere Bit der Ausgabe des Halbaddie
rers 7e und das höhere Bit der Ausgabe des Volladdierers 8d wer
den miteinander ausgerichtet an einer Stelle eingegeben, und das
niedrigere Bit der Ausgabe des Volladdierers 8d und das höhere
Bit der Ausgabe des rundenden Halbaddierers 13 werden miteinander
ausgerichtet an einer Stelle eingegeben. Das ODER-Gatter 9b be
rechnet die logische Summe einer Übertragsausgabe (das signifi
kanteste Bit) des Addierers 9a mit Parallelübertrag und des
höheren Bits der Ausgabe des Halbaddierers 7c, so daß das signi
fikanteste Bit P7 des Multiplikationsergebnisses 2 ausgegeben
wird. Der Addierer mit Parallelübertrag 9a gibt die verbleibenden
höheren Bits (P6 P5 P4 P3) des Multiplikationsergebnisses 2 aus.
Da der rundende Halbaddierer 13 in einer Position angeordnet ist,
an der das sechstsignifikanteste Bit (das sechsthöchste Bit) zu
berechnen ist, wird eine Hilfszahl zu dem sechstsignifikantesten
Bit addiert. Demzufolge wird der Effekt der vorliegenden Erfin
dung auch dort gesichert, wo eine Multiplikation unter Verwendung
des Wallace-Baums auszuführen ist. In anderen Worten, es ist mög
lich, das Multiplikationsergebnis 2, welches an dem sechstsigni
fikantesten Bit gerundet wurde, ohne Verwendung einer extern vor
gesehenen Rundungsschaltung zu erhalten. Noch vorteilhafter ist
es, daß der Additionsverarbeitungsteil 31c nur eine reduzierte
Anzahl von Stufen verglichen mit dem Additionsverarbeitungsteil
31b der ersten bevorzugten Ausführungsform benötigt.
Eine dritte bevorzugte Ausführungsform ist eine Anwendung der
vorliegenden Erfindung auf eine Multiplikation, die den Booth-Al
gorithmus verwendet. Fig. 10 ist ein Schaltbild, das eine Struk
tur einer Multiplizierschaltung 102 zeigt. Die Multiplizierschal
tung 102 wird mit einem 8-Bit Multiplikanden X7-X0 und einem 8-
Bit Multiplikator Y7-Y0 versorgt, die negativen Zahlen sind, die
jeweils als ein Komplement von 2 ausgedrückt sind. Ohne Verwen
dung einer extern vorgesehenen Rundungsschaltung wird ein binäres
12-Bit Multiplikationsergebnis 21 (= P15 . . . P5 P4) erhalten, das
an dem dreizehnthöchsten (dreizehntsignifikantesten) Bit gerundet
ist.
Die Multiplizierschaltung 102 weist einen Multiplizierteil 33
auf, der den Booth-Algorithmus übernimmt. Der Multiplizierteil 33
wird durch einen Erzeugungsteil 33a für Teilprodukte und einen
Additionsverarbeitungsteil 33b gebildet.
Der Produkterzeugungsteil 33a erzeugt vier Teilprodukte aus dem
Multiplikanden X7-X0 und dem Multiplikator Y7-Y0. Der Produkterzeu
gungsteil 33a weist vier Typen von Booth-Erzeugungsschaltungen
331 bis 334 für Teilprodukte auf. Die Booth-Erzeugungsschaltung
331 für Teilprodukte erzeugt ein 16-Bit Teilprodukt aus dem Mul
tiplikanden X7-X0 und den zwei am wenigsten signifikanten (den
zwei niedrigsten) Bits Y1-Y0 des Multiplikators. Die Booth-
Erzeugungsschaltung 332 für Teilprodukte erzeugt ein 14-Bit
Teilprodukt aus dem Multiplikanden X7-X0 und den fünft-, sechst-
und siebtsignifikantesten Bits Y3 Y2 Y1 des Multiplikators. Die
Booth-Erzeugungsschaltung 333 für Teilprodukte erzeugt ein 12-Bit
Teilprodukt aus dem Multiplikanden X7-X0 und den dritt-, viert-
und fünftsignifikantesten Bits Y5 Y4 Y3 des Multiplikators. Die
Booth-Erzeugungsschaltung 334 für Teilprodukte erzeugt ein 10-Bit
Teilprodukt aus dem Multiplikanden X7-X0 und dem signifikantesten
und den zweit- und drittsignifikantesten Bits Y7 Y6 Y5 des Multi
plikators.
Diese vier Typen von Teilprodukten werden in den Additionsverar
beitungsteil 33b eingegeben, wobei ihre signifikantesten Bits
miteinander ausgerichtet sind. Zur Klarheit der Darstellung zeigt
Fig. 10 nur die Bits in der Umgebung der signifikantesten (der
höchsten) und der am wenigsten signifikanten (der niedrigsten)
Bits, wie sie in den Additionsverarbeitungsteil 33b eingegeben
werden.
Der Additionsverarbeitungsteil 33b ist als ein Vier-Stufenteil
ausgebildet. In der ersten Stufe sind Halbaddierer 7a bis 7l, ein
rundender Halbaddierer 13 und ein Halbaddierer 7m in dieser Rei
henfolge von der Seite der höheren Bits angeordnet. In der zwei
ten Stufe sind Volladdierer 8a bis 8l und ein Halbaddierer 7n in
dieser Reihenfolge von der Seite der höheren Bits angeordnet. In
der dritten Stufe sind Volladdierer 8m bis 8v und Halbaddierer 7o
und 7p in dieser Reihenfolge von der Seite der höheren Bits ange
ordnet. In der vierten oder der letzten Stufe ist ein 11-Bit Ad
dierer 91 angeordnet.
Fig. 11 ist ein Schaltbild, das die Struktur des Additionsverar
beitungsteils 33b detaillierter als in Fig. 10 zeigt. In der er
sten Stufe werden die Bits der Ausgabe der Booth-Erzeugungsschal
tung 331 für Teilprodukte jeweils in einer abnehmenden Reihen
folge vom signifikantesten zum vierzehnten Bit in jeweils einen
der Halbaddierer 7a bis 7l, den rundenden Halbaddierer 13 und den
Halbaddierer 7m eingegeben. Zusätzlich werden die Bits der Aus
gabe der Booth-Erzeugungsschaltung 332 für Teilprodukte jeweils
in einer abnehmenden Reihenfolge vom signifikantesten Bit in je
weils einen dieser Addierer eingegeben.
In der zweiten Stufe empfängt der Volladdierer 8a die Ausgabe des
Halbaddierers 7a, das höhere Bit der Ausgabe des Halbaddierers 7b
und das signifikanteste Bit der Ausgabe der Booth-Erzeugungs
schaltung 333 für Teilprodukte; der Volladdierer 8b empfängt das
niedrigere Bit der Ausgabe des Halbaddierers 7b, das höhere Bit
der Ausgabe des Halbaddierers 7c und das zweite signifikante
(zweithöchste) Bit der Ausgabe der Booth-Erzeugungsschaltung 333
für Teilprodukte; der Volladdierer 8c empfängt das niedrigere Bit
der Ausgabe des Halbaddierers 7c, das höhere Bit der Ausgabe des
Halbaddierers 7d und das drittsignifikanteste Bit der Ausgabe der
Booth-Erzeugungsschaltung 333 für Teilprodukte; der Volladdierer
8d empfängt das niedrigere Bit der Ausgabe des Halbaddierers 7d,
das höhere Bit der Ausgabe des Halbaddierers 7e und das viertsi
gnifikanteste Bit der Ausgabe der Booth-Erzeugungsschaltung 333
für Teilprodukte; der Volladdierer 8e empfängt das niedrigere Bit
der Ausgabe des Halbaddierers 7e, das höhere Bit der Ausgabe des
Halbaddierers 7f und das fünftsignifikanteste Bit der Ausgabe der
Booth-Erzeugungsschaltung 333 für Teilprodukte; der Volladdierer
8f empfängt das niedrigere Bit der Ausgabe des Halbaddierers 7f,
das höhere Bit der Ausgabe des Halbaddierers 7g und das sechstsi
gnifikanteste Bit der Ausgabe der Booth-Erzeugungsschaltung 333
für Teilprodukte; der Volladdierer 8g empfängt das niedrigere Bit
der Ausgabe des Halbaddierers 7g, das höhere Bit der Ausgabe des
Halbaddierers 7h und das siebtsignifikanteste Bit der Ausgabe der
Booth-Erzeugungsschaltung 333 für Teilprodukte; der Volladdierer
8h empfängt das niedrigere Bit der Ausgabe des Halbaddierers 7h,
das höhere Bit der Ausgabe des Halbaddierers 7i und das achtsi
gnifikanteste Bit der Ausgabe der Booth-Erzeugungsschaltung 333
für Teilprodukte; der Volladdierer 8i empfängt das niedrigere Bit
der Ausgabe des Halbaddierers 7i, das höhere Bit der Ausgabe des
Halbaddierers 7j und das neuntsignifikanteste Bit der Ausgabe der
Booth-Erzeugungsschaltung 333 für Teilprodukte; der Volladdierer
8j empfängt das niedrigere Bit der Ausgabe des Halbaddierers 7j,
das höhere Bit der Ausgabe des Halbaddierers 7k und das zehntsi
gnifikanteste Bit der Ausgabe der Booth-Erzeugungsschaltung 333
für Teilprodukte; der Volladdierer 8k empfängt das niedrigere Bit
der Ausgabe des Halbaddierers 7k, das höhere Bit der Ausgabe des
Halbaddierers 7l und das elftsignifikanteste Bit der Ausgabe der
Booth-Erzeugungsschaltung 333 für Teilprodukte; und der Vollad
dierer 8l empfängt das niedrigere Bit der Ausgabe des Halbaddie
rers 7l, das höhere Bit der Ausgabe des rundenden Halbaddierers
13 und das zwölftsignifikanteste Bit der Ausgabe der Booth-Erzeu
gungsschaltung 333 für Teilprodukte. Der Halbaddierer 7n empfängt
das niedrigere Bit der Ausgabe des rundenden Halbaddierers 13 und
das höhere Bit der Ausgabe des Halbaddierers 7m.
In der dritten Stufe empfängt der Volladdierer 8m die Ausgabe des
Halbaddierers 8a, das höhere Bit der Ausgabe des Halbaddierers 8b
und signifikanteste Bit der Ausgabe der Booth-Erzeugungsschaltung
334 für Teilprodukte (im folgenden Absatz Erzeugungsschaltung 334
genannt); der Volladdierer 8n empfängt das niedrigere Bit der
Ausgabe des Halbaddierers 8b, das höhere Bit der Ausgabe des
Halbaddierers 8c und das zweitsignifikanteste Bit der Ausgabe der
Erzeugungsschaltung 334; der Volladdierer 8o empfängt das niedri
gere Bit der Ausgabe des Halbaddierers 8c, das höhere Bit der
Ausgabe des Halbaddierers 8d und das drittsignifikanteste Bit der
Ausgabe der Erzeugungsschaltung 334; der Volladdierer 8p empfängt
das niedrigere Bit der Ausgabe des Halbaddierers 8d, das höhere
Bit der Ausgabe des Halbaddierers 8e und das viertsignifikanteste
Bit der Ausgabe der Erzeugungsschaltung 334; der Volladdierer 8g
empfängt das niedrigere Bit der Ausgabe des Halbaddierers 8e, das
höhere Bit der Ausgabe des Halbaddierers 8f und das fünftsignifi
kanteste Bit der Ausgabe der Erzeugungsschaltung 334; der Vollad
dierer 8r empfängt das niedrigere Bit der Ausgabe des Halbaddie
rers 8f, das höhere Bit der Ausgabe des Halbaddierers 8g und das
sechstsignifikanteste Bit der Ausgabe der Erzeugungsschaltung
334; der Volladdierer 8s empfängt das niedrigere Bit der Ausgabe
des Halbaddierers 8g, das höhere Bit der Ausgabe des Halbaddie
rers 8h und das siebtsignifikanteste Bit der Ausgabe der Erzeu
gungsschaltung 334; der Volladdierer 8t empfängt das niedrigere
Bit der Ausgabe des Halbaddierers 8h, das höhere Bit der Ausgabe
des Halbaddierers 8i und das achtsignifikanteste Bit der Ausgabe
der Erzeugungsschaltung 334; der Volladdierer 8u empfängt das
niedrigere Bit der Ausgabe des Halbaddierers 8i, das höhere Bit
der Ausgabe des Halbaddierers 8j und das neuntsignifikanteste Bit
der Ausgabe der Erzeugungsschaltung 334; und der Volladdierer 8v
empfängt das niedrigere Bit der Ausgabe des Halbaddierers 8j, das
höhere Bit der Ausgabe des Halbaddierers 8k und das zehntsignifi
kanteste Bit der Ausgabe der Erzeugungsschaltung 334. Der Halbad
dierers 7o empfängt das niedrigere Bit der Ausgabe des Volladdie
rers 8k, das höhere Bit der Ausgabe des Volladdierers 8l, während
der Halbaddierer 7p das niedrigere Bit der Ausgabe des Halbaddie
rers 8l und das höhere Bit der Ausgabe des Halbaddierers 7n emp
fängt.
In der vierten Stufe werden dem 11-Bit Addierer 91 die Ausgabe
des Volladdierers 8m und das höhere Bit der Ausgabe des Vollad
dierers 8n miteinander ausgerichtet an einer Stelle eingegeben,
das niedrigere Bit der Ausgabe des Volladdierers 8n und das höhe
re Bit der Ausgabe des Volladdierers 8o werden miteinander ausge
richtet an einer Stelle eingegeben, das niedrigere Bit der Aus
gabe des Volladdierers 8o und das höhere Bit der Ausgabe des
Volladdierers 8p werden miteinander ausgerichtet an einer Stelle
eingegeben, das niedrigere Bit der Ausgabe des Volladdierers 8p
und das höhere Bit der Ausgabe des Volladdierers 8q werden mit
einander ausgerichtet an einer Stelle eingegeben, das niedrigere
Bit der Ausgabe des Volladdierers 8g und das höhere Bit der Aus
gabe des Volladdierers 8r werden miteinander ausgerichtet an
einer Stelle eingegeben, das niedrigere Bit der Ausgabe des Voll
addierers 8r und das höhere Bit der Ausgabe des Volladdierers 8s
werden miteinander ausgerichtet an einer Stelle eingegeben, das
niedrigere Bit der Ausgabe des Volladdierers 8s und das höhere
Bit der Ausgabe des Volladdierers 8t werden miteinander ausge
richtet an einer Stelle eingegeben, das niedrigere Bit der Aus
gabe des Volladdierers 8t und das höhere Bit der Ausgabe des
Volladdierers 8u werden miteinander ausgerichtet an einer Stelle
eingegeben, das niedrigere Bit der Ausgabe des Volladdierers 8u
und das höhere Bit der Ausgabe des Volladdierers 8v werden mit
einander ausgerichtet an einer Stelle eingegeben, das niedrigere
Bit der Ausgabe des Volladdierers 8v und das höhere Bit-der Aus
gabe des Halbaddierers 7o werden miteinander ausgerichtet an
einer Stelle eingegeben, und das niedrigere Bit der Ausgabe des
Halbaddierers 7o und das höhere Bit der Ausgabe des Halbaddierers
7p werden miteinander ausgerichtet an einer Stelle eingegeben.
Als Ergebnis ergibt die Ausgabe des Addierers 91 die höheren Bits
des Multiplikationsergebnisses 21 (P15 bis P5) . Das am wenigsten
signifikante (das niedrigste) Bit P4 des Multiplikationsergeb
nisses 21 ist das niedrigere Bit der Ausgabe des Halbaddierers
7p.
Da der rundende Halbaddierer 13 in einer Position angeordnet ist,
in der das dreizehntsignifikanteste Bit zu berechnen ist, wird
eine Hilfszahl zu dem dreizehntsignifikantesten Bit addiert. Da
her wird der Effekt der vorliegenden Erfindung auch dort gesi
chert, wo eine Multiplikation unter Verwendung des Booth-Algo
rithmus auszuführen ist. In anderen Worten, es ist möglich, das
Multiplikationsergebnis 21, welches an dem dreizehntsignifikante
sten Bit (an der dreizehnten Stelle auf die zwölfte Stelle) ge
rundet ist, ohne Verwendung einer extern vorgesehenen Rundungs
schaltung zu erhalten.
Wie oben beschrieben, ist der rundende Halbaddierer 13 an einer
Position angeordnet, an der das dreizehntsignifikanteste Bit zu
berechnen ist. Es folgt daraus, daß der rundende Halbaddierer 13
in anderen Stufen angeordnet sein kann und nicht notwendigerweise
wie im Fall des Additionsverarbeitungsteiles 33b in der ersten
Stufe angeordnet sein muß. Fig. 12 ist ein Schaltbild eines Ad
ditionsverarbeitungsteils 33c, der dem Additionsverarbeitungsteil
33b in der Struktur gleich ist, wobei er so modifiziert ist, daß
der Halbaddierer 7n und der rundende Halbaddierer 13 gegeneinan
der ausgetauscht sind.
Wenn der Additionsverarbeitungsteils 33c mit einer solchen Struk
tur in Kombination mit dem Produkterzeugungsteil 33a verwendet
wird, ist die vorliegende Erfindung auf eine Multiplikation, die
den Booth-Algorithmus verwendet, anwendbar.
Die grundlegende Idee wird vor der Diskussion von Details be
schrieben. Es wird als Beispiel angenommen, daß ein 8-Bit Divi
dend A (= A7 A6 . . . A0) durch einen 8-Bit Divisor (Teiler)
B (= B7 B6 . . . B0) < A geteilt wird, um einen gerundeten Quotien
ten zu erhalten, der kleiner als 1 ist. Zum Erhalt des Divisions
ergebnisses, welches auf die achte Dezimalstelle gerundet ist,
ist A + B zu berechnen, und 2-9 ist zu dem Quotienten zu addie
ren. Der gewünschte Quotient, der auf die achte Stelle nach dem
Komma (Radixpunkt) gerundet ist, wird als Ergebnis erhalten. Kurz
gesagt ist Q = A + B + 2-9 auf acht Dezimalstellen zu berechnen.
Die obige Gleichung kann zu Q = (A + B × 2-9) + B modifiziert
werden. Daher ist das gewünschte Berechnungsergebnis durch Tei
lung eines neu angenommenen Dividenden (A + B x 2-9) durch den
Divisor B auf die acht Dezimalstellen erhältlich.
Speziell in diesem Fall, während das niedrigstwertige Bit ein Ge
wicht (Stelle) von 20 hat, hat das signifikanteste Bit von
B × 2-9 ein Gewicht von 2-2. Darum ist das Berechnungsergebnis,
das aus dem neuen Dividenden (A + B × 2-9) erhalten wird, ein 17-
Bit Wert (A7 A6 . . . A0 0 B7 B6 . . . B1 B0), der durch B bis zur
Stelle von 2-8 dividiert werden sollte (d. h. bis zur achten
Stelle ab dem Komma bzw. Radixpunkt). Bis dahin werden von dem
17-Bit Wert die höheren 16-Bits benötigt, was impliziert, das es
notwendig ist (A7 A6 . . . A0 0 B7 B6 . . . B1) durch (B7 B6 . . . B0) zu
teilen. Daher gibt es keine Notwendigkeit, erneut die Rundungs
schaltung 5 wie bei der herkömmlichen Technik vorzusehen oder
einen Quotienten von der neunten Stelle ab dem Radixpunkt zu
berechnen, was das Weglassen einer Stufe der Struktur der
Quotientenbestimmungsschaltung ermöglicht.
Fig. 13 ist ein Schaltbild, das eine Struktur einer Divisions
schaltung 201 zeigt. Die Divisionsschaltung 201 ist zum Dividie
ren eines 8-Bit Dividenden A durch einen 8-Bit Divisor B (< A)
und zum Runden der neunten Stelle ab dem Komma (Radixpunkt) auf
gebaut, um dadurch einen Quotienten bis zur achten Stelle ab dem
Komma zu erhalten. Zu diesem Zweck weist die Divisionsschaltung
201 1-Bit Bestimmungsteiler 12a bis 12h auf.
Zuerst werden der 8-Bit Dividend A und der 8-Bit Divisor B an den
1-Bit Quotientenbestimmungsteil 12a gegeben. Da die Beziehung
A < B erfüllt ist, ist der Wert vor dem Komma (Radixpunkt) immer
0. Daher wird der Wert "0" auch an den 1-Bit Quotientenbestim
mungsteil 12a gegeben. In dem 1-Bit Quotientenbestimmungsteil 12a
wird der Wert "0" zu dem bzw. an das Ende des 8-Bit Dividenden A
addiert (an das Ende addiert bedeutet, daß "0" an dem Ende hinzu
gefügt bzw. an das Ende gefügt wird), so daß ein 9-Bit Wert
(A7 A6 . . . A0 0) erzeugt wird. Dieser Wert entspricht den neun
signifikantesten Bits des neuen 17-Bit Dividenden, welcher in
"(B-0) grundlegende Idee" erläutert wurde. Da in dem 1-Bit
Quotientenbestimmungsteil 12a nur ein Quotient für ein Bit zu
bestimmen ist, gibt es keine Notwendigkeit, alle Stellen des
neuen 17-Bit Dividenden zu berechnen und den 17-Bit Dividenden
durch den Divisor B zu teilen. Es ist vielmehr nur notwendig, den
1-Bit Wert "0" an das Ende des 8-Bit Dividenden A zu addieren.
Auf diese Art und Weise werden der Quotient q7 für die signifi
kanteste Stelle (die Stelle nach dem Komma) und der 8-Bit Rest R8
in dem 1-Bit Quotientenbestimmungsteil 12a berechnet. Fig. 14
ist eine erläuternde Darstellung, die Berechnung in dem 1-Bit
Quotientenbestimmungsteil 12a in der Form einer Berechnung mit
Platzhaltern darstellt.
Als nächstes werden der 8-Bit Rest R8 und der 8-Bit Divisor B an
den 1-Bit Quotientenbestimmungsteil 12b gegeben. Weiter wird in
scharfem Gegensatz zu der herkömmlichen Technik nicht nur der
Wert "0", sondern auch der signifikanteste Wert B7 des Divisors
B, welcher dem zehntsignifikanten Bit des neuen Dividenden ent
spricht, an den 1-Bit Quotientenbestimmungsteil 12b gegeben. In
dem 1-Bit Quotientenbestimmungsteil 12b wird der Wert B7 zu dem
Ende des 8-Bit Restes R8 zu Erzeugung eines 9-Bit Wertes addiert,
welcher dann durch den Divisor B geteilt wird. Fig. 15 ist eine
erläuternde Darstellung, die Berechnung in dem 1-Bit Quotienten
bestimmungsteil 12b in der Form einer Berechnung mit Platzhaltern
zeigt. Wie in Fig. 15 gezeigt, ist das Addieren des Wertes B7 an
das Ende des 8-Bit Restes R8 und nachfolgende Dividieren des re
sultierenden Wertes durch den Divisor B, soweit die Bestimmung
des 1-Bit Quotienten für die zweite Stelle ab dem Komma betroffen
ist, gleich einer Division des neuen 17-Bit Dividenden durch den
Divisor B. Auf diese Weise werden der 1-Bit Quotient q6 für die
zweite Stelle ab dem Komma und der 8-Bit Rest R7 in dem 1-Bit
Quotientenbestimmungsteil 12b berechnet.
In vergleichbarer Weise werden die 1-Bit Quotientenbestimmungs
teile 12c bis 12h entsprechend mit Resten R7 bis R2 versorgt, die
in den entsprechenden vorhergehenden 1-Bit Quotientenbestimmungs
teilen 12b bis 12g berechnet werden. Bezüglich des Divisors B
werden 1-Bit Werte B6 bis B1, die den Divisor B bilden, ebenso an
die 1-Bit Quotientenbestimmungsteile 12c bis 12h gegeben, und
entsprechend an die Enden der Reste R7 bis R2 addiert. Die 1-Bit
Quotientenbestimmungsteile 12c bis 12h geben entsprechend 1-Bit
Quotienten q5 bis q0 aus.
Derart wird durch Addieren (Hinzufügen) eines 1-Bit Wertes, der
zu dem Divisor gehört, an das Ende des Dividenden in jedem der
1-Bit Quotientenbestimmungsteile die Division des neuen 17-Bit
Dividenden durch den Divisor B im wesentlichen durchgeführt.
Daher ist es, wie in "(B-0) grundlegende Idee" beschrieben,
möglich, an der neunten Stelle hinter dem Komma (Radixpunkt) zu
runden, um dadurch einen Quotienten mit acht Stellen ab dem Komma
zu erhalten.
Es ist anzumerken, daß in dem Fall, in dem ein Quotient bis zur
siebten Stelle von dem Komma durch Teilung eines 8-Bit Dividenden
A durch einen 8-Bit Divisor B (< A) und die nachfolgende Rundung
an der achten Stelle zu berechnen ist, der neue Dividend ein 16-
Bit Wert (A7 A6 . . . A0 B7 B6 . . . B) ist, und der 1-Bit Quotienten
bestimmungsteil 12a nicht notwendig ist. Fig. 16 ist ein Schalt
bild, das eine Struktur einer Divisionsschaltung 201a zeigt, die
dort zu verwenden ist, wo eine solche Berechnung auszuführen ist.
An den 1-Bit Quotientenbestimmungsteil 12b wird der Dividend A
anstelle des Restes R8 gegeben. In dem 1-Bit Quotientenbestim
mungsteil 12b wird der Wert B7 zu dem Ende des Dividenden A ad
diert. Die folgenden Berechnungen sind dieselben wie die in der
Divisionsschaltung 201 ausgeführten.
Zur Berechnung eines Quotienten herunter zur neunten Stelle ab
dem Komma (Radixpunkt) durch Teilen eines 8-Bit Dividenden A
durch einen 8-Bit Divisor B (< A) und durch nachfolgendes Runden
der zehnten Stelle, ist ein 18-Bit Wert
(A7 A6 . . . A0 0 0 B7 B6 . . . B) als neuer Dividend zu verwenden.
Daher ist in diesem Fall ein neuer 1-Bit Quotientenbestimmungs
teil 12x vorzusehen. Fig. 17 ist ein Schaltbild, das die
Struktur einer Divisionsschaltung 201b zeigt, die in dem Fall zu
verwenden ist, in dem eine solche Berechnung auszuführen ist. Der
1-Bit Quotientenbestimmungsteil 12x empfängt den Dividenden A,
den Divisor B und einen 1-stelligen Wert "0" und dividiert die
9-Bit Zahl (A7 A6 . . . A0 0) durch den Divisor B, wodurch ein
1-Bit Quotient q8 und ein 8-Bit Rest R9 erhalten werden. Als
nächstes wird in dem 1-Bit Quotientenbestimmungsteil 12a ein
1-stelliger Wert "0" zu dem Ende des Restes R9 addiert. Die
folgenden Berechnungen dieselben wie die in der Divisions
schaltung 201 ausgeführten.
Anders als bei der herkömmlichen Divisionsschaltung benötigen die
Divisionsschaltungen 201, 201a und 201b die Rundungsschaltung 5
nicht. Zusätzlich weisen diese Divisionsschaltungen ein Stufe von
1-Bit Quotientenbestimmungsschaltungen weniger auf. Desweiteren
weisen die in diesen Divisionsschaltungen verwendeten 1-Bit Quo
tientenbestimmungsschaltungen dieselbe Struktur wie die in der
herkömmlichen Divisionsschaltung verwendeten auf, und daher ist
die Schaltungsgröße für eine Stufe ungefähr dieselbe wie bei her
kömmlichen Divisionsschaltung. Daher sind eine kleinere Schal
tungsgröße und ein schnellerer Betrieb als in der herkömmlichen
Divisionsschaltung in diesen Divisionsschaltungen möglich.
Bei der vorliegenden Erfindung kann, falls die Stelle der Run
dungsposition an der L-ten Stelle ab dem Komma (Radixpunkt) ange
ordnet ist, abhängig von der Beziehung zwischen der Anzahl der
Stellen des Dividenden M und der Anzahl L, die Divisionsschaltung
verschiedene Strukturen aufweisen. Die vierte bevorzugte Ausfüh
rungsform entspricht dem Fall, in dem die Beziehung L M gilt,
und daher wird der "neue Dividend" in einer relativ einfachen Art
und Weise berechnet. Falls jedoch die Bez 08615 00070 552 001000280000000200012000285910850400040 0002004409834 00004 08496iehung zwischen L und M
gleich L < M ist, ist es in einigen Fällen notwendig, einen Ad
dierer vor den 1-Bit Quotientenbestimmungsschaltungen vorzusehen.
Die fünfte bevorzugte Ausführungsform behandelt einen solchen
Fall.
Fig. 18 ist ein Schaltbild, das die Struktur einer Divisions
schaltung 202 zeigt. Die Divisionsschaltung 202 ist eine Schal
tung zum Dividieren eines 8-Bit Dividenden A durch 8-Bit Divisor
B (< A) und zum nachfolgenden Runden der fünften Stelle ab dem
Komma (Radixpunkt) um einen Quotienten mit vier Stellen ab dem
Komma zu erhalten. Die Divisionsschaltung 202 weist 1-Bit Bestim
mungsteile 12b bis 12e und einen Addierer 19 auf. Aus dem neuen
Dividenden (A + B × 2-5) werden 13 Bit [A7, A6, A5, A4, A3,
(A2 + B7), (A1 + B6), (A0 + B5), B4, B3, B2, B1, B0] als Berech
nungsergebnis erhalten. Hier müssen, in dem Addierer 19, die drei
signifikantesten Bits des Divisors B zu den niedrigsten (am
wenigsten signifikanten) Bits des Dividenden A addiert (auf
addiert) werden. In anderen Worten werden der Dividend A und die
relativ höheren drei Stellen B7, B6 und B5, welche den Divisor B
bilden, dem Addierer 19 eingegeben.
Nun wird angenommen, daß im binären System A + B < 0.111111. In
diesem Fall ist ein (gerundeter) Quotient 22, der zu berechnen
ist, kleiner als 1, und daher ist der Wert der Stelle vor dem
Komma (Radixpunkt) "0". Demzufolge wird die Ausgabe R5 des Addie
rers 19 in 8 Bit ausgedrückt. Die Ausgabe R5 entspricht den acht
signifikantesten (höchsten) Bits des neuen Dividenden
(A + B × 2-5).
Die Ausgabe R5 des Addierers 19 und der Divisor B werden dem
1-Bit Quotientenbestimmungsteil 12b eingegeben. Das viertsignifi
kanteste Bit B4 des Divisors B wird außerdem an den 1-Bit Quo
tientenbestimmungsteil 12b gegeben und an das Ende der Ausgabe R5
addiert (hinzugefügt). Der 1-Bit Quotientenbestimmungsteil 12b
führt eine Division in vergleichbarer Art und Weise zu der
vierten Ausführungsform aus. Fig. 19 ist eine erläuternde
Darstellung, die die Berechnung in dem 1-Bit Quotientenbestim
mungsteil 12b in der Form einer Berechnung mit Platzhaltern
zeigt. Wie in Fig. 19 gezeigt, sind das Addieren des Wertes B4
an das Ende der Ausgabe R5 und das Dividieren des resultierenden
Wertes durch den Divisor B, soweit die Bestimmung des 1-Bit
Quotienten für das erste signifikante Bit ab dem Komma (Radix
punkt) betroffen ist, gleich einer Teilung des neuen 13-Bit
Dividenden durch den Divisor B. Auf diese Art werden in dem 1-Bit
Quotientenbestimmungsteil 12b ein Quotient q3 für das erste
signifikante Bit ab dem Komma und ein 8-Bit Rest R4 berechnet.
Nachfolgend werden vergleichbar zu der vierten bevorzugten Aus
führungsform 1-Bit Quotienten q2, q1 und q0 in diese Reihenfolge
berechnet. Durch Berechnung des Quotienten q0, welcher an der
vierten Stelle ab dem Komma (Radixpunkt) ist, wird der gewünschte
Quotient 22 erhalten.
Bei der fünften bevorzugten Ausführungsform ist es, vergleichbar
zu der vierten bevorzugten Ausführungsform, nicht notwendig, den
neuen Dividenden als Gesamtes zu einem Zeitpunkt zu berechnen.
Die Divisionsschaltung entsprechend dieser Ausführungsform weist
nur dieselbe Anzahl von 1-Bit Quotientenbestimmungsteilen wie die
Anzahl der Stellen, die zu berechnen sind, auf. Während die Run
dungsschaltung 5 nicht notwendig ist, wird der Addierer 19 benö
tigt. Demzufolge weist die Schaltungsstruktur der Divisionsschal
tung entsprechend dieser Ausführungsform eine Stufe weniger ver
glichen mit der herkömmlichen Divisionsschaltung auf. Dieses re
duziert die Schaltungsgröße und ermöglicht eine höhere Betriebs
geschwindigkeit.
Die vorliegende Erfindung ist auch auf den Fall anwendbar, in dem
A ÷ B < 0.11111 im binären System nicht erfüllt ist. In diesem
Fall ist der zu berechnende (gerundete) Quotient 22 gleich oder
größer als 1, und sein Wert an der Stelle vor dem Komma (Radix
punkt) ist "1". Daher wird die Ausgabe R5 des Addierers 19 in
9-Bit ausgedrückt. Die Ausgabe R5 entspricht dem neun signifi
kantesten (höchsten) Bits des neuen Dividenden (A + B × 2-5).
Fig. 20 ist ein Schaltbild, das eine Struktur einer Divisions
schaltung 203 zeigt, die auf den Fall anwendbar ist, in dem es
die Möglichkeit gibt, das eine wie oben beschriebene Beziehung
zwischen dem Dividenden A und dem Divisor B existiert. Die Divi
sionsschaltung 203 ist gleich der Struktur der Divisionsschaltung
202, die so modifiziert ist, daß sie neu einen 1-Bit Quotienten
bestimmungsteil 12a zwischen dem Addierer 19 und dem 1-Bit Quo
tientenbestimmungsteil 12b aufweist.
Auf dieselbe Art wie der Addierer 19 in der Divisionsschaltung
202 addiert der Addierer 19 die relativ höheren 3-Bit B7, B6 und
B5, die den Divisor B bilden, zu dem Dividenden A, wobei das am
wenigsten signifikante Bit dieser drei Bits mit dem am wenigsten
signifikanten Bit des Dividenden A ausgerichtet wird. Als Ergeb
nis wird die 9-Bit Ausgabe R6 von dem Addierer 19 an den 1-Bit
Quotientenbestimmungsteil 12a ausgegeben.
Der 1-Bit Quotientenbestimmungsteil 12a wird mit dem Divisor B
versorgt, so daß ein Quotient q4 für das erste Bit vor dem Komma
(Radixpunkt) berechnet wird. Falls im binären System
A + B < 0.11111 ist, ist der Quotient q4 gleich 0 und andernfalls
1. Der 1-Bit Quotientenbestimmungsteil 12a gibt den 8-Bit Rest R5
ebenso zusätzlich zu dem Quotienten q4 aus.
Darauf folgend werden Berechnungen vergleichbar zu denen, die in
der Divisionsschaltung 202 ausgeführt werden, ausgeführt, um da
durch den Quotienten 22, der an der fünften Stelle nach dem Komma
(Radixpunkt) (d. h. auf die vierte Stelle) gerundet ist, zu er
halten, und der daher eventuell vier Stellen aufweist.
Für die Divisionsschaltung 203 muß ein 1-Bit Quotientenbestim
mungsteil mehr als die Anzahl der Dezimalstellen (d. h. der
Stellen), die zu berechnen sind, vorgesehen werden, wobei die
Struktur dieselbe wie bei herkömmlichen Divisionsschaltung ist.
Während die Rundungsschaltung 5 nicht notwendig ist, wird der
Addierer 19 benötigt. Demzufolge ist eine große Reduzierung der
Schaltungsgröße verglichen mit der herkömmlichen Divisions
schaltung unmöglich. Jedoch ist es, während es bei der herkömm
lichen Technik notwendig ist, Berechnungen bis zu einer Stelle
auszuführen, die eine Stelle niedriger als die Stelle ist, bis zu
welcher der Quotient letztendlich zu berechnen ist, bei der Divi
sionsschaltung 203 möglich, ein bereits gerundetes Resultat
seriell bzw. aufeinanderfolgend von der signifikantesten bzw.
höchsten Stelle ab zu erhalten. Das ist dahingehend vorteilhaft,
daß das gewünschte Resultat seriell vom signifikantesten Bit,
welches die wichtigste Information trägt, erhältlich ist, obwohl
es noch nicht vollständig berechnet ist.
Obwohl die bevorzugten Ausführungsformen, die zuvor beschrieben
wurden, alle Werte behandeln, die alle binäre Zahlen sind, ist
die vorliegende Erfindung nicht nur auf binäre Multiplikation und
binäre Division anwendbar. Die vorliegende Erfindung ist vielmehr
allgemein anwendbar auf eine Multiplikation und eine Division in
irgendeinem Zahlensystem bzw. numerischen System, in dem die
Grundzahl (Radix) D eine Ganzzahl (Integer) ist, die gleich zu
oder größer als 2 ist. In diesem Fall ist in der Multiplizier
schaltung als eine Hilfszahl eine Minimalzahl, die gleich oder
größer als die Hälfte des Wertes D ist, zu verwenden.
Claims (20)
1. Multiplizierschaltung mit
- (a) einem Erzeugungsteil (30a, 31a, 33a, 331-334) für Teilproduk te zur Erzeugung einer Mehrzahl von Teilprodukten (Cmn) aus einer Mehrzahl von Elementen eines Multiplikanden und einer Mehrzahl von Elementen eines Multiplikators, wobei die Elemente des Multi plikanden jeweils mindestens 1 Stelle aufweisen, die einen Multi plikanden A (= A(M-1) . . . A1 A0) bildet, welcher D-artig in M Stellen ausgedrückt ist, wobei die Elemente des Multiplikators jeweils mindestens eine Stelle aufweisen, die einen Multiplikator B (= B(N-1) . . . B1 B0) bildet, welcher D-artig in N Stellen ausge drückt ist; und
- (b) einem Additionsverarbeitungsteil (30b, 31b, 31c, 33b, 33c), zum Aufaddieren der Teilprodukte, wobei die Teilprodukte Stelle für Stelle zueinander ausgerichtet sind, wobei der Additionsverarbeitungsteil (b-1) einen rundenden Addierer (13) aufweist, der einen ersten und einen zweiten Eingabeanschluß zum jeweiligen Empfangen eines 1-stelligen Wertes und einen ersten und einen zweiten Ausgabean schluß aufweist, wobei ein Wert, der an dem ersten Ausgabean schluß des rundenden Addierers verfügbar ist, eine relativ höhere Stelle einer Summe von Werten, die an den ersten und den zweiten Eingabeanschluß gegeben werden, und einer Hilfszahl ist, und ein Wert, der an dem zweiten Ausgabeanschluß des rundenden Addierers verfügbar ist, eine relativ niedrigere Stelle der Summe der Werte, die an den ersten und den zweiten Eingabeanschluß gegeben werden, und der Hilfszahl ist, und wobei der Addierer an einer Position angeordnet ist, die der K-signifikantesten Stelle eines Produktes E des Multiplikanden A und des Multiplikators B entspricht.
2. Multiplizierschaltung nach Anspruch 1, dadurch gekennzeich
net,
daß die Hilfszahl ein Minimalwert ist, der gleich oder größer der
Hälfte der Zahl D ist.
3. Multiplizierschaltung nach Anspruch 1 oder 2, dadurch ge
kennzeichnet,
daß die Zahl D gleich 2 ist, und
daß die Hilfszahl gleich 1 ist.
4. Multiplizierschaltung nach einem der Ansprüche 1 bis 3, da
durch gekennzeichnet,
daß der rundende Addierer (13) (b-1-1) ein erstes Gatter, das einen ersten, einen zweiten und einen dritten Anschluß aufweist, wobei der erste Anschluß mit dem ersten Eingabeanschluß verbunden ist, der zweite Anschluß mit dem zweiten Eingabeanschluß verbunden ist, und der dritte Anschluß den ersten Ausgabeanschluß mit einem ODER der Werte, die an den ersten und den zweiten Anschluß des ersten Gatters gegeben wer den, bildet; und
daß der rundende Addierer (13) (b-1-1) ein erstes Gatter, das einen ersten, einen zweiten und einen dritten Anschluß aufweist, wobei der erste Anschluß mit dem ersten Eingabeanschluß verbunden ist, der zweite Anschluß mit dem zweiten Eingabeanschluß verbunden ist, und der dritte Anschluß den ersten Ausgabeanschluß mit einem ODER der Werte, die an den ersten und den zweiten Anschluß des ersten Gatters gegeben wer den, bildet; und
- (b-1-2) ein zweites Gatter, das einen ersten, einen zweiten und einen dritten Anschluß aufweist, wobei der erste Anschluß mit dem ersten Eingabeanschluß verbunden ist, der zweite Anschluß mit dem zweiten Eingabeanschluß verbunden ist, und der dritte Anschluß den zweiten Ausgabeanschluß mit einem exklusiven NOR der Werte, die an den ersten und den zweiten Anschluß des zweiten Gatters gegeben werden, bildet, aufweist.
5. Multiplizierschaltung nach einem der Ansprüche 1 bis 4, da
durch gekennzeichnet,
daß die Elemente des Multiplikators, die Elemente des Multipli kanden und die Teilprodukte alle 1-stellige Werte "0" oder "1" sind, und
daß der Erzeugungsteil für Teilprodukte (a-1) M × N Gatter aufweist, die jeweils zum Erhalt eines logi schen Produktes Cmn eines der Elemente Am des Multiplikanden, welches der m-ten Stelle des Multiplikanden A (0 m M-1) ent spricht, und eines Elementes Bn des Multiplikators, welches der n-ten Stelle des Multiplikators B (0 n N-1) entspricht, dienen.
daß die Elemente des Multiplikators, die Elemente des Multipli kanden und die Teilprodukte alle 1-stellige Werte "0" oder "1" sind, und
daß der Erzeugungsteil für Teilprodukte (a-1) M × N Gatter aufweist, die jeweils zum Erhalt eines logi schen Produktes Cmn eines der Elemente Am des Multiplikanden, welches der m-ten Stelle des Multiplikanden A (0 m M-1) ent spricht, und eines Elementes Bn des Multiplikators, welches der n-ten Stelle des Multiplikators B (0 n N-1) entspricht, dienen.
6. Multiplizierschaltung nach einem der Ansprüche 1 bis 5, da
durch gekennzeichnet,
daß der Additionsverarbeitungsteil weiter (b-2) eine erste Addierergruppe, die durch (M-1) Halbaddierer ge bildet wird;
daß der Additionsverarbeitungsteil weiter (b-2) eine erste Addierergruppe, die durch (M-1) Halbaddierer ge bildet wird;
- (b-3) eine k-te Addierergruppe, die durch (M-1) Volladdierer (2 k N-1) gebildet wird; und
- (b-4) einen Addierer mit Parallelübertrag, der Eingabeanschlüsse für (M-1) Stellen und Ausgabeanschlüsse für M Stellen aufweist, aufweist,
wobei in dem Additionsverarbeitungsteil
- (c-1) eines der Teilprodukte C (M-1)j (1 j N-2) an den Vollad dierer für die höchste Stelle in der (j+1)-ten Addierergruppe gegeben wird;
- (c-2) eines der Teilprodukte Cÿ (0 i M-2, 2 j N-1) an den Volladdierer für die (i+1)-niedrigste Stelle der j-ten Addierer gruppe gegeben wird;
- (c-3) eines der Teilprodukte Ci1(0 i M-2) an den Halbaddierer für die (i+1)-niedrigste Stelle der ersten Addierergruppe gegeben wird;
- (c-4) eines der Teilprodukte Ci0(0 i M-1) an den Halbaddierer für die i-niedrigste Stelle der ersten Addierergruppe gegeben wird;
- (c-5) der Eingabeanschluß für die höchste Stelle des Addierers mit Parallelübertrag mit einem der Teilprodukte C(M-1)(N-1) und einer relativ höheren Stelle einer Ausgabe des Volladdierers für die höchste Stelle der (N-1)-ten Addierergruppe versorgt wird;
- (c-6) der Eingabeanschluß für die p-niedrigste Stelle (1 p (M-2)) des Addierers mit Parallelübertrag mit einer relativ höheren Stelle einer Ausgabe eines Volladdierers für die p-niedrigste Stelle der (N-1)-ten Addierergruppe und einer relativ niedrigen Stelle einer Ausgabe eines Volladdierers für die (p+1)-niedrigste Stelle der (N-1)-ten Addierergruppe versorgt wird;
- (c-7) ein Volladdierer für die p-niedrigste Stelle der j-ten Ad dierergruppe (3 j N-1) mit einer relativ niedrigen Stelle ei ner Ausgabe eines Volladdierers für eine (p+1)-niedrigste Stelle der (j-1)-ten Addierergruppe und einer relativ hohen Stelle einer Ausgabe eines Volladdierers für die p-niedrigste Stelle einer (j-1)-ten Addierergruppe versorgt wird;
- (c-8) der Volladdierer für die höchste Stelle einer j-ten Addie rergruppe weiter mit einer relativ hohen Stelle einer Ausgabe des Volladdierers für die höchste Stelle einer (j-1)-ten Addierer gruppe versorgt wird;
- (c-9) ein Volladdierer für die p-niedrigste Stelle einer zweiten Addierergruppe mit einer relativ niedrigen Stelle einer Ausgabe eines Halbaddierers für eine (p+1)-niedrigste Stelle einer ersten Addierergruppe und einer relativ hohen Stelle einer Ausgabe eines Halbaddierers für die p-niedrigste Stelle der ersten Addierer gruppe versorgt wird; und
- (c-10) der Volladdierer für die höchste Stelle der zweiten Addie rergruppe wird mit einer relativ hohen Stelle einer Ausgabe des Halbaddierers für die höchste Stelle der ersten Addierergruppe versorgt wird, und
wobei aus der ersten Addierergruppe der Halbaddierer, der an ei
ner Position angeordnet ist, die der K-höchsten Stelle eines
Produktes E entspricht, der rundende Addierer (13) ist.
7. Multiplizierschaltung nach einem der Ansprüche 1 bis 6, da
durch gekennzeichnet,
daß der Additionsverarbeitungsteil eine Wallace-Baum-Schaltung
bildet.
8. Multiplizierschaltung nach einem der Ansprüche 1 bis 4, da
durch gekennzeichnet,
daß der Multiplikator und der Multiplikand jeweils als ein Kom plement von 2 ausgedrückt sind, falls sie negative Zahlen sind, der Multiplikand den Elementen des Multiplikanden entspricht, die Elemente des Multiplikators durch eine Mehrzahl von Stellen, die in dem Multiplikator aufeinanderfolgend sind, gebildet wer den,
der Erzeugungsteil für Teilprodukte eine Mehrzahl von Booth- Erzeugungsschaltungen für Teilprodukte aufweist, die die Teilpro dukte entsprechend zu dem Booth-Algorithmus erzeugen, und der Additionsverarbeitungsteil die Teilprodukte aufaddiert, wobei die höchsten Stellen der Teilprodukte miteinander ausgerichtet sind.
daß der Multiplikator und der Multiplikand jeweils als ein Kom plement von 2 ausgedrückt sind, falls sie negative Zahlen sind, der Multiplikand den Elementen des Multiplikanden entspricht, die Elemente des Multiplikators durch eine Mehrzahl von Stellen, die in dem Multiplikator aufeinanderfolgend sind, gebildet wer den,
der Erzeugungsteil für Teilprodukte eine Mehrzahl von Booth- Erzeugungsschaltungen für Teilprodukte aufweist, die die Teilpro dukte entsprechend zu dem Booth-Algorithmus erzeugen, und der Additionsverarbeitungsteil die Teilprodukte aufaddiert, wobei die höchsten Stellen der Teilprodukte miteinander ausgerichtet sind.
9. Multiplizierschaltung nach Anspruch 8, dadurch gekennzeich
net,
daß die Zahl N eine gerade Zahl ist,
die Mehrzahl der Elemente des Multiplikators in 0-te bis i-te 3-stellige Multiplikatorelemente (B2i+1 B2i B2i-1) geteilt werden, wobei 0 i (N-2) /2 und B-1 = 0,
die Teilprodukte in 0-te bis i-te Teilprodukte geteilt werden, die durch Ausführen einer vorbestimmten Berechnung für die Ele mente des Multiplikanden und die 0-ten bis i-ten Multiplikator elemente erhältlich sind,
wobei der Additionsverarbeitungsteil weiter
daß die Zahl N eine gerade Zahl ist,
die Mehrzahl der Elemente des Multiplikators in 0-te bis i-te 3-stellige Multiplikatorelemente (B2i+1 B2i B2i-1) geteilt werden, wobei 0 i (N-2) /2 und B-1 = 0,
die Teilprodukte in 0-te bis i-te Teilprodukte geteilt werden, die durch Ausführen einer vorbestimmten Berechnung für die Ele mente des Multiplikanden und die 0-ten bis i-ten Multiplikator elemente erhältlich sind,
wobei der Additionsverarbeitungsteil weiter
- (b-2) eine erste Addierergruppe, die eine Mehrzahl von Halbaddie rern aufweist, die entsprechend zu der 0-ten Produktgruppe, aus genommen für die zwei niedrigsten Bits der 0-ten Produktgruppe, und zu der ersten Produktgruppe vorgesehen sind; und
- (b-3) eine (j+1)-te Addierergruppe aufweist, die (b-3-1) j Halbaddierer, die aufeinanderfolgend auf der Seite der niedrigeren Stelle vorgesehen sind, wobei die (j+1) Ausgaben der niederen Stellen der j-ten Addierergruppe (1 j (N-2)/2-1) an die j Halbaddierer mit miteinander ausgerichteten Stellen ge geben werden; und
- (b-3-2) Volladdierer, die aufeinanderfolgend auf der Seite der höheren Stelle vorgesehen sind, wobei die Ausgaben der j-ten Ad dierergruppe und das (j+1)-te Teilprodukt den Volladdierern ent sprechend gegeben werden, aufweist, und
wobei von den Halbaddierern einer, der in einer Position
angeordnet ist, die der K-höchsten Stelle des Produktes E
entspricht, der rundende Addierer (13) ist.
10. Multiplizierschaltung nach einem der Ansprüche 1 bis 9, da
durch gekennzeichnet,
daß die Zahlen M und N einander gleich sind.
11. Divisionsschaltung zum Teilen eines Dividenden A
(= A(M-1) . . . A1 A0), der D-artig in M Stellen ausgedrückt ist,
durch einen Divisor B (= B(N-1) . . . B1 B0), der D-artig in N
Stellen ausgedrückt ist, und der größer als der Dividend A ist,
und zum Berechnen eines Quotienten, der an der (K+1)-ten Stelle
ab dem Komma gerundet ist und daher K-Stellen aufweist,
wobei die Divisionsschaltung
- (x-1) Addiermittel zum Aufaddieren des Dividenden A und minde stens der (2N-M-1)-höchsten Stelle, wobei die höchste Stelle des Divisors B auf eine Stelle von D(N-K-2) und die niedrigste Stelle des Dividenden A auf eine Stelle von D° ausgerichtet wird, wo durch ein Dividend C erhalten wird; und
- (x-2) einen Divisionsverarbeitungsteil zum Teilen des Dividenden C durch den Divisor B, um dadurch einen Quotienten zu berechnen, der K-Stellen ab dem Komma aufweist.
12. Divisionsschaltung zum Teilen eines Dividenden A
(= A(M-1) . . . A1 A0), der D-artig in M Stellen ausgedrückt ist,
durch einen Divisor B (= B(N-1) . . . B1 B0), der D-artig in N
Stellen ausgedrückt ist, und der größer als der Dividend A ist,
wobei die Divisionsschaltung
- (a-1) einen i-ten Quotientenbestimmungsteil, der einen ersten Eingabeanschluß, einen zweiten Eingabeanschluß zum Empfangen des Divisors B, einen dritten Eingabeanschluß und einen ersten und einen zweiten Ausgabeanschluß aufweist, wobei der i-te Quotien tenbestimmungsteil einen Wert, der an den dritten Eingabeanschluß gegeben wird, an das Ende eines Wertes addiert, der an den ersten Eingabeanschluß gegeben wird, und einen resultierenden Wert durch den Divisor B teilt, um so einen 1-stelligen i-ten Quotienten (1 i (2N-M-2)) und ein i-ten Rest Ri zu erhalten, wobei der i-te Quotient und i-te Rest Ri an dem ersten bzw. dem zweiten Ausgabeanschluß ausgegeben werden; und
- (a-2) einen (2N-M-1)-ten Quotientenbestimmungsteil aufweist, der einen ersten Eingabeanschluß, einen zweiten Eingabeanschluß zum Empfangen des Divisors B, einen dritten Eingabeanschluß und einen Ausgabeanschluß aufweist, wobei der (2N-M-1)-te Quotientenbestim mungsteil einen Wert, der an den dritten Eingabeanschluß gegeben wird, an das Ende eines Wertes addiert, der an den ersten Einga beanschluß gegeben wird, und einen resultierenden Wert durch den Divisor B teilt, um dadurch einen 1-stelligen (2N-M-1)-ten Quo tienten zu erhalten, wobei der (2N-M-1)-te Quotient an dem Ausga beanschluß ausgegeben wird, wobei
- (b-1) der Dividend A an den ersten Eingabeanschluß des ersten Quotientenbestimmungsteils gegeben wird,
- (b-2) der (j-1)-te Rest R(j-1) an den ersten Eingabeanschluß des j-ten Quotientenbestimmungsteils (2 j (2N-M-1)) gegeben wird,
- (c-1) ein Wert B(N-i) der i-höchsten Stelle an den dritten An schluß des i-ten Quotientenbestimmungsteils gegeben wird, und
- (c-2) ein Wert B(M-N+1) der (2N-M-1)-höchsten Stelle des Divisors B an den dritten Anschluß des (2N-M-1)-ten Quotientenbestimmungs teils gegeben wird.
13. Divisionsschaltung zum Teilen eines Dividenden A
(= A(M-1) . . . A1 A0), der D-artig in M Stellen ausgedrückt ist,
durch einen Divisor B (= B(N-1) . . . B1 B0), der D-artig in N
Stellen ausgedrückt ist, und der größer als der Dividend A ist,
wobei die Divisionsschaltung
- (a-1) einen i-ten Quotientenbestimmungsteil, der einen ersten Eingabeanschluß, einen zweiten Eingabeanschluß zum Empfangen des Divisors B, einen dritten Eingabeanschluß und einen ersten und einen zweiten Ausgabeanschluß aufweist, wobei der i-te Quotien tenbestimmungsteil einen Wert, der an den dritten Anschluß gege ben wird, an das Ende eines Wertes addiert, der an den ersten Eingabeanschluß gegeben wird, und einen resultierenden Wert durch den Divisor B teilt, um dadurch einen 1-stelligen i-ten Quotien ten (1 i (N-M+K-1), K < (N-1) und einen i-ten Rest Ri zu er halten, wobei der i-te Quotient und i-te Rest Ri an dem ersten bzw. dem zweiten Ausgabeanschluß ausgegeben werden; und
- (a-2) einen (N-M+K)-ten Quotientenbestimmungsteil aufweist, der einen ersten Eingabeanschluß, einen zweiten Eingabeanschluß zum Empfangen des Divisors B, einen dritten Eingabeanschluß und einen Ausgabeanschluß aufweist, wobei der (N-M+K)-te Quotientenbestim mungsteil einen Wert, der an den dritten Eingabeanschluß gegeben wird, an das Ende eines Wertes addiert, der an den ersten Einga beanschluß gegeben wird, und einen resultierenden Wert durch den Divisor B teilt, um dadurch einen 1-stelligen (N-M+K)-ten Quo tienten zu erhalten, wobei der (N-M+K)-te Quotient an dem Ausga beanschluß ausgegeben wird, wobei
- (b-1) der Dividend A an den ersten Eingabeanschluß des ersten Quotientenbestimmungsteils gegeben wird,
- (b-2) der (j-1)-te Rest R(j-1) an den ersten Eingabeanschluß des j-ten Quotientenbestimmungsteils (2 j (N-M+K)) gegeben wird, (c-1) ein Wert "0" an den dritten Anschluß des k-ten Quotienten bestimmungsteils (1 j (K-N+1)) gegeben wird,
- (c-2) ein Wert B(N-(m-K-N+1)) der (m-(K-N+1))-höchsten Stelle des Divisors B an den dritten Anschluß des m-ten Quotientenbestim mungsteils gegeben wird ((K-N+2) m (N-M+K-1)), und
- (c-3) ein Wert B(M-N+1) der (2N-M-1)-höchsten Stelle des Divisors B an dem dritten Anschluß des (N-M+K)-ten Quotientenbestimmungs teils gegeben wird.
14. Divisionsschaltung zum Teilen eines Dividenden A
(= A(M-1) . . . A1 A0), der D-artig in M Stellen ausgedrückt ist,
durch einen Divisor B (= B(N-1) . . . B1 B0), der D-artig in N
Stellen ausgedrückt ist, und der größer als der Dividend A ist,
wobei die Divisionsschaltung
- (a) einen Addierer mit einem ersten und einem zweiten Eingabean schluß und einem Ausgabeanschluß, wobei der erste Eingabeanschluß den Dividenden A empfängt, der zweite Eingabeanschluß einen Wert B(N-1) B(N-2) . . . BK B(K+1), der den höchsten bis (N-1-K)-höchsten Stellen des Divisors B (K < N-1) entspricht, empfängt, der Ausga beanschluß ein Additionsergebnis ausgibt, das durch Aufaddieren der Werte, die an den ersten und den zweiten Eingabeanschluß ge geben werden, wobei die niedrigsten Bits der Werte, die an den ersten und an den zweiten Eingabeanschluß gegeben werden, mitein ander ausgerichtet sind, erhalten wird;
- (b-1) einen i-ten Quotientenbestimmungsteil, der einen ersten Eingabeanschluß, einen zweiten Eingabeanschluß zum Empfangen des Divisors B, einen dritten Eingabeanschluß und einen ersten und einen zweiten Ausgabeanschluß aufweist, wobei der i-te Quotien tenbestimmungsteil einen Wert, der an den dritten Eingabeanschluß gegeben wird, an das Ende eines Wertes addiert bzw. fügt, der an den ersten Eingabeanschluß gegeben wird, und einen resultierenden Wert durch den Divisor B dividiert, um so einen 1-stelligen i-ten Quotienten (1 i (N-M+K-1), und einen i-ten Rest Ri zu erhal ten, wobei der i-te Quotient und i-te Rest Ri an dem ersten bzw. dem zweiten Ausgabeanschluß ausgegeben werden; und
- (a-2) einen (N-M+K)-ten Quotientenbestimmungsteil aufweist, der einen ersten Eingabeanschluß, einen zweiten Eingabeanschluß zum Empfangen des Divisors B, einen dritten Eingabeanschluß und einen Ausgabeanschluß aufweist, wobei der (N-M+K)-te Quotientenbestim mungsteil einen Wert, der an den dritten Eingabeanschluß gegeben wird, an das Ende eines Wertes addiert bzw. fügt, der an den ersten Eingabeanschluß gegeben wird, und einen resultierenden Wert durch den Divisor B teilt, um dadurch einen 1-stelligen (N-M+K)-ten Quotienten zu erhalten, wobei der (N-M+K)-te Quotient an dem Ausgabeanschluß ausgegeben wird, aufweist, wobei
- (c-1) das Additionsergebnis an den ersten Eingabeanschluß des er sten Quotientenbestimmungsteils gegeben wird,
- (b-2) der (j-1)-te Rest R(j-1) an den ersten Eingabeanschluß des j-ten Quotientenbestimmungsteils (2 j (N-M+K)) gegeben wird,
- (d-1) ein Wert B(K-j+1) der (i+(N-1-K))-höchsten Stelle des Divisors B an den dritten Anschluß des i-ten Quotientenbestim mungsteils gegeben wird, und
- (d-2) ein Wert B(M-N+1) der (2N-M-1)-höchsten Stelle des Divisors B an den dritten Anschluß des (N-M+K)-ten Quotientenbestimmungs teils gegeben wird.
15. Divisionsschaltung zum Teilen eines Dividenden A
(= A(M-1) . . . A1 A0), der D-artig in M Stellen ausgedrückt ist,
durch einen Divisor B (= B(N-1) . . . B1 B0), der D-artig in N
Stellen ausgedrückt ist, und der größer als der Dividend A ist,
wobei die Divisionsschaltung
- (a) einen Addierer mit einem ersten und einem zweiten Eingabean schluß und einem Ausgabeanschluß, wobei der erste Eingabeanschluß den Dividenden A empfängt, der zweite Eingabeanschluß einen Wert B(N-1) B(N-2) . . . BK B(K+1), der der höchsten bis (N-1-K)-höchsten Stelle des Divisors B entspricht, empfängt, der Ausgabeanschluß ein Additionsergebnis ausgibt, das durch Aufaddieren der Werte, erhalten wird, die an den ersten und den zweiten Eingabeanschluß gegeben werden, wobei die niedrigsten Bits der Werte, die an den ersten und an den zweiten Eingabeanschluß gegeben werden, mitein ander ausgerichtet sind;
- (b-1) einen ersten Quotientenbestimmungsteil, der einen ersten und einen zweiten Eingabeanschluß und einen ersten und einen zweiten Ausgabeanschluß aufweist, wobei der erste Eingabeanschluß das Additionsergebnis empfängt, der zweite Ausgabeanschluß den Divisor B empfängt, und der erste bzw. der zweite Ausgabeanschluß entsprechend einen 1-stelligen ersten Quotienten und einen ersten M-stelligen Rest Ri ausgeben, die durch Teilung des Additionser gebnisses durch den Divisor B erhalten werden;
- (b-2) einen i-ten Quotientenbestimmungsteil, der einen ersten Eingabeanschluß, einen zweiten Eingabeanschluß zum Empfangen des Divisors B, einen dritten Eingabeanschluß und einen Ausgabean schluß aufweist, wobei der i-te Quotientenbestimmungsteil einen Wert, der an den dritten Eingabeanschluß gegeben wird, an das En de eines Wertes addiert, der an den ersten Eingabeanschluß gege ben wird, und einen resultierenden Wert durch den Divisor B teilt, um dadurch einen 1-stelligen i-ten Quotienten und einen i-ten Rest Ri (2 i (N-M+K)) zu erhalten, wobei der i-te Quo tient und der i-te Rest Ri an den ersten bzw. den zweiten Ausga beanschluß ausgegeben werden; und
- (b-3) einen (N-M+K-1)-ten Quotientenbestimmungsteil, der einen ersten Eingabeanschluß, einen zweiten Eingabeanschluß zum Empfan gen des Divisors B, einen dritten Eingabeanschluß und einen Aus gabeanschluß aufweist, wobei der (N-M+K+1)-te Quotientenbestim mungsteil einen Wert, der an den dritten Eingabeanschluß gegeben wird, an das Ende eines Wertes addiert, der an den ersten Einga beanschluß gegeben wird, und einen resultierenden (M+1)-stelligen Wert durch den Divisor B teilt, um dadurch einen 1-stelligen (N- M+K+1)-te Quotienten zu erhalten, wobei der (N-M+K+1)-te Quotien ten an dem Ausgabeanschluß ausgegeben wird, aufweist, wobei
- (c-1) der (i-1)-te Rest R(i-1) an den ersten Eingabeanschluß des i-ten Quotientenbestimmungsteils gegeben wird,
- (c-2) der (N-M+K)-te Rest R(N-M+K) an den ersten Eingabeanschluß des (N-M+K+1)-ten Quotientenbestimmungsteils gegeben wird,
- (d-1) ein Wert B(K-i+2) der (i+(N-2-K)-höchsten Stelle des Divi sors B an den dritten Anschluß des i-ten Quotientenbestimmungs teils gegeben wird, und
- (d-2) ein Wert B(M-N+1).höchsten Stelle des Divisors B an den dritten Anschluß des (N-M+K+1)-ten Quotientenbestimmungsteils ge geben wird.
16. Divisionsschaltung nach einem der Ansprüche 11 bis 15, da
durch gekennzeichnet,
daß D gleich 2 ist.
17. Divisionsschaltung nach einem der Ansprüche 11 bis 15, da
durch gekennzeichnet,
daß die Zahlen M und N einander gleich sind.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE4447781A DE4447781B4 (de) | 1993-03-22 | 1994-03-22 | Divisionsschaltung |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP06183293A JP3276444B2 (ja) | 1993-03-22 | 1993-03-22 | 除算回路 |
Publications (2)
Publication Number | Publication Date |
---|---|
DE4409834A1 true DE4409834A1 (de) | 1994-09-29 |
DE4409834C2 DE4409834C2 (de) | 1998-09-10 |
Family
ID=13182470
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE4409834A Expired - Fee Related DE4409834C2 (de) | 1993-03-22 | 1994-03-22 | Multiplizierschaltung |
Country Status (5)
Country | Link |
---|---|
US (2) | US5444647A (de) |
JP (1) | JP3276444B2 (de) |
CA (1) | CA2119283C (de) |
DE (1) | DE4409834C2 (de) |
FR (2) | FR2703166B1 (de) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE10201442C1 (de) * | 2002-01-16 | 2003-07-31 | Infineon Technologies Ag | Vorrichtung und Verfahren zum Multiplizieren oder Dividieren eines ersten Operanden mit bzw. durch einen zweiten Operanden |
DE10201449C1 (de) * | 2002-01-16 | 2003-08-14 | Infineon Technologies Ag | Rechenwerk, Verfahren zum Ausführen einer Operation mit einem verschlüsselten Operanden, Carry-Select-Addierer und Kryptographieprozessor |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR0175974B1 (ko) * | 1995-07-04 | 1999-05-15 | 김은영 | 파이프라인 구조에 근거한 곱셈/나눗셈 공유 처리기 구조 |
US5726927A (en) * | 1995-09-11 | 1998-03-10 | Digital Equipment Corporation | Multiply pipe round adder |
US5729485A (en) * | 1995-09-11 | 1998-03-17 | Digital Equipment Corporation | Fast determination of carry inputs from lower order product for radix-8 odd/even multiplier array |
JP3652447B2 (ja) * | 1996-07-24 | 2005-05-25 | 株式会社ルネサステクノロジ | ツリー回路 |
JPH10133856A (ja) * | 1996-10-31 | 1998-05-22 | Nec Corp | 丸め機能付き乗算方法及び乗算器 |
JP3019796B2 (ja) * | 1997-01-10 | 2000-03-13 | 日本電気株式会社 | 乗算器 |
US6434587B1 (en) | 1999-06-14 | 2002-08-13 | Intel Corporation | Fast 16-B early termination implementation for 32-B multiply-accumulate unit |
US7769797B2 (en) | 2004-01-20 | 2010-08-03 | Samsung Electronics Co., Ltd. | Apparatus and method of multiplication using a plurality of identical partial multiplication modules |
US8442217B2 (en) * | 2008-11-17 | 2013-05-14 | Intel Corporation | Method of implementing one way hash functions and apparatus therefor |
US8615540B2 (en) * | 2009-07-24 | 2013-12-24 | Honeywell International Inc. | Arithmetic logic unit for use within a flight control system |
US9262123B2 (en) * | 2013-07-31 | 2016-02-16 | Arm Limited | Data processing apparatus and method for performing a narrowing-and-rounding arithmetic operation |
CN113630236A (zh) * | 2021-07-21 | 2021-11-09 | 浪潮电子信息产业股份有限公司 | 一种sm3的数据加密方法及相关装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE3901995A1 (de) * | 1988-01-25 | 1989-08-03 | Oki Electric Ind Co Ltd | Parallelmultiplizierer |
DE3909713A1 (de) * | 1988-10-18 | 1990-04-19 | Mitsubishi Electric Corp | Multiplizierschaltung |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3623012A (en) * | 1969-06-30 | 1971-11-23 | Ibm | Accounting system with program by example facilities |
US3803393A (en) * | 1969-07-01 | 1974-04-09 | Nasa | Asynchronous binary array divider |
US3885141A (en) * | 1974-02-06 | 1975-05-20 | Bell Telephone Labor Inc | Modular pipeline multiplier to generate a rounded product |
US4153938A (en) * | 1977-08-18 | 1979-05-08 | Monolithic Memories Inc. | High speed combinatorial digital multiplier |
JPS5938850A (ja) * | 1982-08-27 | 1984-03-02 | Toshiba Corp | 割算回路 |
US4648058A (en) * | 1984-04-03 | 1987-03-03 | Trw Inc. | Look-ahead rounding circuit |
JP2585649B2 (ja) * | 1987-11-30 | 1997-02-26 | インデータシステムズ株式会社 | 除算回路 |
-
1993
- 1993-03-22 JP JP06183293A patent/JP3276444B2/ja not_active Expired - Fee Related
-
1994
- 1994-03-15 US US08/212,926 patent/US5444647A/en not_active Expired - Lifetime
- 1994-03-17 CA CA002119283A patent/CA2119283C/en not_active Expired - Fee Related
- 1994-03-22 DE DE4409834A patent/DE4409834C2/de not_active Expired - Fee Related
- 1994-03-22 FR FR9403346A patent/FR2703166B1/fr not_active Expired - Fee Related
-
1995
- 1995-05-03 US US08/433,013 patent/US5619440A/en not_active Expired - Fee Related
-
1996
- 1996-01-12 FR FR9600330A patent/FR2727777B1/fr not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE3901995A1 (de) * | 1988-01-25 | 1989-08-03 | Oki Electric Ind Co Ltd | Parallelmultiplizierer |
DE3909713A1 (de) * | 1988-10-18 | 1990-04-19 | Mitsubishi Electric Corp | Multiplizierschaltung |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE10201442C1 (de) * | 2002-01-16 | 2003-07-31 | Infineon Technologies Ag | Vorrichtung und Verfahren zum Multiplizieren oder Dividieren eines ersten Operanden mit bzw. durch einen zweiten Operanden |
DE10201449C1 (de) * | 2002-01-16 | 2003-08-14 | Infineon Technologies Ag | Rechenwerk, Verfahren zum Ausführen einer Operation mit einem verschlüsselten Operanden, Carry-Select-Addierer und Kryptographieprozessor |
US7567668B2 (en) | 2002-01-16 | 2009-07-28 | Infineon Technologies Ag | Calculating unit and method for performing an arithmetic operation with encrypted operands |
Also Published As
Publication number | Publication date |
---|---|
JP3276444B2 (ja) | 2002-04-22 |
DE4409834C2 (de) | 1998-09-10 |
FR2703166A1 (fr) | 1994-09-30 |
US5619440A (en) | 1997-04-08 |
FR2703166B1 (fr) | 1997-06-13 |
JPH06274317A (ja) | 1994-09-30 |
CA2119283C (en) | 1998-06-30 |
FR2727777B1 (fr) | 1997-06-13 |
US5444647A (en) | 1995-08-22 |
FR2727777A1 (fr) | 1996-06-07 |
CA2119283A1 (en) | 1994-09-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE10085322B4 (de) | Schaltungsanordnung, Verfahren und Datenverarbeitungs-Einrichtung zum Durchführen einer Ein-Zyklus-Addition oder -Subtraktion und eines Vergleichs bei einer Arithmetik redundanter Form | |
DE69821408T2 (de) | Multiplikationsverfahren und -vorrichtung | |
EP0123921B1 (de) | Parallelverknüpfungsschaltung mit verkürztem Übertragsdurchlauf | |
DE4409834A1 (de) | Multiplizierschaltung und Divisionsschaltung | |
DE10105945B4 (de) | Multiplizierer mit Linearsummierungsarray sowohl zur vorzeichenbehafteten als auch zur vorzeichenlosen Multiplikation | |
DE19758079A1 (de) | Verfahren und Vorrichtung zur Galoisfeld-Multiplikation | |
DE2246968A1 (de) | Einrichtung zur kombination, insbesondere multiplikation, zweier gleitkommazahlen | |
DE1549477B1 (de) | Einrichtung zur schnellen akkumulation einer anzahl mehr stelliger binaerer operanden | |
DE4101004C2 (de) | Paralleler Multiplizierer mit Sprungfeld und modifiziertem Wallac-Baum | |
DE102007056104A1 (de) | Verfahren und Vorrichtung zur Multiplikation von Binäroperanden | |
EP1499954B1 (de) | Berechnung eines ergebnisses einer modularen multiplikation | |
DE2758130A1 (de) | Binaerer und dezimaler hochgeschwindigkeitsaddierer | |
DE3434777C2 (de) | ||
DE2830334C2 (de) | ||
DE3447634C2 (de) | ||
EP0265555B1 (de) | Verfahren und Schaltungsanordnung zur Addition von Gleitkommazahlen | |
EP0130397B1 (de) | Digitales Rechenwerk | |
DE2039228A1 (de) | Verfahren und Vorrichtung zum Konvertieren und Stellenwert-Verschieben von Zahlsignalen unterschiedlicher Codes in einer Datenverarbeitungsanlage | |
DE102013212840B4 (de) | Modellberechnungseinheit und Steuergerät zur Berechnung eines datenbasierten Funktionsmodells mit Daten in verschiedenen Zahlenformaten | |
DE4447781B4 (de) | Divisionsschaltung | |
DE2952689C2 (de) | ||
EP1248186A2 (de) | Carry-ripple Addierer | |
DE19711005C2 (de) | Baumschaltung zur Addition von Teilprodukten im Booth-Algorithmus | |
EP0424410B1 (de) | Multiplizierer | |
DE10206830B4 (de) | Verfahren und Anordnung zur Zusammenführung von Daten aus parallelen Datenpfaden |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OP8 | Request for examination as to paragraph 44 patent law | ||
8172 | Supplementary division/partition in: |
Ref country code: DE Ref document number: 4447781 Format of ref document f/p: P |
|
Q171 | Divided out to: |
Ref country code: DE Ref document number: 4447781 |
|
AH | Division in |
Ref country code: DE Ref document number: 4447781 Format of ref document f/p: P |
|
D2 | Grant after examination | ||
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |