DE69216760T2 - Digitales Multiplizier- und Akkumuliersystem - Google Patents
Digitales Multiplizier- und AkkumuliersystemInfo
- Publication number
- DE69216760T2 DE69216760T2 DE69216760T DE69216760T DE69216760T2 DE 69216760 T2 DE69216760 T2 DE 69216760T2 DE 69216760 T DE69216760 T DE 69216760T DE 69216760 T DE69216760 T DE 69216760T DE 69216760 T2 DE69216760 T2 DE 69216760T2
- Authority
- DE
- Germany
- Prior art keywords
- memory
- operand
- during
- operating cycle
- bus
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 238000006243 chemical reaction Methods 0.000 claims description 9
- 238000009825 accumulation Methods 0.000 abstract description 13
- 230000035508 accumulation Effects 0.000 abstract description 13
- 230000006870 function Effects 0.000 description 7
- 230000000295 complement effect Effects 0.000 description 3
- 238000000034 method Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 238000011022 operating instruction Methods 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/57—Arithmetic logic units [ALU], i.e. arrangements or devices for performing two or more of the operations covered by groups G06F7/483 – G06F7/556 or for performing logical operations
-
- 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/544—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 for evaluating functions by calculation
- G06F7/5443—Sum of products
-
- 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
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computational Mathematics (AREA)
- Complex Calculations (AREA)
- Stabilization Of Oscillater, Synchronisation, Frequency Synthesizers (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Description
- Die vorliegende Erfindung betrifft ein verbessertes digitales Multipliziersystem im allgemeinen. Insbesondere betrifft die vorliegende Erfindung ein derartiges System zur effizienten Durchführung einer Reihe von Multiplikationen mehrerer Paare aus ersten und zweiten Operanden, um eine Reihe von Multiplikationsprodukten zu gewinnen. Ferner betrifft die vorliegende Erfindung ein solches System, das imstande ist, die Multiplikationsprodukte zu akkumulieren und das die Multiplikationen und Akkumulationen in weniger Arbeitszyklen durchführt, als dies bislang möglich war.
- Die digitale Multiplikation und Akkumulation werden für viele Anwendungen von digitalen Signalprozessoren gefordert. Eine solche Anwendung liegt bei der Implementierung der Empfehlung G.721 zur Verwendung beim schnurlosen portablen Telefonieren vor. Eine bei der Empfehlung G.721 verlangte Funktion ist die Durchführung von acht seriellen Multiplikationen von acht unterschiedlichen Paaren aus ersten und zweiten binären Mehrbitoperanden und die Akkumulation der Multiplikationsprodukte. Außerdem verlangt die Empfehlung G.721 zur Durchführung dieser Funktion, daß ein Satz Operanden im Gleitpunktformat, der zweite Satz Operanden im Festpunktformat und das akkumulierte Produkt im Festpunktformat vorliegt.
- Für eine solche Anwendung liegen digitale Signalprozessoren im allgemeinen in Form einer integrierten Schaltung vor und werden durch portable Energiequellen, wie beispielsweise eine Batterie, versorgt. Daher ist es für solche digitalen Signalprozessoren von Vorteil, ihre verlangten Funktionen in einer Mindestanzahl von Arbeitszyklen durchzuführen, um Batterieenergie zu sparen. Leider benötigen die digitalen Signalprozessoren nach dem Stand der Technik im allgemeinen eine große Anzahl von Arbeitszyklen zur Durchführung dieser von der Empfehlung G.721 geforderten seriellen Multiplikation und Akkumulation. Ein digitaler Signalprozessor beispielsweise benötigte 396 Arbeitszyklen, ein anderer digitaler Signalprozessor benotigte 354 Zyklen und noch ein anderer Digitalsignalprozessor benötigte 122 Arbeitszyklen zur Durchführung dieser G.721-Funktion. Offensichtlich stellte jede Verringerung bei der Anzahl der Arbeitszyklen zur Durchführung dieser G.721-Funktion einen Vorteil beim Sparen von Bafferieenergie dar.
- GB-A-2 218 548 offenbart ein digitales Multipliziersystem zur Durchführung einer Multiplikation aus ersten und zweiten Operanden, wobei das System einen Speicher zum Speichern der ersten und zweiten Operanden, eine mit dem Speicher gekoppelte Leseeinrichtung zum sequentiellen Lesen der ersten und zweiten Operanden, eine Speichereinrichtung zum vorübergehenden Speichern des aus dem Speicher ausgelesenen ersten Operanden und eine Multipliziereinrichtung zum Multiplizieren der ersten und zweiten Operanden aufweist, wobei die Multipliziereinrichtung den ersten Operanden von der Speichereinrichtung auf einem ersten Bus und den aus dem Speicher ausgelesenen zweiten Operanden auf einem zweiten Bus empfängt.
- Gemäß der vorliegenden Erfindung ist ein derartiges System zum Durchführen einer seriellen Multiplikation von Paaren aus ersten und zweiten Operanden und zum Akkumulieren der Multiplikationsprodukte ausgebildet, wobei das System dadurch gekennzeichnet ist, daß die Speichereinrichtung jeweils über Transfergatter mit den ersten und zweiten Bussen gekoppelt ist, und daß eine Steuereinrichtung die Gatter derart steuert, daß in einem Arbeitszyklus die Speichereinrichtung mit dem ersten Bus gekoppelt ist und einen ersten Operanden hält, während ein zweiter Operand aus dem Speicher ausgelesen wird, und in einem folgenden Arbeitszyklus die Speichereinrichtung mit den ersten und zweiten Bussen gekoppelt ist und von einer Summiereinrichtung die Summe des Produkts der Multipliziereinrichtung und die akkmulierte Produktsumme der von der Multipliziereinrichtung zuvor durchgeführten Multiplikationen empfängt.
- Vorzugsweise wird die in der Speichereinrichtung gespeicherte Produktsumme zu einem mit dem ersten Bus gekoppelten Register übertragen, und der Inhalt des Registers wird dann in der Summiereinrichtung mit dem nächsten Produkt von der Multipliziereinrichtung in der Summiereinrichtung summiert.
- In einem Ausführungsbeispiel der Erfindung ist der erste Operand eine Gleitpunktbinärzahl, der zweite Operand eine Festpunktbinärzahl und die Multipliziereinrichtung weist eine Einrichtung zum Umwandeln des zweiten Operanden aus einer Festpunktbinärzahl in eine Gleitpunktbinärzahl, und zwar während eines Arbeitszyklus, in dem die Multipliziereinrichtung den zweiten Operanden von einem mit dem Speicher gekoppelten Lesepuffer empfängt, auf.
- Das hier beschriebene Multipliziersystem kann vorteilhaft in einem digitalen Signalprozessor zur Durchführung der oben erwähnten, von der Empfehlung G.721 verlangten Multiplizier- und Akkumulierfunktion verwendet werden. Es benötigt lediglich 31 Arbeitszyklen zum Abschließen der verlangten Funktion, was eine bedeutende Ersparnis hinsichtlich Ausführungszeit und Batterieenergie darstellt.
- Außerdem ist das Multipliziersystem in einer Pipeline-Anordnung aufgebaut, so daß nicht nur die erforderliche Anzahl von Arbeitszyklen reduziert wird, sondern außerdem die gegenwärtig nicht aktiven Teile des Multiplizier- und Akkumuliersystems abgeschaltet werden können, um weiter Energie zu sparen. Ferner können alle Operanden in einem einzigen Speicher gespeichert werden.
- In der beigefügten Zeichnung ist die einzige Figur, lediglich als Beispiel, ein schematisches Schaltbild eines die vorliegende Erfindung verkörpernden Multiplizier- und Akkumuliersystems, das in einem digitalen Signalprozessor vorteilhaft verwendet werden kann.
- Wie mit Bezug auf die einzige Figur deutlich wird, zeigt diese ein die vorliegende Erfindung verkörperndes Multiplizier- und Akkumuliersystem. Das System 10 weist generell eine Arithmetik-Logik-Einheit 12, eine Multipliziereinrichtung 14, einen Speicher 20 und erste und zweite Busse 16 und 18 auf, die die Arithmetik-Logik- Einheit 12 und die Multipliziereinrichtung 14 gemeinsam haben.
- Die Arithmetik-Logik-Einheit 12 weist einen Lesepuffer 22, einen Schreibpuffer 24, ein unidirektionales Schieberegister 26, einen Summierer 28, einen Akkumulator 30, einen Zwischenpuffer 32 und ein Testregister 34 auf. Die Multipliziereinrichtung 14 weist einen ersten Umwandlungseinrichtungsteil 36, einen Multipliziererteil 38 und einen zweiten Umwandlungseinrichtungsteil 40 auf.
- Der Speicher 20 weist vorzugsweise einen Direktzugriffsspeicher auf, der derart angeordnet ist, daß er die in dem von dem System 10 durchgeführten seriellen Multiplikations- und Akkumulationsvorgang zu verwendenden Operanden speichert. Zu diesem Zweck speichert der Speicher 12 den ersten Satz von Operanden, der die ersten Operanden aufweist, und den zweiten Satz von Operanden, der die zweiten Operanden aufweist. Die ersten Operanden sind Mehrbitgleitpunktbinarzahlen und die zweiten Operanden sind Mehrbitfestpunktbinärzahlen.
- Der Lesepuffer 22 ist über Transfergatter 42 bzw. 44 mit dem Speicher 20 und den ersten und zweiten Bussen 16 und 18 gekoppelt. Die Transfergatter 42 und 44 liegen vorzugsweise in Form von CMOS-Transfergattern des bekannten Typs vor, die bei Aktivierung einen niederohmigen Pfad bilden und die abgeschaltet einen hochohmigen Zustand oder eine Isolation bilden. Somit ermöglichen die Transfergatter 42 und 44 den Zugriff auf den ersten und den zweiten Bus 16 und 18 zu dem Lesepuffer 22. Andere derartige Transfergatter werden im folgenden einfach als Transfergatter bezeichnet.
- Der Schreibpuffer 24 ist durch die Transfergatter 46 bzw. 48 mit dem Speicher 20 und den ersten und zweiten Bussen 16 und 18 gekoppelt. Wie im folgenden gemäß diesem bevorzugten Ausführungsbeispiel deutlich wird, dient der Schreibpuffer 24 zum Schreiben des ersten Satzes Operanden in den Speicher 20 zurück an Plätze, die um ein Inkrement inkrementiert werden.
- Das unidirektionale Schieberegister 26 ist über ein Transfergatter 50 mit dem ersten Bus 16 und mit einer (nicht gezeigten) Quelle von Schiebedaten gekoppelt, die an einem Eingang 52 empfangen werden. Gemäß diesem bevorzugten Ausführungsbeispiel wird das unidirektionale Schieberegister 26 nicht dazu aufgerufen, Daten, die es empfängt, zu verschieben, ist jedoch der Vollständigkeit halber dargestellt.
- Über ein Transfergatter 54 ist der Summierer 28 mit dem unidirektionalen Schieberegister 26 und dem zweiten Bus 18 gekoppelt. Wie im folgenden deutlich wird, empfängt der Summierer 28 die ersten Operanden von dem Bus 16 und überträgt die ersten Operanden zu dem Akkumulator 30. Ferner addiert der Summierer 28 die von der Multipliziereinrichtung 14 gelieferten Produkte auf eine nachfolgend zu beschreibende Weise und liefert die Summe der Produkte an den Akkumulator 30.
- Der Akkumulator 30 ist durch das Transfergatter 55 mit dem Summierer 28 und durch ein Transfergatter 56 mit dem ersten Bus 16 gekoppelt. Wie im folgenden deutlich wird, dient der Akkumulator 30 als Speichereinrichtung zum Speichern der ersten Operanden und der von dem Summierer 28 gelieferten Produktsummen.
- Der Zwischenpuffer 32 ist durch ein Transfergatter 58 zwischen den Ausgang des Summierers 28 und durch ein Transfergatter 60 mit dem zweiten Bus 18 gekoppelt. Der Zwischenpuffer 32 gemäß diesem bevorzugten Ausführungsbeispiel wird zum Speichern des ersten Operanden des zweiten Satzes von Operanden verwendet, der durch eine vorhergehende Digitalsignalprozessoroperation in dem Zwischenpuffer 32 angeordnet wird.
- Das Testregister 34 weist einen durch ein Transfergatter 64 mit dem ersten Bus 16 gekoppelten Eingang 62 und einen Ausgang 66 auf, der durch ein anderes Transfergatter 68 mit dem ersten Bus 16 gekoppelt ist. Wie nachfolgend deutlich wird, bildet gemäß diesem bevorzugten Ausführungsbeispiel das Testregister 34 eine Registereinrichtung zum Speichern der Produktsummen, wenn das System 10 die seriellen Multiplikationen durchführt und akkumuliert.
- Wie zuvor erwähnt, weist die Multipliziereinrichtung 14 drei Teile auf, wobei der erste Teil eine erste Umwandlungseinrichtung 36, der zweite Teil ein Multiplizierer 38 und der dritte Teil eine zweite Umwandlungseinrichtung 40 ist. Wie in der Figur dargestellt, ist die erste Umwandlungseinrichtung 36 während des ersten Zyklus einer Multiplikation betreibbar, der Multiplizierer 38 während des zweiten Zyklus einer Multiplikation betreibbar und die zweite Umwandlungseinrichtung 40 während des dritten Zyklus einer Multiplikation betreibbar. Jeder dieser Zyklen entspricht einem Arbeitszyklus des Systems 10.
- Die erste Umwandlungseinrichtung 36 wandelt die zweiten Festpunktoperanden in zweite Gleitpunktoperanden um. Dies ist erforderlich, da der Multiplizierer 38 zum Multiplizieren eines Paars aus Gleitpunktoperanden konfiguriert ist. Gemäß den bekannten Techniken weist die erste Umwandlungseinrichtung 36 einen Größe-Umwandlungsteil 70, einen Anzahl-führender-Nullen-Teil 72 und einen Linksverschieber 74 auf. Diese Elemente wandeln die zweiten Operanden auf bekannte Weise für den Multiplizierer 38 aus einem Festpunktformat in ein Gleitpunktformat um.
- Der Multiplizierer 38 weist einen 16-Bit-mal-8-Bit-Gleitpunkt-Multiplizierer für mit Vorzeichen versehene Größen des bekannten Typs auf. Er weist einen ersten Eingang 76 zum Empfang der ersten Operanden und einen zweiten Eingang 78 zum Empfang der zweiten Operanden auf, die von der ersten Umwandlungseinrichtung in Gleitpunktformat umgewandelt worden sind. Der Multiplizierer 38 multipliziert die Mehrbit- Mantissen der Operanden und liefert an seinem Ausgang 80 ein Gleitpunktprodukt. Ferner weist der Multiplizierer einen Addierer 82 und einen Subtrahierer 84 zum Kombinieren der Mehrbitexponenten der ersten und zweiten Operanden auf, um an einem Ausgang 86 einen kombinierten Exponenten zu liefern.
- Die zweite Umwandlungseinrichtung 40 wandelt die von dem Multiplizierer 38 an seinem Ausgang 80 gelieferten Gleitpunktprodukte an einem Ausgang 88 in Festpunktprodukte um. Die zweite Umwandlungseinrichtung 40 weist einen Addierer 90, einen Zweier-Komplement-Umwandler 92 und einen Links- und Rechtsverschieber 94 auf. Der Addierer 90 rundet die Mehrbitgleitpunktprodukte um drei Bits und liefert die gerundeten Gleitpunktprodukte an einen Eingang 96 an den Zweier-Komplement-Umwandler 92. Der Zweier-Komplement-Umwandler 92 und der Links- und Rechtsverschieber 94 unter der Steuerung eines Schiebedekoders 98 wandeln die Gleitpunktprodukte auf bekannte Weise in Festpunktprodukte um.
- Die resultierenden Festpunktprodukte werden in einem Haltespeicher 100 gehalten. Wenn die Festpunktprodukte in dem Haltespeicher 100 gehalten sind, stehen sie für den zweiten Bus 18 für die Akkumulation auf nachfolgend zu beschreibende Weise zur Verfügung.
- Wie für den Fachmann ersichtlich, wird die Operation des Systems 10 während diskreter und aufeinanderfolgender Arbeitszyklen entsprechend den von einem Befehlsspeicher, beispielsweise einem (nicht dargestellten) Nur-Lese-Befehlsspeicher, erhaltenen Arbeitsbefehlen durchgeführt. Im folgenden wird der Betrieb des Systems in bezug auf jeden Arbeitszyklus zum Multiplizieren und Akkumulieren von vier Paaren aus ersten und zweiten Mehrbitbinäroperanden beschrieben. Die ersten Operanden (DQi), bei denen i gleich 0 bis 3 ist, liegen ursprünglich im Gleitpunktformat vor und die zweiten Operanden (Bn), bei denen n gleich 1 bis 4 ist, sind ursprünglich im Festpunktformat.
- Im ersten Arbeitszyklus wird der erste Operand des ersten Satzes von Operanden, DQ&sub0;, aus dem Speicher 20 ausgelesen und in dem Lesepuffer 22 gespeichert. Im zweiten Arbeitszyklus wird der Operand DQ&sub0; von dem Lesepuffer 22 zu dem Akkumulator 30 und zu dem Schreibpuffer 24 übertragen. Dies erfolgt durch den Lesepuffer 22, der den ersten Bus 16 zum Übertragen von DQ&sub0; durch das unidirektionale Schieberegister 26 zu dem Summierer 28 treibt. Der A-Bus wird mit allen Nullen getrieben, so daß der Ausgang des Summierers 28 der Wert von DQ&sub0; ist, der in dem Akkumulator 30 gespeichert wird. Der Operand DQ&sub0; wird auch über den ersten Bus 16 zu dem Schreibpuffer 24 übertragen, um den Schreibpuffer 24 auf die Rückübertragung des Operanden DQ&sub0; zu dem Speicher 20 an den Datenplatz DQ&sub1; vorzubereiten, um den Speicher 20 zu aktualisieren. Ferner wird während des zweiten Arbeitszyklus der erste Operand des zweiten Satzes von Operanden (B&sub1;) von dem Speicher 20 in den Lesepuffer 22 übertragen.
- Wenn sich der erste Operand des ersten Satzes von Operanden (DQ&sub0;) in dem Akkumulator 30 und der erste Operand des zweiten Satzes von Operanden (B&sub1;) in dem Lesepuffer 22 befindet, kann in dem Multiplizierer 14 die erste Multiplikation beginnen, wobei der Akkumulator 30 den ersten Bus 16 mit dem Wert von DQ&sub0; treibt und der Lesepuffer den zweiten Bus 18 mit dem Wert von B&sub1; treibt. Die erste Multiplikation beginnt während des dritten Arbeitszyklus damit, daß die erste Umwandlungseinrichtung 36 B&sub1; aus dem Festpunktformat in das Gleitpunktformat umwandelt.
- Im vierten Arbeitszyklus wird der zweite Operand DQ&sub1; des ersten Satzes von Operanden aus dem Speicher 20 in den Lesepuffer 22 gelesen. Ferner wird während des vierten Zyklus der zweite Zyklus der ersten Multiplikation von dem Multiplizierer 38 durchgeführt, der das erste Paar von Operanden DQ&sub0; und B&sub1; multipliziert.
- Während des fünften Arbeitszyklus wird DQ&sub0; von dem Schreibpuffer 24 zu dem Speicher 20 übertragen und darin an dem Speicherplatz DQ&sub1; gespeichert. Ferner führt die zweite Umwandlungseinrichtung 40 während des fünften Zyklus den dritten Zyklus der ersten Multiplikation aus, wobei sie das Gleitpunktprodukt von DQ&sub0; und B&sub1; in das Festpunktformat umwandelt und das erste Produkt in dem Haltespeicher 100 speichert.
- Während des sechsten Arbeitszyklus wird der nächste oder zweite Operand DQ&sub1; des ersten Satzes von Operanden von dem Lesepuffer 22 zu dem Akkumulator 30 über den Bus 16 und durch das unidirektionale Schieberegister 26 und den Summierer 28 auf dieselbe Weise wie zuvor in bezug auf die Übertragung von DQ&sub0; beschrieben von dem Lesepuffer 22 zu dem Akkumulator 30 übertragen. Ferner wird DQ&sub1; von dem Lesepuffer zu dem Schreibpuffer übertragen. Außerdem wird während des sechsten Arbeitszyklus der nächste oder zweite Operand B&sub2; des zweiten Satzes von Operanden aus dem Speicher 20 ausgelesen und in dem Lesepuffer 22 gespeichert.
- Während des siebten Arbeitszyklus beginnt die zweite Multiplikation. Der Akkumulator 30 treibt den ersten Bus 16 mit dem Wert von DQ&sub1; und der Lesepuffer 22 treibt den zweiten Bus 18 mit dem Wert von B&sub2;. Während des siebten Arbeitszyklus wird B&sub2; durch die erste Umwandlungseinrichtung 36 der Multipliziereinrichtung 14 in das Gleitpunktformat umgewandelt.
- Während des achten Arbeitszyklus wird das erste Multiplikationsprodukt mit dem Inhalt des Testregisters 34 akkumuliert. Dies geschieht dadurch, daß der Haltespeicher 100 den zweiten Bus 18 mit dem Wert des ersten Multiplikationsproduktes treibt, das von dem Summierer 28 empfangen wird. Der Inhalt des Testregisters 34, bei dem angenommen wird, daß er zu diesem Zeitpunkt insgesamt Null ist, wird auf den Bus 16 durch das unidirektionale Schieberegister 26 zu dem Summierer 28 getrieben, wo es zu dem ersten Multiplikationsprodukt hinzuaddiert wird. Dann wird die erste Produktsumme in dem Akkumulator 30 gespeichert. Ferner wird während des achten Arbeitszyklus der dritte Operand DQ&sub2; des ersten Satzes von Operanden aus dem Speicher 20 gelesen und zu dem Lesepuffer 22 übertragen. Die zweite Multiplikation wird durch ihren zweiten Zyklus in der Multipliziereinrichtung 14 weiter fortgeführt, wobei B&sub2; und DQ&sub1; in dem Multiplizierer 38 multipliziert werden.
- Im neunten Arbeitszyklus wird das erste akkumulierte Produkt von dem Akkumulator 30 über den ersten Bus 16 zu dem Testregister 34 übertragen. Ferner wird während dieses neunten Arbeitszyklus DQ&sub1; aus dem Schreibpuffer 24 zu dem Speicher 20 übertragen und dort an dem Speicherplatz DQ&sub2; gespeichert. Schließlich schließt während dieses neunten Arbeitszyklus die zweite Multiplikation den dritten Multiplikationszyklus dadurch ab, daß das sich aus der Multiplikation von B&sub2; und DQ&sub1; ergebende zweite Produkt in der zweiten Umwandlungseinrichtung 40 aus dem Gleitpunktformat in das Festpunktformat umgewandelt und in dem Haltespeicher 100 gespeichert wird.
- Während des zehnten Arbeitszyklus wird DQ&sub2; von dem Lesepuffer 22 auf die vorher beschriebene Art zu dem Akkumulator 30 und dem Schreibpuffer 24 übertragen. Ferner wird der dritte Operand B&sub3; des zweiten Satzes von Operanden aus dem Speicher 20 gelesen und zu dem Lesepuffer 22 übertragen.
- Im elften Arbeitszyklus beginnt die dritte Multiplikation damit, daß der Akkumulator 30 den Bus 16 mit dem Wert von DQ&sub2; treibt und der Lesepuffer 22 den Bus 18 mit dem Wert von B&sub3; treibt. Während dieses elften Arbeitszyklus wird B&sub3; durch die erste Umwandlungseinrichtung 36 aus dem Festpunktformat in das Gleitpunktformat umgewandelt.
- Während des zwölften Arbeitszyklus wird das in dem Haltespeicher 100 gespeicherte zweite Multiplikationsprodukt mit der ersten Produktsumme akkumuliert, die in dem Testregister 34 gespeichert ist. Dies erfolgt dadurch, daß der Haltespeicher 100 den Bus 18 mit dem Wert des zweiten Produktes (DQ&sub1; x B&sub2;) treibt und das Testregister 34 den Bus 16 mit seinem Inhalt treibt, der zu diesem Zeitpunkt das erste Produkt ist (DQ&sub0; x B&sub1;). Der Summierer 28 addiert den Inhalt des Testregisters 34 und das von dem Haltespeicher 100 empfangene zweite Produkt, um ein zweites akkumuliertes Produkt zu liefern, und speichert das zweite akkumulierte Produkt in dem Akkumulator 30. Ferner wird während des zwölften Arbeitszyklus der nächste und letzte Operand DQ&sub3; des ersten Satzes von Operanden aus dem Speicher 20 gelesen und in dem Lesepuffer 22 gespeichert. Schließlich erfolgt während dieses zwölften Arbeitszyklus die dritte Multiplikation in ihrem zweiten Zyklus mit der Multiplikation von B&sub3; und DQ&sub2; in dem Multiplizierer 38.
- Im dreizehnten Arbeitszyklus wird das zweite akkumulierte Produkt in dem Akkumulator 30 über den ersten Bus 16 zu dem Testregister 34 übertragen. Ferner wird DQ&sub2; von dem Schreibpuffer 24 zu dem Speicher 20 übertragen, in dem es an dem Speicherplatz DQ&sub3; gespeichert wird. Schließlich beendet die dritte Multiplikation ihren dritten Zyklus damit, daß das Produkt von B&sub3; und DQ&sub2; aus dem Gleitpunktformat in der zweiten Umwandlungseinrichtung 40 in das Festpunktformat umgewandelt wird, um ein drittes Produkt zu liefern, das in dem Haltespeicher 100 gespeichert wird.
- Während des vierzehnten Arbeitszyklus wird DQ&sub3; aus dem Lesepuffer 22 über den ersten Bus 16 und durch das unidirektionale Schieberegister 26 und den Summierer 28 zu dem Akkumulator 30 übertragen. Ferner wird DQ&sub3; auch aus dem ersten Bus 16 ausgelesen und in dem Schreibpuffer 24 gespeichert. Um den vierten Arbeitszyklus abzuschließen, wird der letzte Operand B&sub4; des zweiten Satzes von Operanden aus dem Speicher 20 gelesen und in dem Lesepuffer 22 gespeichert.
- Im fünfzehnten Arbeitszyklus beginnt die vierte Multiplikation. Der Akkumulator 30 treibt den Bus 16 mit dem Wert von DQ&sub3; und der Lesepuffer 22 treibt den Bus 18 mit dem Wert von B&sub4;. Dann wird B&sub4; von der ersten Umwandlungseinrichtung 36 aus dem Festpunktformat ins Gleitpunktformat umgewandelt, um den ersten Zyklus der vierten Multiplikation abzuschließen.
- Im sechzehnten Arbeitszyklus wird das sich aus der Multiplikation von B&sub3; und DQ&sub2; ergebende dritte Produkt mit dem in dem Testregister 34 gespeicherten zweiten akkumulierten Produkt akkumuliert. Dies erfolgt wie zuvor beschrieben, nämlich indem der Haltespeicher 100 den Bus 18 mit dem Wert des dritten Produktes treibt und das Testregister 34 den Bus 16 mit seinem Inhalt treibt, welcher nunmehr die Akkumulation des ersten und des zweiten Multiplikationsproduktes ist. Der Summierer 28 summiert das zweite akkumulierte Produkt mit dem dritten Multiplikationsprodukt, um ein drittes akkumuliertes Produkt zu liefern, das in dem Akkumulator 30 gespeichert wird. Ferner schließt während des sechzehnten Arbeitszyklus die vierte Multiplikation ihren zweiten Zyklus durch die Multiplikation von B&sub4; und DQ&sub3; in dem Multiplizierer 38 ab.
- Im siebzehnten Arbeitszyklus wird DQ&sub3; aus dem Schreibpuffer 24 zu dem Speicher 20 übertragen, in dem es an dem Speicherplatz DQ&sub4; gespeichert wird. Ferner wird während des siebzehnten Zyklus die vierte Multiplikation damit abgeschlossen, daß das sich aus der Multiplikation von B&sub4; und DQ&sub3; ergebende vierte Multiplikationsprodukt von der zweiten Umwandlungseinrichtung 40 aus dem Gleitpunktformat in das Festpunktformat umgewandelt wird. Das vierte Produkt wird dann in dem Haltespeicher 100 gespeichert.
- In dem letzten und achtzehnten Arbeitszyklus wird das in dem Haltespeicher 100 gespeicherte vierte Produkt mit dem dritten akkumulierten Produkt akkumuliert, welches sich gegenwärtig in dem Akkumulator 30 befmdet. Der Akkumulator 30 treibt den Bus 16 mit dem dritten akkumulierten Produkt und der Haltespeicher 100 treibt den Bus 18 mit dem vierten Multiplikationsprodukt. Der Summierer 28 addiert das dritte akkumulierte Produkt zu dem vierten Multiplikationsprodukt, um ein endgültiges akkumuliertes Produkt zu liefern, das in dem Akkumulator 30 gespeichert wird und für die Weiterverarbeitung bereit ist.
- Wie aus dem Obenstehenden ersichtlich, schließt die oben beschriebene Operation des Systems 10 vier Multiplikationen und Akkumulationen in achtzehn Arbeitszyklen ab. Nach dem Abschluß des sechsten Arbeitszyklus wiederholt die Operation des Systems 10 alle vier Zyklen, wobei die Zyklen 7 bis 10 identisch mit den Zyklen 11 bis 15 sind. Würde obenstehendes Verfahren zur Durchführung von acht Multiplikationen und Akkumulationen verwendet, wären zum Abschließen 34 Arbeitszyklen erforderlich.
- Steht der erste Satz Operanden, nämlich DQ&sub0; und B&sub1;, aus anderen Operationen zur Verfügung, könnte DQ&sub0; zunächst in dem Akkumulator 30 und B&sub1; in dem Zwischenpuffer 32 gespeichert werden. Dies würde die Notwendigkeit des Auslesens dieser Operanden aus dem Speicher 20 überflüssig machen, so daß bei der erforderlichen Anzahl von Arbeitszyklen gespart werden kann. Ist DQ&sub0; beispielsweise in dem Akkumulator 30 und B&sub1; in dem Zwischenpuffer 32 gespeichert, bevor die Multiplikationen und Akkumulationen beginnen, können in nur 31 Arbeitszyklen acht Multiplikationen und Akkumulationen erzielt werden. Diese Zahl an Arbeitszyklen ist nur ein Bruchteil der zuvor im Stand der Technik erforderlichen Anzahl von Arbeitszyklen zur Durchführung der acht Multiplikationen und Akkumulationen, die von der zuvor erwähnten Empfehlung G.721 verlangt werden. Dies führt zu einer beträchtlichen Ersparnis bei einer portablen erschöpfbaren Energiequelle wie einer Batterie.
- Außerdem sei darauf hingewiesen, daß während einer Reihe von Arbeitszyklen entweder die Arithmetik-Logik-Einheit 12 oder die Multipliziereinrichtung 14 oder beide zur Durchführung einer Operation nicht erforderlich sind. Während deijenigen Arbeitszyklen, in denen entweder die Arithmetik-Logik-Einheit 12 oder die Multipliziereinrichtung 14 nicht benötigt werden, könnten sie deaktiviert werden, um weitere Energie zu sparen.
Claims (17)
1. Digitales Multiplizier- und Akkumuliersystem zum Durchführen einer seriellen
Multiplikation von Paaren aus ersten und zweiten Operanden und zum
Akkumulieren der Multiplikationsprodukte, wobei das System aufweist:
einen Speicher (20) zum Speichern der ersten und zweiten Operanden,
eine mit dem Speicher (20) gekoppelte Leseeinrichtung (22) zum sequentiellen
Lesen der ersten und zweiten Operanden,
eine Speichereinrichtung (30) zum vorübergehenden Speichern des aus dem
Speicher (20) ausgelesenen ersten Operanden, und
eine Multipliziereinrichtung (14) zum Multiplizieren der ersten und zweiten
Operanden, wobei die Multipliziereinrichtung den ersten Operanden von der
Speichereinrichtung (30) auf einem ersten Bus (16) und den aus dem Speicher
(20) ausgelesenen zweiten Operanden auf einem zweiten Bus (18) empfängt,
dadurch gekennzeichnet, daß die Speichereinrichtung (30) jeweils über
Transfergatter (50,54) mit den ersten und zweiten Bussen (16,18) gekoppelt ist, und
daß eine Steuereinrichtung die Gatter derart steuert, daß in einem Arbeitszyklus
die Speichereinrichtung (30) mit dem ersten Bus gekoppelt ist und den ersten
Operanden hält, während der zweite Operand aus dem Speicher (20) ausgelesen
wird, und in einem folgenden Arbeitszyklus die Speichereinrichtung mit den
ersten und zweiten Bussen gekoppelt ist und von einer Summiereinrichtung
(28) die Summe des Produkts der Multipliziereinrichtung (14) und die
akkumulierte
Produktsumme der von der Multipliziereinrichtung (14) zuvor
durchgeführten Multiplikationen empfängt.
2. System nach Anspruch 1, mit einer Einrichtung zum Übertragen der in der
Speichereinrichtung (30) gespeicherten akkumulierten Produktsumme zu einem
mit dem ersten Bus (16) gekoppelten Register (34), und mit einer Einrichtung
zum Addieren des Inhalts des Registers (34) mit dem nächsten Produkt von der
Multipliziereinrichtung (14) in der Summiereinrichtung (28).
3. System nach Anspruch 2, bei dem die Leseeinrichtung eine mit dem Speicher
(20) und mit dem ersten und zweiten Bus (16,18) gekoppelte
Lesepuffereinrichtung (22) zum Lesen des ersten Operanden aus der Speichereinrichtung
wahrend eines ersten Arbeitszyklus und zum Lesen des zweiten Operanden aus
dem Speicher während eines zweiten Arbeitszyklus aufweist, wobei die
Speichereinrichtung (30) von der Lesepuffereinrichtung (22) den ersten
Operanden während des zweiten Arbeitszyklus empfängt, wenn die
Lesepuffereinrichtung den zweiten Operanden aus dem Speicher (20) liest.
4. System nach Anspruch 3, bei dem die Multipliziereinrichtung (14) während
eines dritten Arbeitszyklus über den zweiten Bus den zweiten Operanden von
der Lesepuffereinrichtung (22) empfängt.
5. System nach Anspruch 4, bei dem der erste Operand eine Gleitpunktbinärzahl
ist, bei dem der zweite Operand eine Festpunktbinärzahl ist, und bei dem die
Multipliziereinrichtung (14) eine erste Umwandlungseinrichtung (36) zum
Umwandeln des zweiten Operanden aus einer Festpunktbinärzahl in eine
Gleitpunktbinärzahl, und zwar während des dritten Arbeitszyklus, aufweist.
6. System nach Anspruch 5, bei dem der Speicher (20) eine Vielzahl von Paaren
der Gleit- und Festpunktbinärzahlen hält, wobei die Gleitpunktzahlen einen
ersten Satz von Operanden bilden und die Festpunktzahlen einen zweiten Satz
von Operanden bilden, und bei dem die Multipliziereinrichtung (14) einen
Multiplizierer (38) zum Multiplizieren des ersten Operanden und des
umgewandelten zweiten Operanden während eines vierten Arbeitszyklus
aufweist, um ein erstes binäres Gleitpunktprodukt zu liefern, und bei dem die
Lesepuffereinrichtung (22) während des vierten Arbeitszyklus einen dritten
Operanden aus dem in der Speichereinrichtung (20) gespeicherten ersten Satz
von Operanden ausliest.
7. System nach Anspruch 6, bei dem die Multipliziereinrichtung (14) eine zweite
Umwandlungseinrichtung (40) zum Umwandeln des ersten binären
Gleitpunktproduktes in ein erstes Festpunktprodukt, und zwar während eines fünften
Arbeitszyklus, aufweist.
8. System nach Anspruch 7, bei dem die Speichereinrichtung (30) während eines
sechsten Arbeitszyklus über den ersten Bus den dritten Operanden von der
Lesepuffereinrichtung (22) empfängt, und bei dem die Lesepuffereinrichtung
(22) während des sechsten Arbeitszyklus einen vierten Operanden aus dem in
dem Speicher (20) gespeicherten zweiten Satz von Operanden ausliest.
9. System nach Anspruch 8, bei dem die Multipliziereinrichtung (14) während
eines siebten Arbeitszyklus von der Speichereinrichtung (30) den dritten
Operanden über den ersten Bus und von der Lesepuffereinrichtung (22) den
vierten Operanden über den zweiten Bus empfangt.
10. System nach Anspruch 9, bei dem die erste Umwandlungseinrichtung (36)
während des siebten Arbeitszyklus den vierten Operanden aus einer
Festpunktbinärzahl in eine Gleitpunktbinärzahl umwandelt.
11. System nach Anspruch 10, bei dem die Speichereinrichtung (30) mit dem
zweiten Bus (18) gekoppelt ist, um während eines achten Arbeitszyklus das
erste Festpunktprodukt von der Multipliziereinrichtung (14) zu empfangen, und
bei dem der Multiplizierer (38) die Gleitpunktbinärzahlen des dritten und
vierten Operanden während des achten Arbeitszyklus multipliziert, um ein
zweites binäres Gleitpunktprodukt zu liefern.
12. System nach Anspruch 11, bei dem das Register (34) mit dem ersten Bus (16)
gekoppelt ist, um über den ersten Bus während eines neunten Arbeitszyklus von
der Speichereinrichtung (30) das erste Festpunktprodukt zu empfangen, und bei
dem die zweite Umwandlungseinrichtung (40) während des neunten
Arbeitszyklus das zweite binäre Gleitpunktprodukt in ein zweites Festpunktprodukt
umwandelt.
13. System nach Anspruch 12, bei dem die Speichereinrichtung (30) während eines
zehnten Arbeitszyklus von der Multipliziereinrichtung (14) das zweite
Festpunktprodukt empfängt.
14. System nach Anspruch 13, bei dem das Register (34) während eines elften
Arbeitszyklus über den ersten Bus von der Speichereinrichtung (30) das zweite
Festpunktprodukt empfängt.
15. System nach Anspruch 14, bei dem die Summiereinrichtung (28) mit den ersten
und zweiten Bussen (16,18) gekoppelt ist, um von der Registereinrichtung (34)
das erste Festpunktprodukt über den ersten Bus (16) zu empfangen und von der
Multipliziereinrichtung (14) das zweite Festpunktprodukt über den zweiten Bus
(18) zu empfangen, und bei dem der Ausgang der Summiereinrichtung (28)
wallrend eines zwölften Arbeitszyklus zu der Speichereinrichtung (30)
übertragen wird.
16. System nach Anspruch 15, ferner mit einer mit dem Speicher (20) und dem
ersten Bus (16) gekoppelten Schreibpuffereinrichtung (24) zum Empfangen der
ersten und zweiten Operanden während des zweiten bzw. sechsten
Arbeitszyklus über den ersten Bus (16) und zum Übertragen der ersten und dritten
Operanden zu dem Speicher (20) während des fünften bzw. neunten
Arbeitszyklus.
17. System nach einem der vorhergehenden Ansprüche, bei dem die
Speichereinrichtung (30) einen Akkumulator aufweist.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US07/783,837 US5420815A (en) | 1991-10-29 | 1991-10-29 | Digital multiplication and accumulation system |
Publications (2)
Publication Number | Publication Date |
---|---|
DE69216760D1 DE69216760D1 (de) | 1997-02-27 |
DE69216760T2 true DE69216760T2 (de) | 1997-07-10 |
Family
ID=25130545
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE69216760T Expired - Fee Related DE69216760T2 (de) | 1991-10-29 | 1992-10-01 | Digitales Multiplizier- und Akkumuliersystem |
Country Status (5)
Country | Link |
---|---|
US (1) | US5420815A (de) |
EP (1) | EP0540181B1 (de) |
JP (1) | JP3536063B2 (de) |
AT (1) | ATE147872T1 (de) |
DE (1) | DE69216760T2 (de) |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6385634B1 (en) | 1995-08-31 | 2002-05-07 | Intel Corporation | Method for performing multiply-add operations on packed data |
US5721892A (en) * | 1995-08-31 | 1998-02-24 | Intel Corporation | Method and apparatus for performing multiply-subtract operations on packed data |
US7395298B2 (en) * | 1995-08-31 | 2008-07-01 | Intel Corporation | Method and apparatus for performing multiply-add operations on packed data |
US5983253A (en) * | 1995-09-05 | 1999-11-09 | Intel Corporation | Computer system for performing complex digital filters |
US6470370B2 (en) | 1995-09-05 | 2002-10-22 | Intel Corporation | Method and apparatus for multiplying and accumulating complex numbers in a digital filter |
US6237016B1 (en) | 1995-09-05 | 2001-05-22 | Intel Corporation | Method and apparatus for multiplying and accumulating data samples and complex coefficients |
US6058408A (en) * | 1995-09-05 | 2000-05-02 | Intel Corporation | Method and apparatus for multiplying and accumulating complex numbers in a digital filter |
US5936872A (en) * | 1995-09-05 | 1999-08-10 | Intel Corporation | Method and apparatus for storing complex numbers to allow for efficient complex multiplication operations and performing such complex multiplication operations |
US5822459A (en) * | 1995-09-28 | 1998-10-13 | Intel Corporation | Method for processing wavelet bands |
US5621674A (en) * | 1996-02-15 | 1997-04-15 | Intel Corporation | Computer implemented method for compressing 24 bit pixels to 16 bit pixels |
US5831885A (en) * | 1996-03-04 | 1998-11-03 | Intel Corporation | Computer implemented method for performing division emulation |
EP0947914B1 (de) | 1998-03-30 | 2004-12-15 | Rainbow Technologies Inc. | Vom Rechenaufwand her effizientes modulares Multiplikationsverfahren und Gerät |
US6330631B1 (en) * | 1999-02-03 | 2001-12-11 | Sun Microsystems, Inc. | Data alignment between buses |
US7430578B2 (en) * | 2001-10-29 | 2008-09-30 | Intel Corporation | Method and apparatus for performing multiply-add operations on packed byte data |
FI118654B (fi) * | 2002-11-06 | 2008-01-31 | Nokia Corp | Menetelmä ja järjestelmä laskuoperaatioiden suorittamiseksi ja laite |
WO2019005088A1 (en) * | 2017-06-30 | 2019-01-03 | Intel Corporation | HETEROGENEOUS MULTIPLIER |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS57155666A (en) * | 1981-03-20 | 1982-09-25 | Fujitsu Ltd | Instruction controlling system of vector processor |
US4608634A (en) * | 1982-02-22 | 1986-08-26 | Texas Instruments Incorporated | Microcomputer with offset in store-accumulator operations |
US4942547A (en) * | 1985-04-11 | 1990-07-17 | Honeywell Bull, Inc. | Multiprocessors on a single semiconductor chip |
US4815021A (en) * | 1986-01-30 | 1989-03-21 | Star Technologies, Inc. | Multifunction arithmetic logic unit circuit |
GB8808569D0 (en) * | 1988-04-12 | 1988-05-11 | Texas Instruments Ltd | Improvements in/relating to digital signal processors |
US4996661A (en) * | 1988-10-05 | 1991-02-26 | United Technologies Corporation | Single chip complex floating point numeric processor |
US5119324A (en) * | 1990-02-20 | 1992-06-02 | Stardent Computer | Apparatus and method for performing arithmetic functions in a computer system |
US5128890A (en) * | 1991-05-06 | 1992-07-07 | Motorola, Inc. | Apparatus for performing multiplications with reduced power and a method therefor |
-
1991
- 1991-10-29 US US07/783,837 patent/US5420815A/en not_active Expired - Lifetime
-
1992
- 1992-10-01 EP EP92308981A patent/EP0540181B1/de not_active Expired - Lifetime
- 1992-10-01 AT AT92308981T patent/ATE147872T1/de not_active IP Right Cessation
- 1992-10-01 DE DE69216760T patent/DE69216760T2/de not_active Expired - Fee Related
- 1992-10-28 JP JP29008192A patent/JP3536063B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JPH05216625A (ja) | 1993-08-27 |
US5420815A (en) | 1995-05-30 |
EP0540181B1 (de) | 1997-01-15 |
EP0540181A3 (en) | 1993-07-14 |
DE69216760D1 (de) | 1997-02-27 |
EP0540181A2 (de) | 1993-05-05 |
ATE147872T1 (de) | 1997-02-15 |
JP3536063B2 (ja) | 2004-06-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69216760T2 (de) | Digitales Multiplizier- und Akkumuliersystem | |
DE69430838T2 (de) | Schaltung und Verfahren zur parallelen Verschiebung und Addition | |
DE2724125C2 (de) | ||
DE3875979T2 (de) | Schaltung zur berechnung des quantisierten koeffizienten der diskreten cosinustransformation von digitalen signalabschnitten. | |
DE69130653T2 (de) | "Pipelined" Verarbeitungseinheit für Fliesskommazahlen | |
DE68924477T2 (de) | Gleitkommaeinheit mit gleichzeitiger Multiplikation und Addition. | |
DE3851858T2 (de) | Digitaler Signalprozessor. | |
DE69811877T2 (de) | ARITHMETISCHER PROZESSOR, der endliche Felder Arithmetik und ganzzahlige modular Arithmetik kombiniert. | |
DE3424962C2 (de) | ||
DE68927911T2 (de) | Datenverarbeitungssystem | |
DE3853805T2 (de) | Digitaler Multiplizierer und Multiplizierer-Akkumulator, welcher Zwischenergebnisse vorlädt und akkumuliert. | |
DE3586603T2 (de) | Datenprozessor fuer interpretierende und kompilierte sprache. | |
DE2911096C2 (de) | ||
DE68924386T2 (de) | Verfahren und Gerät zur Radix-2**n-Division mit überlappender Quotientenbitauswahl und gleichzeitiger Rundung und Korrektur des Quotienten. | |
DE102007014808A1 (de) | Multiplizier- und Multiplizier- und Addiereinheit | |
DE3686828T2 (de) | Hochleistungsparalleler vektorprozessor mit modifizierter register/elementprozessor konfiguration. | |
DE2902496A1 (de) | Digitale datenmultiplikationsanordnung | |
DE69227348T2 (de) | DIVIDIERSCHALTUNG FüR GLEITKOMMAZAHLEN | |
DE3888230T2 (de) | Einrichtung und Verfahren zur Durchführung einer Schiebeoperation mit einer Multipliziererschaltung. | |
DE3485771T2 (de) | Leistungsfaehiger paralleler vektorprozessor. | |
DE4403917A1 (de) | Vorrichtung zum Berechnen einer Besetzungszählung | |
DE102007056104A1 (de) | Verfahren und Vorrichtung zur Multiplikation von Binäroperanden | |
EP1543408A1 (de) | Vorrichtung und verfahren zum berechnen einer multiplikation mit einer verschiebung des multiplikanden | |
DE3852576T2 (de) | Einrichtung und Verfahren für eine erweiterte Arithmetik-Logik-Einheit zur Beschleunigung der ausgewählten Operationen. | |
DE69808362T2 (de) | Multiplizierverfahren und Multiplizierschaltung |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |