DE19711005C2 - Baumschaltung zur Addition von Teilprodukten im Booth-Algorithmus - Google Patents

Baumschaltung zur Addition von Teilprodukten im Booth-Algorithmus

Info

Publication number
DE19711005C2
DE19711005C2 DE19711005A DE19711005A DE19711005C2 DE 19711005 C2 DE19711005 C2 DE 19711005C2 DE 19711005 A DE19711005 A DE 19711005A DE 19711005 A DE19711005 A DE 19711005A DE 19711005 C2 DE19711005 C2 DE 19711005C2
Authority
DE
Germany
Prior art keywords
outputs
inputs
bit
adder
addition block
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
DE19711005A
Other languages
English (en)
Other versions
DE19711005A1 (de
Inventor
Yoshiki Tsujihashi
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Publication of DE19711005A1 publication Critical patent/DE19711005A1/de
Application granted granted Critical
Publication of DE19711005C2 publication Critical patent/DE19711005C2/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/50Adding; Subtracting
    • 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)
  • Engineering & Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Complex Calculations (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Description

Die Erfindung betrifft eine Baumschaltung zur Addition einer Vielzahl von Teilprodukten, die gemäß dem Booth-Algorithmus erzeugt werden, wobei die Teilprodukte jeweils ein erstes Element mit einer Vielzahl von Bits an unterschiedlichen Bitpositionen und ein zweites Element mit nur einem Bit aufweisen, wobei die Bitposition des zweiten Elements mit einer Bitposition des ersten Elements übereinstimmt und wobei das erste Element und das zweite Element als Eingangssignale der Baumschaltung zugeführt werden.
Aus der US 5,181,185 ist eine Parallel-Multipliziervorrichtung zur Multiplikation eines Multiplikanden und eines Multipli­ kators bekannt, die jeweils in Zweierkomplement-Darstellung beschrieben sind. Die bekannte Parallel-Multipliziervorrichtung weist einen Booth-Codierer zum Codieren des Multiplikators gemäß einem modifizierten Booth-Algorithmus auf. Sowohl der Multiplikand als auch der Multiplikator werden durch n Bits dargestellt, so daß der Booth-Codierer n/2-1 Sätze von jeweils drei Ausgabesignalen ausgibt, die den Multiplikator repräsentieren. In einer ersten Addiervorrichtung zum Auf­ bereiten der Ausgabesignale des Booth-Codierers und den Multiplikanden werden die Ausgabesignale bitweise mit dem Multiplikanden multipliziert und derart aufbereitet, daß insgesamt n/log(n/2) Eingangssignale für eine zweite Addier­ vorrichtung zur Verfügung stehen. Die Eingangssignale weisen jeweils n Bits bzw. Komponenten auf. Die zweite Addiervor­ richtung ist als Baumstruktur ausgeführt. Jeweils eine Vielzahl der Eingangssignale wird in einer ersten Additionsstufe der Baumstruktur in einem von mehreren Additionsblöcken addiert. Die Additionsblöcke geben jeweils zwei Zwischensummen in Form eines Summenanteils und eines Übertragungsanteils der Addition aus. Die Zwischensummen werden in weiteren Additionsstufen der Baumstruktur zu insgesamt zwei resultierenden Zwischensummen komprimiert, die in einer nachgeschalteten dritten Addiervorrichtung, die eine Endaddiervorrichtung ist, zu dem Endergebnis der Multiplikation addiert werden. Bei einer solchen Lösung erfolgt keine effektive Auslastung der Additionsblöcke mit dem Problem, daß die Erzeugung resultierender Zwischensummen zuviel Zeit in Anspruch nimmt.
In IBM Technical Disclosure Bulletin, Vol. 16, Nr. 7, Dezember 1973, Seiten 2053 bis 2054, ist eine Multiplikationsvorrichtung zur Multiplikation eines Multiplikanden und eines Multi­ plikators, die in Zweierkomplement-Darsellung beschrieben sind, um ein Produkt zu erhalten, offenbart. Eine Vier-Bit-Addier­ stufe der Multiplikationsvorrichtung weist Eingänge für vier Bits von Teilprodukten des Multiplikanden und des Multipli­ kators auf.
Eine Addition der Teilprodukte zur Ausgabe zweier resultie­ render Zwischensummen erfolgt in Zeiten aufeinanderfolgender Zyklen, wobei in jedem Zyklus die momentan anliegenden Ein­ gangssignale der vier Bits zu einem Summenanteil und einem Übertagungsanteil addiert und an eine ausgangsseitig nachge­ schaltete Vier-Bit-Addierstufe ausgegeben werden. In einem nachfolgenden Zyklus werden in der nachgeschalteten Adddier­ stufe die Eingangssignale zu einem Summenanteil und einen Übertragungsanteil addiert und als resultierende Zwischensummen des Zyklus an eine Endaddiervorrichtung zur Berechnung des Multiplikationsergebnisses ausgegeben.
Weiterhin werden bei dieser bekannten Lösung die resultierenden Zwischensummen jedes Zyklus als drittes und viertes Eingangs­ signal der zweiten Addierstufe rückgekoppelt. Auf diese Weise findet eine sequentielle Addition der Teilprodukte statt, sowohl in zeitlicher Hinsicht als auch hinsichtlich einer Folge von nacheinander geschalteten Addierstufen.
IEEE Jorunal of Solid-State Circuits, Vol. 26, Nr. 4, Seite 606 offenbart einen Array-Multiplizierer, der in CMOS-Technologie realisiert wurde. Die dort genutzte Baumstruktur zeigt aus­ schließlich reguläre Additionsblöcke und es wird auf die Anwendung eines Booth-Algorithmus zurückgegriffen.
Es ist weiterhin Stand der Technik, Mikroprozessoren und digitale Signalprozessoren mit einer Parallel-Multiplizier­ vorrichtung zur schnellen Ausführung von Multiplikationsbefehlen auszurüsten. Eine solche Parallel-Multiplizierschaltung erzeugt eine Vielzahl von Teilprodukten aus Multiplikator und Multiplikand als Eingabeoperanden für die Multiplikation und addiert diese Teilprodukte, um ein Multiplikationsresultat, d. h. ein Produkt zu erhalten. Hierbei gilt es, die Anzahl der zu erzeugenden Teilprodukte zu verringern. Um dieses Ziel zu erreichen, wird, wie dargelegt, der Booth-Algorithmus, beson­ ders der sekundäre Booth-Algorithmus genutzt. Ein weiteres Ziel besteht darin, eine schnelle Addition einer Vielzahl der Teil­ produkte auszuführen. Hierfür ist eine Schaltungsanordnung zum Erreichen einer Paralleloperation von schnellen Additionsschal­ tungen notwendig.
Nachfolgend wird eine nicht vorveröffentlichte 32 Bit × 32 Bit- Multipliziervorrichtung zum Verständnis der gegebenen Pro­ blematik erläutert.
Durch Erzeugung eines Teilprodukts für jedes Bit des Multi­ plikators Y werden 32 Teilprodukte erzeugt und diese Teilpro­ dukte müssen addiert werden. Gemäß dem sekundären Booth-Algo­ rithmus wird jedoch ein Satz von drei benachbarten Bits des Multiplikators Y als eine Einheit behandelt, um die Anzahl der Teilprodukte zu verringern. Auf diese Weise wird das erste Ziel erreicht.
Genauer wird unter der Annahme, daß yi (i = 0 bis 31) 0 oder 1 ist, der Multiplikator Y unter Verwendung einer 32-Bit-Zahl mit Vorzeichen in Zweierkomplementdarstellung ausgedrückt als
Das Produkt Z wird dann ausgedrückt als
(worin Y-1 ∼ 0).
Somit ist es zum Erhalten des Produktes Z nur erforderlich, 16 Teilprodukte Pj (j = 0 bis 15) zu addieren.
Tabelle 1 zeigt eine Wahrheitstabelle des sekundären Booth- Algorithmus.
Tabelle 1
In Tabelle 1 bezeichnet "~" eine logische Umkehrung, und es gibt acht Kombinationen von möglichen Werten von drei benach­ barten Bits des Multiplikators Y. Entsprechend wird das Teil­ produkt Pj einer der Werte 0, +X . 2j, +X . 2j+1, -X . 2j, -X . 2j+1. Bei einer binären digitalen Arithmetikoperation, die das Zweier­ komplementdarstellungssystem verwendet, wird die "Multipli­ kation von Daten mit zwei" erreicht, indem die gesamten Daten um ein Bit nach oben verschoben werden, und eine "Vorzeichen- Umkehrung" wird erreicht, indem alle Bits der Daten umgekehrt werden (wodurch der Wert des ersten Elementes ppj des Teil­ produkts umgekehrt wird) und 1 zu dem wertniedrigsten Bit addiert wird (wodurch das zweite Element pcj des Teilprodukts "1" wird). Anschließend wird das Teilprodukt Pj ausgedrückt als
Pj = (ppj + pcj) . 22j (3)
Um demgemäß die sechzehn Teilprodukte P0 bis P15 zu addieren, die gemäß dem sekundären Booth-Algorithmus erzeugt wurden, ist es erforderlich, das erste Element ppj, das dreiunddreißig Bits des Teilprodukts hat, dessen wertniedrigstes Bit das Bit an der Stelle 2j ist, wenn j = 0 bis 15 (im einzelnen liegen die Bitpositionen im Bereich von 2j bis 2j + 32 und die Position, die um ein Bit höher als die zweiunddreißigste Bitposition ist, wird aufgrund der Möglichkeit, 32-Bit-Daten mit 2 zu multiplizieren benötigt), und das zweite Element pcj zu addieren, das ein Bit des Teilprodukts an dem Bit an der Stelle 2j hat (mit anderen Worten stellt 22j die Ordnung des ersten und des zweiten Elements dar).
Zur Ausführung einer schnellen Addition von Teilprodukten, werden typischerweise eine Übertragspeicherungstechnik, eine Wallace-Baumtechnik und dergleichen als das Schaltungssystem zum Erreichen der Paralleloperation von schnellen Addierschal­ tungen verwendet. Bei Verwendung einer dieser Techniken werden eine Vielzahl (hier sechzehn) von Zwischensummen in Form eines Turniers addiert, während sie komprimiert werden, um schließ­ lich zwei Zwischensummen zu schaffen (die Summen werden im folgenden als "sich ergebende Zwischensummen" bezeichnet). Während des Prozesses erzeugte Übertragssignale, um die sich ergebenden Zwischensummen zu erhalten, werden in die Addition in der nachfolgenden Stufe verschoben. Die Weiterleitungen der Übertragssignale in Bits höherer Ordnung werden parallel ausgeführt und ein kritischer Pfad (Pfad zur Steuerung der Geschwindigkeit der Schaltungsoperation) wird insgesamt verkürzt, um so eine rasche Addition sicherzustellen.
Die abschließende Addition der zwei sich ergebenden Zwischen­ summen ergibt ein Produkt des Multiplikanden und des Multi­ plikators. Die abschließende Addition wird für die zwei Summen, die jeweils aus einer Vielzahl von Bits bestehen, mit hoher Geschwindigkeit unter Verwendung beispielsweise eines Parallelübertragsystems ausgeführt. Die abschließende Addition wird nicht erörtert, da diese Technik bekannt ist.
Die Technik der Addition einer Vielzahl von Teilprodukten in Form eines Turniers unter sequentieller Komprimierung, um schließlich die zwei sich ergebenden Zwischensummen zu erzeugen, wird nachstehend beschrieben.
Fig. 13 ist ein Blockdiagramm nach dem Stand der Technik zur Implementierung der Wallace-Baumtechnik. In dieser Figur sind Additionsblöcke 22a bis 22g mit 4 Eingängen und 2 Ausgängen in einer Baumstruktur miteinander verbunden. Ferner ist ein Additionsblock 24a mit 3 Eingängen und 2 Ausgängen vorgesehen, der ein Ausgangssignal des Additionsblocks 22g mit 4 Eingängen und 2 Ausgängen aufnimmt.
Fig. 14A bis 14C sind Blockdiagramme, die gemeinsam die Details aus Fig. 13 zeigen. Fig. 14 ist eine schematische Darstellung, die die Verbindung zwischen Fig. 14A bis 14C zeigt. Fig. 14A geht an einer virtuellen Linie Q19-Q19 in Fig. 14B über und Fig. 14B geht an einer virtuellen Linie Q20-Q20 in Fig. 14C über. Die Breite jedes Additionsblocks entspricht seiner Bit-Breite und die Position in horizontaler Richtung entspricht der Bit-Position.
Fig. 15A bis 15C sind Blockdiagramme, die gemeinsam eine Konfiguration des Additionsblocks 22a mit 4 Eingängen und 2 Ausgängen darstellt. Fig. 15A geht an einer virtuellen Linie Q22-Q22 in Fig. 15B über und Fig. 15B geht an einer virtu­ ellen Linie Q23-Q23 in Fig. 15C über. Der Additionsblock 22a mit 4 Eingängen und 2 Ausgängen besteht aus 35 Addiergliedern 200 mit 4 Eingängen und 2 Ausgängen jeweils für ein Bit, die in Reihe geschaltet sind. Ein Übertrag für eine nächsthöhere Stelle Co des Addiergliedes 200 mit 4 Eingängen und 2 Ausgängen in jeder Bit-Position wird zu einem Übertrag von einer vorhergehenden Stelle Ci des Addiergliedes 200 mit 4 Eingängen und 2 Ausgängen in der nächsthöheren Bit-Position. Wenn der Übertrag für eine nächsthöhere Stelle Co nicht von dem Übertrag von einer vorhergehenden Stelle Ci in einem Addierglied mit 4 Eingängen und 2 Ausgängen für ein Bit abhängig ist, wird der Übertrag für eine nächsthöhere Stelle Co nicht innerhalb des Additionsblocks mit 4 Eingängen und 2 Ausgängen, der aus den in Reihe verbundenen Addiergliedern mit 4 Eingängen und 2 Aus­ gängen besteht, über das nächste Bit weitergeleitet.
Bei der Addition von Teilprodukten nach dem Stand der Technik, wie in Fig. 14A bis 14C gezeigt, ist der Additionsblock 24a mit 3 Eingängen und 2 Ausgängen in der vierten Stufe nur zum Addieren des zweiten Elements pc15, das ein Bit des Teil­ produkts hat, mit dem unteren Ausgangssignal so27 und dem oberen Ausgangssignal co27 des Additionsblocks 22g mit 4 Ein­ gängen und 2 Ausgängen erforderlich. Das zweite Element pc15 des Teilprodukts ist ein Hindernis bei der Beschleunigung der Multipliziervorrichtung und der Additionsblock 24a mit 3 Ein­ gängen und 2 Ausgängen ist ein Hindernis für die hohe Inte­ gration der Schaltung.
Genauer ausgedrückt wird die Geschwindigkeit der Multipli­ ziervorrichtung wie folgt geschätzt. Der Additionsblock 24a mit 3 Eingängen und 2 Ausgängen besteht aus Addiergliedern 400 mit 3 Eingängen und 2 Ausgängen jeweils für ein Bit, die in Reihe geschaltet sind, von welchen eines in einem Schaltbild in Fig. 16 gezeigt ist. Die Wahrheitstabelle des Addiergliedes 400 mit 3 Eingängen und 2 Ausgängen ist in Tabelle 2 gezeigt.
Tabelle 2
Allgemein ist die Verzögerungszeit einer Stufe eines Exklusiv- ODER-Gatters (im folgenden als "XOR" bezeichnet) größer als diejenige eines anderen AND- oder OR-Gatters oder eines Verbund-Gatters und entspricht etwa zwei Stufen derselben. Beispielsweise führt der kritische Pfad des Addiergliedes 400 mit 3 Eingängen und 2 Ausgängen von Fig. 16 durch zwei Stufen von XORs.
Fig. 17 ist ein Blockdiagramm, das eine Konfiguration des Addiergliedes 200 mit 4 Eingängen und 2 Ausgängen zeigt. Das Addierglied 200 mit 4 Eingängen und 2 Ausgängen für ein Bit kann aus zwei Addiergliedern 400 mit 3 Eingängen und 2 Aus­ gängen für ein Bit gebildet sein. In diesem Fall führt der kritische Pfad des Addiergliedes durch vier Stufen von XORs.
Mit der Konfiguration des Addiergliedes 200 mit 4 Eingängen und 2 Ausgängen kann die in diesem Fall erforderliche Verzögerungs­ zeit weiter verringert werden. Tabelle 3 zeigt eine Wahrheits­ tabelle einer beispielhaften Funktion, die das Addierglied 200 mit 4 Eingängen und 2 Ausgängen erfüllen sollte.
Tabelle 3
Fig. 18 ist ein Schaltbild einer beispielhaften Schaltung, die die Wahrheitstabelle von Tabelle 3 erfüllt. Der kritische Pfad ist ein Pfad, um ein Ausgangssignal SO des Addiergliedes 200 mit 4 Eingängen und 2 Ausgängen zu erhalten. Das Ausgangssignal SO ist ein Exklusiv-OR von fünf Signalen, das heißt Eingangssignalen A, B, C, D und einem Übertragsignal von einer vorhergehenden Stelle Ci. Wie aus Fig. 18 ersichtlich ist, werden das Exklusiv-OR der Eingangssignale A und B und das Exklusiv-OR der Eingangssignale C und D parallel verarbeitet und schließlich führt der kritische Pfad durch drei Stufen von XORs. Der Einfachheit halber wird bei der nachfolgenden Erörterung angenommen, daß die Verzögerung des Addiergliedes 400 mit 3 Eingängen und 2 Ausgängen zwei Stufen von XORs ist und diejenige des Addiergliedes 200 mit 4 Eingängen und 2 Ausgängen drei Stufen von XORs ist.
Da der Übertrag für eine nächsthöhere Stelle Co nicht über das nächste Bit weitergeleitet wird, wie vorstehend beschrieben, sind die Verzögerungszeiten der Additionsblöcke 22a bis 22g und 24a direkt von den Verzögerungszeiten der Addierglieder 200 oder 400 abhängig.
Unter der Voraussetzung, daß der Multiplikand X und der Mul­ tiplikator Y als Eingangssignale der Multipliziervorrichtung zur selben Zeit eingegeben werden, werden die Werte der ersten Elemente pp0 bis pp15 und der zweiten Elemente pc0 bis pc15 des gemäß dem sekundären Booth-Algorithmus erzeugten Teilprodukts zur selben Zeit bestimmt.
In diesen Additionsblöcken von Fig. 14A bis 14C wird die Ad­ dition in der Reihenfolge der ersten Stufe der Baumschaltung (die Additionsblöcke 22a bis 22d mit 4 Eingängen und 2 Aus­ gängen), der zweiten Stufe (die Additionsblöcke 22e und 22f mit 4 Eingängen und 2 Ausgängen), der dritten Stufe (der Ad­ ditionsblock 22g mit 4 Eingängen und 2 Ausgängen) und der vierten Stufe (der Additionsblock 24a mit 3 Eingängen und 2 Ausgängen) ausgeführt. Entsprechend beträgt die Verzögerungszeit von der Bestimmung der ersten Elemente pp0 bis pp15 und der zweiten Elemente pc0 bis pc15 des Teilprodukts bis zu der Bestimmung des unteren Ausgangssignals so28 und des oberen Ausgangssignals co28 des Additionsblocks 24a mit 3 Eingängen und 2 Ausgängen als die beiden sich ergebenden Zwischensummen elf (= 3 × 3 + 2) Stufen von XORs, da der kritische Pfad durch drei Stufen von Additionsblöcken mit 4 Eingängen und 2 Ausgängen und eine Stufe eines 3-2-Additionsblocks führt.
Die Baumschaltung zum Addieren von sechzehn Teilprodukten zur Erzeugung der beiden sich ergebenden Zwischensummen, die hauptsächlich aus Additionsblöcken mit 4 Eingängen und 2 Aus­ gängen in Fig. 14A gebildet ist, kann auch in anderen Stufen als der Endstufe der Baumschaltung aus Additionsblöcken mit 3 Eingängen und 2 Ausgängen gebildet sein.
Fig. 19 ist ein Blockdiagramm, das eine Konfiguration einer Baumschaltung zeigt, die zum größeren Teil aus Additionsblöcken mit 3 Eingängen und 2 Ausgängen aufgebaut ist. Fig. 20A bis 20D sind Blockdiagramme, die gemeinsam Details von Fig. 19 zeigen. Fig. 20 ist eine schematische Darstellung, die die Verbindung zwischen Fig. 20A bis 20D zeigt. Fig. 20A geht an einer virtuellen Linie Q29-Q29 in Fig. 20B über und Fig. 20B geht in Fig. 20C an einer virtuellen Linie Q31-Q31 über. Wie in Fig. 14A bis 14C entspricht die Breite jedes Additionsblocks seiner Bit-Breite und die Position in horizontaler Richtung entspricht der Bit-Position.
Ausgangssignale von Additionsblöcken 32a bis 32d mit 4 Ein­ gängen und 2 Ausgängen werden in Additionsblöcke 34a bis 34c mit 3 Eingängen und 2 Ausgängen eingegeben, Ausgangssignale von den Additionsblöcken 34a bis 34c mit 3 Eingängen und 2 Ausgängen werden in Additionsblöcke 34d bis 34e mit 3 Eingängen und 2 Ausgängen eingegeben und Ausgangssignale von den Additionsblöcken 34d bis 34e mit 3 Eingängen und 2 Ausgängen werden in einen Additionsblock 32e mit 4 Eingängen und 2 Aus­ gängen ausgegeben. Die Additionsblöcke mit 4 Eingängen und 2 Ausgängen geben ein unteres Ausgangssignal so40 und ein oberes Ausgangssignal co40 als die beiden sich ergebenden Zwischensummen aus.
Anders als bei der Baumschaltung von Fig. 13 werden die zweiten Elemente pcj in der Reihenfolge von j gesammelt und in den Additionsblock 32a mit 4 Eingängen und 2 Ausgängen als ppc eingegeben. Dies wird ausgedrückt als
In Fig. 19 und 20A bis 20D wird die Addition in der Reihen­ folge der ersten Stufe der Baumschaltung (die Additionsblöcke 32a bis 32d mit 4 Eingängen und 2 Ausgängen), der zweiten Stufe (die Additionsblöcke 34a bis 34c mit 3 Eingängen und 2 Ausgängen), der dritten Stufe (die Additionsblöcke 34d und 34e mit 3 Eingängen und 2 Ausgängen) und der vierten Stufe (der Additionsblock 32e mit 4 Eingängen und 2 Ausgängen) ausgeführt. Entsprechend beträgt die Verzögerungszeit von der Bestimmung der ersten Elemente pp0 bis pp15 und der zweiten Elemente pc0 bis pc15 des Teilprodukts bis zu der Bestimmung des unteren Ausgangssignals so40 und des oberen Ausgangssignals co40 des Additionsblocks 32e mit 4 Eingängen und 2 Ausgängen als die beiden sich ergebenden Zwischensummen 10 (= 3 × 2 + 2 × 2) Stufen von XORs, da der kritische Pfad durch zwei Stufen von Additionsblöcken mit 4 Eingängen und 2 Ausgängen und zwei Stufen von Additionsblöcken mit 3 Eingängen und 2 Ausgängen führt. Somit ist in dieser Konfiguration im Vergleich zu derjenigen von Fig. 13 und Fig. 14A bis 14C die Verzögerungszeit verbessert.
Es bestehen jedoch die Nachteile, daß die Anzahl der Additi­ onsblöcke um zwei zunimmt und der Schaltungsumfang vergrößert wird. Das resultiert daraus, daß der Additionsblock mit 3 Eingängen und 2 Ausgängen ein Eingangssignal weniger parallel verarbeitet, obgleich seine Verzögerungszeit kürzer ist als diejenige eines Additionsblocks mit 4 Eingängen und 2 Ausgän­ gen.
Fig. 21 ist ein Blockdiagramm einer Baumschaltung zur Erzeu­ gung der sich ergebenden Zwischensummen in einer Schaltung zur Multiplikation eines Multiplikanden und eines Multiplikators von 24-Bit-Zahlen mit Vorzeichen in Zweierkomplementdar­ stellung, um ein Produkt einer 48-Bit-Zahl mit Vorzeichen in Zweierkomplementdarstellung zu erhalten. In dieser Schaltung werden gemäß dem sekundären Booth-Algorithmus zwölf Teilpro­ dukte erzeugt und in Form eines Turniers addiert, während sie komprimiert werden, um schließlich die beiden Zwischensummen zu ergeben.
Die Baumschaltung ist aus Additionsblöcken 42a bis 42e mit 4 Eingängen und 2 Ausgängen und einem Additionsblock 44a mit 3 Eingängen und 2 Ausgängen aufgebaut. In diesen Additionsblöcken wird die Addition in der Reihenfolge der ersten Stufe der Baumschaltung (die Additionsblöcke 42a bis 42c mit 4 Eingängen und 2 Ausgängen), der zweiten Stufe (der Additionsblock 42d mit 4 Eingängen und 2 Ausgängen und der Additionsblock 44a mit 3 Eingängen und 2 Ausgängen) und der dritten Stufe (der Additionsblock 42e mit 4 Eingängen und 2 Ausgängen) ausgeführt und ppc wird ausgedrückt als
In einem Fall von drei Stufen von Additionsblöcken mit 4 Ein­ gängen und 2 Ausgängen (durch die Additionsblöcke 42a (oder 42b), 42d und 42e) ist die Verzögerungszeit länger als in einem Fall von zwei Stufen von Additionsblöcken mit 4 Eingängen und 2 Ausgängen und einer Stufe eines Additionsblocks mit 3 Eingängen und 2 Ausgängen (durch die Additionsblöcke 42c, 44a und 42e). Entsprechend beträgt die Verzögerungszeit von der Bestimmung der ersten Elemente pp0 bis pp11 und der zweiten Elemente pc0 bis pc11 des Teilprodukts bis zur Bestimmung des unteren Ausgangssignals so46 und des oberen Ausgangssignals co46 des Additionsblocks 42e mit 4 Eingängen und 2 Ausgängen als die beiden sich ergebenden Zwischensummen neun Stufen von XORs, was den drei Stufen von Additionsblöcken mit 4 Eingängen und 2 Ausgängen entspricht.
Wie vorstehend erörtert sind die Zeiten zur Bestimmung von Eingangsdaten des Additionsblocks 42e mit 4 Eingängen und 2 Ausgängen in den beiden Fällen nicht gleich. Genauer werden das untere Ausgangssignal so45 und das obere Ausgangssignal co45 des Additionsblocks 44a mit 3 Eingängen und 2 Ausgängen früher bestimmt als das untere Ausgangssignal so44 und das obere Ausgangssignal co44 des Additionsblocks 42d mit 4 Eingängen und 2 Ausgängen, und zwar um eine XOR-Stufe. Ferner wird das erste Element pp11 der Eingangsdaten des Additionsblocks 44a mit 3 Eingängen und 2 Ausgängen früher bestimmt als das untere Ausgangssignal so43 und das obere Ausgangssignal co43 des Additionsblocks 42c mit 4 Eingängen und 2 Ausgängen, und zwar um drei Stufen von XORs.
Nach dem Stand der Technik wird die Schaltungsoperation der Baumschaltung in einigen Fällen mit einem niedrigen Paralle­ lismus in Abhängigkeit von der Bit-Breite der Eingangsdaten für die Multiplikation ausgeführt. Mit anderen Worten wird in nachteilhafter Weise die Beschleunigung der Multipliziervor­ richtung nicht erreicht, da die Zeitgebung der Bestimmung der Eingangsdaten der Schaltungsblöcke, die die Baumschaltung bilden, nicht gleichförmig ist.
Es ist demgemäß Aufgabe der vorliegenden Erfindung, die Par­ alleloperation der Parallelmultiplizierschaltung unter Ver­ wendung des sekundären Booth-Algorithmus zu verbessern und die Multipliziervorrichtung schneller zu machen, ohne daß der Schaltungsumfang deutlich erhöht wird.
Die Lösung der Aufgabe ergibt sich aus den Patentansprüchen 1 oder 2. Unteransprüche beziehen sich auf bevorzugte Ausfüh­ rungsformen der Erfindung.
Die vorliegende Erfindung ist auf eine Baumschaltung gerichtet. Gemäß einem ersten Aspekt der vorliegenden Erfindung enthält die Baumschaltung, die eine Turnieraddition auf der Basis einer Vielzahl von Teilprodukten, die gemäß dem Booth-Algorithmus erzeugt werden, unter Erzeugung von zu komprimierenden Zwischensummen ausführt, um ein Paar von sich ergebenden Zwischensummen auszugeben: reguläre Additionsblöcke zum Addieren einer Vielzahl von mehrzahligen Bitdaten zum Ausgeben eines Paares der Zwischensummen; und einen erweiterten Additionsblock zum Addieren einer Vielzahl der mehrzahligen Bitdaten und 1-Bit-Daten, um ein Paar der Zwischensummen aus­ zugeben.
Gemäß einem zweiten Aspekt der vorliegenden Erfindung wird in der Baumschaltung gemäß dem ersten Aspekt jedes der Vielzahl von Teilprodukten als ein Produkt ausgedrückt, das durch Mul­ tiplizieren einer Summe eines ersten Elements mit einer Viel­ zahl von Bits und eines zweiten Elements mit einem Bit mit einer Ordnung erhalten wird, und der erweiterte Additionsblock empfängt die Vielzahl von Teilprodukten und empfängt weiter das zweite Element, das zu einem aus der Vielzahl von Teilprodukten gehört, die von den in diesen einzugebenden verschieden sind.
Gemäß einem dritten Aspekt der vorliegenden Erfindung gehört in der Baumschaltung gemäß dem zweiten Aspekt das in den er­ weiterten Additionsblock eingegebene zweite Element zu dem Teilprodukt, das unter der Vielzahl von Teilprodukten die größte Ordnung hat.
Gemäß einem vierten Aspekt der vorliegenden Erfindung wird in der Baumschaltung gemäß dem dritten Aspekt das Teilprodukt, das unter der Vielzahl von Teilprodukten die kleinste Ordnung hat, in den erweiterten Additionsblock eingegeben.
Gemäß einem fünften Aspekt der vorliegenden Erfindung hat in der Baumschaltung gemäß dem vierten Aspekt der erweitere Ad­ ditionsblock erweiterte Addierglieder, deren Anzahl eine vor­ bestimmte Zahl ist, die an einer bestimmten Bit-Position an­ geordnet ist, welche die Bit-Position des darin eingegebenen zweiten und höheren Elements ist; sowie reguläre Addierglieder, die niedriger angeordnet sind als die bestimmte Bit-Position, wobei die erweiterten Addierglieder jeweils einen Ausgang zur Weiterleitung nach oben zum Ausgeben von Daten zu dem nächsthöheren Bit mehr haben im Vergleich zu den regulären Addiergliedern, die den regulären Additionsblock bilden.
Gemäß einem sechsten Aspekt der vorliegenden Erfindung hat in der Baumschaltung gemäß dem fünften Aspekt der erweitere Ad­ ditionsblock ferner ein Addierglied, das höher liegt als die erweiterten Addierglieder, und das höher nahe dem höchsten der erweiterten Addierglieder angeordnete Addierglied empfängt eines der Ausgangssignale zur Weiterleitung nach oben als ein von einem Übertrag von einer vorhergehenden Stelle verschiedenes Eingangssignal.
Gemäß einem siebten Aspekt der vorliegenden Erfindung haben in der Baumschaltung gemäß dem fünften Aspekt die erweiterten Addierglieder jeweils 4 Eingänge, die von den Ausgängen zur Weiterleitung nach oben, die von der nächstniedrigeren Bit- Position gegeben sind, verschieden sind, und einer der Ausgänge zur Weiterleitung nach oben nimmt einen von verschiedenen Werten in Abhängigkeit davon an, ob alle 4 Eingänge "1" haben oder nicht.
Gemäß einem achten Aspekt der vorliegenden Erfindung werden in der Baumschaltung gemäß dem siebten Aspekt die zwischen einer Vielzahl der erweiterten Addierglieder weitergeleiteten Ausgangssignale zur Weiterleitung nach oben als ein Paar von Pseudoüberträgen für eine nächsthöhere Stelle erzeugt und können als Resultate von zwei vorbestimmten arithmetischen Operationen ausgedrückt werden, die für ein Paar von Überträgen für eine nächsthöhere Stelle ausgeführt werden, die in den regulären Addiergliedern erzeugt werden, und die Überträge für eine nächsthöhere Stelle sind in beiden der zwei vorbestimmten arithmetischen Operation kommutativ.
Gemäß einem neunten Aspekt der vorliegenden Erfindung empfängt in der Baumschaltung gemäß dem achten Aspekt das an der bestimmten Bit-Position angeordnete erweitere Addierglied einen Übertrag für eine nächsthöhere Stelle von der nächstniedrigeren Bit-Position und das zweite Element, das in den erweiterten Additionsblock eingegeben wird, und leitet die Pseudoüberträge für eine nächsthöhere Stelle zu dem erweiterten Addierglied weiter, das an der nächsthöheren Bit-Position angeordnet ist.
Gemäß einem zehnten Aspekt der vorliegenden Erfindung hat in der Baumschaltung gemäß dem neunten Aspekt der erweitere Ad­ ditionsblock ferner ein reguläres Addierglied, das höher liegt als die erweiterten Addierglieder, und das höchste der erweiterten Addierglieder empfängt ein Paar von Pseudoüber­ trägen für eine nächsthöhere Stelle von der nächstniedrigeren Bit-Position und gibt ein Paar von Überträgen für eine nächsthöhere Stelle an das reguläre Addierglied aus, das an der nächsthöheren Bit-Position angeordnet ist.
In der Baumschaltung gemäß dem ersten Aspekt empfängt der er­ weiterte Additionsblock um ein Bit mehr Daten als der reguläre Additionsblock. Daher benötigt die Baumschaltung einen weiteren Additionsblock zum Addieren der beiden komprimierten Zwischensummen und dieses einen Bits, um die sich ergebenden Zwischensummen zu erhalten.
Da in der Baumschaltung gemäß dem zweiten Aspekt der erweiterte Additionsblock in der ersten Stufe der Baumschaltung angeordnet ist, werden die Zwischensummen an die zweite Stufe der Baumschaltung (wo die in der ersten Stufe erhaltenen Zwi­ schensummen weiter addiert werden) unter Einstellung der Zeitgebung gegeben. Daher kann eine Verarbeitung mit höherer Geschwindigkeit durch Einstellen der Zeitgebung des Erhalts der Zwischensummen ohne Vergrößerung des Schaltungsumfangs erzielt werden.
Eine Konfiguration größeren Umfangs ist an der Bit-Position des zweiten Elements, das in den erweiterten Additionsblock und höher eingegeben wird, im Vergleich zu der Konfiguration an den anderen Bit-Positionen erforderlich. In der Baumschaltung gemäß dem dritten Aspekt wird das zweite Element, dessen Bit-Position die höchste ist, zur Eingabe in den erweiterten Additionsblock ausgewählt, wodurch eine Erhöhung des Konfigurationsumfangs des erweiterten Additionsblocks unterdrückt wird.
In der Baumschaltung gemäß dem vierten Aspekt dient der Addi­ tionsblock, der die Bit-Position enthält, an der die größte Anzahl von Teilprodukten addiert wird (mit anderen Worten ist die Anzahl der zu addierenden Teilprodukte gleich der Anzahl von einzugebenden Teilprodukten) und der niedrigste ist, als der erweiterte Additionsblock. An der Bit-Position, an der die Anzahl der zu addierenden Teilprodukte kleiner ist als die Anzahl der einzugebenden Teilprodukte und höher, ist es möglich, das eingegebene zweite Element zu bearbeiten, ohne daß der Konfigurationsumfang des erweiterten Additionsblocks vergrößert wird. Mit anderen Worten kann in der Konfiguration des erweiterten Additionsblocks, obgleich der Konfigurations­ umfang an der Bit-Position des in diesen eingegebenen zweiten Elements und höher vergrößert ist, die Vergrößerung dieses Teiles unterdrückt werden und kann eine weitere Vergrößerung des Konfigurationsumfangs des erweiterten Additionsblocks unterdrückt werden.
Für das in den erweiterten Additionsblock einzugebende zweite Element kann das Addierglied an der bestimmten Bit-Position Ausgangssignale zur Weiterleitung nach oben mit einem Bit mehr haben als die Addierglieder an den niedrigeren Bit-Positionen. Da das Ausgangssignal zur Weiterleitung nach oben zu der Bit- Position weitergeleitet wird, die höher ist als die bestimmte Bit-Position, sind Ausgangssignale zur Weiterleitung nach oben mit einem Bit mehr auch an der Bit-Position erforderlich, die höher ist als die bestimmte Bit-Position. Aus diesem Grund ist in der Baumschaltung gemäß dem fünften Aspekt das erweiterte Addierglied, das Ausgangssignale zur Weiterleitung nach oben mit einem Bit mehr hat, an der bestimmten Bit-Position und darüber vorgesehen.
In der Baumschaltung gemäß dem sechsten Aspekt kann ein regu­ läres Addierglied für das Addierglied verwendet werden, das als nächsthöheres bezüglich dem erweiterten Addierglied in der höchstwertigen Ordnung (das erweiterte Addierglied der höchstwertigen Ordnung) angeordnet ist, da es das Ausgangssi­ gnal zur Weiterleitung nach oben von dem erweiterten Addier­ glied der höchstwertigen Ordnung durch ein von dem Übertrag von einer vorhergehenden Stelle verschiedenes Eingangssignal empfängt.
In der Baumschaltung gemäß dem siebten Aspekt ist die Konfi­ guration zum Erhalten eines der Ausgangssignale zur Weiter­ leitung nach oben vereinfacht und daher ist es möglich, eine Vergrößerung des Konfigurationsumfangs des erweiterten Ad­ diergliedes und weiter des Konfigurationsumfangs des erwei­ terten Additionsblocks zu unterdrücken.
In der Baumschaltung gemäß dem achten Aspekt kann das Aus­ gangssignal zur Weiterleitung nach oben nicht die Bedeutung eines Übertrags haben und die Pseudoüberträge für eine nächsthöhere Stelle werden zu einer höheren Bit-Position wei­ tergeleitet, um die Konfiguration des erweiterten Addiergliedes zu vereinfachen.
In der Baumschaltung gemäß dem neunten Aspekt ist das erwei­ terte Addierglied zum Einstellen des regulären Addiergliedes, das niedriger als die bestimmte Bit-Position angeordnet ist, und des erweiterten Addiergliedes, das die Pseudoüberträge für eine nächsthöhere Stelle empfängt, vorgesehen, und dies erlaubt eine reguläre Addition unter der bestimmten Bit-Position und die Weiterleitung der Pseudoüberträge für eine nächsthöhere Stelle zwischen den erweiterten Addiergliedern zur selben Zeit.
In der Baumschaltung gemäß dem zehnten Aspekt sind das erwei­ terte Addierglied zur Weiterleitung der Pseudoüberträge für eine nächsthöhere Stelle zu der höheren Bit-Position und das erweiterte Addierglied zum Einstellen dieses erweiterten Ad­ diergliedes zur Weiterleitung und das reguläre Addierglied, das höher angeordnet ist, vorgesehen, und dies erlaubt die reguläre Addition in dem höher als das erweiterte Addierglied angeordneten regulären Addierglied, während die Pseudoüberträge für eine nächsthöhere Stelle zwischen den erweiterten Addiergliedern weitergeleitet werden.
Die Merkmale und Vorteile der vorliegenden Erfindung sollen mit der folgenden detaillierten Beschreibung in Verbindung mit den beiliegenden Zeichnungen näher erläutert werden.
Fig. 1 ist ein Blockdiagramm, das eine erste bevorzugte Aus­ führungsform der vorliegenden Erfindung zeigt;
Fig. 2 ist eine schematische Darstellung, die die Verbindung zwischen Fig. 2A bis 2C zeigt;
Fig. 2A bis 2C sind Blockdiagramme, die gemeinsam die Details von Fig. 1 zeigen;
Fig. 3A bis 3C sind Blockdiagramme, die gemeinsam eine Kon­ figuration eines erweiterten Additionsblocks 1a mit 4 Eingängen und 2 Ausgängen zeigen;
Fig. 4 ist ein Schaltbild eines ersten Beispieles einer Kon­ figuration eines erweiterten Addiergliedes 100 mit 4 Eingängen und 2 Ausgängen;
Fig. 5 ist ein Schaltbild eines zweiten Beispiels einer Kon­ figuration eines erweiterten Addiergliedes 100 mit 4 Eingängen und 2 Ausgängen;
Fig. 6 ist ein Schaltbild, das eine Konfiguration eines er­ weiterten Addiergliedes 111 mit 4 Eingängen und 2 Ausgängen zeigt;
Fig. 7 ist ein Blockdiagramm, das einen Teil der Konfiguration des erweiterten Additionsblocks 1a mit 4 Eingängen und 2 Ausgängen zeigt;
Fig. 8 ist ein Schaltbild, das eine Konfiguration eines er­ weiterten Addiergliedes 110 mit 4 Eingängen und 2 Ausgängen zeigt;
Fig. 9 ist ein Schaltbild, das eine Konfiguration eines er­ weiterten Addiergliedes 112 mit 4 Eingängen und 2 Ausgängen zeigt;
Fig. 10 ist ein Blockdiagramm, das eine dritte bevorzugte Ausführungsform der vorliegenden Erfindung zeigt;
Fig. 11A bis 11B sind Blockdiagramme, die gemeinsam eine Konfiguration eines erweiterten Additionsblocks 13a mit 3 Eingängen und 2 Ausgängen zeigen;
Fig. 12 ist ein Schaltbild, das eine Konfiguration eines er­ weiterten Addiergliedes 300 mit 3 Eingängen und 2 Ausgängen zeigt;
Fig. 13 ist ein Blockdiagramm einer Konfiguration einer Baumschaltung nach dem Stand der Technik;
Fig. 14 ist eine schematische Darstellung, die die Verbindung zwischen Fig. 14A bis Fig. 14C zeigt;
Fig. 14A bis 14C sind Blockdiagramme, die gemeinsam die De­ tails von Fig. 13 zeigen;
Fig. 15A bis 15C sind Blockdiagramme, die gemeinsam eine Konfiguration eines Additionsblocks 22a mit 4 Eingängen und 2 Ausgängen zeigen;
Fig. 16 ist ein Schaltbild einer beispielhaften Konfiguration eines Addiergliedes 400 mit 3 Eingängen und 2 Ausgängen;
Fig. 17 ist ein Blockdiagramm einer beispielhaften Konfigu­ ration eines Addiergliedes 200 mit 4 Eingängen und 2 Ausgängen;
Fig. 18 ist ein Schaltbild eines Beispiels des Addiergliedes 200 mit 4 Eingängen und 2 Ausgängen;
Fig. 19 ist ein Blockdiagramm einer Konfiguration der Baum­ schaltung nach dem Stand der Technik;
Fig. 20 ist eine schematische Darstellung, die die Verbindung zwischen Fig. 20A bis Fig. 20D zeigt;
Fig. 20A bis 20D sind Blockdiagramme, die gemeinsam die De­ tails von Fig. 19 zeigen; und
Fig. 21 ist ein Blockdiagramm, das die Baumschaltung nach dem Stand der Technik zeigt.
Erste bevorzugte Ausführungsform
Fig. 1 ist ein Blockdiagramm, das einen Teil einer Konfigu­ ration einer Multipliziervorrichtung gemäß der ersten bevor­ zugten Ausführungsform der vorliegenden Erfindung zeigt. Mul­ tiplikator und Multiplikand sind 32-Bit-Zahlen mit Vorzeichen in Zweierkomplementdarstellung, und sechzehn Teilprodukte P0 bis P15 werden gemäß dem sekundären Booth-Algorithmus erhalten. Diese Figur zeigt nicht die Funktion zur Erzeugung dieser Teilprodukte, aber sie zeigt schematisch eine Baumschaltung, die Zwischensummen komprimiert, um schließlich zwei sich ergebende Zwischensummen zu erzeugen. Wie im Stand der Technik erörtert, ist ein Teilprodukt Pj von dem ersten Element ppj mit 33-Bit-Breite, dem zweiten Element pcj mit 1-Bit-Breite und 2j, das die wertniedrigste Bit-Position darstellt, abhängig.
Die Baumschaltung gemäß der ersten bevorzugten Ausführungsform ist aus einem Schaltungsblock 1a zum parallelen Addieren von vier Eingangsdaten mit mehreren Bits und einem Eingangsdatum mit einem Bit (der Schaltungsblock wird nachfolgend als "erweiterter Additionsblock mit 4 Eingängen und 2 Ausgängen" bezeichnet) und Additionsblöcken 2a bis 2f mit 4 Eingängen und 2 Ausgängen aufgebaut.
Das zweite Element pc15 des Teilprodukts, das nach dem Stand der Technik an den Additionsblock 24a mit 3 Eingängen und 2 Ausgängen gegeben wird, wird an den erweiterten Additionsblock 1a mit 4 Eingängen und 2 Ausgängen in der ersten bevorzugten Ausführungsform angelegt. Dies eliminiert den Bedarf für den Additionsblock 24a mit 3 Eingängen und 2 Ausgängen.
Der erweiterte Additionsblock 1a mit 4 Eingängen und 2 Aus­ gängen empfängt das zweite Element pc15 und die ersten Elemente pp0 bis pp3 des Teilprodukts und gibt ein oberes Ausgangssignal co1 und ein unteres Ausgangssignal so1 aus. Der Additionsblock 2a mit 4 Eingängen und 2 Ausgängen empfängt die ersten Elemente pp4 bis pp7 und gibt ein oberes Ausgangssignal co2 und ein unteres Ausgangssignal so2 als Zwischensummen aus. Der Addi­ tionsblock 2b mit 4 Eingängen und 2 Ausgängen empfängt die ersten Elemente pp8 bis pp11 und gibt ein oberes Ausgangssignal co3 und ein unteres Ausgangssignal so3 als Zwischensummen aus. Der Additionsblock 2c mit 4 Eingängen und 2 Ausgängen empfängt die ersten Elemente pp12 bis pp15 und gibt ein oberes Ausgangs­ signal co4 und ein unteres Ausgangssignal so4 als Zwischen­ summen aus. Der Additionsblock 2d mit 4 Eingängen und 2 Aus­ gängen empfängt die oberen Ausgangssignale co1 und co2 und die unteren Ausgangssignale so1 und so2 und gibt ein oberes Ausgangssignal co5 und ein unteres Ausgangssignal so5 als Zwischensummen aus. Der Additionsblock 2e mit 4 Eingängen und 2 Ausgängen empfängt die oberen Ausgangssignale co3 und co4 und die unteren Ausgangssignale so3 und so4 und gibt ein oberes Ausgangssignal co6 und ein unteres Ausgangssignal so6 als Zwischensummen aus. Der Additionsblock 2f mit 4 Eingängen und 2 Ausgängen empfängt die oberen Ausgangssignale co5 und co6 und die unteren Ausgangssignale so5 und so6 und gibt ein oberes Ausgangssignal co7 und ein unteres Ausgangssignal so7 als sich ergebende Zwischensummen aus. Das obere Ausgangssignal co7 und das untere Ausgangssignal so7 werden schließlich durch einen Endadditionsblock (nicht dargestellt) zusammenaddiert, um ein Multiplikationsergebnis zu ergeben. Die vorstehende Erörterung gibt einen Überblick und die detaillierte Erläuterung folgt nachfolgend unter Bezug auf Fig. 2A bis 2C.
Fig. 2A bis 2C sind Blockdiagramme, die gemeinsam die Details von Fig. 1 zeigen. Fig. 2 ist eine schematische Darstellung, die die Verbindung zwischen Fig. 2A bis 2C zeigt. Fig. 2A geht an einer virtuellen Linie Q2-Q2 in Fig. 2B über und Fig. 2B geht an einer virtuellen Linie Q3-Q3 in Fig. 2C über. Die Breite jedes Additionsblocks entspricht seiner Bit-Breite und die Position in horizontaler Richtung entspricht der Bit- Position.
Das zweite bis zweiunddreißigste Bit des ersten Elements pp0 <32:0< des Teilprodukts P0, alle Bits des ersten Elements pp1 <34:2< und des zweiten Elements pc1 des Teilprodukts P1, alle Bits des ersten Elements pp2 <36:4< und des zweiten Elements pc2 des Teilprodukts P2, das sechste bis sechsunddreißigste Bit des ersten Elements pp3 <38:6< des Teilprodukts P3 und das zweite Element pc15 des Teilprodukts P15 werden in den erwei­ terten Additionsblock 1a mit 4 Eingängen und 2 Ausgängen unter Einstellung der Bit-Positionen eingegeben. (<u:v< gibt an, daß die durch die vorangehenden Zeichen dargestellten Daten in dem Bereich von dem v-ten bis zu dem u-ten Bit liegen, gezählt von dem nullten Bit, das heißt dem wertniedrigsten Bit des Multi­ plikationsresultats, und die Bit-Position wird als n-te, gezählt von der wertniedrigsten Ordnung des Multiplikations­ resultats ausgedrückt).
Das zweite Element pc1 des Teilprodukts P1 und das zweite Element pc2 des Teilprodukts P2 werden als pseudountere Bits des ersten Elements pp3 des Teilprodukts P3 behandelt.
Das zweite Element pc0 des Teilprodukts P0 wird zu dem End­ additionsblock (nicht dargestellt) weitergeleitet, da keine anderen Daten an seiner Bit-Position (dem nullten Bit) angeordnet sind.
Das siebenunddreißigste und das achtunddreißigste Bit des er­ sten Elements pp3 des Teilprodukts P3 werden als die pseu­ dooberen Bits des unteren Ausgangssignals so1 <36:2< des er­ weiterten Additionsblocks 1a mit 4 Eingängen und 2 Ausgängen behandelt und zu dem Additionsblock 2d mit 4 Eingängen und 2 Ausgängen weitergeleitet, da der erweiterte Additionsblock 1a mit 4 Eingängen und 2 Ausgängen die Bit-Positionen nicht ab­ deckt.
Das zweite Element pc3 wird nicht in dem erweiterten Additi­ onsblock 1a mit 4 Eingängen und 2 Ausgängen addiert und wird zu dem 4-2 Additionsblock 2d weitergeleitet, da vier Daten, die an seine Bit-Position zu geben sind (das sechste Bit), bereits vorhanden sind.
Das nullte und das erste Bit des Elements pp0 des Teilprodukts P0 werden als die pseudounteren Bits des unteren Ausgangssignals so1 des erweiterten Additionsblocks 1a mit 4 Eingängen und 2 Ausgängen behandelt, da der erweiterte Addi­ tionsblock 1a mit 4 Eingängen und 2 Ausgängen die Bit-Posi­ tionen nicht abdeckt.
Da die ersten Elemente pp2 und pp3 nicht an die Bit-Positionen der zweiten Elemente pc1 bzw. pc2 gegeben werden, können die Addierglieder 200 mit 4 Eingängen und 2 Ausgängen nach dem Stand der Technik an diesen Positionen des erweiterten Additionsblocks 1a mit 4 Eingängen und 2 Ausgängen verwendet werden. Die vier ersten Elemente pp0 bis pp3 sind jedoch ebenfalls an der Bit-Position des zweiten Elements pc15, das heißt dem dreißigsten Bit angeordnet. Daher muß der erweiterte Additionsblock 1a mit 4 Eingängen und 2 Ausgängen mindestens an dieser Bit-Position ein Addierglied mit sechs Eingängen ein­ schließen, genauer für die vier ersten Elemente pp0 <30<, pp1 <30<, pp2 <30<, pp3 <30< (<w< bezeichnet eine Bit-Position), das zweite Element pc15 und einen Übertrag für eine nächst­ höhere Stelle Co des Addiergliedes 200 mit 4 Eingängen und 2 Ausgängen, das an dem neunundzwanzigsten Bit angeordnet ist.
Des weiteren muß das Addierglied, das an dem dreißigsten Bit angeordnet ist (im folgenden als "erweitertes Addierglied mit 4 Eingängen und 2 Ausgängen" bezeichnet) zwei Überträge für eine nächsthöhere Stelle ausgeben. Da sechs Ein-Bit-Daten eingegeben werden, ist das Additionsresultat höchstens sechs in Dezimal­ schreibweise. Um den Übertrag für eine nächsthöhere Stelle nur zu dem nächsten Bit weiterzuleiten, wird eine arithmetische Operation unter Verwendung eines Übertrages mit einer Bewertung von 21 bezüglich der Bit-Position der eingegebenen Daten ausgeführt, kann aber nicht unter Verwendung eines Übertrages mit der Bewertung von 22 ausgeführt werden. Natürlich ist für ein Additionsresultat mit ungerader Zahl in Dezimalschreibweise ein Ausgangssignal mit einer Bewertung von 20 bezüglich der Bit-Position der eingegebenen Daten (das heißt an der selben Position) ebenfalls erforderlich. Daher gibt das erweiterte Addierglied mit 4 Eingängen und 2 Ausgängen das untere Aus­ gangssignal SO mit der Bewertung von 20 aus und das obere Ausgangssignal CO mit der Bewertung von 21 (was dem unteren Ausgangssignal so für ein Bit bzw. dem oberen Ausgangssignal co für ein Bit entspricht) und leitet ferner den ersten Übertrag für eine nächsthöhere Stelle Co1 und den zweiten Übertrag für eine nächsthöhere Stelle Co2, die beide eine Bewertung von 21 haben, an das an dem nächsthöheren Bit angeordnete Addierglied weiter.
Das erste Prinzip ist, daß das höher als die Bit-Position des zweiten Elements pc15 angeordnete Addierglied die vier ersten Elemente pp0 bis pp3 und den ersten und den zweiten Übertrag für eine nächsthöhere Stelle Co1 und Co2, die von dem erwei­ terten Addierglied mit 4 Eingängen und 2 Ausgängen in der nächstniedrigeren Position gegeben werden, empfangen muß, und somit sollte das erweiterte Addierglied mit 4 Eingängen und 2 Ausgängen dafür verwendet werden.
In dem erweiterten Additionsblock 1a mit 4 Eingängen und 2 Ausgängen, der an dem dreiunddreißigsten Bit oder höher ange­ ordnet ist, ist ein Eingangssignal nicht erforderlich, da das höchstwertige Bit des ersten Elements pp0 an dem zweiunddrei­ ßigsten Bit angeordnet ist. Entsprechend ist das zweite Prin­ zip, daß der erweiterte Additionsblock 1a mit 4 Eingängen und 2 Ausgängen aus regulären Addiergliedern mit 4 Eingängen und 2 Ausgängen an dem dreiunddreißigsten Bit oder höher gebildet sein kann, auch wenn zwei Überträge für eine nächsthöhere Stelle von den niedrigeren Positionen vorliegen.
Gemäß dem ersten und dem zweiten Prinzip sind die Addierglie­ der 200 mit 4 Eingängen und 2 Ausgängen, die nach dem Stand der Technik in dem zusätzlichen Block mit 4 Eingängen und 2 Ausgängen verwendet werden, durch die erweiterten Addierglie­ der mit 4 Eingängen und 2 Ausgängen für die Bit-Position des zweiten Elements pc15 des höchsten Teilprodukts P15 und höher und an der höchstwertigen Bit-Position des ersten Elements pp0 des niedrigsten Teilprodukts P0 und niedriger zu erset­ zen.
Ferner wird bedingt durch das Komplement zu dem ersten und dem zweiten Prinzip gemäß der weiter unten erörterten "Ein- Additionstechnik" das erweiterte Additionsglied mit 4 Eingän­ gen und 2 Ausgängen an der noch höheren Bit-Position benö­ tigt. Eine detailliertere Erörterung der Konfiguration des erweiterten Additionsblocks mit 4 Eingängen und 2 Ausgängen und eine kurze Erörterung des vorstehend genannten Komple­ ments wird nachfolgend durchgeführt.
Fig. 3A bis 3C sind Blockdiagramme, die gemeinsam eine Kon­ figuration des erweiterten Additionsblocks 1a mit 4 Eingängen und 2 Ausgängen zeigen. Fig. 3A geht an einer virtuellen Li­ nie Q5-Q5 in Fig. 3B über und Fig. 3B geht an einer virtu­ ellen Linie Q6-Q6 in Fig. 3C über.
In dem erweiterten Additionsblock 1a mit 4 Eingängen und 2 Ausgängen für die parallele Addition von 35-Bit-Daten sind fünf erweiterte Addierglieder 100 mit 4 Eingängen und 2 Aus­ gängen jeweils für ein Bit an dem dreißigsten bis vierund­ dreißigsten Bit angeordnet und achtundzwanzig Addierglieder 200 mit 4 Eingängen und 2 Ausgängen jeweils für ein Bit sind an dem zweiten bis neunundzwanzigsten Bit angeordnet und zwei Addierglieder 200 mit 4 Eingängen und 2 Ausgängen jeweils für ein Bit sind an dem fünfunddreißigsten und sechsunddreißig­ sten Bit angeordnet.
"0" wird in den Übertrag von einer vorhergehenden Stelle Ci des Addiergliedes 200 mit 4 Eingängen und 2 Ausgängen an dem nullten Bit eingegeben, da kein Übertrag von der niedrigeren Position gegeben ist. Anschließend wird der Übertrag für eine nächsthöhere Stelle Co des Addiergliedes 200 mit 4 Eingängen und 2 Ausgängen sequentiell an das nächsthöhere Addierglied 200 mit 4 Eingängen und 2 Ausgängen als der Übertrag von ei­ ner vorhergehenden Stelle Ci gegeben.
Der Übertrag für eine nächsthöhere Stelle Co des Addierglie­ des 200 mit 4 Eingängen und 2 Ausgängen an dem neunundzwanzigsten Bit wird an das nächsthöhere erweiterte Addierglied 100 mit 4 Eingängen und 2 Ausgängen als der zweite Übertrag von einer vorhergehenden Stelle Ci2 gegeben. Der erste und der zweite Übertrag für eine nächsthöhere Stelle Co1 und Co2 des erweiterten Addiergliedes 100 mit 4 Eingängen und 2 Aus­ gängen an dem dreißigsten bis dreiunddreißigsten Bit werden an das erweiterte Addierglied 100 mit 4 Eingängen und 2 Aus­ gängen an dem einunddreißigsten bis vierunddreißigsten Bit jeweils als der erste bzw. der zweite Übertrag von einer vor­ hergehenden Stelle Ci1 und Ci2 gegeben.
Das zweite Element pc15 des Teilprodukts P15 wird dem ersten Übertrag von einer vorhergehenden Stelle Ci1 des erweiterten Addiergliedes 100 mit 4 Eingängen und 2 Ausgängen an dem dreißigsten Bit eingegeben. Der erste Übertrag von einer vor­ hergehenden Stelle Ci1 wird als eine Parität der vier ersten Elemente pp0 <30<, pp1 <30<, pp2 <30< und pp3 <30< in der Be­ wertung der dreißigsten Bitposition in Übereinstimmung mit dem ersten Prinzip betrachtet. Natürlich kann aus dem selben Grund das zweite Element pc15 des Teilprodukts P15 in den zweiten Übertrag von einer vorhergehenden Stelle Ci des er­ weiterten Addiergliedes 100 mit 4 Eingängen und 2 Ausgängen an dem dreißigsten Bit eingegeben werden und der Übertrag für eine nächsthöhere Stelle Co des Addiergliedes 200 mit 4 Ein­ gängen und 2 Ausgängen an dem neunundzwanzigsten Bit kann in den ersten Übertrag von einer vorhergehenden Stelle Ci1 ein­ gegeben werden.
Der erste und der zweite Übertrag für eine nächsthöhere Stel­ le Co1 und Co2 des erweiterten Addiergliedes 100 mit 4 Ein­ gängen und 2 Ausgängen an dem vierunddreißigsten Bit werden an das Addierglied 200 mit 4 Eingängen und 2 Ausgängen als eines seiner Eingangssignale ("D" in Fig. 3A) und der Über­ trag von einer vorhergehenden Stelle Ci gegeben. Der Übertrag für eine nächsthöhere Stelle Co des Addiergliedes 200 mit 4 Eingängen und 2 Ausgängen an dem fünfunddreißigsten Bit wird an das Addierglied 200 mit 4 Eingängen und 2 Ausgängen an dem sechsunddreißigsten Bit als der Übertrag von einer vorherge­ henden Stelle Ci gegeben.
Die vier ersten Elemente pp0 bis pp3 werden an die vier Ein­ gänge A bis D des Addiergliedes 100 oder 200 mit 4 Eingängen und 2 Ausgängen an der entsprechenden Bit-Position gegeben, wobei die Bit-Position eingestellt wird. Auf einer Bit-für- Bit-Basis gibt das Addierglied 100 oder 200 mit 4 Eingängen und 2 Ausgängen das obere Ausgangssignal Co und das untere Ausgangssignal So aus, die dem oberen Ausgangssignal co1 und dem unteren Ausgangssignal so1 für jedes Bit des erweiterten Additionsblocks 1a mit 4 Eingängen und 2 Ausgängen entspre­ chen.
Das erste Element pp2 hat keine Daten, die an der zweiten und der dritten Bit-Position anzuordnen sind, und das erste Ele­ ment pp3 hat keine Daten, die an der zweiten bis fünften Bit- Position anzuordnen sind. Andererseits sind die zweiten Ele­ mente pc1 und pc2 an der zweiten bzw. der vierten Bit-Positi­ on angeordnet. Entsprechend werden das zweite Element pc1 und "0" an die Eingänge A und B des Addiergliedes 200 mit 4 Ein­ gängen und 2 Ausgängen an dem zweiten Bit jeweils gegeben, "0" wird an die Eingänge A und B des Addiergliedes 200 mit 4 Eingängen und 2 Ausgängen an dem dritten Bit gegeben, das zweite Element pc2 wird an den Eingang A des Addiergliedes 200 mit 4 Eingängen und 2 Ausgängen an dem vierten Bit gege­ ben und "0" wird an den Eingang A des Addiergliedes 200 mit 4 Eingängen und 2 Ausgängen an dem fünften Bit gegeben.
Gemäß dem ersten und dem zweiten Prinzip sind nur drei erwei­ terte Addierglieder 100 mit 4 Eingängen und 2 Ausgängen für das dreißigste bis dreiunddreißigste Bit erforderlich und die regulären Addierglieder 200 mit 4 Eingängen und 2 Ausgängen sind an dem dreiunddreißigsten und dem vierunddreißigsten Bit angeordnet. Wie in Fig. 3A gezeigt, wird jedoch der umge­ kehrte Wert des ersten Elements pp0 <32< anstelle des ersten Elements pp0 <32< an den Eingang D des erweiterten Addier­ gliedes 100 mit 4 Eingängen und 2 Ausgängen an dem zweiund­ dreißigsten Bit eingegeben, der umgekehrte Wert des ersten Elements pp0 <32< anstelle von "0" wird an den Eingang D des erweiterten Addiergliedes 100 mit 4 Eingängen und 2 Ausgängen an dem dreiunddreißigsten Bit eingegeben, das erste Element pp0 <32< wird anstelle von "0" in den Eingang D des erweiter­ ten Addiergliedes 100 mit 4 Eingängen und 2 Ausgängen an dem vierunddreißigsten Bit eingegeben, und "1" anstelle von "0" wird an den Eingang C des Addiergliedes 200 mit 4 Eingängen und 2 Ausgängen an dem fünfunddreißigsten Bit gegeben.
Auf diese Weise ist die Veränderung des Summanden in der arithmetischen Operation von Zahlen mit Vorzeichen in Zweier­ komplementdarstellung eine bekannte Technik für eine einfache Bit-Erweiterung mit Vorzeichen, die als "Ein-Additionstech­ nik" bezeichnet wird (hierin nicht im Detail erläutert). Da diese Technik allgemein verwendet wird, sind um eine vorbe­ stimmte Anzahl mehr erweiterte Addierglieder 100 mit 4 Ein­ gängen und 2 Ausgängen als gemäß dem ersten und dem zweiten Prinzip in einem höheren Bit (Komplemen zu dem ersten und dem zweiten Prinzip) in der ersten bevorzugten Ausführungsform erforderlich. Die vorbestimmte Anzahl ist davon abhängig, wieviele Ordnungen in dem Booth-Algorithmus verwendet werden, um die Teilprodukte zu erzeugen, und ist hierin zwei.
Die zwei ersten Elemente pp2 <35< und pp3 <35< werden in das fünfunddreißigste Bit eingegeben, und ferner werden "1", das gemäß der Eins-Additionstechnik erforderlich ist, und der er­ ste Übertrag für eine nächsthöhere Stelle Co1 in dem vierund­ dreißigsten Bit in dieses eingegeben. Daher kann für das fünfunddreißigste Bit das reguläre Addierglied 200 mit 4 Eingängen und 2 Ausgängen verwendet werden, da es nur diese vier Eingaben addieren muß. Natürlich kann das reguläre Addier­ glied 200 mit 4 Eingängen und 2 Ausgängen auch für das sechsunddreißigste Bit verwendet werden, da der Übertrag für eine nächsthöhere Stelle Co von dem Addierglied 200 mit 4 Eingängen und 2 Ausgängen an dem fünfunddreißigsten Bit als der Übertrag von einer vorhergehenden Stelle Ci eingegeben wird und die ersten Elemente pp0 und pp1 nicht in das sechs- unddreißigste Bit eingegeben werden.
Da ferner der Übertrag von einer vorhergehenden Stelle Ci und die Eingänge C und D des Addiergliedes 200 mit 4 Eingängen und 2 Ausgängen an dem fünfunddreißigsten Bit die selbe Be­ wertung haben, sind diese untereinander austauschbar. Der er­ ste und der zweite Übertrag von einer vorhergehenden Stelle Ci1 und Ci2 des erweiterten Addiergliedes 100 mit 4 Eingängen und 2 Ausgängen sind ebenfalls austauschbar.
Nachfolgend wird das vorstehend genannte erweiterte Addier­ glied 100 mit 4 Eingängen und 2 Ausgängen erörtert. Das er­ weiterte Addierglied 100 mit 4 Eingängen und 2 Ausgängen emp­ fängt sechs Daten mit einem Bit und gibt das untere Ausgangs­ signal SO1 für ein Bit und drei Ausgangssignale für das nächsthöhere Bit, das heißt den ersten und den zweiten Über­ trag für eine nächsthöhere Stelle Co1 und Co2 und das obere Ausgangssignal CO aus.
Demgemäß gilt der folgende Ausdruck:
A + B + C + D + Ci1 + Ci2 = 2(Co1 + Co2 + CO) + SO (6).
Bei einem der erweiterten Addierglieder 100 mit 4 Eingängen und 2 Ausgängen ist die Summe der Werte des ersten und des zweiten Übertrags für eine nächsthöhere Stelle Co1 und Co2 des nächstniedrigeren erweiterten Addiergliedes 100 mit 4 Eingängen und 2 Ausgängen höchstens "2" in Dezimalschreibwei­ se und wirkt sich beschränkt auf das obere Ausgangssignal CO und das untere Ausgangssignal SO aus, die von diesem Addier­ glied 100 mit 4 Eingängen und 2 Ausgängen auszugeben sind.
Mit anderen Worten sind der erste und der zweite Übertrag für eine nächsthöhere Stelle Co1 und Co2 nur von den vier Ein­ gangssignalen A bis D abhängig. Daher wird der Übertrag nicht um mehr als ein Bit höher weitergeleitet.
Der erste und der zweite Übertrag für eine nächsthöhere Stel­ le Co1 und Co2 sind nur von der Anzahl der "1" der vier Ein­ gangssignale A bis D abhängig und das obere Ausgangssignal CO gibt den ersten und den zweiten Übertrag von einer vorherge­ henden Stelle Ci1 und Ci2 wieder. Wenn die vier Eingangssi­ gnale A bis D eine "1" oder weniger haben, liegt kein Über­ trag vor und sowohl der erste als auch der zweite Übertrag für eine nächsthöhere Stelle Co1 und Co2 sind "0". Wenn die vier Eingangssignale A bis D zwei oder drei "1" haben, ist der erste Übertrag für eine nächsthöhere Stelle Co1 "1" und der zweite Übertrag für eine nächsthöhere Stelle Co2 ist "0". Wenn die vier Eingangssignale A bis D vier "1" haben, sind sowohl der erste als auch der zweite Übertrag für eine näch­ sthöhere Stelle Co1 und Co2 "1".
Andererseits bestimmt das untere Ausgangssignal SO, ob das Ausgangssignal des erweiterten Addiergliedes 100 mit 4 Ein­ gängen und 2 Ausgängen eine ungerade oder gerade Zahl in De­ zimalschreibweise ist, und ist davon abhängig, ob die Anzahl der "1" der vier Eingangssignale A bis D und des ersten und des zweiten Übertrags von einer vorhergehenden Stelle Ci1 und Ci2 eine ungerade oder eine gerade Zahl ist.
Das obere Ausgangssignal CO wird "1", wenn sowohl der erste als auch der zweite Übertrag von einer vorhergehenden Stelle Ci1 und Ci2 "1" sind oder wenn die vier Eingangssignale A bis D eine ungerade Anzahl von "1" haben, auch wenn entweder der erste oder der zweite Übertrag von einer vorhergehenden Stel­ le Ci1 oder Ci2 "1" ist, und anderenfalls wird es "0".
Zusammenfassend ist die vorstehend Beziehung in Tabelle 4 ge­ zeigt.
Tabelle 4
Tabelle 4 zeigt das erste Beispiel einer Wahrheitstabelle der Eingabe-/Ausgabebeziehung, die das erweiterte Addierglied 100 mit 4 Eingängen und 2 Ausgängen erfüllen sollte. Die Wahrheitstabelle von Tabelle 4 wird als boolescher Ausdruck aus­ gedrückt als:
Co1 = (A|B) & (C|D)|(A & B|C & D)
Co2 = A & B & C & D
SO = A^B^C^D^Ci1^Ci2
CO = ~(A^B^C^D) & (Ci1 & Ci2)|(A^B^C^D) & (Ci1|Ci2) (7),
worin "~" eine logische Umkehrung darstellt, "|" eine logische Summe darstellt, "&" ein logisches Produkt darstellt und "^" eine exklusiv logische Summe darstellt.
Fig. 4 ist ein Schaltbild eines ersten Beispiels einer Kon­ figuration des erweiterten Addiergliedes 100 mit 4 Eingängen und 2 Ausgängen auf der Basis von Formel 7. Die Eingangs­ signale A bis D werden an ein NAND-Gatter G1 eingegeben und dessen Ausgangssignal wird einem Inverter G2 eingegeben und der Inverter G2 gibt den zweiten Übertrag für eine nächst­ höhere Stelle Co2 aus.
Die Eingangssignale A und B werden einem OR-Gatter G3 einge­ ben, die Eingangssignale C und D werden einem OR-Gatter G4 eingegeben und die Ausgangssignale von den OR-Gattern G3 und G4 werden in ein NAND-Gatter G5 eingegeben. Die Gatter G3 bis G5 können als ein Verbund-Gatter aufgebaut sein.
Die Eingangssignale A und B werden einem AND-Gatter G7 einge­ geben, die Eingangssignale C und D werden einem AND-Gatter G8 eingegeben, und die Ausgangssignale von den AND-Gattern G7 und G8 werden einem NOR-Gatter G9 eingegeben. Die Gatter G7 bis G9 können als ein Verbund-Gatter aufgebaut sein.
Die Ausgangssignale von dem NAND-Gatter G5 und dem NOR-Gatter G9 werden dem NAND-Gatter G6 eingegeben und das NAND-Gatter G6 gibt den ersten Übertrag für eine nächsthöhere Stelle Co1 aus.
Die Eingangssignale A und B werden einem XOR-Gatter G17 ein­ gegeben, die Eingangssignale C und D werden einem XOR-Gatter G18 eingegeben, und die Ausgangssignale von den XOR-Gattern G17 und G18 werden einem XOR-Gatter G19 eingegeben. Der erste und der zweite Übertrag von einer vorhergehenden Stelle Ci1 und Ci2 werden einem XOR-Gatter G20 eingegeben und die Aus­ gangssignale von den XOR-Gattern G19 und G20 werden einem XOR-Gatter G21 eingegeben. Das XOR-Gatter G21 gibt das untere Ausgangssignal SO aus.
Der erste und der zweite Übertrag von einer vorhergehenden Stelle Ci1 und Ci2 werden einem NAND-Gatter G10 eingegeben und ferner einem NOR-Gatter G11 und ein Ausgangssignal von diesem wird einem Inverter G12 eingegeben. Ein Ausgangssignal von dem NAND-Gatter G10 wird zusammen mit dem Ausgangssignal von dem XOR-Gatter G19 einem NOR-Gatter G13 eingegeben. Ein Ausgangssignal von dem Inverter G12 wird zusammen mit dem Ausgangssignal von dem XOR-Gatter G19 einem AND-Gatter G14 eingegeben. Ausgangssignale von dem NOR-Gatter G13 und dem AND-Gatter G14 werden einem NOR-Gatter G15 eingegeben und ein Ausgangssignal von diesem wird einem Inverter G16 eingegeben. Die Gatter G14 und G15 können als ein Verbund-Gatter aufge­ baut sein. Der Inverter G16 gibt das obere Ausgangssignal CO aus.
Der erste und der zweite Übertrag für eine nächsthöhere Stel­ le Co1 und Co2, die dieselbe Bewertung haben, können aus­ tauschbare Werte annehmen. Wenn die vier Eingangssignale A bis D zwei "1" haben, können der erste und der zweite Über­ trag für eine nächsthöhere Stelle Co1 und Co2 "1" bzw. "0" annehmen, und wenn die vier Eingangssignale A bis D drei "1" haben, können der erste und der zweite Übertrag für eine nächsthöhere Stelle Co1 und Co2 "0" bzw. "1" annehmen.
Wenn diese Änderung zu Tabelle hinzugefügt wird, ist das Re­ sultat das in Tabelle 5 gezeigte.
Tabelle 5
Tabelle 5 zeigt das zweite Beispiel einer Wahrheitstabelle der Eingabe-/Ausgabebeziehung, die das erweiterte Addierglied 100 mit 4 Eingängen und 2 Ausgängen erfüllen sollte. Die Wahrheitstabelle von Fig. 5 wird als boolescher Ausdruck ausgedrückt als:
Co1 = (A^B) & (C^D)|~(A^B) & C & D|~(C^D) & A & B
Co2 = A & B & (C|D)|C & D & (A|B)
SO = A^B^C^D^Ci1^Ci2
CO = ~(A^B^C^D) & (Ci1 & Ci2)|(A^B^C^D) & (Ci1|Ci2) (8).
Fig. 5 ist ein Schaltbild des zweiten Beispiels der Konfigu­ ration des erweiterten Addiergliedes 100 mit 4 Eingängen und 2 Ausgängen auf der Basis von Formel 8. Die Konfiguration zum Erhalten des unteren Ausgangssignals SO und des oberen Aus­ gangssignals CO durch Verwendung der Gatter G17 bis G21 ent­ spricht derjenigen von Fig. 4.
Die Eingangssignale A und B werden einem OR-Gatter G31 einge­ geben und dessen Ausgangssignal und die Eingangssignale C und D werden einem AND-Gatter G33 eingegeben. Die Gatter G31 und G33 können als ein Verbund-Gatter aufgebaut sein. Die Ein­ gangssignale C und D werden einem OR-Gatter G32 eingegeben und die Ausgangssignale von diesem und die Eingangssignale A und B werden einem NAND-Gatter G34 eingegeben. Die Gatter G32 und G34 können als ein Verbund-Gatter aufgebaut sein. Aus­ gangssignale von den NAND-Gattern G33 und G34 werden einem NAND-Gatter G35 eingegeben und das NAND-Gatter G35 gibt den zweiten Übertrag für eine nächsthöhere Stelle Co2 aus.
Die Eingangssignale A und B werden einem NAND-Gatter G36 ein­ gegeben und die Eingangssignale C und D werden einem. NAND- Gatter G37 eingegeben. Ein Ausgangssignal von dem NAND-Gatter G36 wird zusammen mit dem Ausgangssignal von dem XOR-Gatter G18 einem NOR-Gatter G38 eingegeben. Ein Ausgangssignal von dem NAND-Gatter G37 wird zusammen mit dem Ausgangssignal von dem XOR-Gatter G17 einem NOR-Gatter G39 eingegeben. Ausgangs­ signale von den XOR-Gattern G17 und G18 werden einem AND-Gat­ ter G40 eingegeben. Ausgangssignale von den NOR-Gattern G38 und G39 und dem AND-Gatter G40 werden einem NOR-Gatter G41 eingegeben und ein Ausgangssignal von diesem wird einem In­ verter G42 eingegeben und der Inverter G42 gibt den ersten Übertrag für eine nächsthöhere Stelle Co1 aus. Die Gatter G40 und G41 können als ein Verbund-Gatter aufgebaut sein.
Wie aus dem Vergleich zwischen Tabellen 4 und 5 ersichtlich ist, sind Unterschiede zwischen diesen Tabellen nur in Ab­ schnitten zu finden, in welchen der erste und der zweite Übertrag für eine nächsthöhere Stelle Co1 und Co2 ausge­ tauscht sind. Mit anderen Worten besteht kein Unterschied hinsichtlich des unteren Ausgangssignals SO und des oberen Ausgangssignals CO. Sowohl das untere Ausgangssignal SO als auch das obere Ausgangssignal CO sind Funktionen des logi­ schen Produkts, der logischen Summe und der exklusiven logi­ schen Summe des ersten und des zweiten Übertrags von einer vorhergehenden Stelle Ci1 und Ci2 und der erste und der zwei­ te Übertrag von einer vorhergehenden Stelle Ci1 und Ci2 sind in dieser logischen Operation kommutativ.
Es gelten die folgenden Gleichungen:
Co1 & Co2 = A & B & C & D
Co1|Co2 = (A|B) & (C|D)|(A & B|C & D)
Co1^Co2 = Co1 & ~Co2|~Co1 & Co2 = ~(A & B) & C & D|A & B & ~(C & D)|(A^B) & (C^D) (9).
Somit muß die Konfiguration des erweiterten Addiergliedes 100 mit 4 Eingängen und 2 Ausgängen nur den folgenden booleschen Ausdruck erfüllen, wobei sie nicht auf die in Fig. 4 und 5 gezeigten Konfigurationen beschränkt ist. Genauer ausgedrückt können die erweiterten Addierglieder mit 4 Eingängen und 2 Ausgängen von Fig. 3A verschiedene Konfigurationen haben.
Co1 & Co2 = A & B & C & D
Co1|Co2 = (A|B) & (C|D)|(A & B|C & D)
Co1^Co2 = ~(A & B) & C & D|A & B & ~(C & D)|(A^B) & (C & D)
SO = A^B^C^D^Ci1^Ci2
CO = ~(A^B^C^D) & (Ci1 & Ci2)|(A^B^C^D) & (Ci1|Ci2) (10).
In der Schaltung von Fig. 4 oder 5 führt der kritische Pfad des erweiterten Addiergliedes 100 mit 4 Eingängen und 2 Aus­ gängen nicht durch die Gatter G17 (oder G18), G19 oder G21. Das liegt daran, daß der erste und der zweite Übertrag von einer vorhergehenden Stelle Ci1 und Ci2 bestimmt werden, nachdem die Ausgangssignale von den XOR-Gattern G17 und G18 bestimmt werden.
Da der erste und der zweite Übertrag von einer vorhergehenden Stelle Ci1 und Ci2 den ersten bzw. den zweiten Übertrag für eine nächsthöhere Stelle Co1 und Co2 von dem nächstniedrige­ ren Bit annehmen, ist es erforderlich, die Zeit zu schätzen, die erforderlich ist, um die Überträge für eine nächsthöhere Stelle Co1 und Co2 zu bestimmen. Die Anzahl der Gatter-Stu­ fen, die erforderlich ist, um den ersten und den zweiten Übertrag für eine nächsthöhere Stelle Co1 und Co2 zu bestim­ men, ist in der Schaltung von Fig. 4 zwei und in derjenigen von Fig. 5 vier (die Schaltung von Fig. 4 benötigt weniger Gatter-Stufen, die erforderlich sind, um den ersten und den zweiten Übertrag für eine nächsthöhere Stelle Co1 und Co2 zu erhalten, als die Schaltung von Fig. 5). Berücksichtigt man, daß die Verzögerung einer Stufe von XOR allgemein größer ist als diejenige einer Stufe eines anderen logischen Gatters und etwa zwei Stufen derselben entspricht, wie vorstehend erör­ tert, ist die Verzögerungszeit, die erforderlich ist, um den ersten und den zweiten Übertrag für eine nächsthöhere Stelle Co1 und Co2 zu bestimmen, geringer als diejenige von zwei Stufen von XORs.
Um das untere Ausgangssignal SO zu erhalten, ist die Verzöge­ rungszeit von zwei Stufen von XOR-Gattern, das heißt den Gat­ tern G20 und G21, weiter erforderlich, nachdem der erste und der zweite Übertrag für eine nächsthöhere Stelle Co1 und Co2 bestimmt sind. Schließlich liegen die Verzögerungszeiten im Bereich von drei Stufen von XORs bis vier Stufen von XORs. Das erweiterte Addierglied 100 mit 4 Eingängen und 2 Ausgän­ gen ist jedoch um weniger als eine Stufe von XOR im Vergleich mit dem Addierglied 200 mit 4 Eingängen und 2 Ausgängen ver­ zögert.
Bei den in Fig. 1 und Fig. 2A bis 2C gezeigten Additions­ blöcken wird die Addition in der Reihenfolge der ersten Stufe der Baumschaltung (der erweiterte Additionsblock 1a mit 4 Eingängen und 2 Ausgängen, die Additionsblöcke 2a bis 2c mit 4 Eingängen und 2 Ausgängen), der zweiten Stufe (die Additi­ onsblöcke 2d und 2e mit 4 Eingängen und 2 Ausgängen) und der dritten Stufe (der Additionsblock 2f mit 4 Eingängen und 2 Ausgängen) ausgeführt. Entsprechend beträgt die Verzögerungs­ zeit von der Bestimmung der ersten Elemente pp0 bis pp15 und der zweiten Elemente pc0 bis pc15 der Teilprodukte bis zu der Bestimmung des unteren Ausgangssignals so7 und des oberen Ausgangssignals co7 des Additionsblocks 2f mit 4 Eingängen und 2 Ausgängen als die beiden sich ergebenden Zwischensummen (3 + α) + 2 × 3 = 9 + α (0 < α < 1) Stufen von XORs, da der kritische Pfad durch eine Stufe eines erweiterten Additions­ blocks mit 4 Eingängen und 2 Ausgängen und zwei Stufen von Additionsblöcken mit 4 Eingängen und 2 Ausgängen geht.
Zusammenfassend benötigt die Baumschaltung der ersten bevor­ zugten Ausführungsform eine Verzögerungszeit von weniger als zehn Stufen von XORs, so daß eine Operation mit höherer Ge­ schwindigkeit als im Vergleich mit dem Stand der Technik si­ chergestellt wird. Darüber hinaus benötigt sie nur sieben Ad­ ditionsblöcke und kann entsprechend den Schaltungsumfang verringern. Wie vorstehend erörtert wird die erste bevorzugte Ausführungsform nur dadurch erzielt, daß die Addierglieder 200 mit 4 Eingängen und 2 Ausgängen nach dem Stand der Tech­ nik durch die erweiterten Addierglieder 100 mit 4 Eingängen und 2 Ausgängen auf einer Bit-für-Bit-Basis ersetzt werden. Ferner müssen von fünfunddreißig Addiergliedern, die zur Bildung aller Additionsblöcke erforderlich sind, nur fünf Addierglieder ersetzt werden.
Im Vergleich zwischen den Schaltungen von Fig. 4 und 18 ist die durch das Ersetzten des Additionsblocks 22a mit 4 Eingän­ gen und 2 Ausgängen durch den erweiterten Additionsblock 1a mit 4 Eingängen und 2 Ausgängen bedingte Vergrößerung des Schaltungsumfangs im Hinblick auf die Gesamtheit der Multi­ pliziervorrichtung vernachlässigbar, da das Verhältnis des erweiterten Addiergliedes 100 mit 4 Eingängen und 2 Ausgängen zu dem Addierglied 200 mit 4 Eingängen und 2 Ausgängen hin­ sichtlich des Schaltungsumfangs etwa 1,5 zu 1 ist.
Mit Ausnahme des erweiterten Additionsblocks 1a mit 4 Eingän­ gen und 2 Ausgängen wird die Konfiguration dieser bevorzugten Ausführungsform unter Verwendung des Standes der Technik er­ reicht. Eine detaillierte Erörterung erfolgt unter Bezug auf Fig. 2A bis 2C. Das zehnte bis vierzigste Bit des ersten Elements pp4 <40:8< des Teilprodukts P4, alle Bits des ersten Elements pp5 <42:10< und das zweite Element pc5 des Teilprod­ ukts P5, alle Bits des ersten Elements pp6 <44:12< und des zweiten Elements pc6 des Teilprodukts P6, das vierzehnte bis vierundvierzigste Bit des ersten Elements pp7 <46:14< des Teilprodukts P7 werden in den Additionsblock 2a mit 4 Eingän­ gen und 2 Ausgängen unter Einstellung der Bit-Positionen ein­ gegeben.
Das zweite Element pc5 des Teilprodukts P5 und das zweite Element pc6 des Teilprodukts P6 werden als pseudoniedrige Bits des ersten Elements pp7 des Teilprodukts P7 behandelt.
Das achte und das neunte Bit des ersten Elements pp4 des Teilprodukts P4 werden als die pseudoniedrigen Bits des obe­ ren Ausgangssignals co2 <45:11< des Additionsblocks 2a mit 4 Eingängen und 2 Ausgängen behandelt und zu dem Additionsblock 2d mit 4 Eingängen und 2 Ausgängen weitergeleitet, da der Ad­ ditionsblock 2a mit 4 Eingängen und 2 Ausgängen ihre Bit-Po­ sitionen nicht abdeckt.
Das zweite Element pc4 des Teilprodukts P4 wird zu dem Additionsblock 2d mit 4 Eingängen und 2 Ausgängen weiterge­ leitet, da der Additionsblock 2a mit 4 Eingängen und 2 Aus­ gängen dessen Bit-Positionen nicht abdeckt.
Das fünfundvierzigste Bit des ersten Elements pp7 des Teil­ produkts P7 wird als das pseudoobere Bit des unteren Aus­ gangssignals so2 <44:10< des Additionsblocks 2a mit 4 Eingän­ gen und 2 Ausgängen behandelt und zu dem Additionsblock 2d mit 4 Eingängen und 2 Ausgängen weitergeleitet, da der Addi­ tionsblock 2a mit 4 Eingängen und 2 Ausgängen dessen Bit-Po­ sition nicht abdeckt. Das sechsundvierzigste Bit des ersten Elements pp7 des Teilprodukts P7 wird als ein pseudooberes Bit des unteren Ausgangssignals so5 <45:6< des Additions­ blocks 2d mit 4 Eingängen und 2 Ausgängen behandelt und zu dem Additionsblock 2f mit 4 Eingängen und 2 Ausgängen weiter­ geleitet, da weder der Additionsblock 2a noch 2d mit 4 Ein­ gängen und 2 Ausgängen dessen Bit-Position abdecken.
Das zweite Element pc7 des Teilprodukts P7 wird nicht in dem erweiterten Additionsblock 2a mit 4 Eingängen und 2 Ausgängen addiert und wird zu dem Additionsblock 2f mit 4 Eingängen und 2 Ausgängen weitergeleitet, da an dessen Bit-Position bereits vier Daten vorliegen.
Der Additionsblock 2f mit 4 Eingängen und 2 Ausgängen ist an dem vierzehnten Bit und höher angeordnet. Entsprechend werden das sechste bis dreizehnte Bit des unteren Ausgangssignals so5 des Additionsblocks 2d mit 4 Eingängen und 2 Ausgängen gemeinsam mit dem zweiten bis fünften Bit des unteren Aus­ gangssignals so1 und dem nullten und ersten Bit des ersten Elements pp0 die als dessen pseudoniedrige Bits behandelt werden, als pseudoniedrige Bits des unteren Ausgangssignals so7 <62:14< des Additionsblocks 2f mit 4 Eingängen und 2 Aus­ gängen behandelt, um schließlich addiert zu werden.
In ähnlicher Weise werden das siebente bis dreizehnte Bit des oberen Ausgangssignals co5 des Additionsblocks 2d mit 4 Ein­ gängen und 2 Ausgängen gemeinsam mit dem dritten bis fünften Bit des oberen Ausgangssignals co1 und dem zweiten Element pc0 die als dessen pseudoniedrige Bits behandelt werden, als pseudoniedrige Bits des oberen Ausgangssignals co7 <63:15< des Additionsblocks 2f mit 4 Eingängen und 2 Ausgängen behan­ delt, um schließlich addiert zu werden.
Das achtzehnte bis achtundvierzigste Bit des ersten Elements pp8 <48:16< des Teilprodukts P8, alle Bits des ersten Ele­ ments pp9 <50:18< und des zweiten Elements pc9 des Teilprodu­ kts P9, alle Bits des ersten Elements pp10 <52:20< und des zweiten Elements pc10 des Teilprodukts P10 und das zweiund­ zwanzigste bis zweiundfünfzigste Bit des ersten Elements pp11 <54:22< des Teilprodukts P11 werden in den Additionsblock 2b mit 4 Eingängen und 2 Ausgängen unter Einstellung der Bit-Po­ sitionen eingegeben.
Das zweite Element pc9 des Teilprodukts P9 und das zweite Ele­ ment pc10 des Teilprodukts P10 werden als die pseudoniedrigen Bits des ersten Elements pp11 des Teilprodukts P11 behandelt.
Das sechzehnte und das siebzehnte Bit des ersten Elements pp8 des Teilprodukts P8 werden als die pseudoniedrigen Bits des oberen Ausgangssignals co3 <53:19< des Additionsblocks 2b mit 4 Eingängen und 2 Ausgängen behandelt, da der Additionsblock 2b mit 4 Eingängen und 2 Ausgängen deren Bit-Positionen nicht abdeckt.
Das zweite Element pc8 des Teilprodukts P8 wird zu dem Additionsblock 2f mit 4 Eingängen und 2 Ausgängen weiterge­ leitet, da der Additionsblock 2b mit 4 Eingängen und 2 Aus­ gängen dessen Bit-Position nicht abdeckt.
Das dreiundfünfzigste und vierundfünfzigste Bit des ersten Elements pp11 des Teilprodukts P11 werden als pseudoobere Bits des unteren Ausgangssignals so3 <52:18< des Additionsblocks 2b mit 4 Eingängen und 2 Ausgängen behandelt und zu dem Addi­ tionsblock 2e mit 4 Eingängen und 2 Ausgängen weitergeleitet, da der Additionsblock 2b mit 4 Eingängen und 2 Ausgängen de­ ren Bit-Positionen nicht abdeckt.
Das zweite Element pc11 des Teilprodukts P11 wird in dem erwei­ terten Additionsblock 2b mit 4 Eingängen und 2 Ausgängen nicht addiert und wird zu dem Additionsblock 2e mit 4 Eingän­ gen und 2 Ausgängen weitergeleitet, da an dessen Bit-Position bereits vier Daten vorliegen.
Der Additionsblock 2e mit 4 Eingängen und 2 Ausgängen ist an dem zweiundzwanzigsten Bit und höher angeordnet. Entsprechend werden das achtzehnte bis einundzwanzigste Bit des unteren Ausgangssignals so3 des Additionsblocks 2b mit 4 Eingängen und 2 Ausgängen als die pseudoniedrigen Bits des unteren Ausgangssignals so6 <61:22< des Additionsblocks 2e mit 4 Eingän­ gen und 2 Ausgängen behandelt und zu dem Additionsblock 2f mit 4 Eingängen und 2 Ausgängen weitergeleitet.
In ähnlicher Weise werden das neunzehnte bis einundzwanzigste Bit des oberen Ausgangssignals co3 des Additionsblocks 2b mit 4 Eingängen und 2 Ausgängen gemeinsam mit dem sechzehnten und siebzehnten Bit des ersten Elements pp8 des Teilprodukt P8, die pseudoniedrige Bits davon sind, als die pseudoniedrigen Bits des oberen Ausgangssignals co6 <62:23< des Additions­ blocks 2e mit 4 Eingängen und 2 Ausgängen behandelt und zu dem Additionsblock 2f mit 4 Eingängen und 2 Ausgängen weiter­ geleitet.
Das sechsundzwanzigste bis sechsundfünfzigste Bit des ersten Elements pp12 <56:24< des Teilprodukts P12, alle Bits des er­ sten Elements pp13 <58:26< und des zweiten Elements pc13 des Teilprodukts P13, alle Bits des ersten Elements pp14 <60:28< und des zweiten Elements pc14 des Teilprodukts P14 und das dreißigste bis sechzigste Bit des ersten Elements pp15 <62:30< des Teilprodukts P15 werden in den Additionsblock 2c mit 4 Eingängen und 2 Ausgängen unter Einstellung der Bit-Po­ sitionen eingegeben.
Das zweite Element pc13 des Teilprodukts P13 und das zweite Element pc14 des Teilprodukts P14 werden als pseudoniedrige Bits des ersten Elements pp15 des Teilprodukts P15 behandelt.
Das vierundzwanzigste und fünfundzwanzigste Bit des ersten Elements pp12 des Teilprodukts P12 werden als die pseudonied­ rigen Bits des oberen Ausgangssignals co4 <61:27< des Additi­ onsblocks 2c mit 4 Eingängen und 2 Ausgängen behandelt, da der Additionsblock 2c mit 4 Eingängen und 2 Ausgängen deren Bit-Positionen nicht abdeckt.
Das zweite Element pc12 des Teilprodukts P12 wird zu dem Addi­ tionsblock 2e mit 4 Eingängen und 2 Ausgängen weitergeleitet, da der Additionsblock 2c mit 4 Eingängen und 2 Ausgängen des­ sen Bit-Position nicht abdeckt.
Das einundsechzigste Bit des ersten Elements pp15 des Teilpro­ dukts P15 wird als das pseudoobere Bit des unteren Ausgangs­ signals so4 <60:26< des Additionsblocks 2c mit 4 Eingängen und 2 Ausgängen behandelt und zu dem Additionsblock 2e mit 4 Eingängen und 2 Ausgängen weitergeleitet, da der Additions­ block 2c mit 4 Eingängen und 2 Ausgängen dessen Bit-Position nicht abdeckt. Das zweiundsechzigste Bit des ersten Elements pp15 des Teilprodukts P15 wird als ein pseudooberes Bit des unteren Ausgangssignals so6 <61:22< des Additionsblocks 2e mit 4 Eingängen und 2 Ausgängen behandelt und zu dem Additi­ onsblock 2f mit 4 Eingängen und 2 Ausgängen weitergleitet, da der Additionsblock 2c mit 4 Eingängen und 2 Ausgängen dessen Bit-Position nicht abdeckt.
Der Additionsblock 2f mit 4 Eingängen und 2 Ausgängen führt eine Addition aller Bits des oberen Ausgangssignals co6 und des unteren Ausgangssignals so6 des Additionsblocks 2e mit 4 Eingängen und 2 Ausgängen, des vierzehnten und höherer Bits des oberen Ausgangssignals co5 und des unteren Ausgangssi­ gnals so5 des Additionsblocks 2d mit 4 Eingängen und 2 Ausgängen, des einundzwanzigsten und niedrigerer Bits des oberen Ausgangssignals co3 und des unteren Ausgangssignals so3 des Additionsblocks 2b mit 4 Eingängen und 2 Ausgängen und der zweiten Elemente pc7 und pc8 durch. Bei dieser Addi­ tion ist aus der Figur klar ersichtlich, daß die Anzahl der Eingaben an der selben Bit-Position vier oder niedriger ist.
Da die arithmetische Operation ausgeführt wird, während die Bit-Positionen eingestellt werden, kann, nur im Hinblick auf die Verzögerungszeit, das zweite Element pc15 in einen beliebigen der sieben Additionsblöcke eingegeben werden, und zwar nur dann, wenn es an der selben Bit-Position (das dreißigste Bit) eingegeben wird. Beispielsweise kann der erweiterte Ad­ ditionsblock 1a mit 4 Eingängen und 2 Ausgängen durch den Ad­ ditionsblock mit 4 Eingängen und 2 Ausgängen ersetzt werden und der Additionsblock 2a mit 4 Eingängen und 2 Ausgängen kann durch den erweiterten Additionsblock mit 4 Eingängen und 2 Ausgängen ersetzt werden.
Wie vorstehend erwähnt muß jedoch in Betracht gezogen werden, daß die nachteilhafte Vergrößerung des Schaltungsumfangs nicht vernachlässigbar ist, da die Anzahl der erweiterten Ad­ dierglieder mit 4 Eingängen und 2 Ausgängen, das heißt die Bit-Breite des erweiterten Additionsblocks mit 4 Eingängen und 2 Ausgängen zunimmt.
Daher ist der Mindestwert der Anzahl der erweiterten Addier­ glieder mit 4 Eingängen und 2 Ausgängen (Bit-Breite), die den erweiterten Additionsblock mit 4 Eingängen und 2 Ausgängen bilden, von der Bit-Position des zweiten Elements pc15 (hierin das dreißigste Bit) (das erste 36485 00070 552 001000280000000200012000285913637400040 0002019711005 00004 36366 Prinzip), der wert­ höchsten Bit-Position eines der vier eingegebenen Daten, die eine mehrfache Bit-Breite haben, von welchen das höchstwer­ tige Bit das niedrigste (hierin pp0) ist (das zweite Prinzip) und der Anzahl von Bits abhängig, die für die Implementierung der "Ein-Additionstechnik" erforderlich sind (hierin zwei, was von der Anzahl der Ordnungen des Booth-Algorithmus zur Komplementierung mit dem ersten und dem zweiten Prinzip abhängig ist).
Mit anderen Worten müssen, um die erste bevorzugte Ausfüh­ rungsform mit der besten Flächeneffizienz zu erzielen, das höchste der zweiten Elemente pcj, die gemäß dem sekundären Booth-Algorithmus erzeugt werden, und eines der ersten Ele­ mente ppj, dessen höchstwertiges Bit das niedrigste ist, nur in den selben erweiterten Additionsblock mit 4 Eingängen und 2 Ausgängen eingegeben werden.
Zweite bevorzugte Ausführungsform
Wie aus Formel 10 deutlich ist, haben die Werte des ersten und des zweiten Übertrags für eine nächsthöhere Stelle Co1 und Co2, die zwischen den erweiterten Addiergliedern 100 mit 4 Eingängen und 2 Ausgängen übertragen werden, möglicherweise nicht die Bedeutung eines Übertrages. Das logische Produkt, die logische Summe und die exklusive logische Summe (oder die Umkehrung davon) des ersten und des zweiten Übertrags für ei­ ne nächsthöhere Stelle Co1 und Co2 müssen nur zwischen den erweiterten Addiergliedern 100 mit 4 Eingängen und 2 Ausgän­ gen übertragen werden.
Unter Berücksichtigung dessen ist es möglich, die Konfigura­ tion des erweiterten Addiergliedes mit 4 Eingängen und 2 Aus­ gängen zu vereinfachen. Genauer werden der erste und der zweite Pseudoübertrag für eine nächsthöhere Stelle Coa und Cob anstelle des ersten und des zweiten Übertrags für eine nächsthöhere Stelle Co1 und Co2 verwendet. Diese Pseudoüber­ träge für eine nächsthöhere Stelle Coa und Cob dienen als der erste und der zweite Pseudoübertrag von einer vorhergehenden Stelle Cia und Cib des nächsthöheren Addiergliedes mit 4 Eingängen und 2 Ausgängen. Wenn beispielsweise der erste und der zweite Pseudoübertrag für eine nächsthöhere Stelle Coa und Cob bestimmt werden als
Coa = Co1|Co2, Cob = ~(Co1 & Co2) (11),
gilt die folgende Formel:
Coa & Cob = Co1^Co2 (12).
Wenn die Formel 10 unter Verwendung des ersten und des zwei­ ten Pseudoübertrags für eine nächsthöhere Stelle Coa und Cob und des ersten und des zweiten Pseudoübertrags von der vor­ hergehenden Stelle Cia und Cib umgeschrieben werden
Coa = (A|B) & (C|D)|(A & B|C & D)
Cob = ~(A & B & C & D)
SO = A^B^C^D(Cia & Cib)
CO = ~(A^B^C^D) & ~Cib|(A^B^C^D) & Cia (13).
Diese Pseudoüberträge sind für die Übertragung zwischen den erweiterten Addiergliedern mit 4 Eingängen und 2 Ausgängen ausreichend. Eine Wahrheitstabelle der Eingabe-/Ausgabebe­ ziehung, welche die erweiterten Addierglieder mit 4 Eingängen und 2 Ausgängen erfüllen sollten, ist in Tabelle 6 darge­ stellt.
Tabelle 6
Fig. 6 ist ein Schaltbild, das eine Konfiguration des erwei­ terten Addiergliedes 111 mit 4 Eingängen und 2 Ausgängen zeigt, das die Beziehung von Tabelle 6 erfüllt. Wie aus dem Vergleich zwischen den Formeln 13 und 7 ersichtlich ist, ist der erste Pseudoübertrag für eine nächsthöhere Stelle Coa dem ersten Übertrag für eine nächsthöhere Stelle Co1 äquivalent und der zweite Pseudoübertrag für eine nächsthöhere Stelle Cob ist einer Umkehrung des zweiten Übertrags für eine näch­ sthöhere Stelle Co2 äquivalent. Daher können der erste und der zweite Pseudoübertrag für eine nächsthöhere Stelle Coa und Cob durch das Addierglied abgegeben werden, das den Auf­ bau der Gatter G1 bis G9 wie in Fig. 4 gezeigt hat, mit Aus­ nahme des Inverters G2.
Auch wenn das erweiterte Addierglied 111 mit 4 Eingängen und 2 Ausgängen den Pseudoübertrag abgibt, gibt es das obere Aus­ gangssignal CO und das untere Ausgangssignal SO aus. Die Ein­ gangssignale A und B werden dem XOR-Gatter G17 eingegeben und die Eingangssignale C und D werden dem XOR-Gatter G18 einge­ geben. Die Ausgangssignale von den XOR-Gattern G17 und G18 werden dem XOR-Gatter G19 eingegeben. Der erste und der zwei­ te Pseudoübertrag von einer vorhergehenden Stelle Cia und Cib werden einem NAND-Gatter G51 eingegeben.
Ein Ausgangssignal von dem NAND-Gatter G51 und das Ausgangs­ signal von dem XOR-Gatter G19 werden einem XNOR-Gatter G52 eingegeben. Das XNOR-Gatter G52 gibt das untere Ausgangssi­ gnal SO aus.
Der zweite Pseudoübertrag von einer vorhergehenden Stelle Cib und das Ausgangssignal des XOR-Gatters G19 werden dem NOR- Gatter G13 eingegeben. Der erste Pseudoübertrag von einer vorhergehenden Stelle Cia und das Ausgangssignal von XOR-Gat­ ter G19 werden dem AND-Gatter G14 eingegeben. Die Ausgangssi­ gnale von dem NOR-Gatter G13 und dem AND-Gatter G14 werden dem NOR-Gatter G15 eingegeben und das Ausgangssignal von die­ sem wird dem Inverter G16 eingegeben. Die Gatter G14 und G15 können als ein Verbund-Gatter aufgebaut sein. Der Inverter G16 gibt das obere Ausgangssignal CO aus.
Bei der vorstehend beschriebenen Konfiguration hat das erwei­ terte Addierglied 111 mit 4 Eingängen und 2 Ausgängen vier Gatter weniger als das erweiterte Addierglied 100 mit 4 Ein­ gängen und 2 Ausgängen aus Fig. 4 und ist daher vereinfacht.
Wenn jedoch nur die erweiterten Addierglieder 111 mit 4 Ein­ gängen und 2 Ausgängen seriell verbunden werden, können das höchste der zweite Elemente pcj (pc15 in Fig. 1 und. 2A bis 2C) und der Übertrag für eine nächsthöhere Stelle Co von dem regulären Addierglied 200 mit 4 Eingängen und 2 Ausgängen, der als nächstniedriges zu dem höchsten der zweiten Elemente pcj (das neunundzwanzigste Bit in Fig. 1 und 2A bis 2C) an­ geordnet ist, nicht ordnungsgemäß verarbeitet werden. Umge­ kehrt können der erste und der zweite Pseudoübertrag für eine nächsthöhere Stelle Coa und Cob des erweiterten Addiergliedes 111 mit 4 Eingängen und 2 Ausgängen nicht als der Übertrag von einer vorhergehenden Stelle Ci oder das Eingangssignal D des regulären Addiergliedes 200 mit 4 Eingängen und 2 Ausgän­ gen verwendet werden.
Demgemäß sind andere Arten von erweiterten Addiergliedern mit 4 Eingängen und 2 Ausgängen am oberen und am unteren Ende der Reihenverbindung der erweiterten Addierglieder 111 mit 4 Ein­ gängen und 2 Ausgängen zum Einstellen derselben auf die regu­ lären Addierglieder 200 mit 4 Eingängen und 2 Ausgängen er­ forderlich.
Fig. 7 ist ein Blockdiagramm, das einen Teil der Konfigura­ tion des erweiterten Additionsblocks 1a mit 4 Eingängen und 2 Ausgängen entsprechend Fig. 3A zeigt. Das heißt, dass Fig. 7 Fig. 3B an einer virtuellen Linie Q5-Q5 fortsetzt. Fig. 7 zeigt die Konfiguration des erweiterten Additionsblocks 1a mit 4 Eingängen und 2 Ausgängen mit Fig. 3B und 3C zusammen­ wirkend. Mit anderen Worten hat eine Baumschaltung gemäß der zweiten bevorzugten Ausführungsform dieselbe Konfiguration wie diejenige von Fig. 1 und der erweiterte Additionsblock 1a mit 4 Eingängen und 2 Ausgängen der zweiten bevorzugten Ausführungsform wird durch Ersetzen der Konfiguration von Fig. 3A durch diejenige von Fig. 7 erhalten.
Fig. 7 zeigt die Konfiguration, in der die erweiterten Ad­ dierglieder 100 mit 4 Eingängen und 2 Ausgängen aus Fig. 3A durch erweiterte Addierglieder 110 bis 112 mit 4 Eingängen und 2 Ausgängen ersetzt sind. Im Detail ist das erweiterte Addierglied 110 mit 4 Eingängen und 2 Ausgängen an dem drei­ ßigsten Bit angeordnet, die erweiterten Addierglieder 111 mit 4 Eingängen und 2 Ausgängen sind an dem einunddreißigsten bis dreiunddreißigsten Bit angeordnet und das erweiterte Addier­ glied 112 mit 4 Eingängen und 2 Ausgängen ist an dem vierund­ dreißigsten Bit angeordnet, und zwar anstelle der erweiterten Addierglieder 100 mit 4 Eingängen und 2 Ausgängen.
Das zweite Element pc15 wird einem Eingang E des erweiterten Addiergliedes 110 mit 4 Eingängen und 2 Ausgängen eingegeben und der Übertrag für eine nächsthöhere Stelle Co des Addier­ gliedes 200 mit 4 Eingängen und 2 Ausgängen am neunundzwan­ zigsten Bit wird dem Addierglied 110 mit 4 Eingängen und 2 Ausgängen als Übertrag von einer vorhergehenden Stelle Ci eingegeben.
An dem fünfunddreißigsten Bit sind die beiden ersten Elemente pp2 und pp3 des Teilprodukts angeordnet und ferner ist "1" gemäß der "Eins-Additionstechnik" angeordnet, und der Eingang D des Addiergliedes 200 mit 4 Eingängen und 2 Ausgängen an dieser Bitposition ist verfügbar. Dann wird der erste Über­ trag für eine nächsthöhere Stelle Co1 des erweiterten Addier­ gliedes 112 mit 4 Eingängen und 2 Ausgängen dem Eingang D des Addiergliedes 200 mit 4 Eingängen und 2 Ausgängen eingegeben und der zweite Übertrag für eine nächsthöhere Stelle Co2 des erweiterten Addiergliedes 112 mit 4 Eingängen und 2 Ausgängen wird dem Übertrag von einer vorhergehenden Stelle Ci des Ad­ diergliedes 200 mit 4 Eingängen und 2 Ausgängen eingegeben.
Natürlich kann der Übertrag für eine nächsthöhere Stelle Co dem Eingang E des erweiterten Addiergliedes 110 mit 4 Eingän­ gen und 2 Ausgängen eingegeben werden, und das zweite Element pc15 kann dem Übertrag von einer vorhergehenden Stelle Ci eingegeben werden. Der zweite Übertrag für eine nächsthöhere Stelle Co2 des erweiterten Addiergliedes 112 mit 4 Eingängen und 2 Ausgängen kann dem Eingang D des Addiergliedes 200 mit 4 Eingängen und 2 Ausgängen am fünfunddreißigsten Bit einge­ geben werden, und der erste Übertrag für eine nächsthöhere Stelle Co1 des erweiterten Addiergliedes 112 mit 4 Eingängen und 2 Ausgängen kann dem Übertrag von einer vorhergehenden Stelle Ci des Addiergliedes 200 mit 4 Eingängen und 2 Ausgän­ gen an dem fünfunddreißigsten Bit eingegeben werden. Die Ver­ bindungen der erweiterten Addierglieder 110 bis 112 mit 4 Eingängen und 2 Ausgängen können nicht ausgetauscht werden.
Um die selbe Funktion wie die der erweiterten Addierglieder 100 mit 4 Eingängen und 2 Ausgängen aus Fig. 3A in den er­ weiterten Addiergliedern 110 bis 112 mit 4 Eingängen und 2 Ausgängen, die wie vorstehend beschrieben angeordnet sind, zu erreichen, muß das erweiterte Addierglied 110 mit 4 Eingängen und 2 Ausgängen den ersten und den zweiten Pseudoübertrag für eine nächsthöhere Stelle Coa und Cob von den Eingangssignalen A bis D, dem Übertrag von einer vorhergehenden Stelle Ci und dem Eingangssignal E erzeugen, und das erweiterte Addierglied 112 mit 4 Eingängen und 2 Ausgängen muß den Übertrag für eine nächsthöhere Stelle Co1 und Co2 aus den Eingangssignale A bis D und dem ersten und dem zweiten Pseudoübertrag von einer vorhergehenden Stelle Cia und Cib erzeugen.
Tabelle 7 ist eine Wahrheitstabelle der Funktion des erwei­ terten Addiergliedes 110 mit 4 Eingängen und 2 Ausgängen und Formel 14 ist ein boolescher Ausdruck, der Tabelle 7 genügt. Fig. 8 ist ein Schaltbild, das eine Konfiguration des erwei­ terten Addiergliedes 110 mit 4 Eingängen und 2 Ausgängen zeigt, welches die Formel 14 erfüllt.
Tabelle 7
Coa = (A|B) & (C|D)|(A & B|C & D)
Cob = ~(A & B & C & D)
SO = A^B^C^D^E^Ci
CO = ~(A^B^C^D) & (E & Ci)|(A^B^C^D) & (E|Ci) (14).
Der erste und der zweite Pseudoübertrag für eine nächsthöhere Stelle Coa und Cob können unter Verwendung des Aufbaues der Gatter G1 bis G9 von Fig. 4 mit Ausnahme des Inverters G2 abgegeben werden, wie vorstehend erwähnt. Ferner haben das Eingangssignal E und der Übertrag von einer vorhergehenden Stelle Ci die selbe Bedeutung wie der erste und der zweite Übertrag von einer vorhergehenden Stelle Ci1 und Ci2 der er­ sten bevorzugten Ausführungsform. Entsprechend können das obere Ausgangssignal CO und das untere Ausgangssignal SO durch die Gatter G10 bis G21 von Fig. 4 abgegeben werden. Daher kann das erweiterte Addierglied 110 mit 4 Eingängen und 2 Ausgängen aus weniger Gattern als in dem erweiterten Ad­ dierglied 100 mit 4 Eingängen und 2 Ausgängen aufgebaut sein.
Tabelle 8 ist eine Wahrheitstabelle der Funktion des erwei­ terten Addiergliedes 112 mit 4 Eingängen und 2 Ausgängen und Formel 15 ist ein boolescher Ausdruck, der Tabelle 8 erfüllt. Fig. 9 ist ein Schaltbild, das eine Konfiguration des erwei­ terten Addiergliedes 112 mit 4 Eingängen und 2 Ausgängen zeigt, welches Formel 15 erfüllt.
Tabelle 8
Co1 = (A|B) & (C|D)|(A & B|C & D)
Co2 = A & B & C & D
SO = A^B^C^D^(Cia & Cib)
CO = ~(A^B^C^D) & ~Cib|(A^B^C^D) & Cia (15).
Das erweiterte Addierglied 112 mit 4 Eingängen und 2 Ausgän­ gen, das den ersten und den zweiten Übertrag für eine nächst­ höhere Stelle Co1 und Co2 ausgeben muß, benötigt die Gatter G1 und G19 in der selben Weise verbunden wie in Fig. 4 ge­ zeigt. Das obere Ausgangssignal CO und das untere Ausgangssi­ gnal SO können von den Gattern G13 bis G19 und G41 und G42 wie in dem erweiterten Addierglied 111 mit 4 Eingängen und 2 Ausgängen bereitgestellt werden. Daher kann das erweiterte Addierglied 112 mit 4 Eingängen und 2 Ausgängen aus weniger Gattern aufgebaut sein als in dem erweiterten Addierglied 100 mit 4 Eingängen und 2 Ausgängen.
Somit wird in der zweiten bevorzugten Ausführungsform der Schaltungsumfang durch Optimierung der Logik für die Weiter­ leitung zwischen den erweiterten Addiergliedern mit 4 Eingän­ gen und 2 Ausgängen wie vorstehend erörtert vermindert und die Verzögerungszeit wird ebenfalls im Vergleich zu der er­ sten bevorzugten Ausführungsform verringert.
Wie aus Fig. 6, 8 und 9 im Hinblick auf die erweiterten Ad­ dierglieder 110 bis 112 mit 4 Eingängen und 2 Ausgängen der zweiten bevorzugten Ausführungsform ersichtlich ist, kann die Verzögerungszeit von der Bestimmung von Datenwerten der Ein­ gangssignale A bis D in dem nächstniedrigeren erweiterten Ad­ dierglied mit 4 Eingängen und 2 Ausgängen bis zu der Bestim­ mung des unteren Ausgangssignals SO dieses erweiterten Ad­ diergliedes mit 4 Eingängen und 2 Ausgängen im Vergleich zu dem erweiterten Addierglied 100 mit 4 Eingängen und 2 Ausgän­ gen in der ersten bevorzugten Ausführungsform verringert wer­ den. Im Gegensatz zu der ersten bevorzugten Ausführungsform, die das XOR-Gatter G20 erfordert, muß die zweite bevorzugte Ausführungsform nur das NAND-Gatter G51 enthalten, dessen Verzögerungszeit kürzer ist als diejenige des XOR-Gatters. Daher wird geschätzt, daß die Verzögerungszeit in dem erwei­ terten Additionsblock 1a mit 4 Eingängen und 2 Ausgängen der zweiten bevorzugten Ausführungsform annähernd drei Stufen von XORs ist.
In der unter Verwendung der Konfiguration der zweiten bevor­ zugten Ausführungsform aufgebauten Baumschaltung wird die Ad­ dition in der Reihenfolge der ersten Stufe der Baumschaltung (der erweiterte Additionsblock 1a mit 4 Eingängen und 2 Aus­ gängen, die Additionsblöcke 2a bis 2c mit 4 Eingängen und 2 Ausgängen), der zweiten Stufe (die Additionsblöcke 2d und 2e mit 4 Eingängen und 2 Ausgängen) und der dritten Stufe (der Additionsblock 2f mit 4 Eingängen und 2 Ausgängen) ausge­ führt. Entsprechend ist die Verzögerungszeit von der Bestim­ mung der ersten Elemente pp0 bis pp15 und der zweiten Elemente pc0 bis pc15 des Teilprodukts bis zu der Bestimmung des unteren Ausgangssignals so7 und des oberen Ausgangssignals co7 des Additionsblocks 2f mit 4 Eingängen und 2 Ausgängen als die beiden sich ergebenden Zwischensummen 3 + 2 × 3 = 9 Stufen von XORs, da der kritische Pfad durch eine Stufe eines erweiterten Additionsblocks mit 4 Eingängen und 2 Ausgängen und zwei Stufen von Additionsblöcken mit 4 Eingängen und 2 Ausgängen geht. Das ist kürzer als die Verzögerungszeit der ersten bevorzugten Ausführungsform, das heißt (9 + α) Stufen von XORs (0 < α < 1).
Dritte bevorzugte Ausführungsform
Fig. 10 ist ein Blockdiagramm, das einen Teil einer Konfigu­ ration einer Multipliziervorrichtung gemäß der dritten bevor­ zugten Ausführungsform der vorliegenden Erfindung zeigt. So­ wohl der Multiplikator als auch der Multiplikand sind 24-Bit- Zahlen mit Vorzeichen in Zweierkomplementdarstellung, und zwölf Teilprodukte P0 bis P11 werden gemäß dem sekundären Booth-Algorithmus erhalten. Diese Figur zeigt nicht eine Funktion zur Erzeugung dieser Teilprodukte, sondern zeigt schematisch eine Baumschaltung, die die Zwischensummen kom­ primiert, um schließlich zwei sich ergebende Zwischensummen in Addition der Teilprodukte zu erzeugen. Das Teilprodukt Pj ist von dem ersten Element ppj mit 25-Bit-Breite, dem zweiten Element pcj mit 1-Bit-Breite und 2j, das die wertniedrigste Bitposition darstellt, abhängig, und zwar auf der Basis von Formel 5, wie im Stand der Technik erläutert.
Die Baumschaltung gemäß der dritten bevorzugten Ausführungs­ form ist aus einem Schaltungsblock 13a zur Paralleladdition von drei Eingangsdaten mit mehrzahliger Bit-Breite und einem Eingangsdatum mit 1-Bit-Breite (der Schaltungsblock wird nachfolgend als "erweiterter Additionsblock mit 3 Eingängen und 2 Ausgängen" bezeichnet), Additionsblöcken 14a bis 14c mit 3 Eingängen und 2 Ausgängen und Additionsblöcken 12a bis 12c mit 4 Eingängen und 2 Ausgängen aufgebaut.
Der erweiterte Additionsblock 13a mit 3 Eingängen und 2 Aus­ gängen empfängt das zweite Element pc11 des Teilprodukts und die ersten Elemente pp0 bis pp2 des Teilprodukts und gibt ein oberes Ausgangssignal co11 und ein unteres Ausgangssignal so11 als Zwischensummen aus. Der Additionsblock 14a mit 3 Eingän­ gen und 2 Ausgängen empfängt die ersten Elemente pp3 bis pp5 des Teilprodukts und gibt das obere Ausgangssignal co12 und das untere Ausgangssignal so12 als Zwischensummen aus. Der Additionsblock 14b mit 3 Eingängen und 2 Ausgängen empfängt die ersten Elemente pp6 bis pp8 des Teilprodukts und gibt das obere Ausgangssignal co13 und das untere Ausgangssignal so13 als Zwischensummen aus. Der Additionsblock 14c mit 3 Eingän­ gen und 2 Ausgängen empfängt die ersten Elemente pp9 bis pp11 des Teilprodukts und gibt das obere Ausgangssignal co14 und das untere Ausgangssignal so14 als Zwischensummen aus.
Der Additionsblock 12a mit 4 Eingängen und 2 Ausgängen emp­ fängt die oberen Ausgangssignale co11 und co12 und untere Aus­ gangssignale so11 und so12 und gibt das obere Ausgangssignal co15 und das untere Ausgangssignal so15 als Zwischensummen aus. Der Additionsblock 12b mit 4 Eingängen und 2 Ausgängen empfängt die oberen Ausgangssignale co13 und co14 und die un­ teren Ausgangssignale so13 und so14 und gibt das obere Aus­ gangssignal co16 und das untere Ausgangssignal so16 als Zwischensummen aus. Der Additionsblock 12c mit 4 Eingängen und 2 Ausgängen empfängt die oberen Ausgangssignale co15 und co16 und die unteren Ausgangssignale so15 und so16 und gibt das obere Ausgangssignal co17 und das untere Ausgangssignal so17 als Zwischensummen aus. Das untere Ausgangssignal so17 und das obere Ausgangssignal co17 werden schließlich von dem En­ dadditionsblock (nicht dargestellt) addiert, um das Multipli­ kationsresultat zu erzeugen.
Fig. 11A und 11B sind Blockdiagramme, die gemeinsam eine Konfiguration des erweiterten Additionsblocks 13a mit 3 Ein­ gängen und 2 Ausgängen zeigen. Fig. 11A geht an einer virtu­ ellen Linie Q15-Q15 in Fig. 11B über.
Der erweiterte Additionsblock 13a mit 3 Eingängen und 2 Aus­ gängen, der die Paralleladdition von 26-Bit-Daten durchführt, hat eine Konfiguration, bei der fünf erweiterte Addierglieder 300 mit 3 Eingängen und 2 Ausgängen jeweils für ein Bit an dem zweiundzwanzigsten bis sechsundzwanzigsten Bit angeordnet sind, zwanzig Addierglieder 400 mit 3 Eingängen und 2 Ausgän­ gen jeweils für ein Bit an dem zweiten bis einundzwanzigsten Bit angeordnet sind, und ein Addierglied 400 mit 3 Eingängen und 2 Ausgängen jeweils für ein Bit an dem siebenundzwanzig­ sten Bit angeordnet ist.
Die Summe der drei 1-Bit-Eingangssignale A, B und C ist höch­ stens "3" in Dezimalschreibweise und ist unter Verwendung von zwei 1-Bit-Ausgangssignalen SO und CO darstellbar. Daher wird in dem einundzwanzigsten Bit und darunter kein Übertrag zwi­ schen Bits weitergeleitet und keine Verbindung ist zwischen den Addiergliedern 400 mit 3 Eingängen und 2 Ausgängen erfor­ derlich.
Das zweite Element pc11 des Teilprodukts P11 wird dem Übertrag von einer vorhergehenden Stelle Ci des erweiterten Addier­ gliedes 300 mit 2 Eingängen und 2 Ausgängen an dem zweiund­ zwanzigsten Bit eingegeben. Der Übertrag von einer vorherge­ henden Stelle Ci wird als eine Parität der drei ersten Ele­ mente pp0 <22<, pp1 <22< und pp2 <22< mit der Bewertung der zweiundzwanzigsten Bit-Position in Übereinstimmung mit dem ersten Prinzip betrachtet.
Bei der Ausführung der "Eins-Additionstechnik" komplementär zu dem ersten und dem zweiten Prinzip wird eine logische Umkehrung des ersten Elements pp0 <24< an dem Eingang C des erweiterten Addiergliedes 300 mit 3 Eingängen und 2 Ausgängen an dem vierundzwanzigsten und fünfundzwanzigsten Bit einge­ geben, und das erste Element pp0 <24< wird an dem Eingang C des erweiterten Addiergliedes 300 mit 3 Eingängen und 2 Aus­ gängen an dem sechsundzwanzigsten Bit eingegeben. Daher sind die Addierglieder 300 mit 3 Eingängen und 2 Ausgängen jeweils für ein Bit bis zu dem sechsundzwanzigsten Bit erforderlich. In jedem des zweiundzwanzigsten bis sechsundzwanzigsten Bit wird der Übertrag für eine nächsthöhere Stelle Co des erweiterten Addiergliedes 300 mit 3 Eingängen und 2 Ausgängen dem nächsthöheren Addierglied als der Übertrag von einer vorhergehenden Stelle Ci eingegeben.
In dem siebenundzwanzigsten Bit, da die Teilprodukte kompri­ miert sind, werden das erste Element pp2 <27< und "1" zur Durchführung der "Eins-Additionstechnik" den Eingängen A und B eingegeben und ferner wird der Übertrag für eine nächsthö­ here Stelle Co des erweiterten Addiergliedes 300 mit 3 Ein­ gängen und 2 Ausgängen am sechsundzwanzigsten Bit dem Eingang C eingegeben.
Nachfolgend wird das vorstehend genannte erweiterte Addier­ glied 300 mit 3 Eingängen und 2 Ausgängen erörtert. Das er­ weiterte Addierglied 300 mit 3 Eingängen und 2 Ausgängen emp­ fängt vier 1-Bit-Daten und gibt das untere Ausgangssignal SO1 für seine Bit-Position und zwei Ausgangssignale für das näch­ sthöhere Bit, das heißt den Übertrag für eine nächsthöhere Stelle Co und das obere Ausgangssignal CO aus.
Entsprechend gilt der folgenden Ausdruck:
A + B + C + Ci = 2(Co + CO) + SO (16).
Andererseits ist das untere Ausgangssignal SO davon abhängig, ob das Ausgangssignal von dem erweiterten Addierglied 300 mit 3 Eingängen und 2 Ausgängen in Dezimalschreibweise geradzah­ lig oder ungeradzahlig ist, und ist in anderen Worten davon abhängig, ob die Anzahl der "1" in den drei Eingangssignalen A bis C und dem Übertrag von einer vorhergehenden Stelle Ci geradzahlig oder ungeradzahlig ist. Eine Wahrheitstabelle, die das erweiterte Addierglied 300 mit 3 Eingängen und 2 Aus­ gängen erfüllen sollte, ist in Tabelle 9 gezeigt.
Tabelle 9
Wenn die drei Eingangssignale A, B und C zwei "1" haben, müs­ sen entweder der Übertrag für eine nächsthöhere Stelle Co oder das obere Ausgangssignal CO "1" sein und das andere muß "0" sein, und somit sind 23 = 8 Funktionen dargestellt. Aus der Wahrheitstabelle in Tabelle 9 ist die Logik des unteren Ausgangssignals SO unter Verwendung eines booleschen Ausdruc­ kes gegeben als
SO = A^B^C^Ci (17).
Tabelle 10 ist eine Wahrheitstabelle, die eine der Funktionen darstellt, die das erweiterte Addierglied 300 mit 3 Eingängen und 2 Ausgängen erfüllen sollte.
Tabelle 10
Die Wahrheitstabelle ist unter Verwendung eines booleschen Ausdrucks gegeben als
Co = A & B|B & C|C & A
CO = (A^B^C) & Ci
SO = A^B^C^Ci (18).
Fig. 12 ist ein Schaltbild einer beispielhaften Schaltung, die die Funktion von Tabelle 10 erfüllt. Um den Schaltungsum­ fang zu verringern und die Operation zu beschleunigen, werden die Logik sowohl des Übertrags von einer vorhergehenden Stel­ le Ci als auch des Übertrags für eine nächsthöhere Stelle Co umgekehrt.
Ein OR-Gatter G61 empfängt die Eingangssignale A und B und ein AND-Gatter G22 empfängt ein Ausgangssignal von dem OR- Gatter G61 und das Eingangssignal C. Ein AND-Gatter G63 emp­ fängt die Eingangssignale A und B und ein NOR-Gatter G64 emp­ fängt Ausgangssignale von den AND-Gattern G62 und G63 und gibt eine Umkehrung des Übertrags für eine nächsthöhere Stel­ le Co aus. Die Gatter G61 bis G64 können als ein Verbund-Gat­ ter aufgebaut sein.
Ein XOR-Gatter G65 empfängt die Eingangssignale A und B und ein XNOR-Gatter G67 empfängt ein Ausgangssignal von dem XOR- Gatter G65 und das Eingangssignal C. Ein NOR-Gatter G68 emp­ fängt ein Ausgangssignal von dem XNOR-Gatter G67 und die Um­ kehrung des Übertrags von einer vorhergehenden Stelle Ci und gibt das obere Ausgangssignal CO aus.
Ein XNOR-Gatter G66 empfängt das Eingangssignal C und die Um­ kehrung des Übertrags von einer vorhergehenden Stelle Ci. Ein XOR-Gatter G69 empfängt ein Ausgangssignal von dem XNOR-Gat­ ter G66 und ein Ausgangssignal von dem XOR-Gatter G65 und gibt das untere Ausgangssignal SO aus.
Der kritische Pfad des erweiterten Addiergliedes 300 mit 3 Eingängen und 2 Ausgängen geht von den Eingangssignalen A, B und C des nächstniedrigen Bits zu dem oberen Ausgangssignal CO an seiner Bit-Position und die Verzögerungszeit liegt zwi­ schen zwei Stufen von XORs und drei Stufen von XORs.
Die Addition wird in der Reihenfolge der ersten Stufe der Baumschaltung von Fig. 10 (der erweiterte Additionsblock 13a mit 3 Eingängen und 2 Ausgängen, die erweiterten Additions­ blöcke 14a bis 14c mit 3 Eingängen und 2 Ausgängen), der zweiten Stufe (die Additionsblöcke 12a und 12b mit 4 Eingän­ gen und 2 Ausgängen) und der dritten Stufe (der Additions­ block 12c mit 4 Eingängen und 2 Ausgängen) ausgeführt. Ent­ sprechend beträgt die Verzögerungszeit von der Bestimmung der ersten Elemente pp0 bis pp11 und der zweiten Elemente pc0 bis pc11 des Teilprodukts bis zur Bestimmung des unteren. Aus­ gangssignals so17 und des oberen Ausgangssignals co17 des Ad­ ditionsblocks 12c mit 4 Eingängen und 2 Ausgängen als die beiden sich ergebenden Zwischensummen (2 + α) + 2 × 3 = 8 + α Stufen von XORs (0 < α < 1), da der kritische Pfad durch eine Stufe eines erweiterten Additionsblocks mit 3 Eingängen und 2 Ausgängen und zwei Stufen von Additionsblöcken mit 4 Eingängen und 2 Ausgängen führt. Somit liegt die Verzögerungszeit zwischen acht Stufen von XORs und neun Stufen von XORs, und ein Betrieb mit höherer Geschwindigkeit wird im Vergleich zu dem Stand der Technik errreicht.
In der dritten bevorzugten Ausführungsform wird wie in der er­ sten bevorzugten Ausführungsform der kleinste Schaltungsum­ fang erreicht, wenn das höchste der zweiten Elemente pcj, die gemäß dem sekundären Booth-Algorithmus erzeugt werden, und eines der ersten Elemente ppj, dessen höchstwertiges Bit das niedrigste ist, in das selbe Addierglied mit 3 Eingängen und 2 Ausgängen eingegeben werden.
Ergänzende Beschreibung
In der ersten bis dritten bevorzugten Ausführungsform wurde die vorliegende Erfindung erörtert, wobei die 32 × 32 Multi­ pliziervorrichtung und die 24 × 24 Multipliziervorrichtung, die den sekundären Booth-Algorithmus verwenden, als bestimmte Beispiele genommen wurden. Des weiteren wird ein allgemeiner Aspekt der vorliegenden Erfindung erläutert.
Von den zwei Eingaben der Multipliziervorrichtung wird ange­ nommen, daß eine, die gemäß dem sekundären Booth-Algorithmus zu codieren ist, ein Multiplikator ist und die andere ein Multiplikand ist. Wenn der Multiplikator eine Breite von 2n- Bit oder (2n-1)-Bit hat (n ist eine ganze Zahl gleich oder größer als zwei), werden n Teilprodukte erzeugt. Unter der Annahme, daß jedes Teilprodukt Pj (j = 0 bis n - 1) ist, wenn das erste Element ppj mit (die Bit-Breite des Multiplikanden + 1)-Bit-Breite und das zweite Element pcj mit 1-Bit-Breite, das zu der wertniedrigsten Ziffer des Teilprodukts addiert wird, wenn das Teilprodukt negativ ist, eingeführt werden, gilt Formel 3.
Wie im Stand der Technik erörtert, können dann, wenn eine Baumschaltung unter Verwendung der regulären Additionsblöcke mit 4 Eingängen und 2 Ausgängen und der regulären Additions­ blöcke mit 3 Eingängen und 2 Ausgängen zum Addieren von n Partialprodukten zur Ausgabe von zwei Zwischensummen gebildet wird, die (n - 1) zweiten Elemente pcj (j = 0 bis n - 2) in ver­ fügbare Anschlüsse der Additionsblöcke eingegeben werden, aber das zweite Element pc(n-1) hat keinen verfügbaren An­ schluß zu deren Aufnahme. Aus diesem Grund ist das zweite Element pc(n-1) separat hinzugefügt (beispielsweise wie in Fig. 13 gezeigt) oder alle zweiten Elemente pcj (j = 0 bis n - 1) werden zusammen aufaddiert (wie beispielsweise in Fig. 19 gezeigt). Auf diese Weise wird die Anzahl der Eingangsdaten der Baumschaltung als (n + 1) betrachtet.
Nur wenn die Anzahl der Eingangsdaten der Baumschaltung, die aus den Additionsblöcken mit 4 Eingängen und 2 Ausgängen und den Additionsblöcken mit 3 Eingängen und 2 Ausgängen besteht, 2k . 3h ist (k = 0, 1, 2, . . ., h = 0, 1, 2, . . .), kann eine "dichte" Baumschaltung aufgebaut werden ("dicht" bezieht sich auf einen Zustand, in dem die Eingangsdaten der Additions­ blöcke in der selben Stufe zur selben Zeit ankommen, um eine bestmögliche Paralleloperation der Schaltung zu erreichen). Der Grund dafür ist wie folgt.
Da die Additionsblöcke, die die Baumschaltung bilden, jeweils zwei Ausgänge haben, ist die Endstufe der "dichten" Baum­ schaltung notwendigerweise ein Additionsblock mit 4 Eingängen und 2 Ausgängen. In der vorhergehenden Stufe sind entweder zwei Additionsblöcke mit 4 Eingängen und 2 Ausgängen oder zwei Additionsblöcke mit 3 Eingängen und 2 Ausgängen vorgese­ hen. Mit anderen Worten beträgt die Anzahl der Eingänge der Additionsblöcke vor dem Endadditionsblock acht oder sechs. Geht man von der Endadditionsstufe zurück, so ist festzustellen, daß die Anzahl der Eingänge der "dichten" Baumschaltung 2k3h ist.
Wenn die Anzahl der Teilprodukte n = 2k3h ist, ist die Anzahl der Eingangsdaten (n + 1) nicht 2k3h, und daher ist es unmög­ lich, die "dichte" Baumschaltung nach dem Stand der Technik zu bilden.
Gemäß vorliegender Erfindung werden ein erweiterter Additi­ onsblock mit 4 Eingängen und 2 Ausgängen oder ein erweiterter Additionsblock mit 3 Eingängen und 2 Ausgängen verwendet, und offensichtlich ist ein verfügbarer Anschluß mehr vorgesehen als im Vergleich mit dem regulären Additionsblock mit 4 Ein­ gängen und 2 Ausgängen oder dem regulären Additionsblock mit 3 Eingängen und 2 Ausgängen. Daher können die Eingangsdaten der Additionsblöcke in der selben Stufe zur selben Zeit an­ kommen. Somit kann die "dichte" Baumschaltung gebildet wer­ den, so daß die Verzögerungszeit reduziert wird.
Wenn die Anzahl der Teilprodukte nicht 2k3h ist, kann die "dichte" Baumschaltung aufgrund der innewohnenden Eigenschaft der Anzahl der Teilprodukte n nicht gebildet werden und es ist unmöglich, die Verzögerungszeit zu verringern, auch wenn die Baumschaltung, die (n + 1) Eingänge hat, gemäß vorliegender Erfindung gebildet wird.
Wenn somit der Multiplikator (die gemäß dem sekundären Booth- Algorithmus zu codierende Eingabe) 2 . 2k . 3h-Bit- oder (2 . 2k .3h - 1)-Bit-Breite hat, wenn die Baumschaltung zum Addieren einer Vielzahl von Teilprodukten in die Multipliziervorrich­ tung gemäß dem sekundären Booth-Algorithmus zum Ausgeben der zwei sich ergebenden Zwischensummen unter Verwendung des er­ weiterten Additionsblocks mit 4 Eingängen und 2 Ausgängen oder des erweiterten Additionsblocks mit 3 Eingängen und 2 Ausgängen gemäß vorliegender Erfindung gebildet wird, kommen die Eingangsdaten der Additionsblocks in der selben Stufe der Baumschaltung zur selben Zeit an, die Anzahl der Logikstufen in dem kritischen Pfad der Baumschaltung wird verringert, die Paralleloperation der Schaltung wird verbessert und eine bes­ sere Operation der Multipliziervorrichtung wird erzielt.
Wenn das höchste der zwei Elemente pcj und des ersten Ele­ ments ppj, deren höchstwertiges Bit das niedrigste ist, in den selben erweiterten 4-2-Additionsblock oder den selben er­ weiterten Additionsblock mit 3 Eingängen und 2 Ausgängen ein­ gegeben werden, wird die beste Flächeneffizienz erzielt.

Claims (13)

1. Baumschaltung zur Addition einer Vielzahl von Teilprodukten (Pj), die gemäß dem Booth-Algorithmus erzeugt werden, wobei die Teilprodukte (Pj) jeweils ein erstes Element (ppj) mit einer Vielzahl von Bits an unterschiedlichen Bitpositionen und ein zweites Element (pcj) mit nur einem Bit aufweisen, wobei die Bitposition des zweiten Elements (pcj) mit einer Bitposition des ersten Elements (ppj) übereinstimmt und wobei das erste Element (ppj) und das zweite Element (pcj) als Eingangssignale der Baumschaltung zugeführt werden, die folgendes aufweist:
  • - zumindest einen regulären Additionsblock (2a, 2b, 2c; 14a, 14b, 14c) zum Addieren einer Vielzahl der ersten Elemente (ppj) und zum Ausgeben eines Paares von Zwi­ schensummen (so2, co2, . . . so4, co4; so12, co12, . . . so14, co14), oder zum Addieren einer Vielzahl der Zwischensummen und zum Ausgeben eines Paars von Zwischensummen, mit einer Vielzahl von Bits an unter­ schiedlichen Bitpositionen und
  • - zumindest einen erweiterten Additionsblock (1a; 13a) zum Addieren einer Vielzahl der ersten Elemente (pp0, . . . pp3), oder einer Vielzahl der Zwischensummen, und zum Ausgeben eines Paares von Zwischensummen (so1, co1; so11, co11), der zumindest ein erweitertes Addierglied aufweist, das gegenüber regulären Addiergliedern des regulären Additionsblocks (2a, 2b, 2c; 14a, 14b, 14c) und/oder des erweiterten Additionsblocks (1a; 13a) einen zusätzlichen Eingang aufweist, um an einer bestimmten Bitposition die Vielzahl der ersten Elemente (pp0, . . . pp3) oder der Zwischensummen und zusätzlich ein zweites Element (pc15; pc11) eines der Teilprodukte (P15; P11) zu addieren.
2. Baumschaltung zur Addition einer Vielzahl von Teilprodukten (Pj), die gemäß dem Booth-Algorithmus erzeugt werden, wobei die Teilprodukte (Pj) jeweils ein erstes Element (ppj) mit einer Vielzahl von Bits an unterschiedlichen Bitpositionen und ein zweites Element (pcj) mit nur einem Bit aufweisen, wobei die Bitposition des zweiten Elements (pcj) mit der wertniedrigsten Bitposition des ersten Elements (ppj) übereinstimmt, wobei das Bit des zweiten Elements (pcj) an der Stelle 2j liegt, d. h. die Ordnung 2 2j hat, wobei j eine positive ganze Zahl oder Null ist und wobei das erste Element (ppj) und das zweite Element (pcj) als Eingangs­ signale der Baumschaltung zugeführt werden, die folgendes aufweist:
  • - zumindest einen regulären Additionsblock (2a, 2b, 2c; 14a, 14b, 14c) zum Addieren einer Vielzahl der ersten Elemente (ppj) und zum Ausgeben eines Paares von Zwi­ schensummen (so2, co2, . . . so4, co4; so12, co12, . . . so14, co14) und
  • - zumindest einen erweiterten Additionsblock (1a; 13a) zum Addieren einer Vielzahl der ersten Elemente (pp0, . . . pp3) und zum Ausgeben eines Paares von Zwischen­ summen (so1, co1; so11, co11), der zumindest ein er­ weitertes Addierglied aufweist, das gegenüber regulären Addiergliedern des regulären Additionsblocks (2a, 2b, 2c; 14a, 14b, 14c) und/oder des erweiterten Addi­ tionsblocks (1a; 13a) einen zusätzlichen Eingang auf­ weist, um an einer bestimmten Bitposition die Vielzahl der ersten Elemente (pp0, . . . pp3) und zusätzlich ein zweites Element (pc15; pc11) eines Teilprodukt es (P15; P11) zu addieren, dessen erstes Element (pp15; pp11) einem anderen Additionsblock (2c; 14c) zugeführt wird.
3. Baumschaltung nach Anspruch 1 oder 2, dadurch gekennzeichnet, daß das zweite Element (pc15, pc11), das in den erweiterten Additionsblock eingegeben wird, zu dem Teilprodukt (P15, P11) gehört, das die höchste Ordnung von der Vielzahl von Teilprodukten hat.
4. Baumschaltung nach einem der Ansprüche 1 bis 3, dadurch gekennzeichnet, daß das Teilprodukt (P0), das die kleinste Ordnung von der Vielzahl von Teilprodukten hat, in den erweiterten Addi­ tionsblock eingegeben wird.
5. Baumschaltung nach einem der Ansprüche 1 bis 4, dadurch gekennzeichnet,
daß der erweiterte Additionsblock erweiterte Addierglieder (100, 110 bis 112, 300) hat, deren Anzahl eine vorbestimmte Anzahl ist, die an einer bestimmten Bit-Position angeordnet sind, welche die Bit-Position des darin eingegebenen zweiten Elements und darüber ist; und
reguläre Addierglieder (200, 400), die niedriger angeordnet sind als die bestimmte Bit-Position,
wobei die erweiterten Addierglieder jeweils einen Ausgang zur Weiterleitung nach oben zum Ausgeben von Daten zu dem nächsthöheren Bit mehr haben im Vergleich zu den regulären Addiergliedern, die den regulären Additionsblock bilden.
6. Baumschaltung nach Anspruch 5, dadurch gekennzeichnet,
daß der erweiterte Additionsblock ferner ein Addierglied hat, das höher ist als die erweiterten Addierglieder,
und daß als nächsthöheres zu dem höchsten der erweiterten Addierglieder angeordnete Addierglied eines der nach oben weitergeleiteten Ausgangssignale als ein von einem Übertrag von einer vorhergehenden Stelle verschiedenes Eingangs­ signal empfängt.
7. Baumschaltung nach Anspruch 5, dadurch gekennzeichnet, daß die erweiterten Addierglieder (300) jeweils drei Ein­ gänge (A, B, C) haben, die von den Ausgängen zur Weiter­ leitung nach oben, die von der nächstniedrigeren Bit-Po­ sition gegeben sind, verschieden sind.
8. Baumschaltung nach Anspruch 5, dadurch gekennzeichnet, daß die erweiterten Addierglieder (100, 110 bis 112) je­ weils vier Eingänge (A, B, C, D) haben, die von den von den nächstniedrigen Bit-Positionen gegebenen Ausgängen zur Weiterleitung nach oben verschieden sind und einer der Ausgänge zur Weiterleitung nach oben (Co2, Cob) einen von verschiedenen Werten annimmt, in Abhängigkeit davon, ob alle vier Eingangssignale "1" haben oder nicht.
9. Baumschaltung nach Anspruch 8, dadurch gekennzeichnet, daß die Ausgangssignale zur Weiterleitung nach oben Über­ träge für eine nächsthöhere Stelle (Co1, Co2) sind.
10. Baumschaltung nach Anspruch 8, dadurch gekennzeichnet,
daß die Ausgangssignale zur Weiterleitung nach oben, die zwischen einer Vielzahl der erweiterten Addierglieder weitergeleitet werden, als ein Paar von Pseudoüberträgen für eine nächsthöhere Stelle (Coa, Cob) erzeugt werden und als Resultate von zwei vorbestimmten arithmetischen Operationen ausgedrückt werden können, die für ein Paar von Überträgen für eine nächsthöhere Stelle (Co1, Co2) ausge­ führt werden, welche in den regulären Addiergliedern erzeugt werden,
und daß die Überträge für eine nächsthöhere Stelle in den beiden vorbestimmten arithmetischen Operationen kommutativ sind.
11. Baumschaltung nach Anspruch 10, dadurch gekennzeichnet, daß die Pseudoüberträge für eine nächsthöhere Stelle eine logische Summe des Paares von Überträgen für eine nächst­ höhere Stelle und einer Umkehrung eines logischen Produkts des Paares von Überträgen für eine nächsthöhere Stelle sind.
12. Baumschaltung nach einem der Ansprüche 10 oder 11, dadurch gekennzeichnet, daß das erweiterte Addierglied (110), das an der bestimmten Bit-Position angeordnet ist, einen Übertrag für eine nächsthöhere Stelle (Co) der nächstniedrigeren Position und das zweite Element (pc15), das in den erweiterten Addi­ tionsblock eingegeben wird, empfängt und die Pseudoüber­ träge für eine nächsthöhere Stelle zu dem erweiterten Addierglied weiterleitet, das an der nächsthöheren Bit- Position angordnet ist.
13. Baumschaltung nach einem der Ansprüche 10 bis 12, dadurch gekennzeichnet,
daß der erweiterte Additionsblock ferner ein reguläres Addierglied hat, das höher ist als die erweiterten Addierglieder,
und daß das höchste (112) der erweiterten Addierglieder das Paar von Pseudoüberträgen für eine nächsthöhere Stelle von der nächstniedrigeren Bit-Position empfängt und ein Paar von Überträgen für eine nächsthöhere Stelle an das reguläre Addierglied (200) ausgibt, das an der nächsthöheren Position angeordnet ist.
DE19711005A 1996-07-24 1997-03-17 Baumschaltung zur Addition von Teilprodukten im Booth-Algorithmus Expired - Fee Related DE19711005C2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP19492096A JP3652447B2 (ja) 1996-07-24 1996-07-24 ツリー回路

Publications (2)

Publication Number Publication Date
DE19711005A1 DE19711005A1 (de) 1998-01-29
DE19711005C2 true DE19711005C2 (de) 2001-09-13

Family

ID=16332549

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19711005A Expired - Fee Related DE19711005C2 (de) 1996-07-24 1997-03-17 Baumschaltung zur Addition von Teilprodukten im Booth-Algorithmus

Country Status (4)

Country Link
US (1) US5903484A (de)
JP (1) JP3652447B2 (de)
KR (1) KR100254316B1 (de)
DE (1) DE19711005C2 (de)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3678512B2 (ja) * 1996-08-29 2005-08-03 富士通株式会社 乗算回路、該乗算回路を構成する加算回路、該乗算回路の部分積ビット圧縮方法、および、該乗算回路を適用した大規模半導体集積回路
JP3688997B2 (ja) 1999-01-08 2005-08-31 富士通株式会社 ディジタル位相ロックループ回路
US6523049B1 (en) * 1999-12-21 2003-02-18 International Business Machines Corporation Circuit and method for determining greater than or equal to three out of sixty-six
JP4282193B2 (ja) * 2000-01-13 2009-06-17 株式会社ルネサステクノロジ 乗算装置
US6513054B1 (en) * 2000-02-22 2003-01-28 The United States Of America As Represented By The Secretary Of The Army Asynchronous parallel arithmetic processor utilizing coefficient polynomial arithmetic (CPA)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5181185A (en) * 1990-05-31 1993-01-19 Samsumg Electronics Co., Ltd. Parallel multiplier using skip array and modified wallace tree

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69130652T2 (de) * 1990-03-20 1999-05-06 Fujitsu Ltd Digitaler paralleler Hochgeschwindigkeitsmultiplizierer
JPH04147334A (ja) * 1990-10-09 1992-05-20 Matsushita Electric Ind Co Ltd 乗算器と乗算器のテスト方式
JP3276444B2 (ja) * 1993-03-22 2002-04-22 三菱電機株式会社 除算回路
JPH06301519A (ja) * 1993-04-12 1994-10-28 Olympus Optical Co Ltd 多ビット入力加算器
DE19713089C2 (de) * 1997-03-27 2000-07-27 Dornier Gmbh Lindauer Verfahren und Vorrichtung zur Steuerung und Überwachung der Schneidfunktion einer elektromotorisch angetriebenen Fadenschere in Webmaschinen

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5181185A (en) * 1990-05-31 1993-01-19 Samsumg Electronics Co., Ltd. Parallel multiplier using skip array and modified wallace tree

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
IBM Technical Disclosure, Z.: Bulletin, Vol. 16, No. 7, Dec. 1973, S. 2053-2054 *

Also Published As

Publication number Publication date
DE19711005A1 (de) 1998-01-29
KR980010750A (ko) 1998-04-30
KR100254316B1 (ko) 2000-05-01
JPH1040079A (ja) 1998-02-13
JP3652447B2 (ja) 2005-05-25
US5903484A (en) 1999-05-11

Similar Documents

Publication Publication Date Title
DE3700991C2 (de) Digitaler Übertragsvorgriffsaddierer
DE69632978T2 (de) Multi-Operand-Addierer, der Parallelzähler benutzt
DE69838877T2 (de) Architektur eines schnellen regulären multiplizierers
EP0123921B1 (de) Parallelverknüpfungsschaltung mit verkürztem Übertragsdurchlauf
DE69821408T2 (de) Multiplikationsverfahren und -vorrichtung
DE3927009A1 (de) Addierschaltung
DE69731700T2 (de) Arithmetischer Schaltkreis und arithmetisches Verfahren
DE1956209C3 (de) Multipliziervorrichtung
DE19758079A1 (de) Verfahren und Vorrichtung zur Galoisfeld-Multiplikation
DE4101004C2 (de) Paralleler Multiplizierer mit Sprungfeld und modifiziertem Wallac-Baum
DE2623986A1 (de) Parallelrechenwerk
DE69434806T2 (de) Verfahren, System und Vorrichtung zum automatischen Entwurf einer Multiplikatorschaltung und durch die Durchführung dieses Verfahrens entworfene Multiplikatorschaltung
DE2758130C2 (de) Binärer und dezimaler Hochgeschwindigkeitsaddierer
DE2626432A1 (de) Arithmetische einheit fuer automatische rechengeraete
EP0383965A1 (de) Multiplizierwerk
DE4409834C2 (de) Multiplizierschaltung
DE19711005C2 (de) Baumschaltung zur Addition von Teilprodukten im Booth-Algorithmus
DE69726248T2 (de) Addierer mit bedingter Summe unter Benutzung von Durchlasstransistor-Logik
DE3434777C2 (de)
DE3447634C2 (de)
DE2705989C2 (de) Schaltungsanordnung zum parallelen Addieren oder Subtrahieren von mindestens zwei Eingangszahlen
EP0130397B1 (de) Digitales Rechenwerk
DE2750212A1 (de) Einrichtung zur bildung und akkumulation von produkten
DE3909713C2 (de)
DE19708024A1 (de) Logische Verknüpfungsschaltung und Parallelübertragsaddierer

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
D2 Grant after examination
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee