DE69808362T2 - Multiplizierverfahren und Multiplizierschaltung - Google Patents

Multiplizierverfahren und Multiplizierschaltung

Info

Publication number
DE69808362T2
DE69808362T2 DE69808362T DE69808362T DE69808362T2 DE 69808362 T2 DE69808362 T2 DE 69808362T2 DE 69808362 T DE69808362 T DE 69808362T DE 69808362 T DE69808362 T DE 69808362T DE 69808362 T2 DE69808362 T2 DE 69808362T2
Authority
DE
Germany
Prior art keywords
rounding
bit
shift
signal
multiplication
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 - Lifetime
Application number
DE69808362T
Other languages
English (en)
Other versions
DE69808362D1 (de
Inventor
Shunichi Kurohmaru
Mana Saishi
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.)
Panasonic Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Application granted granted Critical
Publication of DE69808362D1 publication Critical patent/DE69808362D1/de
Publication of DE69808362T2 publication Critical patent/DE69808362T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F5/00Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F5/01Methods or arrangements for data conversion without changing the order or content of the data handled for shifting, e.g. justifying, scaling, normalising
    • 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
    • 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/499Denomination or exception handling, e.g. rounding or overflow
    • G06F7/49942Significance control
    • G06F7/49947Rounding
    • G06F7/49963Rounding to nearest

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Complex Calculations (AREA)

