DE19514739C2 - Multipliziereinrichtung - Google Patents
MultipliziereinrichtungInfo
- Publication number
- DE19514739C2 DE19514739C2 DE19514739A DE19514739A DE19514739C2 DE 19514739 C2 DE19514739 C2 DE 19514739C2 DE 19514739 A DE19514739 A DE 19514739A DE 19514739 A DE19514739 A DE 19514739A DE 19514739 C2 DE19514739 C2 DE 19514739C2
- Authority
- DE
- Germany
- Prior art keywords
- digits
- flip
- multiplier
- circuit
- clock
- 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.)
- Expired - Fee Related
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/527—Multiplying only in serial-parallel fashion, i.e. one operand being entered serially and the other in parallel
- G06F7/5272—Multiplying only in serial-parallel fashion, i.e. one operand being entered serially and the other in parallel with row wise addition of partial products
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 betrifft eine Multipliziereinrich
tung, insbesondere eine Multipliziereinrichtung, die dazu ge
eignet ist verwendet zu werden, wenn sie in ein Computersy
stem, insbesondere in einen Mikrocomputer, eingebaut ist.
Als allgemeines herkömmliches Beispiel einer in ein Computersystem,
speziell in einen Mikrocomputer, eingebauten Multipli
ziereinrichtung sind zwei Verfahren gut bekannt, das heißt ein
Paralleloperationsverfahren, bei dem Addierschaltungen von
Mehrfachstufen verwendet werden, und ein Serienoperationsver
fahren, bei dem durch eine Addierschaltung von einer Stufe
aufgrund einer auf einem Mikroprogramm beruhenden Wiederholung
eine Addition ausgeführt wird.
Fig. 1 ist eine schematische Darstellung, welche ein Aufbau
beispiel einer Hardware für ein herkömmliches Parallelopera
tionsverfahren zeigt, wie sie bei der Anmelderin vorhanden ist.
Ferner wir hier vorausgesetzt, daß so
wohl ein Multiplikand als auch ein Multiplikator vier Bits
sind.
In Fig. 1 zeigen die entsprechenden Bezugszeichen 51a bis 51f
Halbaddierer (HA), und die entsprechenden Bezugszeichen 52a
bis 52f zeigen Volladdierer (FA). Und die Bezugszeichen X1 bis
X4 zeigen jeweilige Ziffern des Multiplikanden mit vier Bits
im Binärzahlausdruck, die Bezugszeichen Y1 bis Y4 zeigen je
weilige Ziffern des Multiplikators mit vier Bits im Binärzahl
ausdruck, und die Bezugszeichen Z1 bis Z8 zeigen die jeweili
gen Ziffern des Multiplikationsergebnisses.
Bei dem Paralleloperationsverfahren, das mittels einer der
artigen Hardware mit dem in Fig. 1 gezeigten Aufbau ausge
führt wird, wird in Addierschaltungen in jeweiligen Stufen
nacheinander eine Addition nach einer derartigen Prozedur
ausgeführt, daß nachdem in der Addierschaltung in jeder Stufe
eine Addition ausgeführt ist, das Additionsergebnis und ein
Übertrag in die Addierer in der nächsten Stufe übertragen wer
den, und daß schließlich die jeweiligen Ziffern Z1 bis Z8 des
Multiplikationsergebnisses erhalten werden, wenn die jeweili
gen Ziffern des Multiplikanden und die jeweiligen Ziffern des
Multiplikators gegeben sind.
Bei einem derartigen Paralleloperationsverfahren ist es mög
lich, mit relativ großer Geschwindigkeit zu verfahren, wenn
die jeweiligen Ziffern des Multiplikanden und die jeweiligen
Ziffern des Multiplikators gegeben sind, da das Multiplika
tionsergebnis sofort ausgegeben wird, obgleich es eine kleine
Schaltungsverzögerung in jedem Addierer gibt. Aber grundsätz
lich benötigt die Addierschaltung in jeder Stufe Addierer, die
denjenigen der Ziffern eines Multiplikanden gleich sind, und
die Addierschaltung muß Stufen haben, deren Anzahl ebensogroß
wie diejenige der Ziffern eines Multiplikators ist, worin die
Tatsache besteht, die ein Zunehmen der Hardwaremenge ergibt.
Fig. 2 ist eine schematische Darstellung, welche einen Hard
wareaufbau, wie er bei der Anmelderin vorhanden ist,
und eine Prozedur eines herkömmlichen Serienopera
tionsverfahrens zeigt. Hier wird vorausgesetzt, daß sowohl ein
Multiplikand als auch ein Multiplikator vier Bits sind.
In Fig. 2 bezeichnet das Bezugszeichen 61 ein Multiplikanden
register, in welchem jeweilige Ziffern X1, X2, X3, X4 eines
Multiplikanden gehalten sind, das Bezugszeichen 62 bezeichnet
eine Addierschaltung, und das Bezugszeichen 63 bezeichnet ein
Additionsergebnisregister. Ferner zeigt in Fig. 2 die verti
kale Richtung den Zeitverlauf.
Bei einem derartigen in Fig. 2 dargestellten Verfahren wird
zunächst in einem ersten Zyklus C1 die erste Ziffer Y1 des
Multiplikators zu allen Ziffern des im Multiplikandenregister
61 gehaltenen Multiplikanden addiert, um die erste Ziffer Z1
des Multiplikationsergebnisses zu erhalten. Im nächsten zwei
ten Zyklus C2 wird die zweite Ziffer Y2 des Multiplikators zu
allen Ziffern des Multiplikanden addiert, um die zweite Ziffer
Z2 des Multiplikationsergebnisses zu erhalten. Im folgenden
wird gemäß derselben Prozedur die Addition bis zum vierten
Zyklus C4 wiederholt, und die Ergebnisse werden eines nach dem
anderen verschoben und im Additionsergebnisregister 63 gehal
ten, wodurch schließlich das Multiplikationsergebnis erhalten
wird.
Bei einem derartigen Serienoperationsverfahren wird die Hard
waremenge relativ klein, da die Addierschaltungen nur eine
Stufe von Addierern benötigen, deren Anzahl ebensogroß wie
diejenige der Bits des Multiplikanden ist, doch eine Hochge
schwindigkeitsverarbeitung kann nicht erwartet werden, da die
auf dem Mikroprogramm beruhende Additionsoperation eine im
Vergleich zur Anzahl der Bits des Multiplikators ebensogroße
Anzahl von Malen wiederholt werben muß.
Herkömmlicherweise weist eine allgemeine in einem Mikrocompu
ter eingebaute Multipliziereinrichtung Probleme derart auf,
daß bei dem Paralleloperationsverfahren eine Hochgeschwindig
keitsverarbeitung möglich ist, aber die Hardwaremenge ver
größert ist, und daß bei dem Serienoperationsverfahren die
Hardwaremenge klein ist, aber eine Hochgeschwindigkeitsver
arbeitung nicht erwartet werden kann.
Aus der DE 35 40 800 A1 ist eine Multipliziereinrichtung be
kannt, die aus Addierwerken zusammengesetzt ist. Die Addierwerke
wiederum sind aus Binäraddierer-Zellen zusammengesetzt, die nach
Art eines Volladdierers mit für jedes Ausgangsbit nachgeschalte
ten taktzustandsgesteuerten D-Flip-Flops aufgebaut sind, und die
so gesteuert werden, daß sie das Summenbit und das Übertragungs
bit für eine halbe Bittaktperiode der zu addierenden Bits spei
chern. Die in einem Addierwerk enthaltenen Binäraddierer-Zellen
werden so taktgesteuert, daß sie in Abständen von einer halben
Taktperiode ihre Eingangsbits und das Übertragungsbit von der
nächst niedrigeren Binäraddierer-Zelle addieren und das Summen
wort in einer taktversetzten Reihenfolge der Bits abgeben.
Aus der DE 39 01 595 C2 ist ein Parallelmultiplizierer bekannt
mit einem Feld von Einheitsschaltungen, die in Stufen miteinan
der verbunden sind, um Teilprodukte in einem Multiplizierbetrieb
zu erzeugen und zu addieren, wobei die Ausgangssignale der Ein
heitsschaltungen einer jeden Stufe die Eingangssignale der Ein
heitsschaltungen der nächsten Stufe darstellen, sowie einer
Steuerschaltung, um die Ausgänge aus den Einheitsschaltungen in
einigen oder sämtlichen Stufen annäherungsweise gleichzeitig mit
dem Fortgang der Rechenoperation abzuschalten, d. h. ungefähr zur
gleichen Zeit, wenn die Ergebnisse der Operation an den Ein
heitsschaltungen in der entsprechenden Stufe an ihren entspre
chenden Ausgängen erscheinen.
Es ist daher Aufgabe der vorliegenden Erfindung, eine Multipli
ziereinrichtung vorzusehen, welche zur Verarbeitung mit hoher
Geschwindigkeit bei kleiner Hardwaremenge in der Lage ist.
Diese Aufgabe wird gelöst durch eine Multipliziereinrichtung mit
den Merkmalen des Anspruches 1.
Bevorzugte Ausgestaltungen der Multipliziereinrichtung ergeben
sich aus den Unteransprüchen.
Die Multipliziereinrichtung ist in jeder Zif
fernschaltung versehen mit einem Addierer, einem ersten D-
Flipflop, das jede Ziffer eines Multiplikators auf die nächste
Ziffer überträgt, während es jede Ziffer nacheinander in Syn
chronisation mit einem Takt verriegelt, einem zweiten D-Flip
flop, das entweder das Additionsergebnis des Addierers für die
Ziffer selbst oder das Additionsergebnis eines Addierers für
die nächste Ziffer in Synchronisation mit dem Takt gemäß einem
Wert, den das erste D-Flipflop verriegelt, verriegelt, und
einer Verzögerungsschaltung, welche die Taktübertragung zur
nächsten Ziffer solange verzögert, bis ein Addierer für jede
Ziffer einen Übertrag ausgibt, mit anderen Worten, bis die
Additionsoperation abgeschlossen ist.
Bei der Multipliziereinrichtung ist jeder
Addierer kontinuierlich in Betrieb, während sie einen nach dem
anderen um eine für jeden Addierer notwendige Zeit verschiebt,
um durch diejenige Tatsache eine Addition auszuführen, daß die
Taktübertragung zur nächsten Ziffer wenigstens um eine Zeit
verzögert ist, die für den Addierer notwendig ist, um eine
Addition auszuführen.
Es folgt die Beschreibung eines Ausführungsbeispiels
anhand der Figuren.
Von den Figuren zeigen:
Fig. 1 eine schematische Darstellung, welche ein Auf
baubeispiel einer Hardware für ein herkömm
liches Paralleloperationsverfahren zeigt;
Fig. 2 eine schematische Darstellung, welche einen
Hardwareaufbau und eine Prozedur eines her
kömmlichen Serienoperationsverfahrens zeigt;
Fig. 3 ein Schaltbild, welches ein Beispiel
einer Multipliziereinrichtung
zeigt; und
Fig. 4 eine Timingdarstellung, welche eine Beziehung
zwischen dem Zyklus eines durch eine Steuer
schaltung erzeugten Taktes CLK, einer Verzö
gerungszeit infolge jeder Verzögerungsschaltung
und einer Operationszeit infolge jeden Ad
dierers der Multipliziereinrichtung
darstellt.
Fig. 3 ist ein Schaltbild, welches ein Beispiel einer
Multipliziereinrichtung zeigt. Ferner ist das in
Fig. 3 dargestellte Schaltbild für eine Schaltung, die eine
Operation mit vier Bits sowohl eines Multiplikanden als auch
eines Multiplikators ausführt.
In Fig. 3 bezeichnet das Bezugszeichen 10 eine Steuerschaltung,
die Takte zum Steuern des jeweiligen D-Flipflops und von spä
ter zu beschreibenden Schieberegistern bereitstellt.
Die Bezugszeichen 1a bis 1d bezeichnen entsprechende Addierer.
Aus ihnen bezeichnet das Bezugszeichen 1a einen Halbaddierer
(HA), der Eingangsanschlüsse A, B und einen Ausgangsanschluß S
und ferner einen Übertragsausgangsanschluß Cout aufweist.
Die Bezugszeichen 1b bis 1d bezeichnen entsprechende Vollad
dierer (FA), wobei jeder der Volladdierer jeweils die Ein
gangsanschlüsse A, B, einen Übertragseingangsanschluß Cin und
einen Ausgangsanschluß S und ferner einen Übertragsausgangsan
schluß Cout hat.
Die Bezugszeichen 2a bis 2e bezeichnen entsprechende D-Flip
flops. Jedes der D-Flipflops dient dem Verriegeln des Addi
tionsergebnisses und weist einen Eingangsanschluß D und einen
Ausgangsanschluß Q und ferner einen Eingangsanschluß CL für
den Takt auf.
Die Bezugszeichen 3a bis 3d bezeichnen entsprechende D-Flip
flops. Jedes der D-Flipflops dient dem Verriegeln eines Multi
plikators und weist einen Eingangsanschluß D, einen Ausgangs
anschluß Q und einen invertierten Ausgangsanschluß #Q und fer
ner einen Eingangsanschluß CL für den Takt auf.
Die Bezugszeichen 4a bis 4d und 4a# bis 4d# bezeichnen ent
sprechende Transistorgatter. Jedes der Transistorgatter dient
dem Wählen von Daten, welche jedes der D-Flipflops 2a bis 2d
zum Verriegeln bringen.
Die Bezugszeichen 5a bis 5c bezeichnen entsprechende Verzöge
rungsschaltungen (D). Die Verzögerungsschaltungen geben einen
durch die Steuerschaltung 10 erzeugten Takt CLK aus, nachdem
sie ihn verzögert haben, um die Übertragungsverzögerung des in
den jeweiligen Addierern 1a bis 1c erzeugten Übertrags zu
kompensieren, wobei die vierte Ziffernschaltung ausgeschlossen
ist.
Das Bezugszeichen 6 bezeichnet ein Schieberegister (das nach
stehend Multiplikatorregister genannt wird) zum Speichern
eines Multiplikators. Dieses Multiplikatorregister 6 ist durch
den durch die Steuerschaltung 10 erzeugten Takt CLK schiebege
steuert.
Das Bezugszeichen 7 bezeichnet ein Schieberegister (das nach
stehend Multiplikandenregister genannt wird) zum Speichern
eines Multiplikanden.
Das Bezugszeichen 8 bezeichnet ein Schieberegister (das nach
stehend Multiplikationsergebnis-Niederwertregister genannt
wird) zum Speichern der niederwertigen vier Ziffern des Multi
plikationsergebnisses. Das Multiplikationsergebnis-Niederwert
register 8 ist durch den durch die Steuerschaltung 10 erzeug
ten Takt CLK schiebegesteuert.
Das Bezugszeichen 9 (9a, 9b, 9c, 9d) bezeichnet ein Register
(das nachstehend Multiplikationsergebnis-Höherwertregister ge
nannt wird) zum Speichern der höherwertigen vier Ziffern des
Multiplikationsergebnisses.
Ferner bezeichnet das Bezugszeichen 11 ein UND-Gatter.
Die Multipliziereinrichtung der Erfindung besteht hauptsäch
lich aus den vorstehend genannten Teilen, und im folgenden
wird eine Beschreibung der Verschaltung derselben erfolgen.
Die jeweiligen Ziffern des Multiplikandenregisters 7 sind von
der Seite der niederwertigen Ziffer aus: 7a, 7b, 7c, 7d, und
sie werden in den jeweiligen Eingangsanschluß A der entspre
chenden Addierer 1a, 1b, 1c, 1d eingegeben.
In den Eingangsanschluß D des D-Flipflops 3a der ersten Zif
fernschaltung wird der Ausgang aus dem Multiplikatorregister 6
eingegeben, und in den Taktanschluß CL desselben wird der aus
der Steuerschaltung 10 ausgegebene Takt CLK eingegeben, und
das Ausgangssignal aus dem Ausgangsanschluß Q desselben
steuert das Transistorgatter 4a so, daß es ein-/ausschaltet,
und das Ausgangssignal aus dem Ausgangsanschluß #Q desselben
steuert das Transistorgatter 4a# so, daß es ein-/ausschaltet.
Mit dem Eingangsanschluß B des Addierers 1a der ersten Zif
fernschaltung ist der Ausgangsanschluß Q des D-Flipflops 2b
der zweiten Ziffernschaltung verbunden, wobei der Ausgangs
anschluß S desselben mittels des Transistorgatters 4a# mit dem
Eingangsanschluß D des D-Flipflops 2a verbunden ist, und der
Übertragsausgangsanschluß Cout desselben ist mit dem Über
tragseingangsanschluß Cin der zweiten Ziffernschaltung ver
bunden.
Der Ausgangsanschluß Q des D-Flipflops 2a der ersten Ziffern
schaltung ist mit dem Multiplikationsergebnis-Niederwert
register 8 verbunden, und mit dem Taktanschluß CL desselben
ist der aus der Steuerschaltung 10 bereitgestellte Takt CLK
verbunden.
Ferner wird die Verzögerungsschaltung 5a der ersten Ziffern
schaltung mit dem Takt CLK aus der Steuerschaltung 10 ver
sorgt, und der Ausgang der Verzogerungsschaltung 5a ist je
weils mit dem Taktanschluß CL des D-Flipflops 3b, dem Taktan
schluß CL des D-Flipflops 2b und der Verzogerungsschaltung 5b
der zweiten Ziffernschaltung verbunden.
An den Eingangsanschluß D des D-Flipflops 3b der zweiten Zif
fernschaltung ist der Ausgang des Ausgangsanschlusses Q des D-
Flipflops 3a der ersten Ziffernschaltung gegeben, und an den
Taktanschluß CL desselben ist der Ausgang der Verzögerungs
schaltung 5a der ersten Ziffernschaltung gegeben. Das Aus
gangssignal aus dem Ausgangsanschluß Q des D-Flipflops 3b
steuert das Transistorgatter 4b so, daß es ein-/ausschaltet,
und das Ausgangssignal aus dem Ausgangsanschluß #Q desselben
steuert das Transistorgatter 4b# so, daß es ein-/ausschaltet.
Mit dem Übertragseingangsanschluß Cin des Addierers 1b der
zweiten Ziffernschaltung ist der Übertragsausgangsanschluß
Cout des Addierers 1a der ersten Ziffernschaltung verbunden,
und mit dem Eingangsanschluß B desselben ist der Ausgangsan
schluß Q des D-Flipflops 2c der dritten Ziffernschaltung ver
bunden. Der Ausgangsanschluß S desselben ist mittels des Tran
sistorgatters 4b# mit dem Eingangsanschluß D des D-Flipflops
2b verbunden, und der Übertragsausgangsanschluß Cout desselben
ist mit dem Übertragseingangsanschluß Cin des Addierers 1c der
dritten Ziffernschaltung verbunden.
Und der Ausgangsanschluß Q des D-Flipflops 2b der zweiten Zif
fernschaltung ist mit dem Multiplikationsergebnis-Höherwert
register 9a verbunden, und der Taktanschluß CL desselben ist
mit dem Ausgang der Verzögerungsschaltung 5a der ersten Zif
fernschaltung versorgt.
Ferner ist an die Verzögerungsschaltung 5b der zweiten Zif
fernschaltung der Ausgang der Verzogerungsschaltung 5a der
ersten Ziffernschaltung gegeben, und der Ausgang der Verzö
gerungsschaltung 5b ist jeweils an den Taktanschluß CL des D-
Flipflops 3c, den Taktanschluß CL des D-Flipflops 2c und die
Verzögerungsschaltung 5c der dritten Ziffernschaltung gegeben.
An den Eingangsanschluß D des D-Flipflops 3c der dritten Zif
fernschaltung ist der Ausgang aus dem Ausgangsanschluß Q des
D-Flipflops 3b der zweiten Ziffernschaltung gegeben, und an
den Taktanschluß CL desselben ist der Ausgang aus der Verzö
gerungsschaltung 5b der zweiten Ziffernschaltung gegeben. Das
Ausgangssignal aus dem Ausgangsanschluß Q desselben steuert
das Transistorgatter 4c so, daß es ein-/ausschaltet, und das
Ausgangssignal aus dem Ausgangsanschluß #Q desselben steuert
das Transistorgatter 4c# so, daß es ein-/ausschaltet.
Mit dem Übertragseingangsanschluß Cin des Addierers 1c der
dritten Ziffernschaltung ist der Übertragsausgangsanschluß
Cout des Addierers 1b der zweiten Ziffernschaltung verbunden,
und mit dem Eingangsanschluß B desselben ist der Ausgangsan
schluß Q des D-Flipflops 2d der vierten Ziffernschaltung ver
bunden. Der Ausgangsanschluß S desselben ist mittels des Tran
sistorgatters 4c# mit dem Eingangsanschluß D des D-Flipflops
2c verbunden, und der Übertragsausgangsanschluß Cout desselben
ist mit dem Übertragseingangsanschluß Cin des Addierers 1d der
vierten Ziffernschaltung verbunden.
Der Ausgangsanschluß Q des D-Flipflops 2c der dritten Ziffern
schaltung ist mit dem Multiplikationsergebnis-Höherwertregi
ster 9b verbunden, wogegen der Taktanschluß CL desselben mit
dem Ausgang der Verzogerungsschaltung 5b der zweiten Ziffern
schaltung versorgt ist.
Ferner ist die Verzögerungsschaltung 5c der dritten Ziffern
schaltung mit dem Ausgang der Verzögerungsschaltung 5b der
zweiten Ziffernschaltung versorgt, und der Ausgang derselben
ist mit dem jeweiligen Taktanschluß CL der entsprechenden D-
Flipflops 3d, 2d und 2e der vierten Ziffernschaltung verbun
den.
Der Eingangsanschluß D des D-Flipflops 3d der vierten Ziffern
schaltung ist mit dem Ausgang aus dem Ausgangsanschluß Q des
D-Flipflops 3c der dritten Ziffernschaltung versorgt, und der
Taktanschluß CL desselben ist mit dem Ausgang der Verzöge
rungsschaltung 5c der dritten Ziffernschaltung versorgt. Das
Ausgangssignal aus dem Ausgangsanschluß Q desselben steuert
das Transistorgatter 4d so, daß es ein-/ausschaltet, und wird
außerdem in das UND-Gatter 11 eingegeben, und das Ausgangs
signal aus dem Ausgangsanschluß #Q desselben steuert das Tran
sistorgatter 4d# so, daß es ein-/ausschaltet.
Mit dem Übertragseingangsanschluß Cin des Addierers 1d der
vierten Ziffernschaltung ist der Übertragsausgangsanschluß
Cout des Addierers 1c der dritten Ziffernschaltung verbunden,
und mit dem Eingangsanschluß B desselben ist der Ausgangsan
schluß Q des D-Flipflops 2e verbunden. Der Ausgangsanschluß S
desselben ist mittels des Transistorgatters 4d# mit dem Ein
gangsanschluß D des D-Flipflops 2d verbunden, und der Über
tragsausgangsanschluß Cout desselben wird in das UND-Gatter 11
eingegeben.
Der Ausgangsanschluß Q des D-Flipflops 2d der vierten Ziffern
schaltung ist mit dem Multiplikationsergebnis-Höherwertregi
ster 9c verbunden, und der Taktanschluß CL desselben ist mit
dem Ausgang der Verzögerungsschaltung 5c der dritten Ziffern
schaltung versorgt.
Ferner wird der Ausgang des UND-Gatters 11 in den Eingangsan
schluß D des D-Flipflops 2e eingegeben. Der Ausgang Q des D-
Flipflops 2e wird sowohl dem Eingangsanschluß B des Addierers
1d der vierten Ziffernschaltung und dem Multiplikationsergeb
nis-Höherwertregister 9d zugeführt als auch mittels des Tran
sistorgatters 4d in den Eingangsanschluß D des D-Flipflops 2d
der vierten Ziffernschaltung eingegeben.
Jedes der Transistorgatter 4a, 4b, 4c, 4d ist ferner einge
schaltet, wenn das Ausgangssignal aus jedem der mit den ent
sprechenden Transistorgattern 4a, 4b, 4c, 4d verbundenen D-
Flipflops 3a, 3b, 3c, 3d "0" ist, und ist ausgeschaltet, wenn
es "1" ist. Und jedes der Transistorgatter 4a#, 4b#, 4c#, 4d#
ist eingeschaltet, wenn das Ausgangssignal aus jedem inver
tierten Ausgangsanschluß #Q der mit den entsprechenden Tran
sistorgattern 4a#, 4b#, 4c#, 4d# verbundenen D-Flipflops 3a,
3b, 3c, 3d "0" ist, und ist ausgeschaltet, wenn es "1" ist.
Und jedes der D-Flipflops 3a, 3b, 3c, 3d verriegelt einen Wert
von einem Signal, das in jeden der Eingangsanschlüsse D einge
geben wird, wenn der in jeden der Taktanschlüsse CL eingegebe
ne Takt CLK "1" ist, und jedes der D-Flipflops 2a, 2b, 2c, 2d,
2e verriegelt einen Wert von einem Signal, das in jeden der
Eingangsanschlüsse D eingegeben wird, wenn der in jeden der
Taktanschlüsse CL eingegebene Takt CLK "0" ist.
Im folgenden wird eine Erläuterung des Betriebs der Multipli
ziereinrichtung mit einem derartigen vorstehend
genannten Aufbau gegeben.
Zunächst wird bei jedem der D-Flipflops 2a, 2b, 2c, 2d, 2e und
3a, 3b, 3c, 3d im Anfangszustand vorausgesetzt, daß das Aus
gangssignal aus jedem der Ausgangsanschlüsse Q "0" ist und daß
das Ausgangssignal aus jedem der Anschlüsse des invertierten
Ausgangs #Q "1" ist.
Der Betrieb der ersten Ziffernschaltung ist wie folgt. Gemäß
dem Zunehmen des ersten aus der Steuerschaltung 10 zugeführten
Taktes CLK wird ein Wert eines LSB des Multiplikatorregisters
6 durch das D-Flipflop 3a verriegelt. In den Eingangsanschluß
A des Addierers (Halbaddierers:HA) wird ein Wert des Multi
plikandenregisters 7a eingegeben, und in den Eingangsanschluß
B desselben wird ein Wert "0" des Ausgangssignals aus dem Aus
gangsanschluß Q des D-Flipflops 2b für die zweite Ziffer ent
sprechend eingegeben, und sie werden miteinander addiert. Das
Additionsergebnis wird aus dem Ausgangsanschluß S des Ad
dierers 1a und der Übertrag wird aus dem Übertragsausgangs
anschluß Cout entsprechend ausgegeben.
Und gemäß einem Wert des LSB eines in dem D-Flipflop 3a ver
riegelten Multiplikators werden die Transistorgatter 4a, 4a#
komplementär ein-/ausgeschaltet. Dadurch wird als Eingangs
signal in den Eingangsanschluß D des D-Flipflops 2a entweder
das Ausgangssignal aus dem Ausgangsanschluß S des Addierers 1a
oder das Ausgangssignal aus dem Ausgangsanschluß Q des D-Flip
flops 2b für die zweite Ziffer gewählt.
Nachdem zu dieser Zeit das Eingangssignal in den Eingangsan
schluß D des D-Flipflops 2a durch die beiden Transistorgatter
4a, 4a# gewählt wurde, nimmt der aus der Steuerschaltung 10
ausgegebene Takt CLK ab, und der durch die beiden Transistor
gatter 4a, 4a# gewählte Wert wird durch das D-Flipflop 2a ver
riegelt. Der durch das D-Flipflop 2a verriegelte Wert wird ein
Multiplikationsergebnis und in das Multiplikationsergebnis-
Niederwertregister 8 eingegeben.
Wenn zur selben Zeit die Addition der nächsten Ziffer ausge
führt und das Additionsergebnis in dem D-Flipflop 2a ver
riegelt wird, dann wird der Inhalt des Multiplikationser
gebnis-Niederwertregisters 8 um eine Ziffer nach der rechten
Seite verschoben.
Im weiteren wird der Inhalt des Multiplikationsergebnis-
Niederwertregisters 8 ähnlich eine Ziffer nach der anderen
Ziffer nacheinander verschoben, wenn eine Addition ausgeführt
wird, während der Inhalt des Multiplikatorregisters 6 sowohl
eine Ziffer nach der anderen Ziffer als auch mit demselben
Timing nach der linken Seite verschoben wird, und werden die
Werte der jeweiligen Ziffern in das D-Flipflop 3a ausgegeben.
Der Betrieb der zweiten Ziffernschaltung ist wie folgt.
Die Eingänge des Taktes CLK in die D-Flipflops 3a und 2b sind
durch die Verzögerungsschaltung 5a um die Zeit verzögert, wel
che dafür ausreichend ist, daß die Addition für die erste Zif
fer ausgeführt und der Übertrag aus dem Addierer 1a so ausge
geben wird, daß er in den Übertragseingangsanschluß Cin des
Addierers 1b eingegeben wird. Gemäß dem Zunehmen des Taktes
CLK wird ein Multiplikator, das heißt ein Wert des Ausgangs
signals aus dem Ausgangsanschluß Q des D-Flipflops 3a, in dem
D-Flipflop 3b verriegelt.
Bis dahin ist diejenige Additionsoperation vollendet worden,
welche durch den Addierer 1b, der ein Volladdierer ist, ausge
führt wird. Die Transistorgatter 4b, 4b# sind gemäß einem Wert
des Multiplikators komplementär ein-/ausgeschaltet, und ein
Wert, der im Timing des Abnehmens des durch die Verzögerungs
schaltung 5a verzögerten Taktes CLK gewählt ist, wird im D-
Flipflop 2b verriegelt. Dieser Wert wird das Eingangssignal in
den Eingangsanschluß B des Addierers 1a für die erste Ziffer,
und die zweite Addition für die erste Ziffer ist ausgeführt.
Auch in der dritten Ziffernschaltung wird dieselbe Operation
wie in der vorstehend genannten zweiten Ziffernschaltung aus
geführt.
Der durch das D-Flipflop 2c verriegelte Wert wird das Ein
gangssignal in den Eingangsanschluß B des Addierers 1b der
zweiten Ziffernschaltung, und die zweite Additionsoperation in
der zweiten Ziffernschaltung ist ausgeführt.
Und auch in der vierten Ziffernschaltung (höherwertigste Zif
fer) wird beinahe dieselbe Operation ausgeführt. Doch der sich
von den vorstehend genannten Schaltungen für die entsprechen
den Ziffern unterscheidende Punkt ist der, daß das logische
Produkt aus dem durch die Addition des Addierers 1d erzeugten
Übertrag und dem Multiplikator in dem UND-Gatter 11 gewonnen
wird und daß dasselbe das D-Flipflop 2e zum Verriegeln bringt
und der verriegelte Wert zur Zeit der nächsten Additionsopera
tion zum Eingangssignal in den Eingangsanschluß B des Ad
dierers 1d gemacht wird.
Und der durch jedes der Transistorgatter 4d, 4d# gewählte Wert
ist entweder das Ausgangssignal aus dem Ausgangsanschluß S des
Addierers 1d oder das Ausgangssignal aus dem Ausgangsanschluß
S des D-Flipflops 2e.
Wie vorstehend erläutert, führen in der Multipliziereinrich
tung die entsprechenden Addierer 1a, 1b, 1c, 1d
die Additionen der nächsten Stufe aus, bevor die Additions
operationen aller Ziffern vollendet sind, und sie sind paral
lel in Betrieb, außer wenn Überträge zuerst oder zuletzt über
tragen werden.
Hier wird eine Reschreibung der Verzögerungszeit der Verzöge
rungsschaltungen 5a, 5b, 5c erfolgen.
Fig. 4 ist eine Timingdarstellung, welche die Beziehung zwi
schen einem Zyklus t des durch die Steuerschaltung 10 erzeug
ten Taktes CLK, einer Verzögerungszeit x durch die jeweiligen
Verzögerungsschaltungen 5a, 5b, 5c und eine Operationszeit y
durch die jeweiligen Addierer 1a, 1b, 1c, 1d zeigt.
Wenn eine Multiplikation von n Bits ausgeführt wird, dann wird
der Takt CLK des Zyklus t n-mal aus der Steuerschaltung 10
ausgegeben. Während der Zeit x vom Timing des Zunehmens des in
die erste Ziffernschaltung gegebenen Taktes CLK1 bis zum
Timing des Zunehmens des in die zweite Ziffernschaltung ge
gebenen Taktes CLK2 ist es notwendig, daß die durch den Ad
dierer 1a der ersten Ziffernschaltung ausgeführte Operation
beendet ist. Um die Zeit y wegen der Notwendigkeit zu kom
pensieren, ist es notwendig, daß der Takt CLK1 in die zweite
Ziffernschaltung gegeben wird, nachdem er durch die Verzöge
rungsschaltung 5a um die Zeit x verzögert wurde.
Aus dem vorstehenden ergibt sich, daß es zweckmäßig ist, daß
die Beziehung
y<x<t
erfüllt ist, wenn vorausgesetzt ist, daß die Verzögerungszeit
der Verzögerungsschaltung 5a x ist. Diese Beziehung ist den
Verzögerungsschaltungen 5a, 5b, 5c der Schaltungen für die
entsprechenden Ziffern gemeinsam.
Im Falle einer n-Bit-Multiplikation wird folglich der Takt
CLK1 n-mal aus der Steuerschaltung 10 erzeugt, um in die erste
Ziffernschaltung gegeben zu werden. Und jeder Takt CLK1 wird
durch die Verzögerungsschaltung 5a um die Zeit x verzögert, um
in die zweite Ziffernschaltung gegeben zu werden. Ähnlich wie
auch bei jeder anderen Ziffernschaltung wird der Takt CLK
durch jede Verzögerungsschaltung um die Zeit x verzögert, um
übertragen zu werden.
Eine Zeitlang wird der Takt CLK1 n-mal aus der Steuerschaltung
10 erzeugt und in die erste Ziffernschaltung gegeben. Und beim
Timing des Abnehmens des Taktes CLKn in der n-ten Ziffern
schaltung wird die Operation abgeschlossen und das Endopera
tionsergebnis ausgegeben.
In einer derartigen Multipliziereinrichtung kann
der Zyklus des Taktes CLK verkürzt werden auf eine Zeit, die
für eine Ziffernaddition benötigt wird, mit anderen Worten,
auf die Zeit y, die für eine einmalige Additionsoperation von
jedem der Addierer ungeachtet der Ziffernzahl bei einer Multi
plikation benötigt wird.
Ferner erfolgte eine Erläuterung des Falles, daß in der vor
stehend erläuterten Ausführungsform der Multiplikator und der
Multiplikand vier Bits sind, doch die Multipliziereinrichtung ist nicht da
rauf beschränkt und es ist selbstverständlich, daß
sie ungeachtet der Bitzahl eines Multiplikators und eines
Multiplikanden verwendet werden kann, wenn die Anzahl der den
selben Aufbau aufweisenden Schaltungen für die Zwischenziffern
außer der ersten Ziffer und der höherwertigsten Ziffer vergrö
ßert wird.
Wie vorstehend beschrieben, wird gemäß der Multiplizierein
richtung sowohl die Hardwaremenge verkleinert
als auch eine Hochgeschwindigkeitsverarbeitung verwirklicht, da
die sich wiederholende Addition gemäß dem Mikroprogramm nicht
ausgeführt werden muß, obwohl der Addiereraufbau nur eine
Stufe umfaßt. Bei der vorstehend genannten Ausführungsform
erfolgte die Erläuterung einer speziellen Schaltung, bei wel
cher eine Multiplikation von vier Ziffern (vier Bits) ausge
führt wird, obgleich bei zunehmender Ziffernzahl eines Multi
plikators die Wirkungen der Erfindung, das heißt die Hardware
mengenverkleinerung und die Hochgeschwindigkeitsverarbeitung′
besser werden.
Claims (3)
1. Multipliziereinrichtung, welche umfaßt:
eine Steuerschaltung (10), die einen Takt (CLK) erzeugt;
ein Multiplikandenregister (7), das Werte von jeweiligen Zif fern eines Multiplikanden speichert;
ein Multiplikatorregister (6), das Werte von jeweiligen Zif fern eines Multiplikators speichert und die Werte der jeweili gen Ziffern des Multiplikators in Synchronisation mit dem durch die Steuerschaltung (10) erzeugten Takt (CLK) nacheinan der ausgibt;
Addierer (1a, 1b, 1c, 1d . . . ) für jeweilige Ziffern, welche in jeweilige erste Eingangsanschlüsse die Werte der jeweiligen Ziffern des Multiplikanden, der in dem Multiplikandenregister (7) entsprechend gespeichert worden ist, und in jeweilige zweite Eingangsanschlüsse außer der letzten Ziffer die jewei ligen Additionsergebnisse der entsprechenden nächsten Ziffern und bei der letzten Ziffer ein logisches Produkt aus dem Über tragsausgang der Ziffer selbst und der letzten Ziffer des Mul tiplikators eingeben, wobei sie die Eingänge der jeweiligen ersten Eingangsanschlüsse und die Eingänge der jeweiligen zweiten Eingangsanschlüsse entsprechend addieren und die je weiligen Additionsergebnisse und die Überträge ausgeben;
erste D-Flipflops (3a, 3b, 3c, 3d . . . ) für jeweilige Ziffern, welche die Werte der jeweiligen Ziffern des aus dem Multipli katorregister (6) in Synchronisation mit dem Takt (CLK) nach einander ausgegebenen Multiplikators auf die jeweiligen näch sten Ziffern übertragen, während sie die Werte in Synchroni sation mit dem Takt (CLK) nacheinander verriegeln;
zweite D-Flipflops (2a, 2b, 2c, 2d . . . ) für jeweilige Ziffern, welche die Additionsergebnisse der Addierer (1a, 1b, 1c, 1d . . . ) für die Ziffern selbst oder diejenigen der Addierer (1a, 1b, 1c, 1d) für die nächsten Ziffern gemäß den in den jeweili gen ersten D-Flipflops (3a, 3b, 3c, 3d . . . ) gehaltenen Werten in Synchronisation mit dem Takt (CLK) verriegeln; und
Verzögerungsschaltungen (5a, 5b, 5c . . . ), welche die Übertra gung des Taktes verzögern und die ersten D-Flipflops (3b, 3c, 3d . . . ) und die zweiten D-Flipflops (2b, 2c, 2d . . . ) für die jeweiligen nächsten Ziffern solange mit ihm versorgen, bis die jeweiligen Überträge der durch die jeweiligen Addierer (1a, 1b, 1c . . . ) erhaltenen Additionsergebnisse außer an der letz ten Ziffer in die Addierer (1b, 1c, 1d . . . ) für die nächsten Ziffern eingegeben sind.
eine Steuerschaltung (10), die einen Takt (CLK) erzeugt;
ein Multiplikandenregister (7), das Werte von jeweiligen Zif fern eines Multiplikanden speichert;
ein Multiplikatorregister (6), das Werte von jeweiligen Zif fern eines Multiplikators speichert und die Werte der jeweili gen Ziffern des Multiplikators in Synchronisation mit dem durch die Steuerschaltung (10) erzeugten Takt (CLK) nacheinan der ausgibt;
Addierer (1a, 1b, 1c, 1d . . . ) für jeweilige Ziffern, welche in jeweilige erste Eingangsanschlüsse die Werte der jeweiligen Ziffern des Multiplikanden, der in dem Multiplikandenregister (7) entsprechend gespeichert worden ist, und in jeweilige zweite Eingangsanschlüsse außer der letzten Ziffer die jewei ligen Additionsergebnisse der entsprechenden nächsten Ziffern und bei der letzten Ziffer ein logisches Produkt aus dem Über tragsausgang der Ziffer selbst und der letzten Ziffer des Mul tiplikators eingeben, wobei sie die Eingänge der jeweiligen ersten Eingangsanschlüsse und die Eingänge der jeweiligen zweiten Eingangsanschlüsse entsprechend addieren und die je weiligen Additionsergebnisse und die Überträge ausgeben;
erste D-Flipflops (3a, 3b, 3c, 3d . . . ) für jeweilige Ziffern, welche die Werte der jeweiligen Ziffern des aus dem Multipli katorregister (6) in Synchronisation mit dem Takt (CLK) nach einander ausgegebenen Multiplikators auf die jeweiligen näch sten Ziffern übertragen, während sie die Werte in Synchroni sation mit dem Takt (CLK) nacheinander verriegeln;
zweite D-Flipflops (2a, 2b, 2c, 2d . . . ) für jeweilige Ziffern, welche die Additionsergebnisse der Addierer (1a, 1b, 1c, 1d . . . ) für die Ziffern selbst oder diejenigen der Addierer (1a, 1b, 1c, 1d) für die nächsten Ziffern gemäß den in den jeweili gen ersten D-Flipflops (3a, 3b, 3c, 3d . . . ) gehaltenen Werten in Synchronisation mit dem Takt (CLK) verriegeln; und
Verzögerungsschaltungen (5a, 5b, 5c . . . ), welche die Übertra gung des Taktes verzögern und die ersten D-Flipflops (3b, 3c, 3d . . . ) und die zweiten D-Flipflops (2b, 2c, 2d . . . ) für die jeweiligen nächsten Ziffern solange mit ihm versorgen, bis die jeweiligen Überträge der durch die jeweiligen Addierer (1a, 1b, 1c . . . ) erhaltenen Additionsergebnisse außer an der letz ten Ziffer in die Addierer (1b, 1c, 1d . . . ) für die nächsten Ziffern eingegeben sind.
2. Multipliziereinrichtung nach Anspruch 1, bei welcher
der Addierer (1a) aus den Addierern (1a, 1b, 1c, 1d . . . ), wel
chem ein Wert der ersten Ziffer eines in dem Multiplikanden
register (7) gespeicherten Multiplikanden übergeben ist, aus
einem Halbaddierer besteht, und die anderen Addierer (1b, 1c,
1d . . . ) aus Volladdierern bestehen.
3. Multipliziereinrichtung nach Anspruch 1, bei welcher
Register (8, 9a, 9b, 9c, 9d . . . ) vorgesehen sind, welche die
Werte speichern, die in den zweiten D-Flipflops (2a, 2b, 2c,
2d . . . ) als Additionsergebnisse entsprechend verriegelt worden
sind.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP13334294A JP3427275B2 (ja) | 1994-06-15 | 1994-06-15 | 乗算器 |
Publications (2)
Publication Number | Publication Date |
---|---|
DE19514739A1 DE19514739A1 (de) | 1995-12-21 |
DE19514739C2 true DE19514739C2 (de) | 1997-03-13 |
Family
ID=15102485
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19514739A Expired - Fee Related DE19514739C2 (de) | 1994-06-15 | 1995-04-21 | Multipliziereinrichtung |
Country Status (3)
Country | Link |
---|---|
US (1) | US5615141A (de) |
JP (1) | JP3427275B2 (de) |
DE (1) | DE19514739C2 (de) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0897709A (ja) * | 1994-09-21 | 1996-04-12 | Nec Corp | 論理回路 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3805043A (en) * | 1972-10-11 | 1974-04-16 | Bell Telephone Labor Inc | Serial-parallel binary multiplication using pairwise addition |
DE3540800A1 (de) * | 1985-11-16 | 1987-08-13 | Standard Elektrik Lorenz Ag | Binaeraddierer-zelle und aus solchen binaeraddierer-zellen zusammengesetztes schnelles addier- und multiplizierwerk |
JP2672956B2 (ja) * | 1988-01-25 | 1997-11-05 | 沖電気工業株式会社 | 並列乗算器 |
US5262975A (en) * | 1991-02-12 | 1993-11-16 | Sony Corporation | Serial input multiplier apparatus |
JP2838924B2 (ja) * | 1991-09-04 | 1998-12-16 | 日本電気株式会社 | 部分乗数選択回路 |
JP2970231B2 (ja) * | 1992-07-02 | 1999-11-02 | 日本電気株式会社 | 並列乗算回路 |
US5457646A (en) * | 1993-10-12 | 1995-10-10 | Industrial Technology Research Institute | Partial carry-save pipeline multiplier |
-
1994
- 1994-06-15 JP JP13334294A patent/JP3427275B2/ja not_active Expired - Fee Related
-
1995
- 1995-04-21 DE DE19514739A patent/DE19514739C2/de not_active Expired - Fee Related
- 1995-05-25 US US08/452,618 patent/US5615141A/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH086764A (ja) | 1996-01-12 |
DE19514739A1 (de) | 1995-12-21 |
US5615141A (en) | 1997-03-25 |
JP3427275B2 (ja) | 2003-07-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE3901995C2 (de) | ||
DE1549476B2 (de) | Anordnung zur ausfuehrung von divisionen | |
DE1549477B1 (de) | Einrichtung zur schnellen akkumulation einer anzahl mehr stelliger binaerer operanden | |
DE2658248A1 (de) | Mit hoher geschwindigkeit arbeitendes multiplikationssystem sowie verfahren zur durchfuehrung einer multiplikationsoperation | |
DE2707451A1 (de) | Einrichtung und verfahren zum addieren von wenigstens zwei aus mehreren bits bestehenden binaerzahlen | |
DE2729912A1 (de) | Digitale signalverarbeitungsanordnung | |
DE3789819T2 (de) | Verarbeitungsschaltung für serielle Digitalsignale. | |
DE19514739C2 (de) | Multipliziereinrichtung | |
DE4010735A1 (de) | Digitale wortserielle multiplizierschaltung | |
DE1524117B1 (de) | Datenverarbeitungsanlage mit Umlaufregistern | |
DE1241159B (de) | UEbertragschaltung fuer ein Schnelladdierwerk | |
DE1499227C3 (de) | Schaltungsanordnung für arithmetische und logische Grundoperationen | |
EP0598112A1 (de) | Verfahren und anordnung zum bilden der summe einer kette von produkten | |
DE3933172A1 (de) | Akkumulator fuer komplexe zahlen | |
DE3609056C2 (de) | ||
DE2060590A1 (de) | Digitalrechner | |
DE2337356C3 (de) | Im Dualsystem arbeitende Multiplizierschaltung | |
DE10206830B4 (de) | Verfahren und Anordnung zur Zusammenführung von Daten aus parallelen Datenpfaden | |
EP0860051B1 (de) | Schaltungsanordnung und verfahren zur mehrfachnutzung eines digitalen transversalfilters | |
EP0333884A1 (de) | CMOS-Parallel-Serien-Multiplizierschaltung sowie deren Multiplizier- und Addierstufen | |
DE2902488C2 (de) | ||
DE19910620C2 (de) | Vorrichtung zur Durchführung von Rechenvorgängen | |
DE1524117C (de) | Datenverarbeitungsanlage mit Umlaufregistern | |
DE4242929A1 (de) | Schaltungsanordnung zum Bilden der Summe von Produkten | |
DE2337356B2 (de) | Im dualsystem arbeitende multiplizierschaltung |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OP8 | Request for examination as to paragraph 44 patent law | ||
D2 | Grant after examination | ||
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |