DE19514739C2 - Multipliziereinrichtung - Google Patents

Multipliziereinrichtung

Info

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
Application number
DE19514739A
Other languages
English (en)
Other versions
DE19514739A1 (de
Inventor
Hideo Matsui
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Publication of DE19514739A1 publication Critical patent/DE19514739A1/de
Application granted granted Critical
Publication of DE19514739C2 publication Critical patent/DE19514739C2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/52Multiplying; Dividing
    • G06F7/523Multiplying only
    • G06F7/527Multiplying only in serial-parallel fashion, i.e. one operand being entered serially and the other in parallel
    • G06F7/5272Multiplying 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.
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.
DE19514739A 1994-06-15 1995-04-21 Multipliziereinrichtung Expired - Fee Related DE19514739C2 (de)

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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0897709A (ja) * 1994-09-21 1996-04-12 Nec Corp 論理回路

Family Cites Families (7)

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

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