Description

    ALLGEMEINER STAND DER TECHNIK GEBIET DER ERFINDUNG
  • Die vorliegenden Erfindung bezieht sich auf ein Multiplizierverfahren und eine Multiplizierschaltung für Festkommamultiplizierbefehle, die für die digitale Signalverarbeitung in Bild- und Tongebieten verwendet werden.
  • STAND DER TECHNIK
  • Fig. 9 zeigt ein Multiplizierverfahren bei einem Multiplizierbefehl, das mit einer konventionellen Rundungsfunktion ausgestattet ist.
  • Dieses konventionelle Multiplizierverfahren wird in der unten beschriebenen Wiese ausgeführt. Nach einem Multiplizierergebnis 903, das durch Multiplizieren eines Multiplikators 901 mit einem Multiplikanden 902 erhalten wird, wird gerundet, indem der Wert 1 als ein Rundungssignal an einer vorgegebenen Rundungsstelle 905, an der die Rundung ausgeführt wird, addiert wird. Ein Bitbereich 908 bis zur Rundungsstelle 905 wird nicht berücksichtigt. Das so erzielte Ergebnis wird als Multiplizierergebnis 907 genommen, das einer Rundung unterzogen wird.
  • Jedoch wird bei dem in Fig. 9 gezeigten Beispiel, wenn eine erforderliche Rundung bei der Multiplikation ausgeführt wird, der Wert "1" an der vorgegebenen Rundungsstelle 905 ohne Ausnahme addiert, ohne Rücksicht darauf, wie das Multiplizierergebnis 907 in einem anschließenden Vorgang verwendet wird. In diesem Fall wird der Bitbereich 908 bis zur vorgegebenen Rundungsstelle 905 als Multiplizierergebnis bedeutungslos. Wird angenommen, daß das m-te Bit des niedrigstwertigen Bits des Multiplizierergebnisses 903 die vorgegebene Rundungsstelle 905 ist, wird ein dem Runden unterzogener Bitbereich, der als das Multiplizierergebnis 907 abgeschnitten werden kann, auf ein höherwertiges Bitteil begrenzt, wobei sich das niedrigstwertige Bit an dem (m + 1)-ten Bit des niedrigstwertigen Bits des Multiplizierergebnisses 903 befindet.
  • Wenn deshalb die Dezimalkommastellen eines Multiplikators und eines Multiplikanden beispielsweise verändert sind, und wenn nur die ganzzahligen Bits vorgegeben werden, um im Anschluß an den Mantissenteil des Multiplizierergebnisses abgeschnitten zu werden, der durch Multiplizieren des Multiplikators mit dem Multiplikanden erhalten wird, gerundet wird, verändert sich die Dezimalkommastelle des Multiplizierergebnisses, das durch die Multiplikation erhalten wurde, in Abhängigkeit von den Dezimalkommastellen des Multiplikators und des Multiplikanden. Aus diesem Grund muß der Anwender, der versuchen will, einen Multiplizierbefehl auszuführen, zuvor für den Multiplikator oder für den Multiplikanden einen Schiebevorgang ausführen, so daß sich die vorgegebene Rundungsstelle 905 an einer Stelle befindet, die für das Runden der Mantisse geeignet ist (siehe beispielsweise die japanische offengelegte Patentanmeldung, veröffentlicht unter der No. 5-224888). Alternativ muß der Anwender das Multiplizieren zuerst ohne Runden ausführen, und dann die Mantisse des Multiplizierergebnisses runden.
  • Wie oben beschrieben, muß beim konventionellen Multiplizierverfahren der Anwender, der versucht einen Multiplizierbefehl auszuführen, den Multiplikator oder den Multiplikanden vorher so verschieben, daß die vorgegebenen Rundungsstelle 905 an einer geeigneten Rundungsstelle angeordnet wird, damit das Multiplizierergebnis 907, das einem Runden unterzogen wird, einen Bitbereich hat, der wunschgemäß abgeschnitten werden kann. Alternativ muß der Anwender zuerst das Multiplizieren ohne Runden ausführen, und das anschließende Runden durch Addieren, in Abhängigkeit des vorgegebenen, abzuschneidenden Bitbereichs vom Multiplizierergebnis auszuführen. Dies führt zu dem Problem, daß der Verarbeitungsaufwand erhöht wird.
  • ZUSAMMENFASSUNG DER ERFINGUNG
  • Eine Aufgabe der vorliegenden Erfindung ist es, ein Multiplizierverfahren und eine Multiplizierschaltung zur Verfügung zu stellen, die die Möglichkeit haben, einen Rundungsvorgang an einer vom Anwender vorgegebenen, geeigneten Rundungsstelle zu erreichen, ohne in einer dem Runden unterzogenen Vorgang, die ein Multiplizierergebnis verwendet, den Verarbeitungsaufwand zu erhöhen.
  • Das Multiplizierverfahren zum Ausführen einer Festkommamultiplikation der vorliegenden Erfindung umfaßt die Verfahrensschritte: einen Multipliziervorgang zum Multiplizieren eines Multiplikanden mit einem Multiplikator, beide gewonnen durch einen Multiplizierbefehl; einen Rundungssignalerzeugungsvorgang zum Erzeugen eines Rundungssignals, das einen Rundungswert einschließt, der einem Bit niedriger Ordnung hinzuzufügen ist, das dem niedrigstwertigen Bit in einem vorgegebenen Abschneidebitbereich eines Multiplizierergebnisses benachbart ist, gewonnen durch den Multipliziervorgang auf der Grundlage eines Schiebezählsetzsignals entsprechend der Differenz zwischen dem niedrigstwertigen Bit im vorgegebenen Bitausschneidebereich von durch den Multipliziervorgang gewonnen Multiplizierergebnis und dem niedrigstwertigen Bit in einem Bitausschneidebereich; einen Addiervorgang zum Addieren des durch den Multipliziervorgang für das Rundungssignal gewonnene Multiplizierergebnis, um ein nach dem Runden gewonnenes Multiplizierergebnis zu erzeugen; und einen Schiebeprozeß zum Verschieben des nach Runden durch eine Schiebebitzählung gewonnenen, durch das Schiebezählsetzsignal aufgezeigten Multiplizierergebnisses, um den vorgegebenen Bitausschneidebereich von nach dem Runden gewonnenen Multiplizierergebnis abzuschneiden.
  • Mit diesem Multiplizierverfahren durch Runden des Multiplizierergebnisses, gewonnen nach Runden durch Verwendung des Rundungssignals, das durch das Schiebezählsetzsignal, das der Schiebebitzählung entspricht, erzeugt wird, enthält der abzuschneidende Bitbereich keine bedeutungslosen Bits als Multiplizierergebnis. Für einen Vorgang, der das Multiplizierergebnis verwendet, das dem Runden unterzogen ist, kann das Runden an einer vom Anwender vorgegebenen, geeigneten Rundungsstelle ausgeführt werden. Darüber hinaus ist es, im Gegensatz zum konventionellen Verfahren nicht erforderlich, den Multiplikator oder den Multiplikanden zuvor zu verschieben, und es ist nicht erforderlich, das Runden auszuführen, das vom vorgegebenen Bitbereich abhängt, um vom Multiplikationsergebnis abgeschnitten zu werden, nachdem das Multiplizieren ohne Runden ausgeführt wird, wodurch ein Erhöhen des Verarbeitungsaufwands verhindert wird. Das durch Verschieben und Abschneiden des Multiplizierergebnisses erhaltene Ergebnis, das man nach dem Runden, hervorgerufen durch das Addierverfahren, erhält, wird auf ein dem Runden unterzogenen Multiplizierergebnis bezogen.
  • Ein weiterer Aspekt der vorliegenden Erfindung ist das Multiplizierverfahren zum Ausführen eines Festkommamultipliziervorgangs durch Erzeugen und Addieren von Unterprodukten, mit den Verfahrenschritten: einem Rundungssignalerzeugungsvorgang zum erzeugen eines Rundungssignals, das einen Rundungswert enthält der einem Bit niedriger Ordnung zuzuzählen ist, das dem niedrigstwertigen Bit in einem gegebenen Bitausschneidebereich eines Multiplizierergebnisses benachbart ist, gewonnen durch den Multipliziervorgang auf der Grundlage eines Schiebezählsetzsignal, das der Differenz zwischen dem niedrigstwertigen Bit im vorgegebenen Bitausschneidebereich des Multiplizierergebnisses entspricht, gewonnen durch den Multipliziervorgang und das niedrigstwertige Bit ein einem Bezugsbitausschneidebereich; einem Unterprodukterzeugungsvorgang zum Erzeugen Unterprodukten eines Multiplikators und eines Multiplikanden, gewonnen durch einen Multiplizierbefehl; einen Addiervorgang zum Addieren aller der durch den Unterprodukterzeugungsvorgang für das Rundungssignal erzeugten Unterprodukte, um ein nach dem Runden gewonnenes Multiplizierergebnis zu erzeugen; und einem Schiebevorgang zum Verschieben des nach dem Runden durch eine Schiebebit Zählung gewonnenen, durch das Schiebezählsetzsignal aufgezeigten Multiplizierergebnisses, um den vorgegebenen Bitausschneidebereich vom nach Runden gewonnenen Multiplizierergebnis abzuschneiden.
  • Mit diesem Multiplizierverfahren durch Runden des Multiplizierergebnisses, gewonnen nach Runden unter Verwendung des Rundungssignals, das durch das Schiebezählsetzsignal, das der Schiebebitzählung entspricht, erzeugt wird, enthält der abzuschneidende Bitbereich keine bedeutungslosen Bits als Multiplizierergebnis. Für einen Vorgang, der das Multiplizierergebnis verwendet, das dem Runden unterzogen wird, kann das Runden an einer vom Anwender vorgegebenen, geeigneten Rundungsstelle ausgeführt werden. Darüber hinaus ist es, im Gegensatz zum konventionellen Verfahren, nicht erforderlich, den Multiplikator oder den Multiplikanden im voraus zu verschieben, und es ist nicht erforderlich, Runden auszuführen, das vom Bitbereich abhängt, der von dem Multiplizierergebnis abgeschnitten werden soll, nachdem das Multiplizieren ohne Runden ausgeführt wird, was eine Erhöhung des Verarbeitungsaufwands verhindert. Hinzu kommt, durch Miteinbeziehen des Rundungsvorgangs in den Multipliziervorgang, der den Unterprodukterzeugungsvorgang und den Additionsvorgang beinhaltet, kann eine sehr schnelle Verarbeitung erreicht werden, und die Abmessungen der Verarbeitungsschaltung lassen sich verkleinern.
  • Darüber hinaus kann das Schiebebitzählsignal zur Rundungssignalerzeugungsvorgang verwendet werden, und der Schiebevorgang kann danach zwischengespeichert werden. Mit diesem Verfahren kann das Schiebebitzählsignal vor dem Ergebnis des Multiplizierbefehls gesetzt werden, indem ein anderer Befehl verwendet wird. Es ist nicht erforderlich, das Schiebebitzählsignal durch Verwendung des Multiplizierbefehls zu setzen. Dies verhindert, daß die Länge des Befehlscodes erhöht wird.
  • Darüber hinaus wird das zeitweilig zurückgehaltene Schiebebitzählsignal oder ein Nullsignal, das ein Nullbit aufzeigt, ausgewählt zur Verwendung im Rundungssignalerzeugungsprozeß und dem Schiebeprozeß, und wenn das Nullsignal ausgewählt ist, erzeugt der Rundungssignalerzeugungsprozeß ein Rundungssignal, das einen Rundungswert enthält, der einem Bit niedriger Ordnung hinzuzufügen ist, das dem niedrigstwertigen Bit im Bezugsbitausschneidebereich des durch den Multiplizierprozeß gewonnenen Multiplizierergebnisses benachbart ist, und der Schiebeprozeß führt keine Verschiebung bezüglich des nach Runden gewonnenen Multiplizierergebnisses aus. Wenn deshalb das Nullsignal ausgewählt ist und benutzt wird, ist es möglich, das konventionelle Verfahren anzuwenden, wobei das Runden an einer vorgegebenen, festen Stelle ausgeführt wird, und ein Verschieben entfällt.
  • Die Multiplizierschaltung zum Ausführen eines Festkommamultipliziervorgangs der vorliegenden Erfindung ist ausgestattet mit einem Multipliziermittel zur Eingabe eines Multiplikators und eines Multiplikanden, gewonnen durch einen Multiplizierbefehl, und zur Ausgabe des Multiplizierergebnisses; einem Rundungssignalerzeugungsmittel zur Ausgabe eines Rundungssignals, das einen Rundungswert enthält, der einem Bit niedriger Ordnung hinzuzufügen ist, das dem niedrigstwertigen Bit in einem vorgegebenen Bitausschneidebereich des Multiplizierergebnisses benachbart ist, gewonnen durch das Multipliziermittel auf der Grundlage eines Schiebebitzählsignals gemäß der Differenz zwischen dem niedrigstwertigen Bit im vorgegebenen Bitausschneidebereich des Multiplizierergebnisses, gewonnen durch das Multipliziermittel, und dem niedrigstwertigen Bit in einem Bitbezugsausschneidebereich; einem Addiermittel zum Addieren des durch das Multipliziermittel gewonnenen Multiplizierergebnisses zum durch das Rundungssignalerzeugungsmittel erzeugten Rundungssignal, um ein nach Runden gewonnenes Multiplizierergebnis zu erzeugen; und einem Schiebemittel zum Verschieben des nach Runden gewonnenen Multiplizierergebnisses, erzeugt durch das Addiermittel durch eine durch das Schiebebitzählsignal aufgezeigte Schiebebitzählung, um den vorgegebenen Bitausschneidebereich aus dem Multiplizierergebnis nach Runden auszuschneiden.
  • Mit dieser durch Runden des Multiplizierergebnisses nach dem Runden gewonnenen Anordnung, das der Schiebebitzählung entspricht, enthält der unter Verwendung des durch das Schiebezählsetzsignal erzeugten Rundungssignals abzuschneidende Bitbereich keine bedeutungslosen Bits als Multiplizierergebnis. Für einen Vorgang, der das einem Runden unterzogenen Multiplizierergebnis verwendet, kann das Runden an einer vom Anwender vorgegebenen geeigneten Rundungsstelle ausgeführt werden. Darüber hinaus ist es, im Gegensatz zum konventionellen Verfahren, nicht erforderlich, zuvor den Multiplikator oder den Multiplikanden zu verschieben, und es ist nicht erforderlich, das Runden in Abhängigkeit vom vorgegebenen Bitbereich auszuführen, um dem Multiplizierergebnis abgeschnitten zu werden, nachdem das Multiplizieren ohne Runden ausgeführt wurde, wodurch verhindert wird, den Verarbeitungsaufwand erhöhen zu müssen.
  • Ein weiterer Aspekt der vorliegenden Erfindung ist die Multiplizierschaltung zum Ausführen einer Festkommamultiplizierverfahrens durch Erzeugung und Addieren von Unterprodukten mit einem Rundungssignalerzeugungsmittel zur Erzeugung eines Rundungssignals, das einen Rundungswert enthält, der einem Bit niedriger Ordnung hinzuzufügen ist, das dem niedrigstwertigen Bits in einem vorgegebenen Bitausschneidebereich eines Multiplizierergebnisses benachbart ist, gewonnen durch den Multipliziervorgang auf der Grundlage eines Schiebezählsetzsignal gemäß der Differenz zwischen dem niedrigstwertigen Bits im vorgegebenen Bitausschneidebereich des Multiplizierergebnisses, gewonnen durch den Multipliziervorgang und dem niedrigstwertigen Bits im Bezugsbitausschneidebereich, ein Unterprodukterzeugungsmittel zur Erzeugung Unterprodukte eines Multiplikators und eines Multiplikanden, gewonnen durch einen Multiplizierbefehl, ein Addiermittel zum Addieren sämtlicher Unterprodukte, erzeugt durch das Unterprodukterzeugungsmittel, zum Rundungssignal, erzeugt durch das Rundungssignalerzeugungsmittel, um ein Multiplizierergebnis zu erzeugen, gewonnen nach dem Runden, und ein Schiebemittel zum Verschieben des nach dem Runden gewonnenen Multiplizierergebnisses, erzeugt durch das Addiermittel durch eine durch das Schiebezählsetzsignal aufgezeigte Schiebebitzählung, um den vorgegebenen Bitausschneidebereich aus dem Multiplizierergebnis nach Runden auszuschneiden.
  • Durch Runden des Multiplizierergebnisses mit dieser Anordnung, nach Runden durch Verwendung des Rundungssignals gewonnen, erzeugt durch das Schiebezählsetzsignal gemäß der Schiebebitzählung, enthält der abzuschneidende Bitbereich keine bedeutungslosen Bits als Multiplizierergebnis. Für einen Vorgang, der das dem Runden unterzognen Multiplizieren verwendet, kann das Runden an einer geeigneten Rundungsstelle, vorgegeben vom Anwender, ausgeführt werden. Darüber hinaus ist es im Gegensatz zum konventionellen Verfahren nicht erforderlich, den Multiplikator oder den Multiplikanden zuvor zu verschieben, und es ist nicht erforderlich das Runden auszuführen, das von dem vorgegebnen Bitbereich abhängt, um vom Multiplikationsergebnis abgeschnitten zu werden, nachdem das Multiplizieren ohne Runden ausgeführt wird, wodurch ein Erhöhen des Verarbeitungsaufwands verhindert wird. Hinzu kommt, daß durch Einfügen des Rundungsvorgangs in den Multipliziervorgang, der durch die Unterprodukterzeugungsmittel und durch die Addiermittel ausgeführt wird. Hochgeschwindigkeitsverarbeitung erzielt werden kann, und die Abmessung des Verarbeitungsschaltung verkleinert werden kann.
  • Darüber hinaus kann ein Schiebezählrückhaltemittel zum Zwischenspeichern des Schiebebitzählsignals und zur Ausgabe des Schiebebitzählsignals an das Rundungssignalerzeugungsmittel und das Schiebemittel vorgesehen werden. Mit dieser Anordnung kann das Schiebebitzählsignal vor dem Ergebnis des Multiplizierbefehls unter Verwendung eines anderen Befehls gesetzt werden. Es ist nicht erforderlich, das Schiebezählsetzsignal durch Verwendung des Multiplizierbefehls zu setzen. Dies verhindert, daß sich die Länge des Befehlscodes ausweitet.
  • Darüber hinaus wird ein Schiebezählauswahlmittel zum Auswählen des Schiebebitzählsignals vom Schiebezählrückhaltemittel oder eines Nullsignals, das ein Nullbit aufzeigt, und zur Ausgabe des ausgewählten Signals an das Rundungssignalerzeugungsmittel und das Schiebemittel zwischen dem Schiebezählrückhaltemittel und dem Rundungssignalerzeugungsmittel vorgesehen, und wenn das Schiebezählauswahlmittel das Nullsignal auswählt und ausgibt, erzeugt das Rundungssignalerzeugungsmittel ein Rundungssignal, das einen Rundungswert enthält, der zu einem Bit niedriger Ordnung addiert wird, das dem niedrigstwertigen Bits im Bezugsbitausschneidebereich des Multiplizierergebnisses benachbart ist, und das Schiebemittel führt kein Verschieben bezüglich des nach dem Runden gewonnenen Multiplizierergebnisses aus. Wenn deshalb das Nullsignal ausgewählt und ausgegeben wird, ist es möglich, die konventionelle Multiplizierverfahren zu verwenden, bei dem das Runden an einer vorgegebenen, festen Stelle ausgeführt wird; es wird kein Schieben ausgeführt.
  • Darüber hinaus kann ein Schiebeeingabeumschaltmittel zur Auswahl des Ausgangssignals des Addiermittels oder eines anderen Signals zur Ausgabe des ausgewählten Signals an das Schiebemittel zwischen dem Addiermittel und dem Schiebemittel vorgesehen werden. Mit dieser Anordnung, kann das andere Signal nur verschoben werden, ohne multipliziert zu werden.
  • Ausführungsbeispiele der vorliegenden Erfindung sind in den anliegenden Patentansprüchen spezifiziert.
  • KURZE BESCHREIBUNG DER ZEICHNUNG
  • Fig. 1 zeigt ein Blockdiagramm einer Multiplizierschaltung, die dem ersten Ausführungsbeispiel der vorliegenden Erfindung entspricht.
  • Fig. 2 zeigt ein Blockdiagramm einer Multiplizierschaltung, die dem zweiten Ausführungsbeispiel der vorliegenden Erfindung entspricht.
  • Fig. 3 zeigt ein Blockdiagramm einer Multiplizierschaltung, die dem dritten Ausführungsbeispiel der vorliegenden Erfindung entspricht.
  • Fig. 4 zeigt ein Blockdiagramm einer Multiplizierschaltung, die dem vierten Ausführungsbeispiel der vorliegenden Erfindung entspricht.
  • Fig. 5 zeigt ein Blockdiagramm einer Multiplizierschaltung, die dem fünften Ausführungsbeispiel der vorliegenden Erfindung entspricht.
  • Fig. 6 zeigt ein Ablauf Schema eines konventionellen Multiplizierverfahrens, das einen zusätzlichen Vorgang zum Verschieben eines Multiplizierergebnisses vorsieht.
  • Fig. 7 zeigt ein Ablauf Schema Ansicht eines Multiplizierverfahrens nach der vorliegenden Erfindung.
  • Fig. 8 zeigt ein Ablauf Schema eines anderen Multiplizierverfahrens nach der vorliegenden Erfindung.
  • Fig. 9 zeigt eine konzeptionelle Ansicht eines konventionellen Multiplizierverfahrens.
  • BESCHREIBUNG BEVORZUGTER AUSFÜHRUNGSBEISPIELE
  • Multiplizierverfahren und Multiplizierschaltungen zum Ausführen von Festkommamultiplikationsbefehlen, die bei der digitalen Signalverarbeitung in Bild- und Tonverarbeitungsgebieten Verwendung finden, sind nachstehend entsprechend den Ausführungsbeispielen der vorliegenden Erfindung unter Bezugnahme auf die begleitenden Zeichnungen beschrieben.
  • ERSTES AUSFÜHRUNGSBEISPIEL
  • Fig. 1 zeigt ein Blockdiagramm einer Multiplizierschaltung, die dem ersten Ausführungsbeispiel der vorliegenden Erfindung entspricht. Bezugnehmend auf Fig. 1 bedeuten die Bezugszeichen: 101 einen Multiplikators, 102 einen Multiplikanden, 103 ein Multipliziermittel, 104 ein Multiplizierergebnis, das am Ausgang des Multipliziermittels 103 anliegt, 105 ein Rundungssignalerzeugungsmittel, 106 ein Rundungssignal, das am Ausgang des Rundungssignalerzeugungsmittels 105 anliegt, 107 ein Befehlssteuermittel des Prozessors, 108 ein Schiebebitzählsignal, das vom Befehlssteuermittel 107 angesteuert wird, 109 ein Addiermittel, 110 ein Multiplizierergebnis, das nach dem Runden als Ausgabe des Addiermittels 109 erhalten wird, 111 ein Register, das als Mittel zur Speicherung des nach dem Runden erhaltenen Multiplizierergebnisses verwendet wird, 112 eine Rumpf schiebeeinheit, die als Schiebemittel verwendet wird, und 113 ein Register, das als ein Mittel zur Speicherung der Ausgabe der Rumpf schiebeeinheit 112 verwendet wird.
  • Der Inhalt des Multiplikators 101 und der Inhalt des Multiplikanden 102, die durch den Multiplizierbefehl erhalten und durch den Prozessor ausgegeben werden, werden in das Multipliziermittel 103 eingegeben, und das Multipliziermittel 103 gibt das Multiplizierergebnis 104 aus. Das Schiebebitzählsignal 108, ausgegeben vom Befehlssteuermittel 107, wird in das Rundungssignalerzeugungsmittel 105 eingeben, und das Rundungssignalerzeugungsmittel 105 erzeugt das Rundungssignal 106. Das Multiplizierergebnis 104 und das Rundungssignal 106 werden in das Addiermittel 109 eingegeben, und das Addiermittel 109 gibt das nach dem Runden gewonnene Multiplizierergebnis 110 aus. Das nach dem Runden gewonnene Multiplizierergebnis 110 wird in dem als Multiplizierergebnisspeichermittel verwendeten Register 111 zwischengespeichert. Die Ausgabe von Register 111 wird in die als Schiebemittel verwendete Rumpfschiebeeinheit 112 eingegeben, und das Eingabesignal wird in Abhängigkeit von dem Schiebebitzählsignal 108, das von dem Befehlssteuermittel 107 ausgegeben wird, verschoben. Die Ausgabe der Rumpf schiebeeinheit wird im Register 113 abgespeichert, das als ein Mittel zur Speicherung der Schiebeausgabe verwendet wird.
  • Wenn mit dieser Anordnung ein Multiplizierbefehl ausgegeben wird, wird das Multiplizieren des Multiplikators 101 mit dem Multiplikanden 102 durch das Multipliziermittel 103 ausgeführt, und das Multiplizierergebnis 104 wird erhalten. Zur gleichen Zeit erzeugt das Rundungssignalerzeugungsmittel 105, durch Empfang des Schiebebitzählsignals 108, das zuvor von Befehlssteuermittel 107 ausgegeben wurde, das Rundungssignal 106. Durch Addieren des Multiplizierergebnisses 104 zu dem Rundungssignals 106 unter Verwendung des Addiermittels 109 wird das Multiplizierergebnis 110 nach dem Runden erhalten, und es wird im Multiplizierergebnisspeicherregister 111 abgespeichert, womit die Ausführung des Multiplizierbefehls beendet ist.
  • Wenn als nächstes ein Schiebebefehl ausgegeben wird, erfolgt von der Rumpf schiebeeinheit 112 ein Verschieben unter Verwendung des Multiplizierergebnisspeicherregisters 111 des Multiplizierergebnisses, das im Multiplizierergebnisspeicherregister 111 abgespeichert ist. Da der Schiebezähler der Rumpf schiebeeinheit 112 durch das Schiebebitzählsignal 108 bestimmt wird, das auch vom Befehlssteuermittel 107 ausgegeben wurde, als auch der Multiplizierbefehl ausgegeben wurde, wird das im Multiplizierergebnisspeicherregister 111 abgespeicherte Multiplizierergebnis durch das Schiebebitzählsignal 108 angezeigten Schiebezähler verschoben, und der verschobene Wert wird in dem Schiebeergebnisspeicherregister 113 abgespeichert.
  • Die durch die Multiplizierschaltung ausgeführten Multiplizierverfahren nach dem vorliegenden Ausführungsbeispiel der vorliegenden Erfindung werden unter Bezugnahme auf die Fig. 6 und 8 beschrieben. Fig. 6 ist ein Ablauf Schema eines konventionellen Multiplizierverfahrens, das mit einem zusätzlichen Vorgang zum Schieben eines Multiplizierergebnisses durchgeführt wird, das zur Erleichterung beim Vergleich mit der vorliegenden Erfindung gezeigt wird.
  • Als erstes beschrieben wird das in Fig. 6 gezeigte Multiplizierverfahren. Die Bezugszeichen bedeuten: 601 einen Multiplikator, 602 einen Multiplikanden, 603 ein Multiplizierergebnis, 604 einen vorgegebnen Bitbereich, der vom Multiplizierergebnis 603 abgeschnitten werden soll, 605 eine vorgegebene Rundungsstelle, an der eine Rundung ausgeführt wird, 606 ein Rundungssignal, 607 ein Multiplizierergebnis nach dem Runden, 608 einen Bitbereich, der als Multiplizierergebnis durch Runden bedeutungslos geworden ist, 609 eine Linksschieben von k Bits, darstellt als Beispiel eines Schiebevorgangs, um einen Bitbereich abzuschneiden, und 610 eine Schiebeergebnisausgabe nach dem Schiebevorgang.
  • Nimmt man an, daß die Rundungsstelle 605 für das Multiplizierergebnis 603 am m-ten Bit des niedrigstwertigen Bits angeordnet ist, wird das nach dem Runden erhaltene Multiplizierergebnis 607 keinem Schiebevorgang unterzogen, das heißt, das nach dem Runden erhaltene Multiplizierergebnis 607 entspricht einem Schieben von Null Bits, und es wird ausgegeben, nachdem der Wert "1" zu dem m-ten Bit vom niedrigstwertigen Bit als ein Rundungsvorgang addiert ist. In diesem Fall wird angenommen, daß die Ausgabe, das heißt, die Schiebeergebnisausgabe 610, ein höherwertiger Bitbereich ist, wobei sich das niedrigstwertige Bit am (m + 1)-ten Bit des niedrigstwertigen Bit des Multiplizierergebnisses 607 befindet.
  • Wenn eine vom Anwender vorgegebener Bitbereich vom Multiplizierergebnis 603 unter Verwendung eines Schiebevorgangs abgeschnitten wird, das heißt, wenn der durch den Bitbereich 604 angezeigte Bereich in diesem Fall beispielsweise abgeschnitten wird, erfolgt ein Rundungsvorgang an der vorgegebenen Rundungsstelle 605 ohne Ausnahme, wenn der Rundungsvorgang des konventionellen Multiplizierverfahrens verwendet wird. Als Ergebnis enthält die vorgegebene Schiebeergebnisausgabe 610, die durch ein Linksschieben 609 von k Bits abgeschnitten wird, bedeutungslose Bits als ein Multiplizierergebnis. Wenn aus diesem Grund der durch den Bitbereich 604 angezeigte Bereich durch Verwendung des konventionellen Multiplizierverfahrens abgeschnitten werden soll, wird der Bereich durch Nichtberücksichtigung abgeschnitten, ohne das Runden auszuführen. In diesem Fall tritt aufgrund der Nichtausführung des Rundens ein großer Verarbeitungsfehler auf, oder das Runden muß bei einem anderen Vorgang durchgeführt werden, wobei sich die Verarbeitungszyklen erhöhen.
  • Im Vergleich zum konventionellen Verfahren werden nun die in den Fig. 7 und 8 gezeigten Multiplizierverfahren beschrieben.
  • Unter Bezugnahme auf Fig. 7 bedeuten die Bezugszeichen:
  • 701 einen Multiplikator, 702 einen Multiplikanden, 703 ein Multiplizierergebnis, 704 einen vorgegebenen Bitbereich, der vom Multiplizierergebnis 703 abgeschnitten werden soll, 705 eine vorgegebene Rundungsstelle, an der eine Rundung ausgeführt wird, 706 ein Rundungssignal, 707 ein Multiplizierergebnis nach dem Runden, 708 einen Bitbereich, der als Multiplizierergebnis durch Runden bedeutungslos geworden ist, 709 ein Linksschieben von k Bits, dargestellt als Beispiel eines Schiebevorgangs, um einen Bitbereich abzuschneiden, 710 eine Schiebeergebnisausgabe nach dem Schiebevorgang, und 711 die gleiche vorgegebene Rundungsstelle wie die vorgegebene Rundungsstelle 605 bei dem in Fig. 6 dargestellten konventionellen Verfahren.
  • In einer Weise ähnlich dem konventionellen Verfahren, wenn angenommen wird, daß sich die vorgegebene Rundungsstelle 711 für das Multiplizierergebnis 703 am m-ten Bit des niedrigstwertigen Bits befindet, wird das nach dem Runden erhaltenen Multiplizierergebnis 707 keinem Schiebevorgang unterzogen, das heißt, das nach dem Runden erhaltene Multiplizierergebnis 707 wird einem Verschieben von 0 Bit unterzogen und dann ausgegeben, nachdem das Runden an der vorgegebenen Rundungsstelle 711 ausgeführt ist. In diesem Fall wird bei der Ausgabe, das heißt, der Schiebeergebnisausgabe 710, angenommen, daß es sich um eine höherwertige Bitstelle handelt, die ihr niedrigstwertiges Bit an dem (m + 1)-ten Bit des niedrigstwertigen Bits des Multiplizierergebnisses 707 hat. Wenn darüber hinaus angenommen wird, daß sich die vorgegebene Rundungsstelle 711 an dem m-ten Bit des niedrigstwertigen Bits des Multiplizierergebnisses 703 befindet, ist der höherwertige Bitteil, der sein niedrigstwertiges Bit an dem (m + 1)-ten Bit des niedrigstwertigen Bits des Multiplizierergebnisses 703 hat, ein Bezugsbitausschneidebereich.
  • Wenn der Bereich, aufgezeigt durch den Bitbereich 704 des Multiplizierergebnisses 703, abgeschnitten werden soll, und wenn angenommen wird, daß sich die vorgegebene Rundungsstelle 711 grundsätzlich am m-ten Bit des niedrigstwertigen Bits unter Berücksichtigung der Tatsache befindet, daß eine Schiebezählung, die für den Schiebevorgang zum Abschneiden erforderlich ist, durch ein Linksschieben 709 von k Bits aufgezeigt wird, wird ein Signal, das den Wert "1" am (m - k)-ten Bit hat, als das Rundungssignal erzeugt. Mit anderen Worten: Die Rundungsstelle wird um k Bits nach rechts verschoben. Als Folge enthält der Bitbereich 704, der als das Multiplizierergebnis abgeschnitten werden soll, keinen bedeutungslosen Bitbereich als ein Multiplizierergebnis, und er gibt das Ergebnis nach dem entsprechenden Runden an die Schiebeergebnisausgabe 710 aus. Der Bitbereich 704, der vom Multiplizierergebnis 703 als das Multiplizierergebnis abgeschnitten werden soll, ist ein vorgegebener Bitausschneidebereich.
  • Darüber hinaus, unter Bezugnahme auf Fig. 8, bedeuten die Bezugszeichen: 801 einen Multiplikator, 802 einen Multiplikanden, 803 ein Multiplizierergebnis, 804 einen vorgegebenen Bitbereich, der vom Multiplizierergebnis 803 abgeschnitten werden soll, 805 eine Rundungsstelle, an der eine Rundung ausgeführt wird, 806 ein Rundungssignal, 807 ein Multiplizierergebnis nach dem Runden, 808 einen Bitbereich, der als Multiplizierergebnis durch Runden bedeutungslos geworden ist, 809 ein Rechtsschieben von k Bits, dargestellt als Beispiel eines Schiebevorgangs, um einen Bitbereich abzuschneiden, 810 eine Schiebeergebnisausgabe nach dem Schiebevorgang, und 811 die gleiche vorgegebene Rundungsstelle wie die vorgegebene Rundungsstelle 605 bei dem in Fig. 6 dargestellten konventionellen Verfahren.
  • Wenn der Bereich, der durch den Bitbereich 804 des Multiplizierergebnisses 803 aufgezeigt wird, abgeschnitten werden soll, und wenn angenommen wird, daß sich die vorgegebene Rundungsstelle 811 grundsätzlich am m-ten Bit des niedrigstwertigen Bits unter Berücksichtigung der Tatsache befindet, daß eine Schiebezählung, die für den Schiebevorgang zum Abschneiden erforderlich ist, durch ein Rechtsschieben 809 von k Bits aufgezeigt wird, wird ein Signal, das den Wert "1" am (m + k)-ten Bit hat, als das Rundungssignal erzeugt. Mit anderen Worten: Die Rundungsstelle wird um k Bits nach links verschoben. Als Folge wird der Bitbereich 804, der als das Multiplizierergebnis abgeschnitten werden soll, als die Schiebeergebnisausgabe 810 nach entsprechender Rundung ausgegeben. Wird angenommen, daß sich die vorgegebene Rundungsstelle 811 am m-ten Bit des niedrigstwertigen Bits des Multiplizierergebnisses 803 befindet, ist der höherwertige Bitteil, der sein niedrigstwertiges Bit an dem (m + 1)-teil Bit des niedrigstwertigen Bits des Multiplizierergebnisses 803 hat, ein Bezugsbitausschneidebereich.
  • Wie oben beschrieben, wird mit dem vorliegenden Ausführungsbeispiel das Schiebebitzählsignal 108 vom Befehlssteuermittel 107 an die Rumpf schiebeeinheit 112 und an das Rundungssignalerzeugungsmittel 105 eingegeben. Das Rundungssignalerzeugungsmittel 105 erzeugt das Rundungssignal 106, das in Abhängigkeit vom Schiebebitzählsignal 108, unterschiedlich sein kann. Durch Ausführen der Rundung unter Verwendung des Rundungssignals 106, kann das Runden an einer vom Anwender vorgegebenen, entsprechenden Rundungsstelle ausgeführt werden, wenn ein Bitbereich, der für einen Vorgang unter Verwendung des Multiplizierergebnisses erforderlich ist, um das Runden auszuführen, durch einen Schiebevorgang abgeschnitten wird. Dies verhindert Ausführungsfehler und auch eine Erhöhung der Verarbeitungszyklen. Darüber hinaus ist es, im Gegensatz zu dem konventionellen Verfahren, nicht erforderlich, den Multiplikator oder den Multiplikanden vorher zu verschieben, und es nicht erforderlich, ein Runden in Abhängigkeit vom vorgegebenen Bitbereich auszuführen, das vom Multiplizierergebnis abgeschnitten werden soll, nachdem das Multiplizieren ohne Runden ausgeführt wird. Hierdurch wird das Anwachsen der Verarbeitungsaufwandes verhindert.
  • Wenn mit dem vorliegenden Ausführungsbeispiel darüber hinaus das Multiplizieren, das Runden und das Abschneiden des vorgegebenen Bitbereichs durch Verschieben des Multiplizierergebnisses mit einem Befehl über eine Pipeline- Verarbeitung (überlappte Befehlsausführung) ausgeführt werden, sind drei Zyklen für die Verarbeitung vom Multiplizieren durch das Multipliziermittel 103 zum Schiebevorgang durch die Rumpfschiebeeinheit 112 über den Rundungsvorgang 109 erforderlich.
  • Bei der oben angeführten Beschreibung wird eine Anordnung, bei der das Multiplizierergebnis 104 als eine Eingabe des Addiermittels 109 verwendet wird, als Beispiel angesehen. Wenn jedoch zu verschiebende Daten eingegeben werden, kann ein Schiebebefehl, der mit einer Rundungsfunktion versehen ist, auch auf gleiche Weise ausgeführt werden.
  • ZWEITES AUSFÜHRUNGSBEISPIEL
  • Fig. 2 zeigt ein Blockdiagramm einer Multiplizierschaltung nach einem zweiten Ausführungsbeispiel der vorliegenden Erfindung. Bezugnehmend auf Fig. 2 bedeuten die Bezugszeichen: 201 einen Multiplikators, 202 einen Multiplikanden, 203 ein Multipliziermittel, 204 ein Multiplizierergebnis, das am Ausgang des Multipliziermittels 203 anliegt, 205 ein Rundungssignalerzeugungsmittel, 206 ein Rundungssignal, das am Ausgang des Rundungssignalerzeugungsmittels 205 anliegt, 207 ein Befehlssteuermittel des Prozessors, 208 ein Schiebezählsetzsignal, das vom Befehlssteuermittel 207 angesteuert wird, 209 ein Addiermittel, 210 ein Multiplizierergebnis, das nach dem Runden als Ausgabe des Addiermittels 209 erhalten wird, 211 ein Register, das als Mittel zur Speicherung des nach dem Runden erhaltenen Multiplizierergebnisses verwendet wird, 212 eine Rumpf schiebeeinheit, die als Schiebemittel verwendet wird, und 213 ein Register, das als ein Mittel zur Speicherung der Ausgabe der Rumpf schiebeeinheit 212 verwendet wird, 214 ein Schiebezählzwischenspeichermittel, das als ein Mittel zum Zwischenspeichern des Schiebezählsetzsignal 208 verwendet wird und 215 ein Schiebebitzählsignal als Ausgabe des Schiebezählzwischenspeichermittels 214.
  • Das zweite Ausführungsbeispiel unterscheidet sich vom ersten Ausführungsbeispiel dahingehend, daß das zweite Ausführungsbeispiel mit dem Schiebezählzwischenspeichermittel 214 versehen ist. Außer dem Schiebezählzwischenspeichermittel 214 ist die Anordnung und die Arbeitsweise die gleiche wie im ersten Ausführungsbeispiel; eine Beschreibung erfolgt nicht mehr.
  • Das Schiebezählsetzsignal 208 wird in dem Schiebezählzwischenspeichermittel 214 zwischengespeichert. Die Ausgabe des Schiebezählzwischenspeichermittel 214 wird am Rundungssignalerzeugungsmittel 205 und an der Rumpfschiebeeinheit 212 als das Schiebebitzählsignal 215 eingegeben. Mit anderen Worten kann bei dem zweiten Ausführungsbeispiel ein Schiebezähler in dem Schiebezählzwischenspeichermittel 214 vor dem Ergebnis des Multiplizierbefehls gesetzt werden, indem das Schiebezählzwischenspeichermittel 214 zu der Anordnung des ersten Ausführungsbeispiels addiert wird.
  • Wie oben beschreiben, kann zusätzlich zu den Wirkungsweisen des ersten Ausführungsbeispiels durch das Ausstatten des vorliegenden Ausführungsbeispiels mit dem Schiebezählzwischenspeichermittel 214, der Schiebezähler vor Verwendung eines anderen Befehls gesetzt werden. Die Doppelbesetzung des Schiebezählers ist erforderlich, wenn der Multiplizierbefehl und der Schiebebefehl, die das Ergebnis des Multiplizierens verwenden, in dem Fall des ersten Ausführungsbeispiels ausgegeben werden. Dies ist im ersten Ausführungsbeispiel nicht erforderlich. Als Folge ist es nicht erforderlich, zusätzlich Schiebezählsetzfeider für die Befehlscodes zu bilden. Darüber hinaus kann die Schaltung für das Befehlssteuermittel 207 vereinfacht werden.
  • DRITTES AUSFÜHRUNGSBEISPIEL
  • Fig. 3 zeigt ein Blockdiagramm mit einer Multiplizierschaltung nach einem dritten Ausführungsbeispiel der vorliegenden Erfindung. Unter Bezugnahme auf Fig. 3 bedeuten die Bezugszeichen: 301 einen Multiplikator, 302 einen Multiplikanden, 303 ein Multipliziermittel, 304 ein Unterprodukterzeugungsmittel als Bestandteil der Multipliziermittel 303, 305 Unterprodukte als die Ausgabe des Unterprodukterzeugungsmittels 304, 306 ein erstes Unterproduktaddiermittel als ein Bestandteil des Multipliziermittels 303, 307 ein Zwischenregister zum Zwischenspeichern eines Zwischenergebnisses, das beim ersten Unterproduktaddiermittel 306 erhalten wird, 308 ein zweites Unterproduktaddiermittel zum Addieren der Ausgabe des Zwischenregisters 307, und es wird als ein Bestandteil des Multipliziermittels 303 verwendet, 309 ein Multiplizierergebnis, das nach den Runden erhalten wird, und als die Ausgabe des zweiten Unterprodukthinzufügemittel 308 dient, 310 eine Rumpf schiebeeinheit, die als Schiebemittel verwendet wird, 311 ein Register, das als Mittel zum Speichern der Ausgabe der Rumpf schiebeeinheit 310 verwendet wird, 312 ein Befehlssteuermittel, 313 ein Schiebebitzählsignal, das als die Ausgabe des Befehlssteuermittels 312 verwendet wird, 314 ein Rundungssignalerzeugungsmittel und 315 ein Rundungssignal, das von dem Rundungssignalerzeugungsmittels 314 ausgegeben wird.
  • Der Inhalt des Multiplikators 301 und der Inhalt des Multiplikanden 302 werden an das Unterprodukterzeugungsmittel 305 übertragen, und die erhaltenen Unterprodukte 305 werden an das erste Unterproduktaddiermittel 306 übertragen. Das Schiebebitzählsignal 313, das von dem Befehlssteuermittel 312 ausgegeben wird, wird an das Rundungssignalerzeugungsmittel 314 übertragen, und das Rundungssignalerzeugungsmittel 314 erzeugt das Rundungssignal 315. Das Rundungssignal 315 wird an das erste Unterproduktaddiermittel 306 übertragen. Wenn die Anzahl der Summanden beim ersten Unterproduktaddiermittel 306 zwei wird, wird das Zwischenergebnis in dem Zwischenregister 307 abgespeichert. Die Ausgabe des Zwischenregisters 307 wird an das zweite Unterproduktaddiermittel 308 übertragen und addiert, und das Ergebnis wird als Multiplizierergebnis 309, das nach dem Runden erhalten wird, ausgegeben. Das nach dem Runden erhaltene Multiplizierergebnis 309 wird an die Rumpf schiebeeinheit 310 übertragen. In der Rumpf schiebeeinheit 310 wird das nach dem Runden erhaltene Multiplizierergebnis 309 in Abhängigkeit vom Schiebebitzählsignal 313, das vom Befehlssteuermittel 312 ausgegeben wird, verschoben. Ein vorgegebener Bitbereich, der als ein Multiplizierergebnis abgeschnitten werden soll, wird abgeschnitten und in dem Multiplizierausgabespeicherregister 311 abgespeichert.
  • Wenn bei dieser Anordnung ein Multiplizierbefehl ausgegeben wird, werden die Unterprodukte des Multiplikators 301 und des Multiplikanden 302 durch das Unterprodukterzeugungsmittel 304 erzeugt. Gleichzeitig erzeugt das Rundungssignalerzeugungsmittel 314 das Rundungssignal 315, nachdem das Schiebebitzählsignal 313, das vom Befehlssteuermittel 312 ausgegeben wird, empfangen wird. Die Werte der Unterprodukte 305 und des Rundungssignals 315 werden durch das erste Unterproduktaddiermittel 306 addiert. Wenn die Addition durch das erste Unterproduktaddiermittel 306 ausgeführt ist, bis die Anzahl der Summanden zwei wird, werden die Werte im Zwischenregister 307 zwischengespeichert. Die Ausgabewerte des Zwischenregisters 307 werden mit Hilfe des zweiten Unterproduktaddiermittels 308, das eine Addierschaltung mit zwei Eingängen enthält, addiert, und das nach dem Runden erhaltene Multiplizierergebnis 309 wird ausgegeben. Das nach dem Runden erhaltene Multiplizierergebnis 309 wird an die Rumpfschiebeeinheit 310 übertragen, und durch den Bitzähler, der durch das vom Befehlssteuermittel 312 kommende Schiebebitzählsignal 313 gesetzt wird, übertragen. Als Ergebnis wird ein zum Abschneiden vorgegebener Bitbereich als ein Multiplizierergebnis abgeschnitten und in dem Multiplizierausgabespeicherregister 311 abgespeichert.
  • Wie oben beschrieben, enthält das Multipliziermittel 303 zusätzlich zum Wirkungsweise des ersten Ausführungsbeispiels das Unterprodukterzeugungsmittel 304, das erste Unterproduktaddiermittel 306, das Zwischenregister 307 und das Unterproduktaddiermittel 308 anstatt des Multipliziermittels 103 und des Addiermittels 109 im ersten Ausführungsbeispiel. Deshalb, durch Hinzufügen des Rundungssignals 315 unter Verwendung der Unterproduktaddiermittel, die als Bestandteile eines zellenwiederholenden Bereichmultiplikators verwendet wird und der als ein schneller Multiplikator angesehen werden kann, kann der Rundungsvorgang in den Multipliziervorgang eingebunden werden, wodurch die Verarbeitungszeit abgekürzt und die Schaltung verkleinert werden kann. Wenn als Ergebnis das Multiplizieren, das Runden und das Abschneiden eines vorgegebenen Bitbereichs durch Verschieben des Multiplizierergebnisses durch einen Befehl im Pipeline-Verfahren ausgeführt werden kann, werden für die Pipeline-Verarbeitung zwei Verarbeitungszyklen benötigt: einen Verarbeitungszyklus zur Erzeugung der Unterprodukte und der ersten Unterproduktaddition und einen zweiten Verarbeitungszyklus für die zweite Unterproduktaddition und den Schiebevorgang durch die Rumpf schiebeeinheit 310. Beim Vergleich zum ersten Ausführungsbeispiel, das drei Verarbeitungszyklen erforderte, kann bei diesem Ausführungsbeispiel der Verarbeitungsaufwand verringert werden.
  • VIERTES AUSFÜHRUNGSBEISPIEL
  • Fig. 4 zeigt ein Blockdiagramm einer Multiplizierschaltung in Verbindung mit einem vierten Ausführungsbeispiel der vorliegenden Erfindung. Bezugnehmend auf Fig. 4 bedeuten die Bezugszeichen: 401 einen Multiplikator, 402 einen Multiplikanden, 403 ein Multipliziermittel, 404 ein Unterprodukterzeugungsmittel als Bestandteil des Multipliziermittels 403, 405 Unterprodukte als die Ausgabe des Unterprodukterzeugungsmittels 404, 406 ein erstes Unterproduktaddiermittel als ein Bestandteil des Multipliziermittels 403, 407 ein Zwischenregister zum Zwischenspeichern eines Zwischenergebnisses, das beim ersten Unterproduktaddiermittel 406 erhalten wird, 408 ein zweites Unterproduktaddiermittel zum Hinzufügen der Ausgabe des Zwischenregisters 407, und es wird als ein Bestandteil des Multipliziermittels 403 verwendet, 409 ein Multiplizierergebnis, das nach den Runden erhalten wird, und als die Ausgabe des zweiten Unterprodukthinzufügemittel 408 dient, 410 eine Rumpf schiebeeinheit, die als Schiebemittel verwendet wird, 411 ein Register, das als Mittel zum Speichern der Ausgabe der Rumpfschiebeeinheit 410 verwendet wird, 412 ein Befehlssteuermittel, 413 ein Schiebezählsetzsignal, das als die Ausgabe des Befehlssteuermittels 412 verwendet wird, 414 ein Rundungssignalerzeugungsmittel, 415 ein Rundungssignal, das als die Ausgabe des Rundungssignalerzeugungsmittels 414 verwendet wird, 416 ein Schiebezählzwischenspeichermittel, das als ein Mittel zur Zwischenspeicherung des Schiebebitzählsignal 413 dient und 417 ein Schiebebitzählsignal, das als die Ausgabe des Schiebezählspeichermittels verwendet wird.
  • Das vierte Ausführungsbeispiel unterscheidet sich vom dritten Ausführungsbeispiel dahingehend, daß das vierte Ausführungsbeispiel ein Schiebezählzwischenspeichermittel 416 enthält. Außer diesem Schiebezählzwischenspeichermittel 416 sind Anordnung und Arbeitsablauf identisch mit dem dritten Ausführungsbeispiel.
  • Das Schiebzählsetzsignal 413 wird im Schiebezählzwischenspeichermittel 416 zwischengespeichert. Die Ausgabe des Schiebezählzwischenspeichermittel 416 wird dem Rundungssignalerzeugungsmittels 414 und der Rumpfschiebeeinheit 410 als das Schiebebitzählsignal 417 zugeführt. Mit anderen Worten: Im vierten Ausführungsbeispiel kann der Schiebezähler im Schiebezählzwischenspeichermittel 416 durch den Befehl gesetzt werden, der vor dem Multiplizierbefehl ausgegeben wird, indem das Schiebezählzwischenspeichermittel 416 der Anordnung des dritten Ausführungsbeispiel hinzugefügt wird.
  • Wie oben als Ergänzung zur Wirkungsweise des dritten Ausführungsbeispiels beschrieben, kann durch Hinzufügen des Schiebezählzwischenspeichermittel 416 in das vorliegende Ausführungsbeispiel der Schiebezähler in voraus gesetzt werden, indem ein anderer Befehl verwendet wird. Der Schiebezähler wird zweifach belegt. Dies ist erforderlich, wenn der Multiplizierbefehl und der Schiebebefehl, die das Multiplizierergebnis verwenden, im Fall des dritten Ausführungsbeispiels ausgegeben werden, und es ist im Fall des dritten Ausführungsbeispiels nicht erforderlich. Dies kann verhindern, daß Schiebezählsetzfeider für Befehlscodes zunehmen.
  • FÜNFTES AUSFÜHRUNGSBEISPIEL
  • Fig. 5 zeigt ein Blockdiagramm einer Multiplizierschaltung in Verbindung mit einem fünften Ausführungsbeispiel der vorliegenden Erfindung. Bezugnehmend auf Fig. 5 bedeuten die Bezugszeichen: 501 einen Multiplikator, 502 einen Multiplikanden, 503 ein Multipliziermittel, 504 ein Unterprodukterzeugungsmittel als Bestandteil der Multipliziermittel 503, 505 Unterprodukte als die Ausgabe des Unterprodukterzeugungsmittels 504, 506 ein erstes Unterproduktaddiermittel als ein Bestandteil des Multipliziermittels 503, 507 ein Zwischenregister zum Zwischenspeichern eines Zwischenergebnisses, das beim ersten Unterproduktaddiermittel 506 erhalten wird, 508 ein zweites Unterproduktaddiermittel zum Addieren der Ausgabe des Zwischenregisters 507, und es wird als ein Bestandteil des Multipliziermittels 503 verwendet, 509 ein Multiplizierergebnis, das nach den Runden erhalten wird, und das als die Ausgabe des zweiten Unterproduktaddiermittels 508 dient, 510 eine Rumpfschiebeeinheit, die als Schiebemittel verwendet wird, 511 ein Register, das als Mittel zum Speichern der Ausgabe der Rumpf schiebeeinheit 510 verwendet wird, 512 ein Befehlssteuermittel, 513 ein Schiebezählsetzsignal, das als die Ausgabe des Befehlssteuermittels 512 verwendet wird, 514 ein Rundungssignalerzeugungsmittel, 515 ein Rundungssignal, das als die Ausgabe des Rundungssignalerzeugungsmittels 514 verwendet wird, 516 ein Schiebezählzwischenspeichermittel, das als ein Mittel zur Zwischenspeicherung des Schiebezählsetzsignals 513 dient und 517 ein Schiebebitzählsignal, das als die Ausgabe des Schiebezählspeichermittels verwendet wird, 518 ein Schiebezählauswahlmittel, 519 ein Multiplizierbetriebsartschaltsignal, das als Auswahlsignal für das Schiebezählauswahlmittel 518 dient, 520 ein Schiebebefehlseingabeschaltmittel, 521 ein Schiebebefehlssteuersignal, das als das Schaltsignal für das Schiebebefehlseingabeschaltmittel 520 dient und 522 eine Eingabe bei der Ausgabe des Schiebebefehls. Das Multiplizierbetriebsartschaltsignal 519 dient dazu, zwischen einer Betriebsart zu schalten, um das Multiplizierverfahren der vorliegenden Erfindung zu erreichen, bei dem das Multiplizierergebnis in Abhängigkeit vom Schiebezähler verschoben und gerundet wird, und die andere Betriebsart, zum Erreichen eines gewöhnlichen Multiplizierverfahrens, bei dem das Multiplizierergebnis nicht in Abhängigkeit vom Schiebezähler verschoben und gerundet wird.
  • Das fünfte Ausführungsbeispiel unterscheidet sich vom vierten Ausführungsbeispiel dahingehend, daß das fünfte Ausführungsbeispiel mit einem Schiebezählauswahlmittel 518 versehen ist, um zwischen der Ausgabe des Schiebezählzwischenspeichermittels 416 oder dem Wert "0" und dem Schiebebefehlseingabeschaltmittel 520 auszuwählen. Außer diesem Mittel sind Anordnung und Arbeitsablauf identisch mit dem vierten Ausführungsbeispiel.
  • Das Schiebezählsetzsignal 513, das vom Befehlssteuermittel 512 ausgegeben wird, wird in das Schiebezählzwischenspeichermittel 516 eingegeben, und die Ausgabe des Schiebezählzwischenspeichermittels 516 wird an einem der Eingänge des Schiebezählauswahlmittels 518 eingegeben. Das Schiebezählauswahlmittel 518 hat einen Wahlschalter mit zwei Eingängen, und einen zweiten Eingang, der ist auf den Wert "0" eingestellt ist. Hinzu kommt, daß das Multiplizierbetriebsartschaltsignal 519, das vom Befehlssteuermittel 512 ausgegeben wird, als Auswahlsignal des Schiebezählauswahlmittel 518 eingegeben wird. Die Ausgabesignal des Schiebezählauswahlmittels 518 wird dem Rundungssignalerzeugungsmittel 514 und der Rumpfschiebeeinheit 510 als Schiebebitzählsignal 517 zugeführt. Darüber hinaus wird das Schiebebefehlssteuersignal 521, das vom Befehlssteuermittel 512 ausgegeben wird, als das Auswahlsignal des Schiebebefehlseingabeschaltmittels 520, das einen Wahlschalter mit zwei Eingängen enthält, zugeführt. Über einen der beiden Eingänge des Schiebebefehlseingabeschaltmittel 520 wird das Multiplizierergebnis eingelesen, das vom Multipliziermittel 503 stammt, und der andere Eingang dient zum Einlesen der Eingabe bei der Ausgabe des Schiebebefehls 522.
  • Wenn mit dieser Anordnung das Schiebebefehlseingabeschaltmittel 520 die Eingabe vom Multipliziermittel 503 ausgibt, das heißt, das Multiplizierergebnis 509, das nach dem Runden erhalten wird, wird das Schiebezählauswahlmittel 518 auf den Wert "0" gesetzt oder der Inhalt des im Schiebezählzwischenspeichermittel 516 abgespeicherten Schiebezählers, der vom Multiplizierbetriebsartschaltsignal 519 abhängt, wird vom Befehlssteuermittel 512 ausgegeben. In dem Fall bei dem der Inhalt des im Schiebezählzwischenspeichermittel 516 abgespeicherten Schiebezählers beispielsweise am Ausgang des Schiebezählauswahlmittels ausgegeben wird, empfängt das Rundungssignalerzeugungsmittel 514 dieses Signal, und es erzeugt ein, wie in den Fig. 7 und 8 gezeigtes Rundungssignal, und die Rumpfschiebeeinheit 510 führt einen Schiebungsvorgang entsprechend dem Inhalt des Schiebezählers, der im Schiebezählauswahlmittel 516 abgespeichert war, durch. In dem Fall, in dem beispielsweise der Wert "0" am Schiebezählauswahlmittel 518 ausgegeben wird, empfängt das Rundungssignalerzeugungsmittel 514 das Signal und erzeugt ein festes Signal als das Rundungssignal, beispielsweise ein Signal mit dem Wert "1" am m-te Bit vom niedrigstwertigen Bit. Hinzu kommt, daß die Rumpf schiebeeinheit das empfangene "0"-Signal nach einem Verschieben um Null Bit, das heißt, ohne Verschieben, ausgibt.
  • In dem Fall, bei dem in der Anordnung von Fig. 4 der Wert "0" in das Schiebezählzwischenspeichermittel 416 als Schiebezählsetzsignal 413 ohne das Schiebezählauswahlmittel 518 abgespeichert wurde, ist es möglich den gleichen Ablauf zu erhalten, wenn das Schiebebefehlseingabeschaltmittel 520, in der Anordnung von Fig. 5, das nach dem Runden erhaltene Multiplizierergebnis 509 ausgibt, und das Schiebezählauswahlmittel 518 auswählt und den Wert "0" ausgibt. Jedoch, wenn das Schiebezählauswahlmittel 518, nach der Anordnung von Fig. 5, vorgesehen wird, wird in dem Fall, bei dem der gleiche Wert des Schiebezählers als Ausgabe des Schiebezählauswahlmittels 518 ausgewählt wird, das heißt, das Schiebebitzählsignal 517 wird vor oder nach der Wert "0" ausgewählt, der Inhalt des Schiebezählers, der ausgewählt wurde, bevor der Wert "0" ausgewählt wurde, ebenfalls im Schiebezählzwischenspeichermittel 516 abgespeichert, nachdem der Wert "0" ausgewählt wurde. Deshalb ist es für das Befehlssteuermittel 512 nicht erforderlich, den Inhalt des Schiebzählers im Schiebezählzwischenspeichermittel 516 erneut zu setzen, nachdem das Schiebezählauswahlmittel 518 den Wert "0" auswählt, wobei Hochgeschwindigkeitsverarbeitung erreicht werden kann.
  • Da das Schiebeeingabeumschaltmittel 520 vorhanden ist, wird das Signal an Eingang 522 bei der Ausgabe des Schiebebefehls, der unmittelbar am Schiebebefehlseingabeschaltmittel 520 eingegeben wird, an die Rumpf schiebeeinheit 510 übertragen, ohne das Multipliziermittel 503 zu durchlaufen. Der Schiebbefehl kann also unabhängig ausgeführt werden.
  • Wie oben beschrieben, können durch Bereitstellen des Schiebezählauswahlmittel 518 zusätzlich in diesen Ausführungsbeispiel gegenüber Ausführungsbeispiel 518, wodurch der Ausgang des Schiebezählauswahlmittels 518 in Abhängigkeit von dem Multiplizierbetriebsartschaltsignal 519 umgeschaltet wird, beide Multiplizierverfahren der vorliegenden Erfindung, wobei das Multiplizierergebnis in Abhängigkeit von dem Inhalt des Schiebezählers verschoben und gerundet wird, und das gewöhnlichen Multiplizierverfahren unter Verwendung der gleichen Schaltung erreicht werden, wobei das Multiplizierergebnis nicht in Abhängigkeit vom Inhalt des Schiebezählers verschoben und gerundet wird.
  • Durch Bereitstellen des Schiebebefehlseingabeschaltmittels 520 läßt sich das unabhängige Ausführen des Schiebebefehls einfach erreichten.
  • Das Schiebezählzwischenspeichermittel 516, das Schiebezählauswahlmittel 518 und das Schiebebefehlseingabeschaltmittel 520 können zusätzlich in die Anordnung des ersten Ausführungsbeispiels in gleicher Weise eingefügt werden (siehe Fig. 1). Das Schiebezählauswahlmittel 518 kann ebenfalls zusätzlich in die Anordnung des zweiten Ausführungsbeispiels in gleicher Weise eingefügt werden (siehe Fig. 2). Darüber hinaus kann nur das Schiebebefehlseingabeschaltmittel 518 zusätzlich in die Anordnungen der ersten bis vierten Ausführungsbeispiele eingefügt werden (siehe Fig. 1 bis 4).

