[go: up one dir, main page]

DE69130652T2 - Digitaler paralleler Hochgeschwindigkeitsmultiplizierer - Google Patents

Digitaler paralleler Hochgeschwindigkeitsmultiplizierer

Info

Publication number
DE69130652T2
DE69130652T2 DE69130652T DE69130652T DE69130652T2 DE 69130652 T2 DE69130652 T2 DE 69130652T2 DE 69130652 T DE69130652 T DE 69130652T DE 69130652 T DE69130652 T DE 69130652T DE 69130652 T2 DE69130652 T2 DE 69130652T2
Authority
DE
Germany
Prior art keywords
input
bit
partial product
stage
adder
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
DE69130652T
Other languages
English (en)
Other versions
DE69130652D1 (de
Inventor
Gensuke Ebina-Shi Kanagawa 243-04 Goto
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from JP2072384A external-priority patent/JPH081593B2/ja
Priority claimed from JP3013629A external-priority patent/JP2525083B2/ja
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Publication of DE69130652D1 publication Critical patent/DE69130652D1/de
Application granted granted Critical
Publication of DE69130652T2 publication Critical patent/DE69130652T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/52Multiplying; Dividing
    • G06F7/523Multiplying only
    • G06F7/53Multiplying only in parallel-parallel fashion, i.e. both operands being entered in parallel
    • G06F7/5318Multiplying only in parallel-parallel fashion, i.e. both operands being entered in parallel with column wise addition of partial products, e.g. using Wallace tree, Dadda counters
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/52Multiplying; Dividing
    • G06F7/523Multiplying only
    • G06F7/533Reduction of the number of iteration steps or stages, e.g. using the Booth algorithm, log-sum, odd-even
    • G06F7/5334Reduction 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/5336Reduction 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
    • G06F7/5338Reduction 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 each bitgroup having two new bits, e.g. 2nd order MBA

Landscapes

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

Description

  • Die vorliegende Erfindung betrifft einen Multiplizierer, und im besonderen einen Hochgeschwindigkeitsdigitalparallelmultiplizierer, der zum Beispiel als Multipliziererblock in einer Ganzzahlrecheneinheit (IU) oder einer Gleitkommarecheneinheit (FPU) verwendet wird, die in einem Mikroprozessor oder einem Prozessor für digitale Signalverarbeitung (DSP) inkorporiert ist.
  • Um eine Multiplikation eines M-Bit-Operanden (Multiplikand) und eines N-Bit-Operanden (Multiplikator) auszuführen, die beide binärförmig sind, wird im allgemeinen jedes der Multiplikandenbits mit jedem Multiplikatorbit multipliziert, um an jeder logischen Bitposition ein Teilproduktbit zu erzeugen. Als Resultat erscheint eine Vielzahl von Teilproduktbits an denselben logischen Bitpositionen, so daß sie zu einem Endpaar von Summen- und Übertragsbits durch mehrstufige Addierer mit mehreren Eingängen an jeder logischen Bitposition komprimiert werden. Schließlich wird das Endpaar einem Übertragsausbreitungsaddierer (CPA) eingegeben, um an jeder logischen Bitposition ein Produktbit zu erhalten. Zu diesem Zweck sind Addierer mit mehreren Eingängen und Teilprodukt-(Bit)-Generatoren in einer zweidimensionalen Ebene angeordnet.
  • In bezug auf Verfahren zur Anordnung von Addierern gibt es zwei Verfahren: ein Übertragssicherungsaddiererarray- (CSA)-Verfahren und ein Wallace-Baumverfahren.
  • Bei dem CSA-Verfahren werden Bits eines nach dem anderen verarbeitet, um drei Signale einem Addierer mit drei Eingängen (einem Ein-Bit-Volladdierer) der v-ten Stufe zuzuführen:- ein Teilproduktbit, ein Übertragssignal von einem Addierer der (v-1)-ten Stufe, der an einer um ein Bit niedrigeren Bitposition angeordnet ist, und ein Summensignal von einem Addierer der (v-1)-ten Stufe, der an derselben Bitposition wie der Addierer der v-ten Stufe angeordnet ist. Dies ist einem manuellen Berechnungsverfahren ähnlich, dessen Layout der Logik entspricht und regelmäßig ist, und deshalb ist die Konstruktion von Layouts leicht. Da jedoch bei dem CSA-Verfahren die Ausführungszeit von der Anzahl von Bits des Multiplikators abhängt, ist es schwierig, eine Hochgeschwindigkeitsoperation zu erreichen.
  • Andererseits werden bei dem Wallace-Baumverfahren drei Teilproduktbitsignale einem Ein-Bit-Volladdierer der ersten Stufe zugeführt, der als Wallace-Baumschaltung mit drei Eingängen "3W" bezeichnet wird, wird das erzeugte Summensignal einem Volladdierer der zweiten Stufe an derselben Bitposition eingegeben und wird das Übertragssignal einem Volladdierer der zweiten Stufe an einer um ein Bit höheren Bitposition eingegeben. Somit akzeptiert jeder Addierer mit mehreren Eingängen der zweiten oder einer höheren Stufe eine Vielzahl von Summen- und Übertragssignalen von den Addierern mit mehreren Eingängen einer unteren Stufe, um sie auf jener Stufe zu einem Paar von Summen- und Übertragssignalen zu komprimieren. Obwohl bei dem Wallace-Baumverfahren die Operationsgeschwindigkeit hoch ist, sind die Eingabe-Ausgabe-Beziehungen zwischen dem Addierer der v-ten Stufe und jenem der (v-1)-ten Stufe an jeder logischen Bitposition verschieden.
  • WO-A-9000773 offenbart einen MxN-Bit-Multiplizierer mit: M Multiplikandenbitübertragungsleitungen, die schräg (oder stufenweise linear) zu einer ersten Richtung angeordnet sind; N Multiplikatorbitübertragungsleitungen, die längs einer zweiten Richtung angeordnet sind, die zu der ersten Richtung rechtwinklig ist; und (M + N) · N Teilproduktgeneratoren, die jeweils an einem Schnittpunkt (i,j) zwischen i-ten virtuellen Leitungen längs der ersten Richtung, in einer iten Spalte, und j-ten Multiplikatorbitübertragungsleitungen, in einer j-ten Reihe, vorgesehen sind, um ein Teilproduktbit Pr,j an der (r+j)-ten logischen Bitposition zu erzeugen.
  • R(= 2) Reihen von (M + N) Addierern mit S Eingängen der ersten Stufe sind vorgesehen, wobei N/S R N/S + 2 ist und jede der Addiererreihen immer zwischen S Teilproduktgenera torreihen sowie zusätzlichen Reihen von Multieingangsaddierern der v-ten Stufe angeordnet ist, jeder Addierer angrenzend an einen (v-1)-ten Addierer in einer Spalte angeordnet ist und Paare von Summen- und Übertragssignalen von Multieingangsaddierern der (v-1)-ten Stufe, die alle in den i-ten und (i-1)-ten Spalten angeordnet sind, komprimiert, wobei kein Summensignal von einem Addierer der (v-1)-ten Stufe kommt, der in einer anderen Spalte als die Multieingangsaddierer der v-ten Stufe angeordnet ist. Jeder der Multieingangsaddierer der höchsten Stufe erzeugt ein Endpaar von Summen- und Übertragssignalen zum Erzeugen eines Produktbits an jeder Bitposition, wobei die Anzahl der höchsten Stufe. von der Anzahl R abhängt.
  • Die Multieingangsaddierer von der zweiten bis zur höchsten Stufe sind zusätzlich zu Sätzen von S Teilproduktgeneratoren und den Addierern mit S Eingängen der ersten Stufe alle in der i-ten Spalte angeordnet, die eine Basiszelle bildet, und jeder Addierer der ersten Stufe in der Zelle komprimiert S Teilproduktbits von Generatoren innerhalb der Zelle, um ein Paar von einem Summensignal Si,j und einem Übertragssignal Cl,j an der (i+j)-ten logischen Bitposition zu erzeugen. Alle Multieingangsaddierer der höchsten Stufe in derselben Zelle erzeugen auch Summen- und Übertragssignalpaare auf jeder Stufe an der (i+j)-ten logischen Bitposition.
  • M + N Basiszellen sind in einer Matrix angeordnet, um ein volles Array von Teilproduktgeneratoren und Wallace-Baumaddierern gemäß dem (M + N) · N-Teilproduktgeneratorarray und den Reihen von Multieingangsaddierern zu bilden, wobei jeder Satz von S Generatoren in einer Basiszelle in der i-ten Spalte einen anderen Satz von Multikandenbitsignalen verarbeitet, um eine Layoutkonfiguration des Arrays des Multiplizierers zu bilden, die etwa rechteckig ist, indem Blindsätze von S Generatoren und ein Multieingangsaddierer der ersten Stufe eingefügt werden.
  • Schließlich ist ein Übertragsausbreitungsaddierer CPA vorgesehen, um an jeder Bitposition Produktbits aus Endpaaren von Summen- und Übertragssignalen zu erzeugen.
  • Bei dem Layout eines anderen Hochgeschwindigkeitsmultiplizierers nach Stand der Technik ist die Anordnung des Addierers ein Parallelogramm, das einem Rhombus ähnlich ist, wodurch leere Bereiche entstehen, d. h., ungenutzte Bereiche, wodurch die Integrationsdichte des Multiplizierers reduziert wird. Bei der Layoutlösung, die in WO-A-9000773 beschrieben ist, wird der leere Bereich mit Blindteilproduktgeneratoren und Multieingangsaddierern gefüllt, um die Form des Multiplizierers rechteckig zu machen. Obwohl bei dieser Lösung leere Bereiche beseitigt werden, ist eine große Menge von Blindschaltungen erforderlich, und der so ausgelegte Bereich bleibt groß. Um diese Art Blindbereich bei dem Layout eines Hochgeschwindigkeitsmultiplizierers einzusparen, ist ein neues Layoutschema erforderlich, das unter Bezugnahme auf die vorliegende Erfindung später beschrieben wird. Ein Multiplizierer, dessen Anordnung ohne Blindschaltungen rechteckig ist, ist schon vorgeschlagen worden (siehe: JP-A-55-105732) und wird später erläutert. Dieser Multiplizierer basiert jedoch auf dem Übertragssicherungsaddiererarray, und so ist die Operationsgeschwindigkeit weit langsamer als bei jenen Multiplizierern, die auf dem Wallace-Baumverfahren basieren, falls N groß ist. Deshalb ist es nicht für einen Hochgeschwindigkeitsmultiplizierer mit einer großen Bitbreite geeignet, nach dem wachsende Nachfrage besteht.
  • Es ist eine Aufgabe der vorliegenden Erfindung, einen Multiplizierer vorzusehen, der sich durch einen hohen Integrationsgrad und eine Hochgeschwindigkeitsoperation auszeichnet und einfach anzuordnen ist, ohne eine große Menge von Blindschaltungseinheiten einzusetzen.
  • Gemäß einer ersten Ausführungsform der vorliegenden Erfindung ist ein M · N-Bit-Multiplizierer vorgesehen, der umfaßt: M Multiplikandenbitübertragungsleitungen, die längs einer ersten Richtung angeordnet sind; N Multiplikatorbitübertragungsleitungen, die längs einer zweiten Richtung angeordnet sind, die zu der ersten Richtung rechtwinklig ist; M · N Teilproduktgeneratoren, die jeweils an einem Schnittpunkt (i, j) zwischen der i-ten Multiplikandenbitübertragungsleitung, der i-ten Spalte, und der j-ten Multiplikatorbitübertragungsleitung, der j-ten Reihe, vorgesehen sind, um ein Teilproduktbit Pr,j an der r+j-ten logischen Bitposition zu erzeugen; R Reihen von M Multieingangsaddierern mit 5 Eingängen der ersten Stufe, wobei N/S ≤ R ≤ R N/S + 2 ist und jede der Addiererreihen immer zwischen S Teilproduktgeneratorreihen angeordnet ist; wobei die 5 Teilproduktgeneratoren und die Addierer mit 5 Eingängen der ersten Stufe, die in der i-ten Spalte aneinandergrenzend angeordnet sind, eine Basiszelle bilden und wenigstens ein Teilproduktgenerator in der Zelle das i-te Multiplikandenbit verarbeitet und der Addierer in der Zelle 5 Teilproduktbits von Generatoren innerhalb oder außerhalb der Zelle komprimiert, um ein Paar von einem Summensignal Sp,q und einem Übertragssignal Cp,q an der p+q-ten logischen Bitposition zu erzeugen; wenigstens eine Reihe von Multieingangsaddierern einer höheren Stufe, wobei jeder Addierer der v-ten Stufe, v ≥ 2, angrenzend an einen Addierer der v-1-ten Stufe in einer Spalte angeordnet ist und Paare von Summen- und Übertragssignalen von Multieingangsaddierern der v-1-ten Stufe komprimiert, wobei wenigstens ein Eingangssummensignal von einem Addierer der v-1-ten Stufe kommt, der in einer anderen Spalte als der genannte Addierer der v-ten Stufe angeordnet ist, jeder der Multieingangsaddierer der höchsten (vmx-ten) Stufe ein Endpaar von Summen- und Übertragssignalen bildet, zum Erzeugen eines Produktbits bei jedem Bit, wobei die Anzahl der Stufen (vmx) von der Anzahl R abhängt; M · R Basiszellen, die in einer Matrix angeordnet sind, um ein Haupt array aus Teilproduktgeneratoren und geteilten Wallace- Baumaddierern gemäß dem M · N-Teilproduktgeneratorarray und den Reihen von Multieingangsaddierern zu bilden, wobei jeder Satz von 5 Generatoren in einer Basiszelle in der i-ten Spalte denselben Satz von Multiplikandenbitsignalen verarbeitet, die das i-te Signal enthalten, um eine Layoutkonfiguration des Arrays des Multiplizierers etwa rechteckig zu machen, wobei die Matrix all die erforderlichen Teilproduktgeneratoren in der erweiterten Matrix zum Erhalten des kompletten Satzes von Produktbits enthält; und einen Übertragsausbreitungsaddierer, um die Produktbits aus den Endpaaren von Summen- und Übertragssignalen bei jedem Bit zu erzeugen.
  • Gemäß einer zweiten Ausführungsform der vorliegenden Erfindung ist ein M · N-Bit-Multiplizierer vorgesehen, der umfaßt: M Multiplikandenbitübertragungsleitungen, die längs einer ersten Richtung angeordnet sind; N1 Sätze von Übertragungsleitungen für die abgewandelten Booth-Decodiersignale k-ter Ordnung, die N Multiplikatorbits entsprechen, die längs einer zweiten Richtung angeordnet sind, die zu der ersten Richtung rechtwinklig ist, wobei N/k ≤ N1 ≤ N/k + 1 ist; M · N1 Teilproduktgeneratoren, die jeweils an einem Schnittpunkt (i, j) zwischen der i-ten Multiplikandenbitübertragungsleitung, der i-ten Spalte, und dem j-ten Satz von Übertragungsleitungen, der j-ten Reihe, vorgesehen sind, um ein Teilproduktbit Pr,j an der r+j-ten logischen Bitposition zu erzeugen; R Reihen von M Multieingangsaddierern mit S Eingängen der ersten Stufe, wobei N1/S ≤ R ≤ N1/S + 2 ist und jede der Addiererreihen immer zwischen 5 Teilproduktgeneratorreihen angeordnet ist; wobei die 5 Teilproduktgeneratoren und die Addierer mit S Eingängen der ersten Stufe, die in der i-ten Spalte aneinandergrenzend angeordnet sind, eine Basiszelle bilden und wenigstens ein Teilproduktgenerator in der Zelle das i-te Multiplikandenbit verarbeitet und der Addierer in der Zelle 5 Teilproduktbits von Generatoren innerhalb oder außerhalb der Zelle komprimiert, um ein Paar von einem Summensignal Sp,q und einem Übertragssignal Cp,q an der p+q-ten logischen Bitposition zu erzeugen; wenigstens eine Reihe von Multieingangsaddierern einer höheren Stufe, wobei jeder Addierer der v-ten Stufe, v ≥ 2, angrenzend an einen Addierer der v-1-ten Stufe in einer Spalte angeordnet ist und Paare von Summen- und Übertragssignalen von Multieingangsaddierern der v-1-ten Stufe komprimiert, wobei wenigstens ein Eingangssummensignal von einem Addierer der v-1-ten Stufe kommt, der in einer anderen Spalte als der genannte Addierer der v-ten Stufe angeordnet ist, jeder der Multieingangsaddierer der höchsten (vmx-ten) Stufe ein Endpaar von Summen- und Übertragssignalen bildet, zum Erzeugen eines Produktbits bei jedem Bit, wobei die Anzahl der Stufen (vmx) von der Anzahl R abhängt; M · R Basiszellen, die in einer Matrix angeordnet sind, um ein Hauptarray aus Teilproduktgeneratoren und geteilten Wallace-Baumaddierern gemäß dem M · N1-Teilproduktgeneratorarray und den Reihen von Multieingangsaddierern zu bilden, wobei jeder Satz von S Generatoren in einer Basiszelle in der i-ten Spalte denselben Satz von Multiplikandenbitsignalen verarbeitet, die das i-te Signal enthalten, um eine Layoutkonfiguration des Arrays des Multiplizierers etwa rechteckig zu machen, wobei die Matrix all die erforderlichen Teilproduktgeneratoren in der erweiterten Matrix zum Erhalten des kompletten Satzes von Produktbits enthält; und einen Übertragsausbreitungsaddierer, um die Produktbits aus den Endpaaren von Summen- und Übertragssignalen bei jedem Bit zu erzeugen.
  • Bei beiden obigen Ausführungsformen der vorliegenden Erfindung ist die Layoutkonfiguration des Hauptarrays des Multiplizierers rechteckig, und trotz des Implementierens eines Hochgeschwindigkeitsmultiplizierers auf der Basis des Wallace-Baumverfahrens ist kein leerer Bereich oder zusätzlicher Blindschaltungsbereich vorhanden. Dies bedeutet, daß auf der Basis der vorliegenden Erfindung ein kompakter Hochgeschwindigkeitsmultiplizierer mit einer hohen Integrationsdichte realisiert werden kann. Weiterhin ist das Hauptarray durch die wiederholende Anordnung von Basiszellen derselben Art konstruiert.
  • Zum besseren Verstehen der Erfindung und um zu zeigen, wie dieselbe verwirklicht werden kann, wird nun, nur als Beispiel, Bezug auf die beiliegenden Zeichnungen genommen, in denen:
  • Fig. 1 ein Diagramm ist, das einen Multiplikationsprozeß nach Stand der Technik zeigt;
  • Fig. 2 ein Blockschaltungsdiagramm einer Wallace-Baumschaltung mit 8 Eingängen ist;
  • Fig. 3 ein logisches Schaltungsdiagramm einer Wallace- Baumschaltung mit 3 Eingängen (Volladdierer) ist;
  • Fig. 4 ein Blockschaltungsdiagramm eines Beispiels einer Wallace-Baumschaltung mit 4 Eingängen ist;
  • Fig. 5 ein logisches Schaltungsdiagramm eines anderen Beispiels einer Wallace-Baumschaltung mit 4 Eingängen ist;
  • Fig. 6 ein schematisches Blockschaltungsdiagramm ist, das einen Multiplizierer nach Stand der Technik zeigt, bei dem ein abgewandelter Booth-Algorithmus 2. Ordnung verwendet wird;
  • Fig. 7 ein Blockschaltungsdiagramm ist, das einen 22 · 22-Bit-Multiplizierer nach Stand der Technik zeigt, bei dem ein abgewandelter Booth-Algorithmus 2. Ordnung verwendet wird;
  • Fig. 8 ein teilweises detailliertes Blockschaltungsdiagramm der Schaltung von Fig. 7 ist;
  • Fig. 9A und 9B Blockschaltungsdiagramme des Blocks 3D von Fig. 7 sind;
  • Fig. 10 ein Blockschaltungsdiagramm des Teilproduktgenerators P von Fig. 8 und 9B ist;
  • Fig. 11A ein Blockschaltungsdiagramm des abgewandelten Booth-Decodierers 2. Ordnung ist;
  • Fig. 11B ein Logikschaltungsdiagramm des abgewandelten Booth-Decodierers 2. Ordnung ist;
  • Fig. 12A ein Blockschaltungsdiagramm ist, das einen anderen Multiplizierer nach Stand der Technik zeigt, bei dem ein abgewandelter Booth-Algorithmus 2. Ordnung verwendet wird;
  • Fig. 12B ein Logikschaltungsdiagramm des Teilproduktgenerators P mit einem Volladdierer von Fig. 12A ist;
  • Fig. 13A ein Diagramm ist, das eine 8 · 8-Bit-Multiplikation zeigt, bei der ein abgewandelter Booth-Algorithmus 2. Ordnung verwendet wird;
  • Fig. 13B ein Blockschaltungsdiagramm ist, das eine Wallace-Baumkonfiguration zeigt, durch die ein Addiererarray für die Multiplikation von Fig. 13A realisiert wird;
  • Fig. 14 ein Blockschaltungsdiagramm einer Wallace-Baumschaltung mit 18 Eingängen ist;
  • Fig. 15A und 15B Blockschaltungsdiagramme zum Erläutern des Prinzips der vorliegenden Erfindung sind;
  • Fig. 16 ein Blockschaltungsdiagramm ist, das eine Ausführungsform des Multiplizierers gemäß der vorliegenden Erfindung zeigt;
  • Fig. 17 ein detailliertes Blockschaltungsdiagramm des Blocks 6D&sub3; von Fig. 16 ist;
  • Fig. 18 ein Diagramm der Symbole des Blocks 6D&sub3; von Fig. 16 ist;
  • Fig. 19 ein Blockschaltungsdiagramm des Blocks 6D3L von Fig. 16 ist;
  • Fig. 20 ein Blockschaltungsdiagramm des Blocks 6D4H von Fig. 16 ist;
  • Fig. 21A ein Diagramm der Symbole des Blocks Ph von Fig. 16 ist;
  • Fig. 21B ein logisches Schaltungsdiagramm des Blocks Ph von Fig. 16 ist;
  • Fig. 22A ein Diagramm der Symbole der Wallace-Baumschaltung 2W mit 2 Eingängen von Fig. 16 ist;
  • Fig. 22B ein logisches Schaltungsdiagramm der Wallace- Baumschaltung 2W mit 2 Eingängen von Fig. 16 ist;
  • Fig. 23 ein Blockschaltungsdiagramm des Blocks 6E3A von Fig. 16 ist;
  • Fig. 24 ein Blockschaltungsdiagramm des Blocks 4W&sub3; von Fig. 16 ist;
  • Fig. 25 ein Blockschaltungsdiagramm des Blocks 4W4H von Fig. 16 ist;
  • Fig. 26 ein Blockschaltungsdiagramm des Blocks 12 G von Fig. 16 ist;
  • Fig. 27 ein Blockschaltungsdiagramm des Blocks 12F von Fig. 16 ist;
  • Fig. 28 ein Blockschaltungsdiagramm des Blocks 7D&sub3; ist;
  • Fig. 29 und 30 Blockschaltungsdiagramme von Abwandlungen des Blocks 3D von Fig. 17 sind;
  • Fig. 31 ein Blockschaltungsdiagramm einer Abwandlung des Blocks 3D' oder 3D" von Fig. 29 oder 30 ist;
  • Fig. 32 und 33 Blockschaltungsdiagramme von Multiplizierern sind, bei denen eine Vielzahl der Blöcke von Fig. 29 und 30 kombiniert sind;
  • Fig. 34 ein Blockschaltungsdiagramm einer Pipelinevektorverarbeitungseinheit ist, auf die die vorliegende Erfindung angewendet wird; und
  • Fig. 35 ein Blockschaltungsdiagramm der Multipliziererschaltung von Fig. 34 ist.
  • In Fig. 1, die einen vorher untersuchten 8 · 8-Bit-Multiplikationsprozeß zeigt, wird ein Multiplikand X durch a&sub0; bis a&sub7; bezeichnet, und ein Multiplikator Y wird durch b&sub0; bis b&sub7; bezeichnet. Hier werden X und Y durch ein Komplement auf der Basis von 2 dargestellt, und ihre höchstwertigen Bits (MSB) a&sub7; und b&sub7; sind Vorzeichenbits.
  • Zuerst wird ein Teilprodukt PPA (j = 0-7) erhalten, indem X (a&sub7;, a&sub6;, ..., a&sub0;) mit bj (j = 0-7) multipliziert wird. Dann wird ein Endprodukt X Y erhalten, indem Teilprodukte PP&sub0;, PP&sub1;, ..., und PP7 summiert werden. In diesem Fall wird jede Summe 21 (i = 0-14) für ein Bit berechnet, und die Summen 21 (i = 0-14) werden summiert.
  • Um die Summe 21 zu berechnen, wie in Fig. 1 gezeigt, ist ein 8-Bit-Eingabe-Addierer, d. h., eine Wallace-Baumschaltung mit 8 Eingängen "8W" erforderlich, wie in Fig. 2 gezeigt. Diese Wallace-Baumschaltung mit 8 Eingängen 8 W hat sechs Volladdiererschaltungen "3W", wie in Fig. 3 gezeigt. Falls die Verarbeitungszeit des Volladdierers(Wallace- Baumschaltung mit 3 Eingängen) 3W τ ist, beträgt die Verarbeitungszeit der Wallace-Baumschaltung 8 W mit 8 Eingängen 4 t. Es sei erwähnt, daß in Fig. 2 die Bezugszeichen CIN (1, 1), CIN (1, 2), ... Übertragssignale von der unteren Bitposition bezeichnen und die Bezugszeichen COUT (1, 1), COUT (1, 2), ... Übertragssignale für die höhere Bitposition bezeichnen.
  • Im Gegensatz dazu wird in letzter Zeit eine Multieingangsaddiererschaltung in Einheiten von 4 Eingängen geteilt, um die Operation einer Wallace-Baumschaltung mit 4 Eingängen "4W" zu wiederholen, wie in Fig. 4 gezeigt, wodurch ein Digitalparallelmultiplizierer gebildet wird. Wenn der Multiplizierer in diesem Fall aus einer hochintegrierten Schaltung (LSI) gebildet wird, ist eine komplexe Schaltung wie etwa eine Wallace-Baumschaltung mit 8 Eingängen 8 W oder eine andere Wallace-Multieingangsbaumschaltung unnötig, und die Logik und das Layout des Multiplizierers wird durch eine relativ einfache Konfiguration realisiert, wodurch die Anzahl von Konstruktionsschritten reduziert wird. Falls die Wallace-Baumschaltung mit 4 Eingängen 4W so wie in Fig. 5 konstruiert wird, sei erwähnt, daß ein Addierprozeß mit 8 Eingaben 3 τ betragen kann, wodurch die Geschwindigkeit der Operation des gesamten Multiplizierers erhöht wird.
  • Um die Operationsgeschwindigkeit des gesamten Multiplizierers zu erhöhen, ist ein abgewandelter Booth-Algorithmus vorgeschlagen worden, wie in Fig. 6 gezeigt, bei der ein abgewandelter Booth-Algorithmus 2. Ordnung verwendet wird. In Fig. 6 bezeichnen die Bezugszeichen PP&sub0;, PP&sub1;, PP&sub2; und PP&sub3; Teilproduktgeneratoren; bezeichnen B&sub0;, B&sub1;, B&sub2; und B&sub3; Booth-(Y)-Decodierer 2. Ordnung; und bezeichnet AA ein Addiererarray. Jeder der Teilproduktgeneratoren PP&sub0;, PP&sub1;, PP&sub2; und PP&sub3; erzeugt 0, ±X, ±2X als Reaktion auf die Ausgaben der Y-Decodierer B&sub0;, B&sub2; bzw. B&sub3;. Die resultierenden Ausgaben der Teilproduktgeneratoren PP&sub0;, PP&sub1;, PP&sub2; und PP&sub3; werden im Addiererarray AA miteinander addiert.
  • Gemäß dem abgewandelten Booth-Algorithinus wird die Anzahl von Teilproduktgeneratoren reduziert (siehe Fig. 1), wodurch die Geschwindigkeit der Additionsoperation erhöht wird.
  • Ein tatsächlicher 22 · 22-Bit-Multiplizierer, bei dem ein abgewandelter Booth-Algorithmus 2. Ordnung verwendet wird, ist in Fig. 7 gezeigt. In Fig. 7 bezeichnen die Bezugszeichen REGX und REGY ein Multiplikandenregister zum Speichern eines Multiplikanden X, der durch die Bits a&sub0; bis a&sub2;&sub1; definiert ist, und ein Multiplikatorregister zum Speichern eines Multiplikators Y, der durch die Bits bis b&sub2;&sub1; definiert ist. Bezugszeichen "3D" bezeichnet einen Block, der aus drei Teilproduktgeneratoren P und einer Wallace-Baumschaltung mit 3 Eingängen 3W gebildet ist, wie in Fig. 8 gezeigt, und "5D" bezeichnet einen Block, der aus drei Teilproduktgeneratoren P, einer Wallace-Baumschaltung mit 3 Eingängen 3W und einer Wallace-Baumschaltung mit 4 Eingängen 4W gebildet ist, wie in Fig. 8 gezeigt. Es sei erwähnt, daß die Wallace-Baumschaltung mit 3 Eingängen 3W und die Wallace-Baumschaltung mit 4 Eingängen 4W des Blocks 5D als Addierer mit 5 Eingängen dienen. Ferner ist der Block 3D in Fig. 9A und 9B gezeigt, und der Teilproduktgenerator P ist in Fig. 10 gezeigt.
  • Des weiteren ist der Y-Decodierer Bj von Fig. 7, der als Booth-Decodierer 2. Ordnung bezeichnet wird, in Fig. 11A und 11B gezeigt.
  • Unter erneuter Bezugnahme auf Fig. 7 bezeichnet CPA einen Übertragsausbreitungsaddierer.
  • Der gesamte Multiplizierer hat, wie in Fig. 7 gezeigt, die Form eines Parallelogramms und ist nicht rechteckig, um einen leeren Bereich E&sub1; rechts unten und einen leeren Bereich E&sub2; links oben zu bilden, d. h., ungenutzte Bereiche, in denen keine Schaltungselemente angeordnet werden können, werden erzeugt, wodurch die Integrationsdichte des gesamten Multiplizierers reduziert wird.
  • Um dies zu vermeiden, wird gewöhnlich ein Faltverfahren ausgeführt, d. h., die Schaltung, die unterhalb des leeren Bereiches E&sub2; angeordnet ist, wird in den leeren Bereich E&sub1; eingefügt, um den gesamten Multiplizierer rechteckig zu machen.
  • Ein anderes Verfahrens, um die leeren Bereiche wie E&sub1; und E&sub2; in Fig. 7 zu beseitigen, ist in WO-A-9000773 beschrieben, wo die leeren Bereiche mit Blindteilproduktgeneratoren und -multieingangsaddierern gefüllt werden. Das Layout solch eines Multiplizierers ist einfach, da alle Reihen aus einer Basiszelle bestehen, die in einem Fall zwei 3D- und 5D-Paare und eine 4W umfaßt und der von Fig. 7 entspricht. Jedoch ist etwa die doppelte Anzahl von 3D- und 5D-Blöcken im Vergleich zu dem Layout von Fig. 7 erforderlich, und der belegte Bereich solch eines Multiplizierers bleibt groß.
  • Eine andere Lösung, um die hohe Dichte der Multipliziererblöcke zu erreichen, ist in Fig. 12A als Abwandlung von Fig. 6 gezeigt (siehe: japanische ungeprüfte Patentveröffentlichung (Kokai) Nr. 55-105732).
  • In Fig. 12A sind Teilproduktgeneratoren P durch das Übertragssicherungsverfahren verbunden. Korrekturausdrücke werden einigen Basiszellen als VDD eingegeben, so daß Teilproduktgeneratoren zur Vorzeichenübertragung unnötig sind, um den Multiplizierer zu vereinfachen. Es sei erwähnt, daß Fig. 12 eine Basiszelle (P) in Fig. 12B zeigt, die aus den Teilproduktgeneratoren und einem Volladdierer gebildet ist.
  • Obwohl in Fig. 12A die Integrationsdichte des gesamten Multiplizierers verbessert werden kann, indem ein sich wiederholendes Array von Basiszellen verwendet wird, ist die Geschwindigkeit der Operation auf Grund seiner CSA-Arraystruktur niedrig. Es sei erwähnt, daß die Anzahl von Addierern, durch die Signale hindurchlaufen, zwischen dem Multiplikandenregister und dem Addierer CPA maximal 4 beträgt.
  • Falls das Addiererarray AA von Fig. 6 andererseits durch eine Wallace-Baumschaltung konstruiert wird, führt die Wallace-Bauirikonfiguration eine Additionsoperation aus, wie sie in Fig. 13A gezeigt ist, wo eine 8 · 8-Bit-Multiplikation unter Verwendung eines abgewandelten Booth-Algorithmus 2. Ordnung gezeigt ist. In Fig. 13A bezeichnen die Bezugszeichen 20 bis 28 Teilprodukte, bezeichnen So bis S3 Korrekturausdrücke für negative Zahlen und bezeichnet "1" einen Korrekturausdruck für Vorzeichen. Ein Endprodukt X · Y wird durch 20 bis Z14 dargestellt, und das Bit mit maximalem Wert Z14 bezeichnet ein Vorzeichen. In diesem Fall beträgt die Anzahl von Eingängen bei einer Wallace-Baumschaltung maximal 5, und deshalb wird eine Wallace-Baumkonfiguration eingesetzt, wie sie in Fig. 13B gezeigt ist. Das heißt, ein Addierer mit 5 Eingängen wird durch eine Wallace-Baumschaltung mit 6 Eingängen 6W realisiert, wobei ein Eingang auf "0" festgelegt ist. Unter Verwendung solch einer Wallace- Baumkonfiguration beträgt die Anzahl von Addierern, durch die Signale hindurchlaufen, zwischen dem Multiplikandenregister und dem Addierer CPA maximal 3, wodurch die Operations geschwindigkeit im Vergleich zu dem Multiplizierer von Fig. 12A verbessert wird.
  • Bei der oben erwähnten Wallace-Baumkonfiguration ist die Schaltung jedoch nicht regelmäßig, und deshalb ist es schwierig, sie zu konstruieren. Besonders wenn ein Multiplizierer für Mehrbitdaten von 8 · 8 Bits oder mehr konstruiert wird, ist der Einfluß des oben erwähnten Problems groß. Zum Beispiel hat eine Wallace-Baumschaltung mit 18 Eingängen 18 W, wie in Fig. 14 gezeigt, eine große Anzahl von Verbindungen zwischen Volladdierern (Wallace-Baumschaltung mit 3 Eingängen 3W) und Teilproduktgeneratoren, die Eingangssignale für die 18 W erzeugen, zusätzlich zu anderen Verbindungen CIN (1,1), CIN (1,2), ..., COUT (1,1), COUT (1,2), ... zwischen den Wallace-Baumschaltungen mit 18 Eingängen 18 W. Es sei erwähnt, daß CIN (1,1), CIN (1,2), ... Übertragssignale von der unteren Bitposition bezeichnen und COUT (1,1), COUT (1,2), ... Übertragssignale für die höhere Bitposition bezeichnen.
  • Nach dem Stand der Technik, der in US-A-4752905 beschrieben ist, werden Wallace-Baumaddiererstufen, die entweder auf dem Booth-Algorithmus beruhen können oder nicht, durch eine Kombination des Übertragssicherungsaddiererarraytyps und des Wallace-Baumtyps ersetzt. Durch Einsetzen des Übertragssicherungsaddierertyps in die Wallace-Baumstufen wird die Komplexität der Eingabe-Ausgabe-Beziehungen zwischen den Addierern der v-ten Stufe und jenen der (v-1)- ten Stufe reduziert, was zu einer einfacheren Verdrahtung zwischen den Addierern führt. Jedoch wird die Geschwindigkeit langsamer, und diese Lösung ist bei Multiplizierern eines reinen Wallace-Baumtyps, auf die sich die vorliegende Erfindung bezieht, nicht machbar.
  • In einer Ausführungsform der vorliegenden Erfindung werden anstelle einer Wallace-Baumschaltung mit mehreren Eingängen wie etwa die Wallace-Baumschaltung mit 18 Eingängen 18 W von Fig. 14 Teilproduktgeneratoren, die die Wallace- Baumschaltung mit 18 Eingängen 18W von Fig. 14 enthalten, durch einen Block 18D ersetzt, der aus zwei Blöcken 9D und einer Wallace-Baumschaltung mit 4 Eingängen 4W gebildet ist, wie in Fig. 15A gezeigt. Es sei erwähnt, daß der Block 9D aus drei Blöcken 3D und einer Wallace-Baumschaltung mit 6 Eingängen 6W gebildet ist, wie in Fig. 15B gezeigt, und daß bei der vorliegenden Erfindung die Wiederholung von kleinen Schaltungen Verwendung findet, um das Layout des Multiplizierers zu vereinfachen und auch die Operationsgeschwindigkeit zu erhöhen.
  • Die erste Ausführung des Multiplizierers gemäß der vorliegenden Erfindung ist ein M-Bit · N-Bit-Multiplizierer, bei dem ein bitweises Multiplikationsverfahren ohne Booth-Decodierung, die geteilte Wallace-Baumkonfiguration und keine Vorzeichenbiterweiterung auf das höchstwertige Bit des Produktes bei positiven Binärzahlen Verwendung findet. Die Einzelheiten werden weggelassen, und nur die Bedingungen zum Realisieren dieser Art von Multiplizierer werden eingehend beschrieben.
  • Fig. 16 zeigt die zweite Ausführungsform des Multiplizierers gemäß der vorliegenden Erfindung, das heißt, einen 22-Bit · 22-Bit-Multiplizierer, bei dem der abgewandelte Booth-Algorithmus 2. Ordnung und die geteilte Wallace-Baumkonfiguration genutzt wird. Der Multiplizierer ist aus Blöcken 6D&sub3;, 6D3L, 6D4H, 6E3B, 6E3C, 6E3L, 6E4H, 4W&sub3;, 12G, 12F und einem Übertragsausbreitungsaddierer (CPA) gebildet. Es sei erwähnt, daß die Bezugszeichen B&sub0; bis B&sub2;&sub0; die Decodiersignalsätze von den Booth-Decodierern zweiter Ordnung bezeichnen, die den Multiplikatorbits b&sub0; ~ b&sub2;&sub1; entsprechen. Im folgenden werden die Einzelheiten des Multiplizierers von Fig. 16 unter Bezugnahme auf Fig. 17 bis 27 erläutert.
  • In Fig. 17, die ein detailliertes Blockschaltungsdiagramm des Blocks 6D&sub3; von Fig. 16 ist, sind 6D-Blöcke in drei Spalten gezeigt, d. h., drei Bits des Multiplikanden. Zwei Reihen Basiszellen 3D und eine Reihe eines 4W-Blocks sind in diesem Block 6D angeordnet. Die Basiszelle 3D besteht aus drei Teilproduktgeneratoren und einem Addierer mit 3 Eingängen der ersten Stufe 3W, die in derselben Spalte angeordnet sind, auf die in der Figur Bezug genommen wird. 4W in der untersten Reihe bezeichnet einen Addierer mit 4 Eingängen der zweiten Stufe. 3D(i,j) in einer oberen Reihe in der i- ten Spalte erzeugt ein Summensignal Si,j und ein Übertragssignal Ci,j an der (i+j)-ten logischen Bitposition als Ausgangssignale eines Addierers der ersten Stufe 3W. Alle drei Ausgangssignale, d. h., die Teilproduktbitsignale von den Teilproduktgeneratoren in 3D(i,j) werden dem Addierer der ersten Stufe 3W in derselben Basiszelle als Generatoren eingegeben. 3D(i,j + 6) in einer unteren Reihe in der i-ten Spalte erzeugt ein Summensignal Si,j + 6 und ein Übertragssignal Cl,j + 6 an der (i+j + 6)-ten logischen Bitposition als Ausgangssignale eines Addierers der ersten Stufe 3W. Da die zwei Basiszellen, 3D(i,j) und 3D(i,j + 6) in der i-ten Spalte, Signale an verschiedenen logischen Bitpositionen erzeugen, werden die so erzeugten Summensignale den Addierern mit 4 Eingängen der zweiten Stufe in sich voneinander unterscheidenden Spalten eingegeben. Das Summensignal Si,j, das in 3D(i,j) erzeugt wird, wird einem Addierer der zweiten Stufe 4W in der (i-3)-ten Spalte eingegeben, und das Summensignal Si,j + 6i das in 3D(i,j + 6) erzeugt wird, wird einem Addierer der zweiten Stufe in der (i + 3)-ten Spalte eingegeben. Dasselbe gilt für die Übertragssignale.
  • Das oben erwähnte Layoutschema des geteilten Wallace- Baumverfahrens unterscheidet sich völlig von dem Layout nach Stand der Technik. Zum Beispiel wird in Fig. 8 das Summensignal Si,j, das in 3D(i,j) in der oberen Reihe der i-ten Spalte erzeugt wird, einem Addierer der zweiten Stufe 4W in derselben Spalte eingegeben, und das Summensignal Si6,j + 6, das in 3D(i-6,j + 6) in der unteren Reihe der i-ten Spalte erzeugt wird, wird einem Addierer der zweiten Stufe auch in derselben Spalte eingegeben. Somit erzeugen alle Basiszellen in der i-ten Spalte solche Signale, die dem Addierer der zweiten Stufe in der i-ten Spalte eingegeben werden. Dasselbe gilt für die Übertragssignale.
  • Bei dem Layoutschema, das die vorliegende Erfindung verkörpert, verarbeitet wenigstens ein Teilproduktgenerator in jeder Basiszelle in der i-ten Spalte das i-te multiplizierte Bitsignal, um ein Teilproduktbit Pi,j zu erzeugen, falls der Generator in der j-ten Spalte ist. Da die zwei Basiszellen in derselben Spalte nicht dieselbe Reihe belegen können, bedeutet dies, daß die Teilproduktgeneratoren in der i-ten Spalte, die das i-te Multiplikandenbit verarbeiten, untereinander verschiedene Produktbits an der logischen Bitposition erzeugen, und dies führt zum Bilden von Summen- und Übertragssignalpaaren an untereinander verschiedenen logischen Bitpositionen durch die Addierer der ersten Stufe in den Basiszellen in derselben Spalte. Somit ist das Verdrahtungsschema etwas kompliziert, aber die Layoutregel, daß wenigstens ein Teilproduktgenerator in der Basiszelle in der i-ten Spalte das i-te Multiplikandenbit verarbeitet (das ist der Grund dafür, daß die Multiplikandenbitübertragungsleitungen längs einer ersten Richtung, d. h., längs einer Spaltenrichtung angeordnet sein müssen), gewährleistet, daß das Hauptarray der Basiszellen nicht bis auf (M + N) Spalten erweitert wird, sondern auf M plus einige Spalten begrenzt wird.
  • Im Gegensatz dazu sind nach dem in Fig. 7 und in WO-A- 9000773 dargestellten Stand der Technik Reihen von Zellenarrays mit (M + N) Spalten erforderlich, obwohl das Verdrahtungsschema zwischen den Addierern der v-ten und (v-1)-ten Stufe einfacher als jenes der vorliegenden Erfindung ist. In diesen Fällen brauchen die Multiplikandenbitübertragungsleitungen nicht längs einer ersten Richtung (in einer Spaltenrichtung) angeordnet zu sein, da nur ein Teilproduktgenerator in der i-ten Spalte (in der obersten Reihe) das i-te Multiplikandenbit verarbeitet und keine anderen Teilprodukt generatoren in der i-ten Spalte das i-te Multiplikandenbit verarbeiten, wie aus Fig. 7 und Fig. 8 hervorgeht. Die Einfachheit der Verbindungen zwischen Addierern verschiedener Stufen wird zu Lasten eines größeren Bereiches erreicht, der einem Zellenarray zugeordnet ist und fast das Doppelte des Bereiches im Vergleich zu der vorliegenden Erfindung im Fall von M = N ausmacht.
  • Das Verdrahtungsschema auf der Basis der vorliegenden Erfindung ist nicht zu komplex, da die Basiszellen basierend auf einer einfachen Regel in einer zweidimensionalen Ebene regelmäßig angeordnet sind. Ein Wiederholungssatz von Verdrahtungsmustern wird für Verbindungen zwischen den v-ten und (v-1)-ten Multieingangsaddierern ausreichen. Zum Beispiel erfolgt die Verdrahtung eines Summensignals von dem Addierer mit 3 Eingängen einer ersten Stufe 3W in einer Basiszelle 3D in der obersten Reihe durch Verlängern der Signalleitung um 3 Bitpositionen horizontal hin zu einer niedrigeren Multiplikandenbitposition, und dann wird sie vertikal zu dem Eingangsanschluß eines Addierers mit 4 Eingängen der zweiten Stufe 4W gezogen, der in der untersten Reihe in Fig. 17 angeordnet ist. Die Übertragssignalleitung von derselben Basiszelle wird horizontal um 2 Bitpositionen hin zu einer niedrigeren Multiplikandenbitposition verlängert und dann vertikal gezogen, um mit einem Eingangsanschluß eines 4W zu verbinden, der an einer um ein Bit höheren Position angeordnet ist. Die Summensignalleitung von einer Basiszelle in der mittleren Reihe in der Figur wird horizontal um 3 Bitpositionen hin zu einer höheren Multiplikandenbitposition verlängert und dann vertikal zu dem Eingangsanschluß eines Addierers mit 4 Eingängen der zweiten Stufe 4W gezogen, der in der untersten Reihe in Fig. 17 angeordnet ist. Die Übertragssignalleitung von derselben Basiszelle wird horizontal um 3 Bitpositionen hin zu einer höheren Multiplikandenbitposition verlängert und dann vertikal gezogen, um mit einem Eingangsanschluß eines 4W zu verbinden, der an einer um ein Bit höheren Position angeordnet ist. Somit werden die Summen- und Übertragssignalleitungen von zwei Basiszellen, die in derselben Spalte aneinandergrenzend angeordnet sind, in zueinander entgegengesetzten horizontalen Richtungen verlängert, um den Verdrahtungsbereich und die Verdrahtungslänge zu minimieren, wodurch es ermöglicht werden kann, die Leitungen über die Basiszellen zu ziehen und zusätzlichen Verdrahtungsraum einzusparen. Die Verdrahtung kann in diesem Fall mit Wiederholungsverdrahtungsmustern in jeder 3-Bit-Spalteneinheit erfolgen.
  • Ein ähnliches Verdrahtungsschema wird zum Verbinden von Addierern anderer Stufen eingesetzt. Die Verdrahtung kann in diesem Fall mit Wiederholungsverdrahtungsmustern in Einheiten von 6-Bit-Spalten erfolgen. Ein kompaktes Layout kann deshalb selbst bei Vorhandensein von Verdrahtungsleitungen zum Verbinden zwischen Addierern verschiedener Stufen möglich sein.
  • Der Block 6D&sub3;* ist eine Abwandlung des Blocks 6D&sub3;. Das heißt, in dem Block 6D&sub3;* sind zwei Signale ai - 6 und ai - 6, die den Teilproduktgeneratoren P zugeführt werden, die auf der rechten Seite des Blocks 6D&sub3; angeordnet sind, auf "0" festgelegt.
  • In Fig. 19, die ein detailliertes Blockschaltungsdiagramm des Blocks 6D3L von Fig. 16 ist, wird dieser Block 6D3L zum Verarbeiten des niedrigstwertigen Bits verwendet. In Fig. 19 ist bei dem Block 6D&sub3; von Fig. 17 eine Abwandlung hinzugekommen, um +1 zu dem Additionsresultat hinzuzuaddieren, wenn ein Decodierresultat durch einen Booth-Decodierer 2. Ordnung negativ ist.
  • In Fig. 20, die ein detailliertes Blockschaltungsdiagramm des Blocks 6D4H von Fig. 16 ist, wird dieser Block 6D4H zum Verarbeiten des höchstwertigen Bits verwendet. In Fig. 20 ist eine Abwandlung bei dem Block 6D&sub3; von Fig. 17 hinzugekommen, um ein Vorzeichen gemäß einem Decodierresultat durch einen Booth-Decodierer 2. Ordnung zu verarbeiten.
  • Es sei erwähnt, daß ein Block Ph durch Fig. 21A dargestellt wird und so konstruiert ist, wie es in Fig. 21B gezeigt ist. Ferner wird eine Wallace-Baumschaltung mit 2 Eingängen 2W durch Fig. 22A dargestellt, und sie ist wie in Fig. 22B konstruiert.
  • Es sei erwähnt, daß es einige Basiszellen gibt, deren Anzahl S kleiner als jene von anderen Basiszellen in derselben Reihe ist. Dies hängt von der Anzahl von Teilproduktbits ab, die in der Basiszelle zu verarbeiten sind, wie aus den zwei linken Spalten in Fig. 20 hervorgeht. Das heißt, in den 23. und 24. Spalten sind nur zwei Teilproduktgeneratoren zu verarbeiten, und so sind die Addierer der ersten Stufe Addierer mit zwei Eingängen 2W, und keine Addierer mit drei Eingängen. In diesen Spalten gibt es Räume, wo dem Schnittpunkt der Reihe und der Spalte kein Teilproduktgenerator zugeordnet ist, und so werden diese Räume mit Teilproduktgeneratoren gefüllt, die von der höheren Bitspalte abgezogen werden. In den Basiszellen, die in Fig. 20 in der obersten Reihe angeordnet sind, sind solche Generatoren diejenigen, die P21,j + 4 und P22,j + 4 erzeugen. Durch Anwenden dieses Schemas wird die notwendige Anzahl von Spalten zum Aufnehmen aller Teilproduktgeneratoren zum Erzeugen der vollproduktbits reduziert, und der belegte Bereich des Multiplizierers wird durch die reduzierte Anzahl kleiner. Die Anzahl von Eingängen für den Addierer der zweiten Stufe 3W in der 24. Spalte wird von vier auf drei reduziert, da nur ein Addierer der ersten Stufe an dieser logischen Bitposition vorhanden ist.
  • In Fig. 23, die ein detailliertes Blockschaltungsdiagramm des Blocks 6E3A von Fig. 16 ist, ist eine der Eingaben der Wallace-Baumschaltung der unteren Seite 3W dieses Blocks "0" oder "1", jedoch nicht das Ausgangssignal eines Teilproduktgenerators. Denn wenn ein Decodierresultat des Booth- Decodierers addiert wird, wird ein Korrekturprozeß ausgeführt, ohne jedes Decodierausgabebit bis zu dem höchstwerti gen Bit (d. h., bis zu dem 42. Bit) des Produktes zu erweitern, und deshalb wird diese Korrektur für die Addition von Bits ausgeführt, die höher als das zweite Bit sind.
  • Um eine Korrekturberechnung auszuführen, wird der Block 6E3A abgewandelt, um den Block 6E3B zu erhalten. Das heißt, eine Eingabe der Wallace-Baumschaltung der unteren Seite 3W, die zwischen ai und ai-2 angeordnet ist, ist "0", und eine Eingabe der Wallace-Baumschaltung der unteren Seite 3W, die am Bit ai-1 angeordnet ist, ist "1". Ferner wird der Block 6E3A abgewandelt, um den Block 6E3C zu erhalten. Das heißt, eine Eingabe der Wallace-Baumschaltung der unteren Seite 3W, die zwischen ai und ai-2 angeordnet ist, ist "1", und eine Eingabe der Wallace-Baumschaltung der unteren Seite 3W, die am Bit ai-1 angeordnet ist, ist "0". Die Blöcke 6E3B und 6E3C sind alternierend angeordnet. Obwohl eine der Eingaben der Wallace-Baumschaltung der rechten oberen Seite 3W "0" ist, sei erwähnt, daß in dem Block 6E3A Ausgangssignale von Teilproduktgeneratoren den Wallace-Baumschaltungen 3W in den Blöcken 6E3B und 6E3C zugeordnet werden.
  • Der Block 6E3L wird erhalten, indem der Block 6E3A auf dieselbe Weise wie bei der Abwandlung des Blocks 6D&sub3; zu dem Block 6D3L abgewandelt wird. Ferner wird der Block 6E4H erhalten, indem der Block 6E3A auf dieselbe Weise wie bei der Abwandlung des Blocks 6D&sub3; zu dem Block 6D4H abgewandelt wird.
  • In Fig. 24, die ein detailliertes Schaltungsdiagramm des Blocks 4W&sub3; von Fig. 16 ist, ist der Block 4W&sub3; aus drei Wallace-Baumschaltungen mit 4 Eingängen 4W konstruiert, wie in Fig. 4 oder 5 gezeigt.
  • In Fig. 25, die ein detailliertes Schaltungsdiagramm des Blocks 4W4H von Fig. 16 ist, ist der Block 4W4H aus drei Wallace-Baumschaltungen mit 4 Eingängen 4W konstruiert, wie in Fig. 4 oder 5 gezeigt, und aus einer Wallace-Baumschaltung mit 3 Eingängen 3W, wie in Fig. 3 gezeigt.
  • In Fig. 26, die ein detailliertes Schaltungsdiagramm des Blocks 12 G von Fig. 16 ist, ist der Block 12 G aus Wallace-Baumschaltungen mit 2 Eingängen 2W konstruiert, wie in Fig. 22A und 22B gezeigt, und aus einer Wallace-Baumschaltung mit 3 Eingängen 3W, wie in Fig. 3 gezeigt.
  • In Fig. 27, die ein detailliertes Schaltungsdiagramm des Blocks 12F von Fig. 16 ist, ist der Block 12F nur durch Verbindungen zwischen den Blöcken konstruiert.
  • In Fig. 16 bezeichnet CPA einen Addierer des Übertragsausbreitungstyps, der eine Additionsoperation für Summensignale und Übertragssignale von den Wallace-Baumschaltungen wie etwa 4W&sub3; bei jedem Bit ausführt und eine Endausgabe erhält.
  • Es sei erwähnt, daß alle Teilproduktgeneratoren in einem 25(= M + 3) · 11(= N1 = N/k bei k = 2)-Basiszellenarray angeordnet sind, und 4(=R = N1/S + 1 bei S = 3) Reihen von Addierern mit 3 Eingängen der ersten Stufe, zwei Reihen von Addierern mit 4 Eingängen der zweiten Stufe und eine Reihe von Addierern mit 4 Eingängen der dritten Stufe sind in einer Matrix des 22(= M)-Bit · 22(= N)-Bit-Multiplizierers angeordnet. Weiterhin verarbeitet ein Teilproduktgenerator, nämlich derjenige in der obersten Reihe, in der Basiszelle in der i-ten Spalte das i-te Multiplikandenbit, kommt wenigstens ein Summensignal für den Addierer der v-ten Stufe von einem Addierer der (v-1)-ten Stufe, der in einer Spalte angeordnet ist, die sich von der v-ten unterscheidet, wobei v = 2 und 3 ist, und verarbeitet jeder Satz von 3( = S) Generatoren in einer Basiszelle in der i-ten Spalte denselben Satz von Multiplikandenbitsignalen, die das i-te enthalten, wie aus den Blöcken 6D und 6E in der i-ten Spalte ersichtlich ist.
  • Somit kann in der obengenannten Ausführungsform das meiste eines Multiplizierers ausgelegt werden, indem lediglich die Blöcke 6D&sub3;, 6E3A und 4W&sub3; und deren abgewandelte Blöcke mit übereinandergelagerten Verbindungen angeordnet werden, und eine Entsprechung zwischen einer Logik und einem Layout wird in jedem Block hergestellt. Als Resultat ist die Konstruktion außerordentlich einfach, verglichen mit dem Stand der Technik. Deshalb enthält das Layoutresultat keine redundanten Bereiche, um die Integrationsdichte zu erhöhen.
  • Da ferner ein Multieingangsaddierer in Wallace-Baumschaltungen mit 4 Eingängen 4W, die eine hohe Geschwindigkeit haben, geteilt wird, wird dadurch die Operationsgeschwindigkeit vergrößert.
  • Obwohl in der obengenannten Ausführungsform der Multieingangsaddierer immer drei Bits verarbeitet, sei erwähnt, das die vorliegende Erfindung nicht darauf begrenzt ist. Zum Beispiel werden in dem Fall einer Addition für 28 Bits, wie in Fig. 28 gezeigt, die Eingänge zuerst in Gruppen von 3 Eingängen und 4 Eingängen in einem Block 7D&sub3; geteilt, und dann werden Ausgangssignale von diesen Gruppen in den Blöcken 4W addiert. Danach wird eine 28-Bit-Addition durch eine Wallace-Baumkonfiguration für jedes Bit unter Verwendung von vier Blöcken 7D&sub3; und drei Blöcken 4W ausgeführt. Bei 32 Eingängen werden Additionsblöcke mit 4 Eingängen wiederholt verwendet.
  • In Fig. 29 und 30, die Abwandlungen des Blocks 3D von Fig. 17 und dergleichen sind, ist jeder Block 3D' oder 3D" auch aus drei Teilproduktgeneratoren P und einer Wallace- Baumschaltung mit 3 Eingängen 3W gebildet. Obwohl die Wallace-Baumschaltung mit 3 Eingängen 3W des Blocks 3D von Fig. 17 oder dergleichen drei Produktsignale von den drei Teilproduktgeneratoren P innerhalb desselben Blocks 3D empfängt, empfängt die Wallace-Baumschaltung mit 3 Eingängen 3W des Blocks 3D' oder 3D" von Fig. 29 oder 30 zwei Produktsignale von den anderen Blöcken 3D' oder 3D" sowie ein Produktsignal von demselben Block. Zu diesem Zweck wird dasselbe Multiplikandenbit Eingängen aller Teilproduktgeneratoren P eines Blocks 3D' oder 3D" zugeführt. Die Schaltungen von Fig. 29 und 30 werden unten eingehend erläutert.
  • In dem Block 3D' von Fig. 29 wird ein Produktsignal des oben angeordneten Teilproduktgenerators P dem Addierer mit 3 Eingängen 3W eines Blocks zugeführt, der durch zwei Bits (= 2k-1, wobei k die Ordnung des abgewandelten Booth-Algorithmus ist) in der rechten Richtung von dem Block 3D' getrennt ist. Ferner wird ein Produktsignal des in der Mitte angeordneten Teilproduktgenerators P dem Addierer mit 3 Eingängen 3W desselben Blocks 3D' zugeführt. Ferner wird ein Produktsignal des unten angeordneten Teilproduktgenerators P dem Addierer mit 3 Eingängen 3W eines Blocks zugeführt, der durch zwei Bits (= 2k-1) in der linken Richtung von dem Block 3D' getrennt ist. Mit anderen Worten, ein Produktsignal eines Blocks, der durch zwei Bits in der linken Richtung getrennt ist, und ein Produktsignal eines Blocks, der durch zwei Bits in der rechten Richtung getrennt ist, sowie ein Produktsignal desselben Blocks 3D' werden dem Addierer mit 3 Eingängen 3W des Blocks 3D' zugeführt. Ähnlich wird in dem Block 3D" von Fig. 30 ein Produktsignal des oben angeordneten Teilproduktgenerators P dem Addierer mit 3 Eingängen 3W eines Blocks zugeführt, der durch vier Bits (= 2k) in der rechten Richtung von dem Block 3D" getrennt ist. Ferner wird ein Produktsignal des in der Mitte angeordneten Teilproduktgenerators P dem Addierer mit 3 Eingängen 3w eines Blocks zugeführt, der durch zwei Bits (2) in der rechten Richtung von dem Block 3D" getrennt ist. Ferner wird ein Produktsignal des unten angeordneten Teilproduktgenerators P dem Addierer mit 3 Eingängen 3W desselben Blocks 3D" zugeführt. Mit anderen Worten, ein Produktsignal eines Blocks, der durch vier Bits (= 2k) in der linken Richtung getrennt ist, und ein Produktsignal eines Blocks, der durch zwei Bits (= 2k-1) in der linken Richtung getrennt ist, sowie ein Produktsignal desselben Blocks 3D" werden dem Addierer mit 3 Eingängen 3W des Blocks 3D" zugeführt.
  • Ähnlich wird in einem Block 3D"' (nicht gezeigt) ein Produktsignal des unten angeordneten Teilproduktgenerators P dem Addierer mit 3 Eingängen 3W eines Blocks zugeführt, der durch vier Bits (= 2k) in der linken Richtung von dem Block 3D"' getrennt ist. Ferner wird ein Produktsignal des in der Mitte angeordneten Teilproduktgenerators P dem Addierer mit 3 Eingängen 3W eines Blocks zugeführt, der durch zwei Bits (= 2k-1) in der Richtung von dem Block 3D"' getrennt ist. Weiterhin wird ein Produktsignal des unten angeordneten Teilproduktgenerators P dem Addierer mit 3 Eingängen 3W desselben Blocks 3D"' zugeführt. Mit anderen Worten, ein Produktsignal eines Blocks, der durch vier Bits (= 2k) in der rechten Richtung getrennt ist, und ein Produktsignal eines Blocks, der durch zwei Bits in der rechten Richtung getrennt ist, sowie ein Produktsignal desselben Blocks 3D"' werden dem Addierer mit 3 Eingängen des Blocks 3D"' zugeführt.
  • Die Blöcke 3D' und 3D" von Fig. 29 und 30 werden auf einen Block angewendet, der aus vier Teilproduktgeneratoren und einer Wallace-Baumschaltung mit 4 Eingängen (Addierer) gebildet ist, wie in Fig. 31 gezeigt.
  • In einem Block 4D von Fig. 31 wird ein Produktsignal des ersten Teilproduktgenerators P dem Addierer mit 4 Eingängen 4W eines Blocks zugeführt, der durch drei Bits ( = 3 · 2) in der rechten Richtung von dem Block 4D getrennt ist. Ferner wird ein Produktsignal des zweiten Teilproduktgenerators P dem Addierer mit 4 Eingängen 4W eines Blocks zugeführt, der durch ein Bit (2k-2) in der rechten Richtung von dem Block 4D getrennt ist. Weiterhin wird ein Produktsignal des dritten Teilproduktgenerators P dem Addierer mit 4 Eingängen 4W eines Blocks zugeführt, der durch ein Bit ( = 2k-1) in der linken Richtung von dem Block 4D getrennt ist. Des weiteren wird ein Produktsignal des vierten Teilproduktgenerators P dem Addierer mit 4 Eingängen 4W eines Blocks zugeführt, der durch drei Bits (= 3 · 2k-2) in der linken Richtung von dem Block 4D getrennt ist. Mit anderen Worten, ein Produktsignal eines Blocks, der durch drei Bits in der linken Richtung getrennt ist, ein Produktsignal eines Blocks, der durch ein Bit in der linken Richtung getrennt ist, ein Produktsignal eines Blocks, der durch ein Bit in der rechten Richtung getrennt ist, und ein Produktsignal eines Blocks, der durch drei Bits in der rechten Richtung getrennt ist, werden dem Addierer mit 4 Eingängen 4W des Blocks 4D zugeführt. Fig. 32 zeigt einen Multiplizierer, der aus drei Reihen der Blöcke 3D' von Fig. 29 gebildet ist. Ein Summensignal des oberen Blocks 3D' wird um 6 Bits in der rechten Richtung verschoben und der entsprechenden Wallace- Baumschaltung mit 6 Eingängen 6 W zugeführt, und ein Übertragssignal aus dem oberen Block 3D' wird um 5 Bits in der rechten Richtung verschoben und der entsprechenden Wallace- Baumschaltung mit 6 Eingängen 6 W zugeführt. Weiterhin wird ein Summensignal des mittleren Blocks 3D' nicht verschoben und der entsprechenden Wallace-Baumschaltung mit 6 Eingängen 6 W zugeführt, und ein Übertragssignal aus dem mittleren Block 3D' wird um 1 Bit in der linken Richtung verschoben und der entsprechenden Wallace-Baumschaltung mit 6 Eingängen 6 W zugeführt. Des weiteren wird ein Summensignal des unteren Blocks 3D' um 6 Bits in der linken Richtung verschoben und der entsprechenden Wallace-Baumschaltung mit 6 Eingängen 6 W zugeführt, und ein Übertragssignal aus dem unteren Block 3D' wird um 7 Bits in der linken Richtung verschoben und der entsprechenden Wallace-Baumschaltung mit 6 Eingängen 6 W zugeführt.
  • Ähnlich werden drei Reihen der Blöcke 3D" von Fig. 30 kombiniert, um einen Multiplizierer zu bilden, wie er in Fig. 33 gezeigt ist. Das heißt, in Fig. 33Wird ein Summensignal des oberen Blocks 3D" um 12 Bits in der rechten Richtung verschoben und der entsprechenden Wallace-Baumschaltung mit 6 Eingängen 6 W zugeführt, und ein Übertragssignal aus dem oberen Block 3D' wird um 11 Bits in rechter Richtung verschoben und der entsprechenden Wallace-Baumschaltung mit 6 Eingängen 6 W zugeführt. Ferner wird ein Summensignal des mittleren Blocks 3D" um 6 Bits in der rechten Richtung verschoben und der entsprechenden Wallace- Baumschaltung mit 6 Eingängen 6 W zugeführt, und ein Übertragssignal aus dem mittleren Block 3D" wird um 5 Bits in rechter Richtung verschoben und der entsprechenden Wallace- Baumschaltung mit 6 Eingängen 6W zugeführt. Weiterhin wird ein Summensignal des unteren Blocks 3D" nicht verschoben und der entsprechenden Wallace-Baumschaltung mit 6 Eingängen 6W zugeführt, und ein Übertragssignal aus dem unteren Block 3D" wird um 1 Bit in der linken Richtung verschoben und der entsprechenden Wallace-Baumschaltung mit 6 Eingängen 6 W zugeführt.
  • In Fig. 32 und 33 sind alle Blöcke dieselben, aber es ist möglich, verschiedene Typen von Blöcken zu kombinieren. Zum Beispiel kann der Block 3D" von Fig. 33 durch den Block 3D' von Fig. 29 ersetzt werden. In diesem Fall werden die Summensignale der oberen, mittleren und unteren Blöcke 3D' um 10, 4 bzw. 0 Bits in rechter Richtung verschoben, und die Übertragssignale aus den oberen, mittleren und unteren Blöcken 3D' werden um 9 und 3 Bits in rechter Richtung bzw. 1 Bit in linker Richtung verschoben.
  • Weiterhin wird in Fig. 32 und 33, falls der Block 4D von Fig. 31 verwendet wird, ein Summensignal eines oberen Blocks um 16 Bits in rechter Richtung verschoben und dem entsprechenden Addierer mit 6 Eingängen 6W zugeführt. Ferner wird ein abgehendes Übertragssignal um 15 Bits in rechter Richtung verschoben und dem entsprechenden Addierer mit 6 Eingängen 6W zugeführt. Dasselbe gilt für die anderen Blöcke.
  • Obwohl in der oben erwähnten Ausführungsform die Verwendung eines abgewandelten Booth-Algorithmus 2. Ordnung eine Prämisse ist, kann ein abgewandelter Booth-Algorithmus höherer Ordnung wie etwa ein Drei-Bit-Booth-Algorithmus oder ein Verfahren zum direkten Multiplizieren eines Multiplikators mit einem Multiplikanden angewendet werden.
  • Gemäß der vorliegenden Erfindung kann das Layout des gesamten Multiplizierers ein Rechteck sein, wie oben erläutert, um die Integrationsdichte zu erhöhen und die Operationsgeschwindigkeit zu vergrößern. Da die Entsprechung zwischen der Logik und dem Layout einfach ist, kann weiterhin die Konstruktion von Multiplizierern leicht erfolgen.
  • Es sei erwähnt, daß der Multiplizierer gemäß der vorliegenden Erfindung durch einen integrierten Schaltungs- (IC)-Chip hergestellt werden kann.
  • Der Multiplizierer gemäß der vorliegenden Erfindung kann vorteilhafterweise in einem Multiplikationsblock einer Ganzzahlrecheneinheit (IU) oder einer Gleitkommarecheneinheit (FPU) verwendet werden, die in einem Mikroprozessor oder einem Prozessor für digitale Signalverarbeitung (DSP) inkorporiert ist. Falls ein Multiplizierer auf Grund der kleinen Integrationsdichte groß ist, ist es unmöglich, alle derartigen Multiplizierer in den oben erwähnten Einheiten zu inkorporieren. Um zum Beispiel eine 54 · 54-Bit-Multiplikation auszuführen, wird ein 54 · 27-Bit-Multiplizierer für eine Multiplikation einer Mantisse in der Einheit inkorporiert, um die Operation des Multiplizierers zweimal zu wiederholen. Als Resultat ist die Multiplikationszeit zweimal so lang wie die Additionszeit oder Subtraktionszeit. Da der Multiplizierer gemäß der vorliegenden Erfindung eine rechteckige Konfiguration mit einer regelmäßigen Anordnung hat, die Verbindungen enthält, wird in dieser Hinsicht eine hohe Integrationsdichte erreicht. Der Multiplizierer gemäß der vorliegenden Erfindung kann für solch einen 54 · 54-Bit-Multiplizierer optimiert werden, so daß die Multiplikationszeit dieselbe wie die Additionszeit oder die Subtraktionszeit ist.
  • Zum Beispiel wird der Multiplizierer gemäß der vorliegenden Erfindung auf eine Pipelinevektorprozessoreinheit angewendet, wie in Fig. 34 gezeigt. In Fig. 34 ist die Pipelinevektorprozessoreinheit zwischen einem externen Speicher 3401 und einer zentralen Verarbeitungseinheit (CPU) oder der Ganzzahlrecheneinheit (IU) 3409 verbunden. Der Pipelinevektorprozessor enthält eine Pipelineladeeinheit 3402, eine Pipelinespeichereinheit 3403, einen Bus 3404, ein Vektorregister/Skalarregister 3405, Additionsberechnungsblöcke 3406 und 3407 und eine Steuereinheit 3408. Der Berechnungsblock 3406 enthält eine Additions-/Subtraktionsschaltung (ADD) und eine Schiebeschaltung (SFT), und der Berechnungsblock 3407 enthält eine Multipliziererschaltung (MPY) und eine Divisionsschaltung (DIV). Wenn eine Multiplikation ausgeführt wird, wird eine Vektormultiplikationsinstruktion von der CPU 3409 der Steuereinheit 3408 zugeführt. In diesem Fall werden Operandendaten (Multiplikanden und Multiplikatoren), die für solch eine Multiplikation erforderlich sind, durch eine Ladeinstruktion der CPU 3409 aus dem externen Speicher 3401 geholt und über die Pipelineladeeinheit 3402 in dem Vektorregister der Vektoreinheit/ Skalareinheit 3405 gespeichert. Bei Detektion solcher Daten, die in dem Vektorregister gespeichert werden, betreibt die Steuereinheit 3408 die Multipliziererschaltung (MPY) über Multiplexer MUX, so daß ein Multiplikationsresultat wieder in dem Vektorregister gespeichert wird. In diesem Zustand bewegt die Steuereinheit 3408 bei Empfang einer Speicherinstruktion von der CPU 3409 das Multiplikationsresultat von dem Vektorregister über die Pipelinesteuereinheit 3403 zu dem externen Speicher 3401. Falls die Kapazität des Vektorregisters groß ist, sei erwähnt, daß eine Berechnung wie zum Beispiel eine Multiplikation ohne ein Holen von dem externen Speicher 3401 ausgeführt werden kann, um die Geschwindigkeit der Operation zu erhöhen.
  • Die Multipliziererschaltung von Fig. 34 ist in Fig. 35 eingehender gezeigt. In Fig. 35 bezeichnen 3501 und 3502 Register zum Empfangen eines Operanden 1 bzw. eines Operanden 2, bezeichnet 3503 eine Vorzeichen/Exponent-Ausrichtung, 3504 einen Addierer, 35 einen Subtrahierer, 3506 einen Inkrementierer, 3507 einen Überlaufdetektor, 3508 eine Mantissenausrichtung, 3509 einen Booth-Decodierer, 3510 einen Booth-Selektor und eine Wallace-Baumschaltung, 3511 einen Übertragsausbreitungsaddierer (CPA), 3512 eine Normalisierungs-/Rundungsschaltung, 3513 ein Vorzeichenregister und 3514 ein Register. Die vorliegende Erfindung betrifft den Booth-Selektor und die Wallace-Baumkonfiguration 3510.

Claims (11)

1. M · N-Bit-Multiplizierer, der umfaßt:
M Multiplikandenbitübertragungsleitungen (a&sub0;, a&sub1;, ...), die längs einer ersten Richtung (X) angeordnet sind;
N Multiplikatorbitübertragungsleitungen (b0, b1, ...), die längs einer zweiten Richtung (Y) angeordnet sind, die zu der ersten Richtung rechtwinklig ist;
M · N Teilproduktgeneratoren (P), die jeweils an einem Schnittpunkt (i, j) zwischen der i-ten Multiplikandenbitübertragungsleitung, der i-ten Spalte, und der j-ten Multiplikatorbitübertragungsleitung, der j-ten Reihe, vorgesehen sind, um ein Teilproduktbit Pr,j an der r+j-ten logischen Bitposition zu erzeugen;
R Reihen von M Multieingangsaddierern mit 5 Eingängen der ersten Stufe (4W), wobei N/S ≤ R ≤ N/S + 2 ist und jede der Addiererreihen immer zwischen S Teilproduktgeneratorreihen angeordnet ist;
wobei die S Teilproduktgeneratoren und die Addierer mit S Eingängen der ersten Stufe, die in der i-ten Spalte aneinandergrenzend angeordnet sind, eine Basiszelle bilden und wenigstens ein Teilproduktgenerator in der Zelle das i-te Multiplikandenbit verarbeitet und der Addierer in der Zelle 5 Teilproduktbits von Generatoren innerhalb oder außerhalb der Zelle komprimiert, um ein Paar von einem Summensignal Sp,q und einem Übertragssignal Cp,q an der p+q-ten logischen Bitposition zu erzeugen;
wenigstens eine Reihe von Multieingangsaddierern einer höheren Stufe (4W, 6 W), wobei jeder Addierer der v-ten Stufe, v ≥ 2, angrenzend an einen Addierer der v-1-ten Stufe in einer Spalte angeordnet ist und Paare von Summen- und Übertragssignalen von Multieingangsaddierern der v-1-ten Stufe komprimiert, wobei wenigstens ein Eingangssummensignal von einem Addierer der v-1-ten Stufe kommt, der in einer anderen Spalte als der genannte Addierer der v-ten Stufe angeordnet ist, jeder der Multieingangsaddierer der höchsten (vmx-ten) Stufe ein Endpaar von Summen- und Übertragssignalen bildet, zum Erzeugen eines Produktbits bei jedem Bit, wobei die Anzahl der Stufen (vmx) von der Anzahl R abhängt;
M · R-Basiszellen, die in einer Matrix angeordnet sind, um ein Hauptarray aus Teilproduktgeneratoren (P) und geteilten Wallace-Baumaddierern (2W, 3W, 4W) gemäß dem M · N-Teilproduktgeneratorarray und den Reihen von Multieingangsaddierern zu bilden, wobei jeder Satz von 5 Generatoren in einer Basiszelle in der i-ten Spalte denselben Satz von Multiplikandenbitsignalen verarbeitet, die das i-te Signal enthalten, um eine Layoutkonfiguration des Arrays des Multiplizierers etwa rechteckig zu machen, wobei die Matrix all die erforderlichen Teilproduktgeneratoren (P) in der erweiterten Matrix zum Erhalten des kompletten Satzes von Produktbits enthält;
und einen Übertragsausbreitungsaddierer (CPA), um die Produktbits aus den Endpaaren von Summen- und Übertragssignalen bei jedem Bit zu erzeugen.
2. M · N-Bit-Multiplizierer, der umfaßt:
M Multiplikandenbitübertragungsleitungen (a&sub0;, a&sub1;, ...), die längs einer ersten Richtung (X) angeordnet sind;
N1 Sätze von Übertragungsleitungen (Bj) für die abgewandelten Booth-Decodiersignale k-ter Ordnung, die N Multiplikatorbits entsprechen, die längs einer zweiten Richtung
(Y) angeordnet sind, die zu der ersten Richtung rechtwinklig ist, wobei N/k ≤ N1 ≤ N/k + 1 ist;
M · N1 Teilproduktgeneratoren (P), die jeweils an einem Schnittpunkt (i, j) zwischen der i-ten Multiplikandenbitübertragungsleitung, der i-ten Spalte, und dem j-ten Satz von Übertragungsleitungen, der j-ten Reihe, vorgesehen sind, um ein Teilproduktbit Pr,j an der r+j-ten logischen Bitposition zu erzeugen;
R Reihen von M Multieingangsaddierern mit S Eingängen der ersten Stufe (4W), wobei N1/S ≤ R ≤ N1/S + 2 ist und jede der Addiererreihen immer zwischen S Teilproduktgeneratorreihen angeordnet ist;
wobei die S Teilproduktgeneratoren (P) und die Addierer mit 5 Eingängen der ersten Stufe (4W), die in der i-ten Spalte aneinandergrenzend angeordnet sind, eine Basiszelle bilden und wenigstens ein Teilproduktgenerator in der Zelle das i-te Multiplikandenbit verarbeitet und der Addierer in der Zelle 5 Teilproduktbits von Generatoren innerhalb oder außerhalb der Zelle komprimiert, um ein Paar von einem Summensignal Sp,q und einem Übertragssignal Cp,q an der p+q- ten logischen Bitposition zu erzeugen;
wenigstens eine Reihe von Multieingangsaddierern einer höheren Stufe (4W, 6W), wobei jeder Addierer der v-ten Stufe, v 2, angrenzend an einen Addierer der v-1-ten Stufe in einer Spalte angeordnet ist und Paare von Summen- und Übertragssignalen von Multieingangsaddierern der v-1-ten Stufe komprimiert, wobei wenigstens ein Eingangssummensignal von einem Addierer der v-1-ten Stufe kommt, der in einer anderen Spalte als der genannte Addierer der v-ten Stufe angeordnet ist, jeder der Multieingangsaddierer der höchsten (vmx-ten) Stufe ein Endpaar von Summen- und Übertragssignalen bildet, zum Erzeugen eines Produktbits bei jedem Bit, wobei die Anzahl der Stufen (ver) von der Anzahl R abhängt;
M · R-Basiszellen, die in einer Matrix angeordnet sind, um ein Hauptarray aus Teilproduktgeneratoren (P) und geteilten Wallace-Baumaddierern (2W, 3W, 4W) gemäß dem M · N1-Teilproduktgeneratorarray und den Reihen von Multieingangsaddierern zu bilden, wobei jeder Satz von 5 Generatoren in einer Basiszelle in der i-ten Spalte denselben Satz von Multiplikandenbitsignalen verarbeitet, die das i-te Signal enthal ten, um eine Layoutkonfiguration des Arrays des Multiplizierers etwa rechteckig zu machen, wobei die Matrix all die erforderlichen Teilproduktgeneratoren in der erweiterten Matrix zum Erhalten des kompletten Satzes von Produktbits enthält;
und einen Übertragsausbreitungsaddierer (CPA), um die Produktbits aus den Endpaaren von Summen- und Übertragssignalen bei jedem Bit zu erzeugen.
3. Multiplizierer nach Anspruch 1 oder 2, bei dem wenigstens eine Basiszelle eine Anzahl S hat, die kleiner als jene von anderen Basiszellen in derselben Reihe ist, in Abhängigkeit von der Anzahl von Teilproduktbits, die in der Basiszelle zu verarbeiten sind.
4. Multiplizierer nach irgendeinem der Ansprüche 1 bis 3, bei dem alle S Teilproduktgeneratoren (P) in jeder Basiszelle in der i-ten Spalte das i-te Multiplikandenbitsignal verarbeiten und so erzeugte 5 Teilproduktbitsignale Pi, Pi,j2 ···. Pi,js jeweilig verschiedenen Addierern mit S Eingängen der ersten Stufe in derselben Reihe eingegeben werden.
5. Multiplizierer nach irgendeinem der Ansprüche 1 bis 4, bei dem nur ein Teilproduktbitsignal, Pi,j in der jten Reihe, dem Addierer mit 5 Eingängen der ersten Stufe (4W) in derselben Basiszelle eingegeben wird, um ein Signalpaar von Si,j und Ci,j an der i+j-ten logischen Bitposition zu erzeugen.
6. Multiplizierer nach Anspruch 1 oder 2, bei dem nur einer der 5 Teilproduktgeneratoren (P) in jeder Basiszelle in der i-ten Spalte das i-te Multiplikandenbitsignal verarbeitet, um Pi,j zu erzeugen, wenn der eine Teilproduktgenerator in der j-ten Reihe ist, und die anderen S-1 Teilpro duktgeneratoren die i-1-ten, die i-2-ten, die i-3-ten...
bzw. die i-(S-1)-ten Signale verarbeiten, wodurch alle so erzeugten S Teilproduktbitsignale Pi, j1, Pj..1,j+1,. Pis+1, j+s-1 den Addierern mit S Eingängen der ersten Stufe (4W) in derselben Basiszelle eingegeben werden, um ein Signalpaar von Si,j und Ci,j an der i+j-ten logischen Bitposition zu erzeugen.
7. Multiplizierer nach Anspruch 2, bei dem nur einer der S Teilproduktgeneratoren (P) in jeder Basiszelle in der i-ten Spalte das i-te Multiplikandenbitsignal verarbeitet, um Pi,j zu erzeugen, wenn der eine Teilproduktgenerator in der j-ten Reihe ist, und die anderen S-1 Teilproduktgeneratoren die i-k-ten, die i-2k-ten, die i-3k-ten, ... bzw. die i-(S-1)k-ten Signale verarbeiten, wodurch alle so erzeugten S Teilproduktbitsignale Pi, j, Pi-k, j+k,..., Pi-k-s + k, j+k-s-k den Addierern mit S Eingängen der ersten Stufe in derselben Basiszelle eingegeben werden, um ein Signalpaar von Si,j und Ci,j an der i+j-ten logischen Bitposition zu erzeugen.
8. Multiplizierer nach irgendeinem vorhergehenden Anspruch, bei dem ein Summensignal für den Multieingangsaddierer der v-ten Stufe (4W) in der 11-ten Spalte von dem Multieingangsaddierer der v-1-ten Stufe in der 12-ten Spalte kommt und ein anderes Eingangssignal für denselben Addierer der v-ten Stufe von dem Addierer der v-1-ten Stufe in der 13-ten Spalte kommt, wobei i1 &ge; 0, i2 &ge; i1+1 und i3 < i1-1 ist.
9. Multiplizierer nach Anspruch 8, bei dem die folgenden Beziehungen zwischen 11, 12 und 13 für die Multieingangsaddierer der v-ten und der v-1-ten Stufe (4W, 6 W) in dem Array gelten:
12 = i1 + i0,
13 = i1 - i0 und
i0 > 1.
10. Multiplizierer nach Anspruch 9, bei dem der Wert von 10 von v abhängig ist und 10 bei einem größeren v-Wert größer ist.
11. Multiplizierer nach Anspruch 1 oder 2, der dahingehend abgewandelt ist, daß einige der Basiszellen weniger als S Teilproduktgeneratoren und einen entsprechenden Multieingangsaddierer umfassen, um die erforderliche Anzahl von Spalten zum Aufnehmen aller Teilproduktgeneratoren zum Erzeugen des kompletten Satzes von Produktbits zu reduzieren, wobei Ausgangssignale der zwei Typen von Basiszellen einem der Multieingangsaddierer der v-ten Stufe (4W, 6 W) eingegeben werden, um dadurch Signale der entsprechenden Bitposition zu erzeugen.
DE69130652T 1990-03-20 1991-03-20 Digitaler paralleler Hochgeschwindigkeitsmultiplizierer Expired - Fee Related DE69130652T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2072384A JPH081593B2 (ja) 1990-03-20 1990-03-20 乗算器
JP3013629A JP2525083B2 (ja) 1991-02-05 1991-02-05 乗算器

Publications (2)

Publication Number Publication Date
DE69130652D1 DE69130652D1 (de) 1999-02-04
DE69130652T2 true DE69130652T2 (de) 1999-05-06

Family

ID=26349445

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69130652T Expired - Fee Related DE69130652T2 (de) 1990-03-20 1991-03-20 Digitaler paralleler Hochgeschwindigkeitsmultiplizierer

Country Status (4)

Country Link
US (1) US5465226A (de)
EP (1) EP0448367B1 (de)
KR (1) KR940002479B1 (de)
DE (1) DE69130652T2 (de)

Families Citing this family (69)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2600591B2 (ja) * 1993-11-19 1997-04-16 日本電気株式会社 乗算器
FR2722590B1 (fr) * 1994-07-15 1996-09-06 Sgs Thomson Microelectronics Circuit logique de multiplication parallele
US5771186A (en) * 1995-06-07 1998-06-23 International Business Machines System and method for multiplying in a data processing system
US5754459A (en) * 1996-02-08 1998-05-19 Xilinx, Inc. Multiplier circuit design for a programmable logic device
JP3532338B2 (ja) * 1996-02-27 2004-05-31 株式会社ルネサステクノロジ 乗算装置
JP3652447B2 (ja) * 1996-07-24 2005-05-25 株式会社ルネサステクノロジ ツリー回路
KR19990079024A (ko) 1998-03-04 1999-11-05 김영환 병렬 승산기
US6434587B1 (en) 1999-06-14 2002-08-13 Intel Corporation Fast 16-B early termination implementation for 32-B multiply-accumulate unit
US7119576B1 (en) 2000-09-18 2006-10-10 Altera Corporation Devices and methods with programmable logic and digital signal processing regions
US7346644B1 (en) 2000-09-18 2008-03-18 Altera Corporation Devices and methods with programmable logic and digital signal processing regions
JP2005182238A (ja) * 2003-12-17 2005-07-07 Renesas Technology Corp 演算装置
US7506017B1 (en) 2004-05-25 2009-03-17 Altera Corporation Verifiable multimode multipliers
US7565391B2 (en) * 2004-12-17 2009-07-21 The Regents Of The University Of California Binary digit multiplications and applications
US8620980B1 (en) 2005-09-27 2013-12-31 Altera Corporation Programmable device with specialized multiplier blocks
US8301681B1 (en) 2006-02-09 2012-10-30 Altera Corporation Specialized processing block for programmable logic device
US8266198B2 (en) 2006-02-09 2012-09-11 Altera Corporation Specialized processing block for programmable logic device
US8041759B1 (en) 2006-02-09 2011-10-18 Altera Corporation Specialized processing block for programmable logic device
US8266199B2 (en) 2006-02-09 2012-09-11 Altera Corporation Specialized processing block for programmable logic device
US7836117B1 (en) 2006-04-07 2010-11-16 Altera Corporation Specialized processing block for programmable logic device
US7822799B1 (en) 2006-06-26 2010-10-26 Altera Corporation Adder-rounder circuitry for specialized processing block in programmable logic device
US8386550B1 (en) 2006-09-20 2013-02-26 Altera Corporation Method for configuring a finite impulse response filter in a programmable logic device
US8386553B1 (en) 2006-12-05 2013-02-26 Altera Corporation Large multiplier for programmable logic device
US7930336B2 (en) 2006-12-05 2011-04-19 Altera Corporation Large multiplier for programmable logic device
US7814137B1 (en) 2007-01-09 2010-10-12 Altera Corporation Combined interpolation and decimation filter for programmable logic device
US8650231B1 (en) 2007-01-22 2014-02-11 Altera Corporation Configuring floating point operations in a programmable device
US7865541B1 (en) 2007-01-22 2011-01-04 Altera Corporation Configuring floating point operations in a programmable logic device
US8645450B1 (en) 2007-03-02 2014-02-04 Altera Corporation Multiplier-accumulator circuitry and methods
US7949699B1 (en) 2007-08-30 2011-05-24 Altera Corporation Implementation of decimation filter in integrated circuit device using ram-based data storage
US8959137B1 (en) 2008-02-20 2015-02-17 Altera Corporation Implementing large multipliers in a programmable integrated circuit device
US8244789B1 (en) 2008-03-14 2012-08-14 Altera Corporation Normalization of floating point operations in a programmable integrated circuit device
US8626815B1 (en) 2008-07-14 2014-01-07 Altera Corporation Configuring a programmable integrated circuit device to perform matrix multiplication
US8255448B1 (en) 2008-10-02 2012-08-28 Altera Corporation Implementing division in a programmable integrated circuit device
US8307023B1 (en) 2008-10-10 2012-11-06 Altera Corporation DSP block for implementing large multiplier on a programmable integrated circuit device
US8645449B1 (en) 2009-03-03 2014-02-04 Altera Corporation Combined floating point adder and subtractor
US8805916B2 (en) 2009-03-03 2014-08-12 Altera Corporation Digital signal processing circuitry with redundancy and bidirectional data paths
US8706790B1 (en) 2009-03-03 2014-04-22 Altera Corporation Implementing mixed-precision floating-point operations in a programmable integrated circuit device
US8886696B1 (en) 2009-03-03 2014-11-11 Altera Corporation Digital signal processing circuitry with redundancy and ability to support larger multipliers
US8468192B1 (en) 2009-03-03 2013-06-18 Altera Corporation Implementing multipliers in a programmable integrated circuit device
US8549055B2 (en) 2009-03-03 2013-10-01 Altera Corporation Modular digital signal processing circuitry with optionally usable, dedicated connections between modules of the circuitry
US8650236B1 (en) 2009-08-04 2014-02-11 Altera Corporation High-rate interpolation or decimation filter in integrated circuit device
US8412756B1 (en) 2009-09-11 2013-04-02 Altera Corporation Multi-operand floating point operations in a programmable integrated circuit device
US8396914B1 (en) 2009-09-11 2013-03-12 Altera Corporation Matrix decomposition in an integrated circuit device
US7948267B1 (en) 2010-02-09 2011-05-24 Altera Corporation Efficient rounding circuits and methods in configurable integrated circuit devices
US8539016B1 (en) 2010-02-09 2013-09-17 Altera Corporation QR decomposition in an integrated circuit device
US8601044B2 (en) 2010-03-02 2013-12-03 Altera Corporation Discrete Fourier Transform in an integrated circuit device
US8458243B1 (en) 2010-03-03 2013-06-04 Altera Corporation Digital signal processing circuit blocks with support for systolic finite-impulse-response digital filtering
US8484265B1 (en) 2010-03-04 2013-07-09 Altera Corporation Angular range reduction in an integrated circuit device
US8510354B1 (en) 2010-03-12 2013-08-13 Altera Corporation Calculation of trigonometric functions in an integrated circuit device
US8539014B2 (en) 2010-03-25 2013-09-17 Altera Corporation Solving linear matrices in an integrated circuit device
US8589463B2 (en) 2010-06-25 2013-11-19 Altera Corporation Calculation of trigonometric functions in an integrated circuit device
US8862650B2 (en) 2010-06-25 2014-10-14 Altera Corporation Calculation of trigonometric functions in an integrated circuit device
US8577951B1 (en) 2010-08-19 2013-11-05 Altera Corporation Matrix operations in an integrated circuit device
US8645451B2 (en) 2011-03-10 2014-02-04 Altera Corporation Double-clocked specialized processing block in an integrated circuit device
US9600278B1 (en) 2011-05-09 2017-03-21 Altera Corporation Programmable device using fixed and configurable logic to implement recursive trees
US8812576B1 (en) 2011-09-12 2014-08-19 Altera Corporation QR decomposition in an integrated circuit device
US9053045B1 (en) 2011-09-16 2015-06-09 Altera Corporation Computing floating-point polynomials in an integrated circuit device
US8949298B1 (en) 2011-09-16 2015-02-03 Altera Corporation Computing floating-point polynomials in an integrated circuit device
US8762443B1 (en) 2011-11-15 2014-06-24 Altera Corporation Matrix operations in an integrated circuit device
US8543634B1 (en) 2012-03-30 2013-09-24 Altera Corporation Specialized processing block for programmable integrated circuit device
US9098332B1 (en) 2012-06-01 2015-08-04 Altera Corporation Specialized processing block with fixed- and floating-point structures
US8996600B1 (en) 2012-08-03 2015-03-31 Altera Corporation Specialized processing block for implementing floating-point multiplier with subnormal operation support
US9207909B1 (en) 2012-11-26 2015-12-08 Altera Corporation Polynomial calculations optimized for programmable integrated circuit device structures
US9189200B1 (en) 2013-03-14 2015-11-17 Altera Corporation Multiple-precision processing block in a programmable integrated circuit device
US9348795B1 (en) 2013-07-03 2016-05-24 Altera Corporation Programmable device using fixed and configurable logic to implement floating-point rounding
US9379687B1 (en) 2014-01-14 2016-06-28 Altera Corporation Pipelined systolic finite impulse response filter
US9684488B2 (en) 2015-03-26 2017-06-20 Altera Corporation Combined adder and pre-adder for high-radix multiplier circuit
US10089110B2 (en) * 2016-07-02 2018-10-02 Intel Corporation Systems, apparatuses, and methods for cumulative product
US10942706B2 (en) 2017-05-05 2021-03-09 Intel Corporation Implementation of floating-point trigonometric functions in an integrated circuit device
US11269629B2 (en) 2018-11-29 2022-03-08 The Regents Of The University Of Michigan SRAM-based process in memory system

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4168530A (en) * 1978-02-13 1979-09-18 Burroughs Corporation Multiplication circuit using column compression
JPS55105732A (en) * 1979-02-08 1980-08-13 Nippon Telegr & Teleph Corp <Ntt> Multiplier
US4545028A (en) * 1982-10-13 1985-10-01 Hewlett-Packard Company Partial product accumulation in high performance multipliers
JPS60237534A (ja) * 1984-05-09 1985-11-26 Toshiba Corp 並列乗算器
JPS61114338A (ja) * 1984-11-09 1986-06-02 Hitachi Ltd 乗算器
US4748582A (en) * 1985-06-19 1988-05-31 Advanced Micro Devices, Inc. Parallel multiplier array with foreshortened sign extension
US4745570A (en) * 1986-05-27 1988-05-17 International Business Machines Corporation Binary multibit multiplier
JPS6355627A (ja) * 1986-08-27 1988-03-10 Toshiba Corp 半導体論理演算装置
JPH01134527A (ja) * 1987-11-19 1989-05-26 Mitsubishi Electric Corp 乗算器
DE3823722A1 (de) * 1988-07-13 1990-01-18 Siemens Ag Multiplizierer

Also Published As

Publication number Publication date
EP0448367A3 (en) 1993-01-07
DE69130652D1 (de) 1999-02-04
EP0448367A2 (de) 1991-09-25
EP0448367B1 (de) 1998-12-23
US5465226A (en) 1995-11-07
KR940002479B1 (ko) 1994-03-24

Similar Documents

Publication Publication Date Title
DE69130652T2 (de) Digitaler paralleler Hochgeschwindigkeitsmultiplizierer
DE3854321T2 (de) Populationszählung in Rechnersystemen.
DE69838877T2 (de) Architektur eines schnellen regulären multiplizierers
DE69834942T2 (de) Vorrichtung zum Multiplizieren
DE3686681T2 (de) Parallelmultiplizierer.
DE10085322B4 (de) Schaltungsanordnung, Verfahren und Datenverarbeitungs-Einrichtung zum Durchführen einer Ein-Zyklus-Addition oder -Subtraktion und eines Vergleichs bei einer Arithmetik redundanter Form
DE3700991C2 (de) Digitaler Übertragsvorgriffsaddierer
DE69731700T2 (de) Arithmetischer Schaltkreis und arithmetisches Verfahren
DE69032811T2 (de) Verfahren und System zur modularen Multiplikation
DE69821408T2 (de) Multiplikationsverfahren und -vorrichtung
DE102020105536A1 (de) Maschinenlerntrainingsarchitektur für programmierbare Vorrichtungen
DE3789132T2 (de) Digitale Multipliziererarchitektur mit Dreifachgitter zur Summation von Teilprodukten.
DE19758079A1 (de) Verfahren und Vorrichtung zur Galoisfeld-Multiplikation
DE3927009A1 (de) Addierschaltung
DE69129723T2 (de) Prozessorelement für Datenakkumulationsrechnungen, Verarbeitungseinheit und Prozessor
DE102020113922A1 (de) Multipliziererschaltungsanordnung mit reduzierter latenz für sehr grosse zahlen
DE10105945A1 (de) Linearsummierungsmultipliziererarrayimplementie-rung sowohl zur vorzeichenbehafteten als auch zur vorzeichenlosen Multipliaktion
DE102007014808A1 (de) Multiplizier- und Multiplizier- und Addiereinheit
DE2018452A1 (de) Arithmetische Einrichtung
DE69025182T2 (de) Digitaler prozessor für zweierkomplementberechnungen
DE102007056104A1 (de) Verfahren und Vorrichtung zur Multiplikation von Binäroperanden
DE10357661A1 (de) Modularer Montgomery-Multiplizierer und zugehöriges Multiplikationsverfahren
DE69032391T2 (de) Mehrere Bit umkodierender Multiplizierer
DE2730918A1 (de) Anordnung zum multiplizieren von binaerzahlen
DE69900142T2 (de) Verfahren zur Ausführung der modularen Multiplikation nach der Montgomery-Methode

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee