DE2902496A1 - Digitale datenmultiplikationsanordnung - Google Patents
Digitale datenmultiplikationsanordnungInfo
- Publication number
- DE2902496A1 DE2902496A1 DE19792902496 DE2902496A DE2902496A1 DE 2902496 A1 DE2902496 A1 DE 2902496A1 DE 19792902496 DE19792902496 DE 19792902496 DE 2902496 A DE2902496 A DE 2902496A DE 2902496 A1 DE2902496 A1 DE 2902496A1
- Authority
- DE
- Germany
- Prior art keywords
- data word
- successive
- data
- register
- mantissa
- 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.)
- Withdrawn
Links
- 238000012545 processing Methods 0.000 claims description 10
- 239000000047 product Substances 0.000 claims 7
- 239000007795 chemical reaction product Substances 0.000 claims 1
- 238000006073 displacement reaction Methods 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 13
- 230000008859 change Effects 0.000 description 7
- 238000000034 method Methods 0.000 description 6
- 238000010606 normalization Methods 0.000 description 5
- 238000012546 transfer Methods 0.000 description 4
- 238000012360 testing method Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000000712 assembly Effects 0.000 description 1
- 238000000429 assembly Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 241001233037 catfish Species 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/52—Multiplying; Dividing
- G06F7/523—Multiplying only
- G06F7/533—Reduction of the number of iteration steps or stages, e.g. using the Booth algorithm, log-sum, odd-even
- G06F7/5334—Reduction of the number of iteration steps or stages, e.g. using the Booth algorithm, log-sum, odd-even by using multiple bit scanning, i.e. by decoding groups of successive multiplier bits in order to select an appropriate precalculated multiple of the multiplicand as a partial product
- G06F7/5336—Reduction of the number of iteration steps or stages, e.g. using the Booth algorithm, log-sum, odd-even by using multiple bit scanning, i.e. by decoding groups of successive multiplier bits in order to select an appropriate precalculated multiple of the multiplicand as a partial product overlapped, i.e. with successive bitgroups sharing one or more bits being recoded into signed digit representation, e.g. using the Modified Booth Algorithm
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/483—Computations with numbers represented by a non-linear combination of denominational numbers, e.g. rational numbers, logarithmic number system or floating-point numbers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2207/00—Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F2207/38—Indexing scheme relating to groups G06F7/38 - G06F7/575
- G06F2207/3804—Details
- G06F2207/3808—Details concerning the type of numbers or the way they are handled
- G06F2207/3832—Less usual number representations
- G06F2207/3844—Hexadecimal
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2207/00—Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F2207/38—Indexing scheme relating to groups G06F7/38 - G06F7/575
- G06F2207/3804—Details
- G06F2207/386—Special constructional features
- G06F2207/3884—Pipelining
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (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)
- Nonlinear Science (AREA)
- Complex Calculations (AREA)
Description
Digitale Datenmultlpllkationeanordnung
Die Erfindung bezieht sich allgemein auf eine Datenverarbeitungsanordnung
und insbesondere auf eine digitale Datenmultiplikationsanordnung, in der arithmetische Operationen
unter Anwendung von Gleitkomma-Verfahren durchgeführt werden.
Die Darstellung von Zahlen, Insbesondere von nichtganzzahligen Zahlen, erfordert in Datenverarbeitungsanordnungen
die Einführung eines Kommas in die Zahlendarstellung. Es besteht die Möglichkeit, daß die Datenverarbeitungsanordnung
die Festkomma-Schreibweise anwendet, bei der das Komma unmittelbar rechts der niedrigstwertigen
Stelle oder unmittelbar rechts des Vorzeichenbits vor dem ersten Informationsbit gesetzt wird.
Eine weitere Möglichkeit ist die Gleitkomma-Schreibwelse,
in der die Zahl durch ein Vorzeichen, einen Exponenten und eine Mantisse dargestellt wird. Dieses Verfahren ist in
vielen Veröffentlichungen beschrieben worden, beispielsweise
909830/0833
in "Computer architecture" von Caxton C.Forster, Van Nostrand RheinhoMCompany, New York, New York, 1976,
Seiten 16 und folgende.
Gleitkomma-Verarbeitungseinheiten sind relativ kompliziert, wenn sie für einen großen Dezimalbereich und für eine
erhöhte Genauigkeit ausgelegt sind. Ein Verfahren, das eine relativ gute Flexibilität und eine gute Genauigkeit
ergibt und von einigen Vereinfachungen der herkömmlich angewendeten Gleitkomma-Struktur Gebrauch macht, ist
in der CA-PS 1 105 065 beschrieben. Diese Struktur ist so ausgelegt, daß zur Durchführung arithemtischerOperationen
erste und zweite Operanden verschoben werden, die jeweils erste bzw. zweite Mantissen- und Exponentenwerte
aufweisen. Es sind ein Rechenwerk und eine Registervorrichtung zur Erzeugung eines vorgewählten Maßstabsfaktors
vorgesehen, damit die Erfordernisse bei der Operandenverschiebung angegeben werden. Es ist eine
Maßstabseinrichtung angeschlossen, mit deren Hilfe die
Register in einer ersten Richtung seriell geladen werden und die ein Operandeneingangssignal entsprechend dem
vorgewählten Maßstabsfaktor einstellt. Zum wahlweisen Verbinden des Registers mit der Maßstabseinrichtung wird
eine Schaltvorrichtung verwendet, die ein Schreiben aus dem ausgewählten Register in einer ersten Richtung in
seriellex' Weise bewirkt.
Das in der erwähnten kanadischen Patentschrift beschriebene System kann zwar arithmetische Operationen in einem großen
Zahlenbereich mit relativ hoher Genauigkeit schnell und zweckmässig durchführen, doch ist die Geschwindigkeit
der Mantissenmultiplikation, die Bit um Bit durchgeführt wird, langsamer als es erwünscht ist; es ist daher vorteilhaft,
eine schnellere Multiplikationsoperation insbesondere in Datenverarbeitungsanordnungen zu schaffen,
909330/0833
in denen schnelle Operationen immer größere Bedeutung erlangen.
Eine Verbesserung der Operationsgeschwindigkeit bei der Mantissenmultiplikation in Gleitkommasystemen ergibt sich
dadurch, daß die Operation gleichzeitig an vier Bits der Multiplikator-Mantisse im Gegensatz zum Mantissenmultiplikationsverfahren
mit einem Bit durchgeführt wird. Die 4-Bit-Mantissenmultiplikation wird in hexadezimaler
Notation unter Verwendung entsprechend verbundener Schiebeeinheiten,Rechenwerken und Registern durchgeführt.
Entsprechend diesen Erläuterungen liefert eine Mantissenregisterdatei
die Mantisse einer zu multiplizierenden Zahl (den Multiplikanden) zu einem Register,dessen Ausgangssignal
mit zwei in geeigneter Weise multiplexierten Paaren von Schiebeeinheiten zugeführt wird, die verschiedene
Kombinationen von Mehrfachen dieser Mantisse bilden können. Die Auswahl der Multiplikationsfaktoren
wird durch aufeinanderfolgende 4-Bit-Gruppen der Mantisse der zweiten zu multiplizierenden Zahl ( des Multiplikators)
gesteuert. Die Ausgangssignale der multiplexierten Schiebeeinheiten werden einem Rechenwerk zugeführt, das diese
Signale entsprechend addiert oder subtrahiert, und die Ergebnisse werden in einem Arbeitsregister abgespeichert.
Das Ausgangssignal des Arbeitsregisters, das für jede 4-Bit-Multlplikationsoperation ein Teilprodukt
darstellt, wird einem zweiten Rechenwerk zugeführt, das kontinuierlich eine Teilsumme der Teilprodukte erzeugt,
wenn diese berechnet werden| die Summen werden dann einem
Endregister zugeführt.
Die Gesamtoperation ist eine "Pipeline"-Operation, bei der
das Arbeitsregister stets das Teilprodukt und das Endregister stets die Teilsumme enthält, die in das zweite
909830/0833
Rechenwerk zurückübertragen wird, damit eine kontinuierliche Berechnung erfolgen kann.-
Wenn alle 4-Bit-Gruppen des Multiplikators mit der Mantisse des Multiplikanden multipliziert worden sind,
wird das Gesamtprodukt im Endregister über einen internen Mantissen-Bus dem Datenverarbeitungssystem und dem Daten-Bus
zugeführt, der eine Datenübertragungzwisehen der Verarbeitungsanordnung
und der Gleitkommaeinheit ermöglicht.
Die Verwendung von Multiplexern und von Rechenwerken in
der geschilderten Weise ermöglicht die Durchführung schneller Multiplikationsoperationen an Gleitkomma-Daten, wobei die
Operationsgeschwindigkeit beträchtlich über der bei Multiplikationsverfahren mit einem Bit in bisherigen Gleitkommasystemen
erzielten Geschwindigkeit vergrößert werden kann.
Die Erfindung wird nun an Hand der Zeichnung beispielshalber erläutert. Es zeigen:
Fig.1 ein allgemeines Blockschaltbild einer Datenverarbeitungsanordnung, in der die Erfindung angewendet werden kann,
Fig.2 ein Blockschaltbild der Steuerlogik von Fig.1,
Fig.3 ein Blockschaltbild der Exponentenlogik von Fig.1, Fig.4 ein Blockschaltbild der Mantissenlogik von Fig.1,
Fig.5 ein genaueres Logikdiagramm eines Teils der Mantissenlogik
von Fig.4,
Flg.6 ein genaueres Logikdiagramm .eines weiteren Abschnitts
der Mantissenlogik von Fig.4,
909830/0833
Fig.7'und 8 ein Blockschaltbild, bzw. eine erste Tabelle
zur Erläuterung eines Teils der Arbeitsweise der Mantissenlogik von' Fig „4,
Fig.9 ein Blockschaltbild der Decodier- und Steuerlogik
von Fig.1 und
Fig.10 eine zweite Tabelle zur Veranschaulichung der
Arbeitsweise der Multiplikationsanordnung nach der Erfindung.
Der hier zu beschreibende Gleitkomma-Prozessor (FPP) ist ein eigener Prozessor,, der alle Gleitkomma-Operationen
für einen Primär-Prozessor ausführt, obwohl er dem Primärprozessor untergeordnet ist. Der Primär-Prozessor
überträgt alle Daten zum oder vom Gleitkomma-Prozessor, der alle notwendigen arithmetischen Operationen durchführt,
die unabhängig vom Betrieb des Primär-Prozessors erforderlich sind.
Fig.1 zeigt ein Ubersichtsdiagramm des hier zu beschreibenden
Gleitkommaprozessors, sowie die Daten-, Adressen- und Steuersignalwege zum und vom Gleitkomma-Prozessor
zusammen mit dem Primär-Prozessor und den Hauptspeichereinheiten einer Datenverarbeitungsanordnung. Wie zu erkennen
ist, steht der Primär-Prozessor 10 über den herkömmlichen Daten-Bus 12 und den herkömmlichen Adressenbus 13 mit
der Speichereinheit 11 in Verbindung. Entsprechende Steuersignale zur Steuerung des Speicherzugriffs werden
ebenfalls auf eigenen internen Übertragungswegen geliefert. Der Gleitkomma-Prozessor 14 steht mit dem Primär-Prozessor
und der Speichereinheit ebenfalls über den Daten-Bus und den Adressen-Bus 13 in Verbindung; ferner steht er
mit diesen Baugruppen über entsprechende Steuersignalleitungen in Verbindung.
909830/0833
Der Gleitkomma-Prozessor enthält eine Einheit 15 zur Befehlsdecodierung und zur Steuerung, die Befehle aus
einem Gleitkomma-Befehlsregister 16 decodiert und die
Arbeitsweise der Exponentenlogik 17 sowie der Mantissenlogik 18 steuert. Die Daten für den Gleitkomma-Prozessor
werden vom Daten-Bus über eine entsprechende Schnittstelle 19 gelirfert. Die Ergebnisse der Arbeitsgänge der Mantissenlogik
und der Exponentenlogik werden kombiniert und dem Daten-Bus zugeführt, sobald die arithmetischen Operationen
durchgeführt worden sind.
Der Gleitkomma-Prozessor enthält eine Kopie des Inhalts der Befehlsregister des Primärprozessors, und er kann
einen Befehl puffern, d.h. speichern, während er gleichzeitig den zuvor empfangenen Befehl ausführt. In einer
bevorzugten Ausführung kann der Gleitkomma-Prozessor so ausgebildet sein, daß er eine Zykluszeit von 100 ns
bei Verwendung mit einem Primär-Prozessor in einer Zykluszeit von beispielsweise 200 ns hat. Der Gleitkomma-Prozessor
kann daher für Jeden Mikrobefehl, den der Primär-Prozessor ausführt, zwei Mikrobefehle ausführen.
Der Gleitkomma-lProzessor verbleibt in einem Leerzustand, bis in sein Befehlsregister ein Gleitbefehl
gelesen worden ist; er arbeitet dann unmittelbar aus dem Primärprozessor, ausgenommen dann, wenn dieser Primärprozessor
Daten zum oder vom Gleitkomma-Prozessor überträgt.
Der Gleitkommaprozessor speichert im allgemeinen jeden Befehl, der aus dem Speicher durch das Primär-Befehlsregister
abgerufen wird. Wenn der Befehl ein Gleitkomma-Befehl ist, und keine Daten aus dem Speicher benötigt,
kann der Gleitkomma-Prozessor, wenn er nicht bereits besetzt ist, den Befehl sofort decodieren und beginnen,
die Gleitkomma-Rechenoperation auszuführen, während er den laufenden Befehl ausführt, kann er auch in seinem
Befehlspufferregister den nächsten Befehl speichern.
909830/0833
Die Exponentenlogik 17 enthält entsprechende Register und eine Rechenlogik für Exponentenberechnungen. Diese
Exponentenlogik berechnet auch die Normalisierungsfaktoren, und sie steuert eine Mantissenverschiebevorrichtung
zur Normalisierung der Mantissenergebnisse. Die Exponentenlogik 17 berechnet auch die für Additionsund
Subtraktionsfunktionen notwendigen Verschiebungen. Alle Operationen können allgemein Operationen des Typs
sein, die bereits in der oben erwähnten kanadischen Patentschrift beschrieben sind; es ist daher nicht
notwendig, sie hier erneut 2U beschreiben.
Die Mantissenlogik 18 enthält entsprechende Register und eine Rechenlogik für Mantissenberechnungen (d.h.
die gewünschte Mantissenoperation bei einer Addition, einer Subtraktion, einer Multiplikation oder einer
Division).Die Ergebnisse werden dann mit dem von der
Exponentenlogik berechneten Faktor normalisiert und im entsprechenden Gleitkommaakkumulator gespeichert.
Die Steuerlogik 15 des Gleitkommaprozessors steht mit dem Primär-Prozessor 10 in Verbindung und steuert die
Ausführung der Gleitkommabefehle. Ein Blockschaltbild
der Steuerlogik ist in Fig.2 in vereinfachter Form dargestellt. Wie dort zu erkennen ist, enthält diese
Steuerlogik einen Steuerspeicher 20, der vorzugsweise als Festspeicher (ROM) ausgebildet ist und 512 Wörter
zu je 72 Bits speichert; er enthält die Mikroprogramme,
die die gewünschten Gleitkommaoperationen entsprechend den Gleitkommabefehlen durchführen. Ein Steuerpufferregister
21 speichert den gerade ausgeführten Mikrobefehl. Die Ausgangssignale dieses Registers steuern
die Funktionen des Gleitkommaprozessors mittels geeigneter Steuersignale," die den Exponenten- und Mantisseneinheiten
zugeführt werden. Eine Zustandsänderungslogik
909830/0833
steuert die Adresse des nächsten Mikrobefehls des Gleitkomma-Prozessora;sie
enthält ein Register zum Kopieren eines Teils des Inhalts des Befehlsregisters; dieses
Register wird von der Zustandsänderungslogik dazu benutzt,
die Operationen des Gleitkommaprozessors zu steuern.
Die Zustandsänderungslogik enthält auch ein Pufferregister zur Speicherung des nächsten Gleitkomma-Befehls,
so daß der Gleitkommaprozessor einen Befehl ausführen kann, während er den nächsten speichert. Die Zustandsänderungslogik
kann auch von Ergebnissen verschiedener Datentests im gesamten Gleitkomma-Prozessor Gebrauch
machen und die Testergebnisse beispielsweise dazu benutzen, die nächste Mikrobefehlsadresse auszuwählen.
Die ausgewählte Adresse kann die wahren oder die falschen Adressenfelder, die Befehlsadressen odar eine
Adresse aus dem Subröutinen-Adressenregister 23 sein. Die von der Zustandsänderungslogik 22 ausgewählte Adresse
ist als Signal RAD 0-8 angegeben; sie adressiert den Steuerspeicher, wie aus der Darstellung erkennbar ist.
Die Befehle aus dem Primär-Prozessor werden der Zustandsänderungslogik
über den Daten-Bus 12 zugeführt.
Die Exponentenlogik 17 des Gleitkomma-Prozessors ist in Fig.3 in Form eines Blockschaltbildes dargestellt.
Diese Exponentenlogik hat die arithmetischen Fähigkeiten zur Behandlung von Exponentenberechnungen für alle Gleitkommaoperationen.
Diese Fähigkeiten umfassen das Vorzeichen-Bit der Mantisse und des Exponenten, der im bevorzugten
Ausführungsbeispiel durch sieben Bits dargestellt ist. Die Exponentenregisterdateien 30 und 31
enthalten den Exponenten und das Vorzeichen der Mantisse aller Gleitkomma-Zahlen, die sich im Gleitkomma-Prozessor
befinden. Zwei Regis-terdateien werden so angewendet, daß zwei Exponenten durch den gleichen Mikrobefehl gemeinsam
adresäL ert werden können. Die zwei Registerdateien werden
9 0 9830/0833
durch verschiedene Wählbits adressiert, nämlich die Registerdatei 30 durch die Bits ERAS 0-2 und die Registerdatei
durch die Bits ERBS 0-2. Das Exponentenrechenwerk 32 kann zwei Exponenten addieren oder subtrahieren, eine Konstante
zum Exponenten addieren, einen Normalisierungsfaktor addieren oder subtrahieren und einen Exponenten vergrößern oder
verkleinern. Das Ausgangssignal des Rechenwerks 32 wird in
einem Maßstabsfaktorregister 33 gespeichert,, dessen Ausgangssignal
(SCL0-7) in die Registerdatei zurückgespeichert werden kann; es ist auch möglich, einen Abschnitt des Ausgangssignals
(SCL0-7) dieses Registers dazu zu benutzen, die Mantissen-Links/Rechts-Schiebeeinheit über die Mantissenverschiebungs-Steuereinheit
34 zu betätigen.
Eine Registerwähllogik 35 wählt in den zwei Exponentenregisterdateien
und in der Mantissenregisterdatei eines von acht Registern aus, wie noch örläutert wird«
Die Mantissenverschiebungs-Steuereinheit 34 macht von der Information LZD0-3 zur Feststellung vorangehender
Nullen oder vom Ausgangssignal SCL4-7 des Maßstabsfaktorregisters
Gebrauch, um die Mantisse um 0-15 Hexadezimalstellen nach links oder nach rechts zu
verschieben. Eine solche Verschiebung kann in einem Mikrozyklus, d.h. im bevorzugten Ausführungsbeispiel
in dem 100 ns-Mikrozyklus des Gleitkomma-Prozessors, durchgeführt werden. Die Mantissenverschiebungs-Steuereinheit
34 kann zum Verschieben der Mantisse, beispielsweise
für eine Übertragung zum Speicher unter Anwendung von zwei geeignet verbundenen1 Schleifenzählern, auch andere
Informationen benutzen.
Eine Datenpuffereinheit in der Schnittstelle 19 steuert
das Laden von Daten in d#n Gleitkomma-Prozessor, wobei die Daten vom Daten-Bus 12 zur Exponenteneinheit oder
zur Mantisseneinheit geleitet werden. Ein weiterer Puffer speichert den Programmzählerstand, wenn im Falle
909830/0833
eines Fehlers im Gleitkommaprozessor ein Gleitkomma-Befehl empfangen wird. Die Schnittstelle enthält auch
Statusregister für den Gleitkomma-Prozessor, die Informationen über den laufenden Status des Gleitkomma-Prozessors
speichern.
Die Mantisseneinheit 18 ist im Blockschaltbild von Fig.4
genauer dargestellt; sie führt alle Mantissenberechnungen für den Gleitkomma-Prozessor durch. Die Mantisseneinheit
enthält in den Gleitkommaakkumulatoren der Mantissenregisterdatei 41 auch die Speichereinheit für die Mantissenabschnitte
aller Gleitkomma-Zahlen im Gleitpunktprozessor. Die Mantisseneinheit wird vom Mikroprogramm
und vom Steuerabschnitt des Gleitkommaprozessors gesteuert, der im Zusammenhang mit Fig.2 erläutert wurde. Das Mantissen-Datenpufferregister
40 steuert die Bestimmung der Daten (BOF 0-15) aus dem Datenpuffer an der Schnittstelleneinheit
von Fig.3. Diese Daten werden in den richtigen Abschnitt des internen Mantissen-Bus eingegeben (wobei
diese Daten hier mit MBUS0-55 ) angegeben sind und im richtigen Gleitkomma-Akkumulator in der Mantissen-Register-Datei
41 gespeichert ( in acht 56-Bit-Registern). Der
Datenpuffer 4Θ kann auch in Gegenrichtung arbeiten, indem der erforderliche 16-Bit-Datenabschnitt (MEM 0-15)
aus dem Mantissen-Bus auf den Daten-Bus 12 übertragen wird.
Die Mantissen-Registerdatei 41 enthält in einer bevorzugten Ausführungsform acht Datenwörter zu Je 56 Bits; sie wird
von der .Registerwähllogik 35 der Exponentenlogik adressiert (siehe Fig.3). Das Ausgangssignal der'Registerdatei 41 wird
als Eingangssignal für ein Register 43 benutzt, das als M/Q-Register (Multiplikanden/Quotienten-Register) angegeben
ist. Ferner wird das Ausgangssignal zu einer Mantissen-Links/Rechts-Schiebeeinheit
45 übertragen.
Das M/Q-Register 43 wird dazu benutzt, einen der Operanden
(Multiplikanden) während einer Multiplikationsoperation zu
909830/0833
speichern, oder das Ergebnis (den Quotienten) einer Divisionsoperation zu empfangen. Im zuletzt genannten
Fall wird das Divisionsergebnis Bit um Bit in das M/Q-Register geschoben, wobei das jeweilige Bit der
Übertrag aus einem zweiten Rechenwerk und einem Endregister ist, was noch beschrieben wird.
Ein erstes Rechenwerk 46 und eine multiplexierte Schiebeeinheit 47 benutzen das Ausgangssignal des
M/Q-Registers zur Durchführung einer hexadezimalen, vierstelligen Multiplaktionsoperation,.. wie unten
noch genau erläutert wird, wobei die Schiebeeinheit von den vier niedrigstwertigen Stellen der Mantissen-Schiebeeinheit
45 (SH52-55). über eine Multiplikator-Steuereinheit 44 gesteuert wird. Das Ausgangssignal
des M/Q-Registers 43 wird durch die Schiebeeinheiten 47A, 47B und 47C und 47D um 0,1,2 bzw„ 3 Bits verschoben,
wodurch der Multiplikand mit 0,1, 2, 4 oder 8 oder mit Kombinationen dieser Zahlen multipliziert wird.
Das Rechenwerk 46 addiert diese verschobenen Werte dann so, daß das Ausgangssignal des Rechenwerks gleich
dem Ausgangssignal des M/Q-Registers multipliziert mit dem Paktor 0 bis 15 entsprechend der Hexadezimalschreibweise
ist. Ein solches Teilprodukt wird in einem Arbeitsregister 48 gespeichert und zu vorher
berechneten Teilprodukten während des nächsten Mikrozyklus addiert.
Das Arbeitsregister 48 enthält das gerade berechnete Teilprodukt aus dem ersten Rechenwerk 46, während
einer Multiplikationsoperation» Während einer Divisionsoperation enthält das Arbeitsregister den Nenner. Während
einer Additions- oder Subtraktionsoperation enthält dieses Register den Quellenwert.
Ein zweites Rechenwerk 49 und die zugehörige Schiebeeinheit
909830/0833
machen vom Ausgangssignal des Arbeitsregisters 48 und vom Ausgangssignal eines Endregisters 51 Gebrauch.
Das Ausgangssignal des Rechenwerks 49 ist ein Eingangssignal für das Endregister, das diesem über die Schiebeeinheit
zugeführt wird. Das Rechenwerk 49 addiert zuvor summierte Teilprodukte, die im Endregister gespeichert
sind, zum laufenden Teilprodukt aus dem ersten Rechenwerk 46, und es verschiebt das neue
Teilprodukt um vier Bits nach rechts, damit eine Normalisierung erhalten wird.
. Die Mantissen-Links/Rechts- Schiebeeinheit 45 wird von der Schiebesteuereinheit 34 der Exponentenlogik
gesteuert (siehe Fig.3). Die Schiebeeinheit kann eine aus 56 Bit bestehende Mantisse nach links
oder nach rechts um O bis 15 hexadezimale Stellen innerhalb eines Mikrozyklus verschieben. Die
Schiebeeinhdit wird dazu angewendet, die der Mantisse
vorangehende Additions- oder Subtraktionsoperation vor-auszurichten; ferner wird sie für eine NachNormalisierung
im Anschluß an eine Multiplikationsoder Divisions-Operation benutzt. Außerdem wird sie
in der Multiplikationsoperation dazu benutzt, die richtige Hexadezimalstelle zur Steuerung der Schiebeeinheit
47 in die Multiplikationssteuereinheit 44 zu verschieben.
Das Endregister 51 hält nach (jeder Operation die
Ergebnisse fest, wobei das Eingangssignal des Endregisters das Ausgangssignal des zweiten Rechenwerks
49 und der zugehörigen Schiebeeinheit 50"oder das Ausgangssignal der Mantissen-Links/Rechts- Schiebeeinheit
45 ist. Ein Ausgangssignal des Endregisters wird auch an den Eingang der Einheit 52 zur Feststellung
vorangehender Nullen für die Zufuhr zur Exponentenlogik angelegt (Fig.3). Das Ausgangssignal
909830/08 3 3
kann zur Übertragung zum Speicher über den Puffer 40 und den Daten-Bus 12 oder zu den Gleitkomma-Akkumulatoren
der Mantissenregisterdatei 41 am internen Mantissen-Bus angelegt werden.
Die Detektoreinheit 52 stellt im Endregister Hexadezimalstellen
fest, die den Wert 0 haben. Dies ist der vom Exponentenabschnitt benutzte Normalisierungsfaktor, der
angewendet wird, den Exponenten des Ergebnisses einzustellen und die Mantissen-Schiebeeinheit zu steuern.
Da die Exponentenlogik (Fig.3) und ihre allgemeine Mikroprogrammsteuerung
so ausgebildet sind, wie in der bereits erwähnten kanadischen Patentschrift beschrieben ist, werden
Einzelheiten einer solchen Operation, insbesondere bezüglich Additions-Subtraktions- und Divisionsoperationen
für den Gleitkomma-Prozessor hier nicht näher erläutert. Ein besonderes Merkmal des hier beschriebenen Gleitkomma-Prozessors
befindet sich jedoch in der Mantissenlogik 18, wenn diese Logik eine Gleitkomma-Multiplikation durchführt.
Diese Operation wird anschließend unter Bezugnahme auf Fig.4 genauer beschrieben; die genaue Struktur wird
im Zusammenhang mit den Figuren 5 bis 10 erläutert, die auch die Tabellen 1 und 2 enthalten»
In den Figuren 5 bis 7 sind Einzelheiten der Baugruppen der Mantisseneinheit von Fig.4 dargestellt« Die Mantissenregister-Datei
41 besteht aus mehreren Achtergruppen aus 56-Bit-Registern, die ein 56-Bit-Multiplikatorwort MFP 0-55
dem vom Datenpuffer 40 empfangenen Dateneingangswort MBUS 0-55 erzeugen. Das Ausgangssignal der Mantissenregisterdatei
41 wird einem Schiebepufferregister 50 zugeführt, das das gemäß dem Mantissen-Verschiebungssteuersignal durch dieR©chtsschiebeeinheit 51 nach
rechts oder die Linksschiebeeinheit 52 nach links zu verschiebende Wort (MPR0-55) liefert.
909830/0833
- Ί8 -
Zur Durchführung einer Multiplikationsoperation nach der Erfindung wird der Multiplikand nacheinander
jeweils gleichzeitig mit vier Bits des Multiplikators multipliziert; der Multiplikand wird dabei vom M/u-Register
43 geliefert. Die Multiplikation des Multiplikanden durch die gerade vorliegenden vier Bits
des Multiplikators erfolgt durch die Schiebeeinheit 47, deren Betrieb von der Multiplikatorsteuereinheit 44
gesteuert wird, wie noch erläutert wird. Jeder aufeinanderfolgende 4-Bit-Abschnitt des Multiplikators wird,
beginnend mit den niedrigstwertigen Bits am Ausgang der Links/Rechts-Schiebeeinheit 45 der Multiplikatorsteuereinheit
44 zugeführt, die ihrerseits die Multiplikationsoperation für jedes Teilprodukt steuert,
das auf diese Weise durch den Betrieb der Schiebeeinheit 47 und des Rechenwerks 46 erhalten wird.
Jedes Teilprodukt wird dem Arbeitsregister 48 zugeführt und zum zuvor berechneten Teilprodukt am Rechenwerk 49
addiert; in das Endregister 51 werden daher die kontinuierlich summierten Teilprodukte eingegeben. Wie aus
Fig.4 zu erkennen ist, erfolgt nach jeder Ausgabe des Rechenw^ts 49 in der Schiebeeinheit 5OA eine Division
durch 16 (d.h. eine Rechtsverschiebung um 4 Bits), bis jede 4-Bit-Gruppe ihreMultiplikationoperation ausgeführt
hat. Der Inhalt des Endregisters wird wieder in das Rechenwerk 49 zurückübertragen, so daß dieses kontinuierlich
die Teilproduktsumme erzeugt, wie es erwünscht ist.
Die Schiebeeinheiten 5OB und 5OC werden bei der Durchführung
einer Division benutzt.
909830/0833
Das durch die Tätigkeit der Schiebeeinheit 47 und des Rechenwerks 56 erhaltene 4-Bit-Teilprodukt kann so
gesteuert werden, daß das Teilprodukt jedes von 16 Hexadezimal-Werten für jeden 4-Bit-At>schnitt des Multiplikators
erzeugt wird, indem Kombinational von Ausgangssignalen der Schiebeinheit, die an die Eingänge A und B des Rechenwerks
46 angelegt werden, in geeigneter Weise gesteuert werden. Beispielsweise kann eine Multiplikation mit
dem Faktor 3 erreicht werden, indem an der Schiebeeinheit 47D eine Multiplikation mit dem Faktor 4 durchgeführt wird,
und indem davon das Ergebnis einer Multiplikation mit dem Faktor 1 an der Schiebeeinheit 47A subtrahiert
wird.
Die Multiplikatorsteuereinheit 44 ist in Fig.5 genauer
dargestellt; sie enthält eine hexadezimale D-Flipflop-Einheit 53» die abhängig von den vier niedrigstwertigen
Bits (SH52-55) des Multiplikators arbeitet, der vom Ausgang der Rechtsschiebeeinheit 51 erhalten wird ( die Multipli-M;or-Bits
MPR 0-55 werden nacheinander für jede der aufeinanderfolgenden 4-Bit-Multiplikationsoperationen
um vier Bits nach rechts verschoben). Die Multiplikat©rsteuereinheit
44 liefert dadurch EingangsSteuersignale an das Register 54, das die Multiplikatorsteuersignale MCTRA
bis MCTRE abgibt. Die zuletzt genannten Signale bewirken die Freigabe oder die Sperrung der Schiebeeinheiten 47A
bis 47D (mittels der Signale E1 und E2) und die Auswahl der entsprechenden Multiplikationsfaktoren (X1, X2, X4,
X8 mittels der Signale S1, ST, S2, S2),wie in Fig.5 und
in Fig.6 dargestellt ist.
Die Arbeitsweise der Schiebeeinheiten 47A bis 47D und
des Rechenwerks 46 kann an Hand von Fig.7 und der Tabelle erklärt werden. Die Schiebeeinheiten sind eigentlich zwei
909830/0833
raultiplexierte Multipliziereinheiten, eine zur Erzielung
einer Multiplikation mit dem Faktor 1 (X1) oder mit dem Faktor 2 (X2) und eine zur Erzielung einer Multiplikation
mit dem Faktor 4(X4) oder 8 (X8). Die multiplexierten Multipliziereinheiten werden so freigegeben
oder gesperrt, wie in der Tabelle 1 angegeben ist; die Auswahl der Multiplikationsfaktoren erfolgt mittels
der Wählsignale S1, ST, S2 und S2"; die Ausgangssignale
der Multipliziereinheiten werden je nach Bedarf durch
das Rechenwerk 46 addiert oder subtrahiert. Wenn eine Multiplikation mit dem Faktor 3(X3) gewünscht wird, können
die multiplexierten Multipliziereinheiten so gesteuert werden, daß sie beide freigegeben sind (E1 und E2 sind
dabei wirksam gemacht) und die Signale S1 und S2 sind wirksam, damit eine Multiplikation mit dem Faktor 1 (X1) bzw.
mit dem Faktor 4 (X4) durchgeführt wird. Die Produkte werden dann subtrahiert (d.h. - A+b), so daß das
Gesamtteilprodukt den Wert (X4) - (X1) hat, der zu einer Multiplikation mit dem Faktor 3 (X3) führt.
Die Tabelle 2 veranschaulicht zusammen mit Fig.7 und
der Tabelle 1, wie eine hexadezimale Teilproduktoperation für eine 4-Bit-Multiplikation unter Verwendung der Schiebeeinheiten
47A bis 47D, des Rechenwerks 46 und des Rechenwerks 49 durchgeführt werden kann. Wenn der
Multiplikand Mit "A" bezeichnet ist, die Teilsumme des Teilprodukts
mit H£3«bezeichnet ist, und das Übertrag-Bit mit
"CN" bezeichnet ist, gibt die Tabelle 2 die Auswahl operation ^SEL) und die Freigabeoperation (EN) an den Schiebeeinheiten
sowie die Additionsoperation (ADD)oder die Subtraktionsoperation (SUB) an, die von den Rechenwerken durchgeführt
909830/0833
werden müssen, damit die richtige Multiplikation für einen aus vier Bits bestehenden Multiplikatorwert
in hexadezimaler Schreibweise erhalten wird. Die Tabelle zeigt die Operation an, die für die
Multiplikation mit einem der 16 Werte erforderlich ist, der von den ersten vier niedrigstwertigen Bits
des Multiplikators repräsentiert wird. Der Multiplikator wird dann in der Links/Rechts- Schiebeeinheit
45 um vier Bit-Positionen nach rechts verschoben,, so daß sich nun die nächsten vier Bits an
den niedrigstwertigen Bit-Positionen befinden, und die 4-Bit-Multiplikationsoperation wird für den nächsten
Hexadezimalwert durchgeführt, der durch diese nächsten vier Bits ausgedrückt wird, usw., bis
die Multiplikation für alle 4-Bit-Gruppen des aus 56 Bits bestehenden Multiplikatorworts vollständig
ausgeführt worden ist.
In der gesamten Multiplikationsoperation erzeugt das Rechenwerk 46 die Teilprodukte, und das Rechenwerk
erzeugt die Teilsummen aus den Teilprodukten, bis die Summe aller Teilprodukte erhalten worden ist ( die
Multiplikation mit der letzten 4-Bit-Gruppe des Multiplikators erfolgt ist),worauf das Endregister 51
das vollständige Produkt des vom M/Q-Register 43 gelieferten Multiplikanden des von der Mantissen-Register-Datei
über die Links/Rechts-Schiebeeinheit 45 gelieferten Multiplikators abgibt.
Die Additions-, Subtraktions- und Divisionsoperationen können im wesentlichen in der gleichen Weise durchgeführt
werden, wie in der oben bereits erwähnten kanadischen Patentschrift ausgeführt worden ist; diese Operationen
909830/0833
werden daher hier nicht näher erläutert.
In Fig.9 ist ein genaueres Blockschaltbild des Befehlsund
Decodierabschnitts des Gleitkomma-Prozessors dargestellt. Wie im Zusammenhang mit Fig.2 erläutert wurde,
wird jeder dem Primär-Prozessor zugeführte Befehl gleichzeitig auch dem Gleitkomma-Prozessor über die Zustandsänderungslogik
22 zugeführt, die zu diesem Zweck ein Befehlspufferregister 60 enthält.Das Gleitkomma-Befehlsregister
62 (FPIR) empfängt den Befehl aus dem Pufferregister 60, und es decodiert für den Fall,
daß es sich um einen Gleitkomma-Befehl handelt, diesen Befehl mit Hilfe des Decodier-Festspeichers 63, damit die nächste
Mikroprogrammadresse für den Steuerspeicher 20 erzeugt wird. Wenn der Befehl kein Gleitkomma-Befehl
ist, erzeugt er keine Mikroprogrammadresse am Decodierfestspeicher 63. Die Adresse wird dem Steuerspeicher 20
über eine geeignete Mikroadressenauswahllogik 64 zugeführt.
Der Steuerspeicher 20 liefert dann die zur Ausführung des ausgewählten Gleitkomma-Befehlsprogramms erforderlichen
Mikrobefehlssteuersignale über das Pufferregister 21.
Der Decodierfestspeicher 61 führt die gleiche Decodierung des Befehls aus dem Befehlspufferregister 60 wie der
Decodierfestspeicher 63 aus. Die decodierte Adresse aus dem Festspeicher 61 kann ausgewählt werden, wenn ein
Gleitkomma-Befehl empfangen worden ist, bevor die Ausführung eines vorangehenden Gleitkomma-Befehls beendet
worden ist. Zur Erzielung der nächsten decodierten Adresse und zum schnelleren Starten des nächsten Befehlsmikroprogramms, als es der Fall wäre, wenn der Befehl zum
909830/0833
Befehlsregister 62 und dann zum Decodierfestspeicher 63 übertragen würde, kann der Befehl in den und aus dem
Decodierfestspeicher 61 getaktet werden, wodurch eine Zeitersparnis um einen Mikrozyklus erhalten wird»
Die Mikroadressenwähllogik 64 wird dazu benutzt, aus
dem Decodierfestspeicher 63 oder dem Decodierfestspeicher 61 die nächste Adresse auszuwählen; sie kann
ferner dazu benutzt werden,, das Adressenfeld "Jwahr",
das Adressenfeld "falsch" oder entsprechende Testbedingungen
auszuwählen,, wie aus der Darstellung hervorgeht.
Zusammenfassend läßt sich feststellen, daß die Befehlsund Decodierlogik die erforderlichen Steuersignale zur
Erzielung der Ausführung einer Gleitkomma-Operation mittels einer im Steuerspeicher 20 gespeicherten geeigneten Software
erzeugt. Die Operationen können dann mit Hilfe der Exponenten- und Mantisseneinheiten durchgeführt werden,
wie oben erläutert wurde» Der spezielle Vorteil der Mantissenstruktur besteht darin, daß die Multiplikation
entsprechend einem 4-Bit-Multiplikationsverfahren erzielt
wird, was im Gegensatz zu der 1-Bit-Multiplikation steht,
die in der oben erwähnten kanadischen Patentschrift erläutert ist.
909830/0833
Leerseite
Claims (9)
- Qy Digitale Datenmultiplizieranordnung zur Erzeugung des Produkts aus zwei in digitaler Form angegebenen Werten, gekennzeichnet durcheine Einrichtung zur Erzeugung eines ersten digitalen Datenworts, das den ersten der zwei Werte darstellt,eine Einrichtung zur Erzeugung eines zweiten Datenworts, das den zweiten der zwei Werte darstellt,eine Einrichtung zur Erzeugung aufeinanderfolgender Gruppen von Datenbits des zweiten Datenworts,eine Steuerlogik, die abhängig von den aufeinanderfolgenden Gruppen von Datenbits aufeinanderfolgende Multiplikation» Steuersignale erzeugt,eine Verschiebungsvorrichtung zum aufeinanderfolgenden Verschieben der Datenbits des ersten Datenworts um eine erste ausgewählte Anzahl von Stellen zur Erzeugung eines ersten verschobenen Datenworts und um eine zweite909830/0833ausgewählte Anzahl von'Stellen zur Erzeugung eines zweiten verschobenen Datenworts, wobei die Auswahl der ersten und der zweiten Anzahl von Stellen nacheinander unter der Steuerung durch aufeinanderfolgende Multiplikationssteuersignale erfolgt.eine erste Kombinationseinrichtung, die abhängig von den beiden verschobenen Signalen aufeinanderfolgende Teilprodukte aus dem ersten Datenwort und den aufeinanderfolgenden Gruppen von Datenbits des zweiten Datenworts erzeugt, undeine zweite Kombinationseinrichtung, die abhängig von den aufeinanderfolgenden Teilprodukten aufeinanderfolgende Teilsummen dieser Teilprodukte erzeugt, wobei die Endsumme aller aufeinanderfolgenden Teilprodukte ein Enddatenwort ergibt, das das Endprodukt der zwei Werte
darstellt. - 2. Anordnung nach Anspruch 1., dadurch gekennzeichnet, daß die aufeinanderfolgenden Gruppen von Datenbits des
zweiten Datenworts Gruppen mit Jeweils vier Datenbits sind. - 3. Anordnung nach Anspruch 2, dadurch gekennzeichnet, daß die Verschiebungseinrichtung aus folgenden Baueinheiten besteht:einer ersten multiplexierten Verschiebungsvorrichtung mit einer ersten und einer zweiten Schiebeeinheit, die das erste Datenwort um eine erste bzw. eine zweite
ausgewählte Anzahl von Stellen verschieben, wenn sie
freigegeben sind,und einer zweiten multiplexierten Verschiebungsvorrichtung mit dritten und vierten Schiebeeinheiten, die das erste Datenwort um eine dritte bzw. eine vierte Anzahl von Stellen verschieben, wenn sie freigegeben sind.909830/0833 - 4. ,Anordnung nach Anspruch 3, dadurch gekennzeichnet, daß die Steuerlogik Steuersignale zum wahlweisen Freigeben der ersten und zweiten multiplexierten Verschiebungsvorrichtungen liefert, und im freigegebenen Zustand, wahlweise das erste Datenwort um die erste oder um die zweite Anzahl von Stellen in der ersten multiplexierten Verschiebungsvorrichtung oder um die dritte oder vierte Anzahl von Stellen in der zweiten multi„ plexierten Verschiebungsvorrichtung verschiebt.
- 5. Anordnung nach Anspruch 4, dadurch gekennzeichnet, daß die zwei Datenwörter in hexadezimaler Schreibweise ausgedrückt sind und daß die erste, zweite, dritte und vierte Anzahl von Stellen 0.1. 2 bzw. 3 Stellen sind und die Multiplikation des Datenworts mit dem Faktor 1, 2, 4 bzw» 8 repräsentieren.
- 6. Anordnung nach Anspruch 1, gekennzeichnet durch eine Arbeitsregistervorrichtung, die abhängig vom Ausgangssignal der ersten Kombinationseinrichtung die aufeinanderfolgenden Teilprodukte festhält und der zweiten Kombinationseinrichtung zuführt.
- 7. Anordnung nach Anspruch 6» gekennzeichnet durch eine Endregistervorrichtung, die abhängig vom Ausgangssignal der zweiten Kombinationseinrichtung die aufeinanderfolgenden Teilsummen festhält und dem Eingang der zweiten Kombinationseinrichtung zuführt,, wobei die Endregistervorrichtung auch das Enddatenwort festhält.
- 8. Anordnung nach Anspruch 7» gekennzeichnet durch eine Vorrichtung zum Verschieben des Ausgangssignals der zweiten Kombinationseinrichtung, bei der Erzeugung Jeder aufeinanderfolgenden Teilstimme, wobei das verschobene Ausgangssignal der Endregistervorrichtung zugeführt wird.909830/0833
- 9. Anordnung nach Anspruch 1, gekennzeichnet durch die Verwendung im Gleitkomma-Rechenabschnitt eines Datenverarbeitungssysteme, wobei der Gleitkomma-Rechenabschnitt eine Exponentenberechnungseinheit und eine Mantissenberechnungseinheit enthält, und wobei die Multiplikationsanordnung das Produkt aus zwei Mantissenwerten erzeugt.909830/0833
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US05/871,616 US4208722A (en) | 1978-01-23 | 1978-01-23 | Floating point data processing system |
Publications (1)
Publication Number | Publication Date |
---|---|
DE2902496A1 true DE2902496A1 (de) | 1979-07-26 |
Family
ID=25357786
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19792902496 Withdrawn DE2902496A1 (de) | 1978-01-23 | 1979-01-23 | Digitale datenmultiplikationsanordnung |
Country Status (13)
Country | Link |
---|---|
US (1) | US4208722A (de) |
JP (1) | JPS54151338A (de) |
AU (1) | AU525817B2 (de) |
BR (1) | BR7900409A (de) |
CA (1) | CA1103806A (de) |
CH (1) | CH644461A5 (de) |
DE (1) | DE2902496A1 (de) |
DK (1) | DK3779A (de) |
FR (1) | FR2415337B1 (de) |
GB (1) | GB2013007B (de) |
IT (1) | IT1110999B (de) |
NL (1) | NL7900440A (de) |
SE (1) | SE432027B (de) |
Families Citing this family (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4295203A (en) * | 1979-11-09 | 1981-10-13 | Honeywell Information Systems Inc. | Automatic rounding of floating point operands |
US4334284A (en) * | 1979-12-31 | 1982-06-08 | Sperry Corporation | Multiplier decoding using parallel MQ register |
US4468748A (en) * | 1981-06-11 | 1984-08-28 | Data General Corporation | Floating point computation unit having means for rounding the floating point computation result |
GB2115190B (en) * | 1982-02-10 | 1985-11-20 | Singer Co | Data word normalisation |
US4488252A (en) * | 1982-02-22 | 1984-12-11 | Raytheon Company | Floating point addition architecture |
US4509116A (en) * | 1982-04-21 | 1985-04-02 | Digital Equipment Corporation | Special instruction processing unit for data processing system |
US4507676A (en) * | 1982-10-28 | 1985-03-26 | Rca Corporation | Digital matrixing system |
US4594679A (en) * | 1983-07-21 | 1986-06-10 | International Business Machines Corporation | High speed hardware multiplier for fixed floating point operands |
US4755962A (en) * | 1984-10-30 | 1988-07-05 | Fairchild Camera And Instrument | Microprocessor having multiplication circuitry implementing a modified Booth algorithm |
US4758972A (en) * | 1986-06-02 | 1988-07-19 | Raytheon Company | Precision rounding in a floating point arithmetic unit |
US4800517A (en) * | 1986-07-30 | 1989-01-24 | Advanced Micro Devices, Inc. | Word-sliced signal processor |
US4905178A (en) * | 1986-09-19 | 1990-02-27 | Performance Semiconductor Corporation | Fast shifter method and structure |
US5099446A (en) * | 1987-04-28 | 1992-03-24 | Fujitsu Ten Limited | Data transfer apparatus and data transfer system |
US5646877A (en) * | 1995-05-25 | 1997-07-08 | Texas Instruments Incorporated | High radix multiplier architecture |
US5771186A (en) * | 1995-06-07 | 1998-06-23 | International Business Machines | System and method for multiplying in a data processing system |
US8185723B2 (en) * | 2001-07-13 | 2012-05-22 | Intel Corporation | Method and apparatus to extract integer and fractional components from floating-point data |
US7167885B2 (en) * | 2002-03-22 | 2007-01-23 | Intel Corporation | Emod a fast modulus calculation for computer systems |
US7296049B2 (en) * | 2002-03-22 | 2007-11-13 | Intel Corporation | Fast multiplication circuits |
US8017172B2 (en) | 2005-08-25 | 2011-09-13 | Conagra Foods Food Ingredients Company, Inc. | Whole grain flour and products including same |
EP1710690A1 (de) * | 2005-04-07 | 2006-10-11 | STMicroelectronics (Research & Development) Limited | Multiplizierschaltung |
JP4645519B2 (ja) * | 2006-04-27 | 2011-03-09 | 株式会社デンソー | 演算処理装置,制御装置およびプログラム |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3366780A (en) * | 1965-11-29 | 1968-01-30 | Ibm | Shift multiplier |
US3515344A (en) * | 1966-08-31 | 1970-06-02 | Ibm | Apparatus for accumulating the sum of a plurality of operands |
US3730425A (en) * | 1971-05-03 | 1973-05-01 | Honeywell Inf Systems | Binary two{40 s complement multiplier processing two multiplier bits per cycle |
US3871578A (en) * | 1972-10-10 | 1975-03-18 | Digital Equipment Corp | Data processing system for multiplying and intergerizing floating point numbers |
-
1978
- 1978-01-23 US US05/871,616 patent/US4208722A/en not_active Expired - Lifetime
-
1979
- 1979-01-04 DK DK3779A patent/DK3779A/da not_active Application Discontinuation
- 1979-01-08 SE SE7900137A patent/SE432027B/sv not_active IP Right Cessation
- 1979-01-09 AU AU43225/79A patent/AU525817B2/en not_active Ceased
- 1979-01-19 NL NL7900440A patent/NL7900440A/xx not_active Application Discontinuation
- 1979-01-22 GB GB792153A patent/GB2013007B/en not_active Expired
- 1979-01-22 BR BR7900409A patent/BR7900409A/pt unknown
- 1979-01-22 FR FR7901491A patent/FR2415337B1/fr not_active Expired
- 1979-01-23 IT IT19548/79A patent/IT1110999B/it active
- 1979-01-23 DE DE19792902496 patent/DE2902496A1/de not_active Withdrawn
- 1979-01-23 JP JP648379A patent/JPS54151338A/ja active Pending
- 1979-01-23 CH CH67479A patent/CH644461A5/de not_active IP Right Cessation
- 1979-01-23 CA CA320,118A patent/CA1103806A/en not_active Expired
Also Published As
Publication number | Publication date |
---|---|
AU525817B2 (en) | 1982-12-02 |
IT1110999B (it) | 1986-01-13 |
DK3779A (da) | 1979-07-24 |
NL7900440A (nl) | 1979-07-25 |
FR2415337A1 (fr) | 1979-08-17 |
JPS54151338A (en) | 1979-11-28 |
IT7919548A0 (it) | 1979-01-23 |
CH644461A5 (de) | 1984-07-31 |
SE7900137L (sv) | 1979-07-24 |
SE432027B (sv) | 1984-03-12 |
AU4322579A (en) | 1979-08-02 |
GB2013007A (en) | 1979-08-01 |
US4208722A (en) | 1980-06-17 |
BR7900409A (pt) | 1979-08-21 |
FR2415337B1 (fr) | 1987-03-20 |
GB2013007B (en) | 1982-05-19 |
CA1103806A (en) | 1981-06-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE2902496A1 (de) | Digitale datenmultiplikationsanordnung | |
DE19540102C2 (de) | Verfahren und Gleitkomma-Recheneinheit mit einer Logik für eine Vierfach-Präzisions-Arithmetik | |
DE2724125C2 (de) | ||
DE3144015C2 (de) | ||
DE69430838T2 (de) | Schaltung und Verfahren zur parallelen Verschiebung und Addition | |
DE1549476C3 (de) | Anordnung zur Ausführung von Divisionen | |
DE3306084A1 (de) | Rechnerarchitektur zur gleitkomma -addition | |
DE69324730T2 (de) | Multiplizier-Akkumulator | |
DE1162111B (de) | Gleitkomma-Recheneinrichtung | |
DE2912287A1 (de) | Datenverarbeitungsgeraet | |
DE1178623B (de) | Programmgesteuerte datenverarbeitende Maschine | |
DE19983870B4 (de) | Berechnung impliziter Datentypbits für Simd-Operationen | |
DE1956209A1 (de) | Schneller Multiplikator | |
DE1549477B1 (de) | Einrichtung zur schnellen akkumulation einer anzahl mehr stelliger binaerer operanden | |
DE2911096A1 (de) | Multiplikations-akkumulatorschaltung | |
DE69216760T2 (de) | Digitales Multiplizier- und Akkumuliersystem | |
DE69227348T2 (de) | DIVIDIERSCHALTUNG FüR GLEITKOMMAZAHLEN | |
DE3485771T2 (de) | Leistungsfaehiger paralleler vektorprozessor. | |
DE1499281B1 (de) | Rechenmaschine fuer logarithmische Rechnungen | |
DE3852576T2 (de) | Einrichtung und Verfahren für eine erweiterte Arithmetik-Logik-Einheit zur Beschleunigung der ausgewählten Operationen. | |
DE2830334C2 (de) | ||
DE19618120B4 (de) | Parallelverarbeitungs-Divisionsschaltung | |
DE2612750A1 (de) | Multipliziereinrichtung | |
DE2310553C2 (de) | Vorrichtung zur Durchführung von Operationen an zwei binären Operanden unter Befehl eines Mikroprogramms | |
DE19635114A1 (de) | Multiplizierer |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8141 | Disposal/no request for examination |