Claims (11)

1. Multiplizierverfahren zum Ausführen einer Festkommamultiplikation, mit den Verfahrensschritten:
einem Multiplizierprozeß (103) zum Multiplizieren eines Multiplikanden mit einem Multiplikator, beide gewonnen durch einen Multiplizierbefehl;
einem Rundungssignalerzeugungsprozeß (105) zum Erzeugen eines Rundungssignals, das einen Rundungswert einschließt, der einem Bit niedriger Ordnung hinzuzufügen ist, das dem niedrigstwertigen Bit in einem vorgegebenen Abschneidebitbereich eines Multiplizierergebnisses benachbart ist, gewonnen durch den Multiplizierprozeß auf der Grundlage eines Schiebebitzählsignals entsprechend der Differenz zwischen dem niedrigstwertigen Bit im vorgegebenen Bitausschneidebereich vom durch den Multiplizierprozeß gewonnenen Multiplizierergebnis und dem niedrigstwertigen Bit in einem Bitabschneidebezugsbereich;
einem Addierprozeß (109) zum Addieren des durch den Multiplizierprozeß für das Rundungssignal gewonnene Multiplizierergebnis, um ein nach dem Runden gewonnenes Multiplizierergebnis zu erzeugen; und
einem Schiebeprozeß (112) zum Verschieben des nach Runden durch eine Schiebebitzählung gewonnenen, durch das Schiebebitzählsignal aufgezeigten Multiplizierergebnisses, um den vorgegebenen Bitabschneidebereich vom nach dem Runden gewonnenen Multiplizierergebnis abzuschneiden.
2. Multiplizierverfahren zum Ausführen eines Festkommamultiplizierprozesses durch Erzeugen und Addieren von Unterprodukten, mit den Verfahrensschritten:
einem Rundungssignalerzeugungsprozeß (314) zum Erzeugen eines Rundungssignals, das einen Rundungswert enthält, der einem Bit niedriger Ordnung zuzuzählen ist, das dem niedrigstwertigen Bit in einem gegebenen Bitausschneidebereich eines Multiplizierergebnisses benachbart ist, gewonnen durch den Multiplizierprozeß auf der Grundlage eines Schiebebitzählsignals, das der Differenz zwischen dem niedrigstwertigen Bit im vorgegebenen Bitabschneidebereich des Multiplizierergebnisses entspricht, gewonnen durch den Multiplizierprozeß und das niedrigstwertige Bit in einem Bezugsbitabschneidebereich;
einem Unterprodukterzeugungsprozeß (304) zum Erzeugen von Unterprodukten eines Multiplikators und eines Multiplikanden, gewonnen durch einen Multiplizierbefehl;
einem Addierprozeß (306, 308) zum Addieren aller der durch den Unterprodukterzeugungsprozeß für das Rundungssignal erzeugten Unterprodukte, um ein nach dem Runden gewonnenes Multiplizierergebnis zu erzeugen; und
einem Schiebeprozeß (310) zum Verschieben des nach Runden durch eine Schiebebitzählung gewonnenen, durch das Schiebebitzählsignal aufgezeigten Multiplizierergebnisses, um den vorgegebenen Bitausschneidebereich vom nach Runden gewonnenen Multiplizierergebnis abzuschneiden.
3. Multiplizierverfahren nach Anspruch 1 oder 2, bei dem das Schiebebitzählsignal für den Rundungssignalerzeugungsprozeß und den Schiebeprozeß nach zeitweiligem Zurückhalten Verwendung findet.
4. Multiplizierverfahren nach Anspruch 3, bei dem das zeitweilig zurückgehaltene Schiebebitzählsignal oder ein Nullsignal, das ein Nullbit aufzeigt, ausgewählt wird zur Verwendung im Rundungssignalerzeugungsprozeß und dem Schiebeprozeß, und wenn das Nullsignal ausgewählt ist, erzeugt der Rundungssignalerzeugungsprozeß ein Rundungssignal, das einen Rundungswert enthält, der einem Bit niedriger Ordnung hinzuzufügen ist, das dem niedrigstwertigen Bit im Bezugsbitausschneidebereich des durch den Multiplizierprozeß gewonnenen Multiplizierergebnisses benachbart ist, und der Schiebeprozeß führt keine Verschiebung bezüglich des nach Runden gewonnenen Multiplizierergebnisses aus.
5. Multiplizierschaltung zum Ausführen einer Festkommamultiplikation, mit:
einem Multipliziermittel (103) zur Eingabe eines Multiplikators und eines Multiplikanden, gewonnen durch einen Multiplizierbefehl, und zur Ausgabe des Multiplizierergebnisses;
einem Rundungssignalerzeugungsmittel (105) zur Ausgabe eines Rundungssignals, das einen Rundungswert enthält, der einem Bit niedriger Ordnung hinzuzufügen ist, das dem niedrigstwertigen Bit in einem vorgegebenen Bitausschneidebereich des Multiplizierergebnisses benachbart ist, gewonnen durch das Multipliziermittel auf der Grundlage eines Schiebebitzählsignals gemäß der Differenz zwischen dem niedrigstwertigen Bit im vorgegebenen Bitausschneidebereich des Multiplizierergebnisses, gewonnen durch das Multipliziermittel, und dem niedrigstwertigen Bit in einem Bitbezugsausschneidebereich;
einem Addiermittel (106) zum Addieren des durch das Multipliziermittel gewonnenen Multiplizierergebnisses zum durch das Rundungssignalerzeugungsmittel erzeugten Rundungssignal, um ein nach Runden gewonnenes Multiplizierergebnis zu erzeugen; und
einem Schiebemittel (112) zum Verschieben des nach Runden gewonnenen Multiplizierergebnisses, erzeugt durch das Addiermittel durch eine durch das Schiebebitzählsignal aufgezeigte Schiebebitzählung, um den vorgegebenen Bitausschneidebereich aus dem Multiplizierergebnis nach Runden auszuschneiden.
6. Multiplizierschaltung nach Anspruch 5, bei der ein Schiebezählrückhaltemittel zum zeitweiligen Rückhalten des Schiebebitzählsignals und zur Ausgabe des Schiebebitzählsignals an das Rundungssignalerzeugungsmittel und das Schiebemittel vorgesehen ist.
7. Multiplizierschaltung nach Anspruch 6, bei der ein Schiebezählauswahlmittel zum Auswählen des Schiebebitzählsignals und des Schiebezählrückhaltemittels oder eines Nullsignals, das ein Nullbit aufzeigt, und zur Ausgabe des ausgewählten Signals an das Rundungssignalerzeugungsmittel und das Schiebemittel zwischen dem Schiebezählrückhaltemittel und dem Rundungssignalerzeugungsmittel vorgesehen ist, und wenn das Schiebezählauswahlmittel das Nullsignal auswählt und ausgibt, erzeugt das Rundungssignalerzeugungsmittel ein Rundungssignal, das einen Rundungswert enthält, der dem Bit niedriger Ordnung hinzuzufügen ist, das dem niedrigstwertigen Bit im Bezugsbitausschneidebereich des Multiplizierergebnisses benachbart ist, und bei der das Schiebemittel keine Verschiebung bezüglich des nach Runden gewonnenen Multiplizierergebnisses ausführt.
8. Multiplizierschaltung zum Ausführen eines Festkommamultiplizierprozesses durch Erzeugen und Addieren von Unterprodukten, mit:
einem Rundungssignalerzeugungsmittel (314) zum Erzeugen eines Rundungssignals, das einen Rundungswert enthält, der einem Bit niedriger Ordnung hinzuzufügen ist, das dem niedrigstwertigen Bit in einem vorgegebenen Bitausschneidebereich eines Multiplizierergebnisses benachbart ist, gewonnen durch den Multiplizierprozeß auf der Grundlage eines Schiebebitzählsignals gemäß der Differenz zwischen dem niedrigstwertigem Bit im gegebenen Bitausschneidebereich vom durch den Multiplizierprozeß gewonnenen Multiplizierergebnis und dem niedrigstwertigen Bit in einem Bezugsbitausschneidebereich;
einem Unterprodukterzeugungsmittel (304) zum Erzeugen von Unterprodukten eines Multiplikators und eines Multiplikanden, gewonnen durch einen Multiplizierbefehl;
einem Addiermittel (306, 308) zum Addieren aller der durch das Unterprodukterzeugungsmittel erzeugten Unterprodukte mit dem durch das Rundungssignalerzeugungsmittel erzeugten Rundungssignal, um ein nach Runden gewonnenes Multiplizierergebnis zu erzeugen; und
einem Schiebemittel (310) zum Verschieben des nach Runden gewonnenen Multiplizierergebnisses, erzeugt durch das Addiermittel durch eine Schiebebitzählung, aufgezeigt durch das Schiebebitzählsignal, um den vorgegebenen Bitausschneidebereich aus dem nach Runden gewonnenen Multiplizierergebnis auszuschneiden.
9. Multiplizierschaltung nach Anspruch 8, bei der ein Schiebezählrückhaltemittel zum zeitweiligen Rückhalten des Schiebebitzählsignals und zur Ausgabe des Schiebebitzählsignals an das Rundungssignalerzeugungsmittel und das Schiebemittel vorgesehen ist.
10. Multiplizierschaltung nach Anspruch 9, bei der ein Schiebezählauswahlmittel zum Auswählen des Schiebebitzählsignals vom Schiebezählrückhaltemittel oder eines Nullsignals, das ein Nullbit aufzeigt, und zur Ausgabe des ausgewählten Signals an das Rundungssignalerzeugungsmittel und das Schiebemittel zwischen dem Schiebezählrückhaltemittel und dem Rundungssignalerzeugungsmittel vorgesehen ist, und wenn das Schiebezählauswahlmittel das Nullsignal auswählt und ausgibt, erzeugt das Rundungssignalmittel ein Rundungssignal, das einen Rundungswert enthält, der einem Bit niedriger Ordnung hinzuzufügen ist, das dem niedrigstwertigen Bit im Bezugsbitausschneidebereich des Multiplizierergebnisses benachbart ist, und das Schiebemittel führt keine Verschiebung bezüglich des nach Runden gewonnenen Multiplizierergebnisses aus.
11. Multiplizierschaltung nach Anspruch 5, 6, 7, 8, 9 oder 10, bei dem ein Schiebeeingabeumschaltmittel vorgesehen ist zur Auswahl des Ausgangssignals vom Addiermittel oder eines anderen Signals zur Ausgabe des ausgewählten Signals an das Schiebemittel zwischen dem Addiermittel und dem Schiebemittel.
DE69808362T 1997-04-01 1998-03-31 Multiplizierverfahren und Multiplizierschaltung Expired - Lifetime DE69808362T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP8255997 1997-04-01

Publications (2)

Publication Number Publication Date
DE69808362D1 DE69808362D1 (de) 2002-11-07
DE69808362T2 true DE69808362T2 (de) 2003-03-06

Family

ID=13777860

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69808362T Expired - Lifetime DE69808362T2 (de) 1997-04-01 1998-03-31 Multiplizierverfahren und Multiplizierschaltung

Country Status (4)

Country Link
US (2) US6167419A (de)
EP (1) EP0869432B1 (de)
KR (1) KR100556568B1 (de)
DE (1) DE69808362T2 (de)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7890566B1 (en) * 2000-02-18 2011-02-15 Texas Instruments Incorporated Microprocessor with rounding dot product instruction
US7062526B1 (en) * 2000-02-18 2006-06-13 Texas Instruments Incorporated Microprocessor with rounding multiply instructions
TW484092B (en) * 2001-01-31 2002-04-21 Nat Science Council Reduced-width low-error multiplier
US7340495B2 (en) * 2001-10-29 2008-03-04 Intel Corporation Superior misaligned memory load and copy using merge hardware
US6941335B2 (en) * 2001-11-29 2005-09-06 International Business Machines Corporation Random carry-in for floating-point operations
US7689641B2 (en) * 2003-06-30 2010-03-30 Intel Corporation SIMD integer multiply high with round and shift
JP4571903B2 (ja) * 2005-12-02 2010-10-27 富士通株式会社 演算処理装置,情報処理装置,及び演算処理方法
US20080034027A1 (en) * 2006-08-01 2008-02-07 Linfeng Guo Method for reducing round-off error in fixed-point arithmetic
US9128698B2 (en) * 2012-09-28 2015-09-08 Intel Corporation Systems, apparatuses, and methods for performing rotate and XOR in response to a single instruction
US8933731B2 (en) 2013-03-11 2015-01-13 Freescale Semiconductor, Inc. Binary adder and multiplier circuit
US9032009B2 (en) 2013-03-11 2015-05-12 Freescale Semicondutor, Inc. Multiplier circuit
US20150095396A1 (en) * 2013-10-01 2015-04-02 Rockwell Automation Technologies, Inc. Multiplying varying fixed-point binary numbers
RU2625528C1 (ru) * 2016-05-17 2017-07-14 Федеральное государственное бюджетное образовательное учреждение высшего образования "Кубанский государственный технологический университет" (ФГБОУ ВО "КубГТУ") Арифметическое устройство
RU2749647C1 (ru) * 2020-11-17 2021-06-16 Федеральное государственное бюджетное учреждение науки Институт космических исследований Российской академии наук Способ умножения чисел в позиционном коде

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61188624A (ja) * 1985-02-15 1986-08-22 Fujitsu Ltd 固定小数点演算装置
JPS6285333A (ja) * 1985-10-11 1987-04-18 Oki Electric Ind Co Ltd 浮動小数点乗算器丸め処理方式
US4841468A (en) * 1987-03-20 1989-06-20 Bipolar Integrated Technology, Inc. High-speed digital multiplier architecture
US4876660A (en) * 1987-03-20 1989-10-24 Bipolar Integrated Technology, Inc. Fixed-point multiplier-accumulator architecture
JPS63298526A (ja) * 1987-05-29 1988-12-06 Yokogawa Medical Syst Ltd 浮動小数点加算装置
JPH01111229A (ja) * 1987-10-26 1989-04-27 Nec Corp 浮動小数点加減算器
US4958312A (en) * 1987-11-09 1990-09-18 Lsi Logic Corporation Digital multiplier circuit and a digital multiplier-accumulator circuit which preloads and accumulates subresults
US4999801A (en) * 1988-07-15 1991-03-12 Fujitsu Limited Floating point operation unit in division and square root operations
US4941120A (en) * 1989-04-17 1990-07-10 International Business Machines Corporation Floating point normalization and rounding prediction circuit
US4926370A (en) * 1989-04-17 1990-05-15 International Business Machines Corporation Method and apparatus for processing postnormalization and rounding in parallel
US5208770A (en) * 1989-05-30 1993-05-04 Fujitsu Limited Accumulation circuit having a round-off function
US5128889A (en) * 1990-02-22 1992-07-07 Matsushita Electric Industrial Co., Ltd. Floating-point arithmetic apparatus with compensation for mantissa truncation
JPH0473249A (ja) * 1990-07-14 1992-03-09 Oji Paper Co Ltd 不織布の製造方法及び装置
JP3199371B2 (ja) * 1990-07-30 2001-08-20 松下電器産業株式会社 丸め装置
DE69132807T2 (de) * 1990-08-24 2002-06-27 Matsushita Electric Industrial Co., Ltd. Verfahren und Gerät zur Berechnung von Gleitkommadaten
JPH0580978A (ja) * 1991-09-18 1993-04-02 Fujitsu Ltd 演算処理回路
US5521855A (en) * 1991-11-29 1996-05-28 Sony Corporation Multiplying circuit
JPH05224888A (ja) * 1992-02-13 1993-09-03 Fujitsu Ltd 小数点位置可変型データの乗算回路
US5341319A (en) * 1993-02-10 1994-08-23 Digital Equipment Corporation Method and apparatus for controlling a rounding operation in a floating point multiplier circuit
JP3222313B2 (ja) * 1993-04-27 2001-10-29 松下電器産業株式会社 演算装置及び演算方法
JPH06348455A (ja) * 1993-06-14 1994-12-22 Matsushita Electric Ind Co Ltd 乗算における丸め込み方法及び乗算回路
JPH07114454A (ja) * 1993-10-14 1995-05-02 Sony Corp 乗算回路および乗算方法
US6038583A (en) * 1997-10-23 2000-03-14 Advanced Micro Devices, Inc. Method and apparatus for simultaneously multiplying two or more independent pairs of operands and calculating a rounded products

Also Published As

Publication number Publication date
EP0869432A1 (de) 1998-10-07
DE69808362D1 (de) 2002-11-07
US6167419A (en) 2000-12-26
KR19980080981A (ko) 1998-11-25
KR100556568B1 (ko) 2006-07-03
EP0869432B1 (de) 2002-10-02
US6167420A (en) 2000-12-26

Similar Documents

Publication Publication Date Title
DE69131458T2 (de) Hardware-Anordnung zur Addition und Subtraktion von Gleitkommazahlen
DE69808362T2 (de) Multiplizierverfahren und Multiplizierschaltung
DE19540102C2 (de) Verfahren und Gleitkomma-Recheneinheit mit einer Logik für eine Vierfach-Präzisions-Arithmetik
DE60210494T2 (de) Hochgeschwindigkeitsberechnung in einer arithmetik- und logikschaltung
DE1956209C3 (de) Multipliziervorrichtung
DE2246968A1 (de) Einrichtung zur kombination, insbesondere multiplikation, zweier gleitkommazahlen
DE69324730T2 (de) Multiplizier-Akkumulator
DE2712224A1 (de) Datenverarbeitungsanlage
DE3888230T2 (de) Einrichtung und Verfahren zur Durchführung einer Schiebeoperation mit einer Multipliziererschaltung.
EP1543408B1 (de) Vorrichtung und verfahren zum berechnen einer multiplikation mit einer verschiebung des multiplikanden
DE10013068C2 (de) Potenzierungsoperationsvorrichtung
DE69425565T2 (de) Verfahren und vorrichtung in einem transponierten digitalen fir-filter zur multiplikation eines binären eingangssignals mit filterkoeffizienten und verfahren zum entwurf eines digitalen transponierten filters
DE69519448T2 (de) Digitale Verarbeitungsanlage mit Befehlen zum Suchen des Minimums und Maximums
DE3789819T2 (de) Verarbeitungsschaltung für serielle Digitalsignale.
DE4019646C2 (de) Vorrichtung und Verfahren zum Multiplizieren von Datenwörtern in Zweier-Komplement-Darstellung
EP1576463B1 (de) Modulare multiplikation mit paralleler berechnung der vorausschau-parameter
DE69504192T2 (de) Anordnung zur digitalen durchführung einer divisionsoperation
DE19746054B4 (de) Verfahren und Vorrichtung zum Ausführen einer Operation mit doppelter Genauigkeit
DE3440680C2 (de)
DE69030169T2 (de) Hochleistungsaddierer mit Carry-Vorhersage
DE69420989T2 (de) Mantissa-Addier Anordnung und Verfahren für Gleitkomma-Addierer
DE2746355A1 (de) Einrichtung und verfahren zur wahlweisen multiplikation oder division zweier als binaerzahlen vorliegender operanden
DE69230520T2 (de) Verfahren und Anordung zur Erzeugung von Summeinformation-/Rundungskontrolle-Signal
DE10142155C1 (de) Verfahren und Vorrichtung zum modularen Multiplizieren
DE68921083T2 (de) Operationsschaltung für auf die Fliesskommadarstellung basierenden Operanden.

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8327 Change in the person/name/address of the patent owner

Owner name: PANASONIC CORP., KADOMA, OSAKA, JP