DE19711005A1 - Baumschaltung - Google Patents

Baumschaltung

Info

Publication number
DE19711005A1
DE19711005A1 DE19711005A DE19711005A DE19711005A1 DE 19711005 A1 DE19711005 A1 DE 19711005A1 DE 19711005 A DE19711005 A DE 19711005A DE 19711005 A DE19711005 A DE 19711005A DE 19711005 A1 DE19711005 A1 DE 19711005A1
Authority
DE
Germany
Prior art keywords
outputs
inputs
bit
adder
extended
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.)
Granted
Application number
DE19711005A
Other languages
English (en)
Other versions
DE19711005C2 (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 vorliegende Erfindung betrifft eine binäre digitale Arithmetikeinheit und insbesondere eine Baumschaltung, die in einer Parallelmultiplizierschaltung zur Multiplikation eines Multiplikanden und eines Multiplikators von Zahlen mit Vor­ zeichen in der Zweierkomplementdarstellung verwendet wird, um ein Produkt von Zahlen mit Vorzeichen in der Zweierkomple­ mentdarstellung zu erhalten.
Allgemein sind Mikroprozessoren und DSP (Digitale Signalpro­ zessoren) der jüngeren Zeit mit einer Parallelmultiplizier­ vorrichtung zur raschen Ausführung von Multiplikationsbefeh­ len ausgerüstet. Die Parallelmultiplizierschaltung erzeugt eine Vielzahl von Teilprodukten aus Multiplikator und Multi­ plikand als Eingabeoperanden für die Multiplikation und ad­ diert diese Teilprodukte, um ein Multiplikationsresultat, das heißt ein Produkt zu erhalten. Demgemäß werden Lösungsan­ sätze zum Erreichen der beiden folgenden Ziele als eine Tech­ nik zur Beschleunigung des Betriebsablaufes der Parallelmul­ tiplizierschaltung vorgeschlagen.
Das erste Ziel ist es, die Anzahl der zu erzeugenden Teilpro­ dukte zu verringern. Um dieses Ziel zu erreichen, wird typi­ scherweise der Booth-Algorithmus, besonders der sekundäre Booth-Algorithmus verwendet. Das zweite Ziel ist es, eine ra­ sche Addition einer Vielzahl der Teilprodukte auszuführen. Zum Erreichen dieses Ziels ist ein Schaltungssystem zum Er­ reichen einer Paralleloperation von schnellen Additionsschal­ tungen erforderlich.
Nachfolgend wird eine schnelle Multiplizierschaltung nach dem Stand der Technik erörtert, wobei eine Schaltung zur Ausfüh­ rung der Multiplikation eines 32-Bit-Multiplikanden X mit Vorzeichen in Zweierkomplementdarstellung mit einem 32-Bit- Multiplikator Y mit Vorzeichen in Zweierkomplementdarstel­ lung, um ein 64-Bit-Produkt Z mit Vorzeichen in Zweierkomple­ mentdarstellung zu erhalten (die Schaltung wird im folgenden abgekürzt als "32×32-Multipliziervorrichtung" bezeichnet) als Beispiel dient.
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 er­ ste Ziel erreicht.
Genauer wird unter der Annahme, das 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 "Multiplikation von Daten mit zwei" erreicht, indem die ge­ samten Daten um ein Bit nach oben verschoben werden, und eine "Vorzeichen-Umkehrung" wird erreicht, indem alle Bits der Da­ ten umgekehrt werden (wodurch der Wert des ersten Elementes ppj des Teilprodukts umgekehrt wird) und 1 zu dem wertnied­ rigsten 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 P₀ bis P₁₅ 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 2 j + 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).
Zum Erreichen des zweiten Zieles, das heißt genauer zur Aus­ führung einer schnellen Addition von Teilprodukten, werden typischerweise eine Übertragspeicherungstechnik, eine Wallace-Baumtechnik und dergleichen als das Schaltungssystem zum Erreichen der Paralleloperation von schnellen Addier­ schaltungen 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" be­ zeichnet). Während des Prozesses erzeugte Übertragssignale, um die sich ergebenden Zwischensummen zu erhalten, werden in die Addition in der nachfolgenden Stufe verschoben. Die Wei­ terleitungen 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 sicherzustel­ len.
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 Sum­ men, die jeweils aus einer Vielzahl von Bits bestehen, mit hoher Geschwindigkeit unter Verwendung beispielsweise eines Parallelübertragsystems ausgeführt. Die abschließende Additi­ on wird nicht erörtert, da diese Technik bekannt ist.
Die Technik zum Erreichen des zweiten Zieles der Addition ei­ ner Vielzahl von Teilprodukten in Form eines Turniers unter sequentieller Komprimierung, um schließlich die zwei sich er­ gebenden Zwischensummen zu erzeugen, wird im Detail unter­ sucht und dann ein Problem nach dem Stand der Technik darge­ stellt.
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 vorgese­ hen, der ein Ausgangssignal des Additionsblocks 22g mit 4 Eingängen und 2 Ausgängen aufnimmt.
Fig. 14A bis 14C sind Blockdiagramme, die gemeinsam die De­ tails 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än­ gen in jeder Bit-Position wird zu einem Übertrag von einer vorhergehenden Stelle Ci des Addiergliedes 200 mit 4 Eingän­ gen 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 Addier­ glied 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än­ gen, der aus den in Reihe verbundenen Addiergliedern mit 4 Eingängen und 2 Ausgängen besteht, über das nächste Bit wei­ tergeleitet.
Bei der Addition von Teilprodukten nach dem Stand der Tech­ nik, 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 pc₁₅, das ein Bit des Teil­ produkts hat, mit dem unteren Ausgangssignal so₂₇ und dem oberen Ausgangssignal co₂₇ des Additionsblocks 22g mit 4 Ein­ gängen und 2 Ausgängen erforderlich. Das zweite Element pc₁₅ 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 Schalt­ bild in Fig. 16 gezeigt ist. Die Wahrheitstabelle des Ad­ diergliedes 400 mit 3 Eingängen und 2 Ausgängen ist in Tabel­ le 2 gezeigt.
Tabelle 2
Allgemein ist die Verzögerungszeit einer Stufe eines Exklu­ siv-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 Stu­ fen 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 geplanten Konfiguration des Addiergliedes 200 mit 4 Eingängen und 2 Ausgängen kann die in diesem Fall erforderli­ che Verzögerungszeit weiter verringert werden. Tabelle 3 zeigt eine Wahrheitstabelle einer beispielhaften Funktion, die das Addierglied 200 mit 4 Eingängen und 2 Ausgängen er­ fü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 Aus­ gangssignal 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 ersicht­ lich 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 Ein­ gä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 beschrie­ ben, sind die Verzögerungszeiten der Additionsblöcke 22a bis 22g und 24a direkt von den Verzögerungszeiten der Addierglie­ der 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 er­ sten Elemente pp₀ bis pp₁₅ und der zweiten Elemente pc₀ bis pc₁₅ 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ögerungs­ zeit von der Bestimmung der ersten Elemente pp₀ bis pp₁₅ und der zweiten Elemente pc₀ bis pc₁₅ des Teilprodukts bis zu der Bestimmung des unteren Ausgangssignals so₂₈ und des oberen Ausgangssignals co₂₈ 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 Additions­ blö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än­ gen 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 so₄₀ und ein obe­ res Ausgangssignal co₄₀ 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) aus­ geführt. Entsprechend beträgt die Verzögerungszeit von der Bestimmung der ersten Elemente pp₀ bis pp₁₅ und der zweiten Elemente pc₀ bis pc₁₅ des Teilprodukts bis zu der Bestimmung des unteren Ausgangssignals so₄₀ und des oberen Ausgangssi­ gnals co₄₀ des Additionsblocks 32e mit 4 Eingängen und 2 Aus­ gä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 Aus­ gä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 Multiplika­ tors 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 Additions­ blöcken wird die Addition in der Reihenfolge der ersten Stufe der Baumschaltung (die Additionsblöcke 42a bis 42c mit 4 Ein­ gängen und 2 Ausgängen), der zweiten Stufe (der Additions­ block 42d mit 4 Eingängen und 2 Ausgängen und der Additions­ block 44a mit 3 Eingängen und 2 Ausgängen) und der dritten Stufe (der Additionsblock 42e mit 4 Eingängen und 2 Ausgän­ gen) 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 ei­ nem 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 pp₀ bis pp₁₁ und der zweiten Elemente pc₀ bis pc₁₁ des Teilprodukts bis zur Bestimmung des unteren Ausgangssignals so₄₆ und des oberen Ausgangssignals co₄₆ 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än­ gen 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 so₄₅ und das obere Ausgangssignal co₄₅ des Additionsblocks 44a mit 3 Eingängen und 2 Ausgängen früher bestimmt als das untere Ausgangssignal so₄₄ und das obere Ausgangssignal co₄₄ des Additionsblocks 42d mit 4 Ein­ gängen und 2 Ausgängen, und zwar um eine XOR-Stufe. Ferner wird das erste Element pp₁₁ der Eingangsdaten des Additions­ blocks 44a mit 3 Eingängen und 2 Ausgängen früher bestimmt als das untere Ausgangssignal so₄₃ und das obere Ausgangssi­ gnal co₄₃ des Additionsblocks 42c mit 4 Eingängen und 2 Aus­ gä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. Unteransprüche beziehen sich auf bevorzugte Ausführungsformen der Erfindung. Hierbei sind auch andere Kombinationen von Merkmalen als in den Unteransprüchen beansprucht möglich.
Die vorliegende Erfindung ist auf eine Baumschaltung gerich­ tet. 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 komprimie­ renden Zwischensummen ausführt, um ein Paar von sich ergeben­ den Zwischensummen auszugeben: reguläre Additionsblöcke zum Addieren einer Vielzahl von mehrzahligen Bitdaten zum Ausge­ ben 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 Additi­ onsblock 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 Ord­ nung 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 Addierglie­ der, die niedriger angeordnet sind als die bestimmte Bit-Po­ sition, 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 emp­ fä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 Aus­ gänge zur Weiterleitung nach oben nimmt einen von verschiede­ nen 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 Über­ träge für eine nächsthöhere Stelle sind in beiden der zwei vorbestimmten arithmetischen Operation kommutativ.
Gemäß einem neunten Aspekt der vorliegenden Erfindung emp­ fängt in der Baumschaltung gemäß dem achten Aspekt das an der bestimmten Bit-Position angeordnete erweitere Addierglied ei­ nen Übertrag für eine nächsthöhere Stelle von der nächstnied­ rigeren Bit-Position und das zweite Element, das in den er­ weiterten Additionsblock eingegeben wird, und leitet die Pseudoüberträge für eine nächsthöhere Stelle zu dem erweiter­ ten 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 erwei­ terte 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 Baumschal­ tung 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 Konfigu­ rationsumfangs 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-Posi­ tionen. 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 Weiterlei­ tung 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 be­ stimmten 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 Addier­ gliedes 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-Posi­ tion 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über­ träge für eine nächsthöhere Stelle zwischen den erweiterten Addiergliedern weitergeleitet werden.
Die Aufgaben, Merkmale, Aspekte und Vorteile der vorliegenden Erfindung werden aus der folgenden detaillierten Beschreibung der vorliegenden Erfindung in Verbindung mit den beiliegenden Zeichnungen besser verständlich.
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 De­ tails von Fig. 1 zeigen;
Fig. 3A bis 3C sind Blockdiagramme, die gemeinsam eine Kon­ figuration eines erweiterten Additionsblocks 1a mit 4 Eingän­ gen und 2 Ausgängen zeigen;
Fig. 4 ist ein Schaltbild eines ersten Beispieles einer Kon­ figuration eines erweiterten Addiergliedes 100 mit 4 Eingän­ gen und 2 Ausgängen;
Fig. 5 ist ein Schaltbild eines zweiten Beispiels einer Kon­ figuration eines erweiterten Addiergliedes 100 mit 4 Eingän­ gen 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 Konfigura­ tion 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 Verbin­ dung 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 Konfigura­ tion 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än­ gen;
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 Verbin­ dung 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 P₀ bis P₁₅ werden gemäß dem sekundären Booth-Algorithmus erhal­ ten. Diese Figur zeigt nicht die Funktion zur Erzeugung die­ ser Teilprodukte, aber sie zeigt schematisch eine Baumschal­ tung, 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 Ele­ ment 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ührungs­ form ist aus einem Schaltungsblock 1a zum parallelen Addieren von vier Eingangsdaten mit mehreren Bits und einem Eingangs­ datum 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 pc₁₅ 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 Additions­ block 1a mit 4 Eingängen und 2 Ausgängen in der ersten bevor­ zugten 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 pc₁₅ und die ersten Elemente pp₀ bis pp₃ des Teilprodukts und gibt ein oberes Ausgangssignal co₁ und ein unteres Ausgangssignal so₁ aus. Der Additionsblock 2a mit 4 Eingängen und 2 Ausgängen emp­ fängt die ersten Elemente pp₄ bis pp₇ und gibt ein oberes Ausgangssignal co₂ und ein unteres Ausgangssignal so₂ als Zwischensummen aus. Der Additionsblock 2b mit 4 Eingängen und 2 Ausgängen empfängt die ersten Elemente pp₈ bis pp₁₁ und gibt ein oberes Ausgangssignal co₃ und ein unteres Ausgangssignal so₃ als Zwischensummen aus. Der Additionsblock 2c mit 4 Ein­ gängen und 2 Ausgängen empfängt die ersten Elemente pp₁₂ bis pp₁₅ und gibt ein oberes Ausgangssignal co₄ und ein unteres Ausgangssignal so₄ als Zwischensummen aus. Der Additionsblock 2d mit 4 Eingängen und 2 Ausgängen empfängt die oberen Aus­ gangssignale co₁ und co₂ und die unteren Ausgangssignale so₁ und so₂ und gibt ein oberes Ausgangssignal co₅ und ein unteres Ausgangssignal so₅ als Zwischensummen aus. Der Additionsblock 2e mit 4 Eingängen und 2 Ausgängen empfängt die oberen Ausgangssignale co₃ und co₄ und die unteren Ausgangssignale so₃ und so₄ und gibt ein oberes Ausgangssi­ gnal co₆ und ein unteres Ausgangssignal so₆ als Zwischensum­ men aus. Der Additionsblock 2f mit 4 Eingängen und 2 Ausgän­ gen empfängt die oberen Ausgangssignale co₅ und co₆ und die unteren Ausgangssignale so₅ und so₆ und gibt ein oberes Aus­ gangssignal co₇ und ein unteres Ausgangssignal so₇ als sich ergebende Zwischensummen aus. Das obere Ausgangssignal co₇ und das untere Ausgangssignal sog 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äute­ rung folgt nachfolgend unter Bezug auf Fig. 2A bis 2C.
Fig. 2A bis 2C sind Blockdiagramme, die gemeinsam die De­ tails von Fig. 1 zeigen. Fig. 2 ist eine schematische Dar­ stellung, 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 sei­ ner Bit-Breite und die Position in horizontaler Richtung ent­ spricht der Bit-Position.
Das zweite bis zweiunddreißigste Bit des ersten Elements pp₀ <32 : 0< des Teilprodukts P₀, alle Bits des ersten Elements pp₁ <34 : 2< und des zweiten Elements pc₁ des Teilprodukts P₁, alle Bits des ersten Elements pp₂ <36 : 4< und des zweiten Elements pc₂ des Teilprodukts P₂, das sechste bis sechsunddreißigste Bit des ersten Elements pp₃ <38 : 6< des Teilprodukts P₃ und das zweite Element pc₁₅ des Teilprodukts P₁₅ werden in den erwei­ terten Additionsblock 1a mit 4 Eingängen und 2 Ausgängen un­ ter Einstellung der Bit-Positionen eingegeben. (<u:v< gibt an, daß die durch die vorangehenden Zeichen dargestellten Da­ ten 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 Multiplikationsresultats, und die Bit-Position wird als n-te, gezählt von der wertniedrigsten Ordnung des Multi­ plikationsresultats ausgedrückt).
Das zweite Element pc₁ des Teilprodukts P₁ und das zweite Element pc₂ des Teilprodukts P₂ werden als pseudountere Bits des ersten Elements pp₃ des Teilprodukts P₃ behandelt.
Das zweite Element pc₀ des Teilprodukts P₀ wird zu dem Endadditionsblock (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 pp₃ des Teilprodukts P₃ werden als die pseu­ dooberen Bits des unteren Ausgangssignals so₁ <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 pc₃ 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 pp₀ des Teilpro­ dukts P₀ werden als die pseudounteren Bits des unteren Ausgangssignals so₁ 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 pp₂ und pp₃ nicht an die Bit-Positio­ nen der zweiten Elemente pc₁ bzw. pc₂ 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 pp₀ bis pp₃ sind jedoch ebenfalls an der Bit-Position des zweiten Elements pc₁₅, das heißt dem dreißigsten Bit angeordnet. Daher muß der erwei­ terte Additionsblock 1a mit 4 Eingängen und 2 Ausgängen an dieser Bit-Position mindestens ein Addierglied mit sechs Ein­ gängen einschließen, genauer für die vier ersten Elemente pp₀ <30<, pp₁ <30<, pp₂ <30<, pp₃ <30< (<w< bezeichnet eine Bit- Position), das zweite Element pc₁₅ und einen Übertrag für ei­ ne nächsthöhere Stelle Co des Addiergliedes 200 mit 4 Eingän­ gen und 2 Ausgängen, das an dem neunundzwanzigsten Bit ange­ ordnet 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 Dezimalschreibweise. 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 2 bezüglich der Bit-Position der einge­ gebenen Daten ausgeführt, kann aber nicht unter Verwendung eines Übertrages mit der Bewertung von 2² ausgeführt werden. Natürlich ist für ein Additionsresultat mit ungerader Zahl in Dezimalschreibweise ein Ausgangssignal mit einer Bewertung von 2⁰ 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än­ gen das untere Ausgangssignal SO mit der Bewertung von 2⁰ aus und das obere Ausgangssignal CO mit der Bewertung von 2¹ (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 2¹ 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 pc₁₅ angeordnete Addierglied die vier ersten Elemente pp₀ bis pp₃ 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 pp₀ 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 pc₁₅ des höchsten Teilprodukts P₁₅ und höher und an der höchstwertigen Bit-Position des ersten Elements pp₀ des niedrigsten Teilprodukts P₀ 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 neunundzwan­ zigsten 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 pc₁₅ des Teilprodukts P₁₅ 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 pp₀ <30<, pp₁ <30<, pp₂ <30< und pp₃ <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 pc₁₅ des Teilprodukts P₁₅ 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 pp₀ bis pp₃ 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 co₁ und dem unteren Ausgangssignal so₁ für jedes Bit des erweiterten Additionsblocks 1a mit 4 Eingängen und 2 Ausgängen entspre­ chen.
Das erste Element pp₂ hat keine Daten, die an der zweiten und der dritten Bit-Position anzuordnen sind, und das erste Ele­ ment pp₃ hat keine Daten, die an der zweiten bis fünften Bit- Position anzuordnen sind. Andererseits sind die zweiten Ele­ mente pc₁ und pc₂ an der zweiten bzw. der vierten Bit-Positi­ on angeordnet. Entsprechend werden das zweite Element pc₁ 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 pc₂ 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 pp₀ <32< anstelle des ersten Elements pp₀ <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 pp₀ <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 pp₀ <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 pp₂ <35< und pp₃ <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 Ein­ gä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 pp₀ und pp₁ 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 dieselbe 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 Wahr­ heitstabelle 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 G 33 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 pp₀ bis pp₁₅ und der zweiten Elemente pc₀ bis pc₁₅ der Teilprodukte bis zu der Bestimmung des unteren Ausgangssignals so₇ und des oberen Ausgangssignals co₇ 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 ver­ ringern. 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 pp₄ <40 : 8< des Teilprodukts P₄, alle Bits des ersten Elements pp₅ <42 : 10< und das zweite Element pc₅ des Teilprod­ ukts P₅, alle Bits des ersten Elements pp₆ <44 : 12< und des zweiten Elements pc₆ des Teilprodukts P₆, das vierzehnte bis vierundvierzigste Bit des ersten Elements pp₇ <46 : 14< des Teilprodukts P₇ werden in den Additionsblock 2a mit 4 Eingän­ gen und 2 Ausgängen unter Einstellung der Bit-Positionen ein­ gegeben.
Das zweite Element pc₅ des Teilprodukts P₅ und das zweite Element pc₆ des Teilprodukts P₆ werden als pseudoniedrige Bits des ersten Elements pp₇ des Teilprodukts P₇ behandelt.
Das achte und das neunte Bit des ersten Elements pp₄ des Teilprodukts P₄ werden als die pseudoniedrigen Bits des obe­ ren Ausgangssignals co₂ <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 pc₄ des Teilprodukts P₄ 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 pp₇ des Teil­ produkts P₇ wird als das pseudoobere Bit des unteren Aus­ gangssignals so₂ <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 pp₇ des Teilprodukts P₇ wird als ein pseudooberes Bit des unteren Ausgangssignals so₅ <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 pc₇ des Teilprodukts P₇ 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 so₅ des Additionsblocks 2d mit 4 Eingängen und 2 Ausgängen gemeinsam mit dem zweiten bis fünften Bit des unteren Aus­ gangssignals so₁ und dem nullten und ersten Bit des ersten Elements pp₀, die als dessen pseudoniedrige Bits behandelt werden, als pseudoniedrige Bits des unteren Ausgangssignals so₇ <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 co₅ des Additionsblocks 2d mit 4 Ein­ gängen und 2 Ausgängen gemeinsam mit dem dritten bis fünften Bit des oberen Ausgangssignals co₁ und dem zweiten Element pc₀ die als dessen pseudoniedrige Bits behandelt werden, als pseudoniedrige Bits des oberen Ausgangssignals co₇ <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 pp₈ <48 : 16< des Teilprodukts P₈, alle Bits des ersten Ele­ ments pp₉ <50 : 18< und des zweiten Elements pc₉ des Teilpro­ dukts P₉, alle Bits des ersten Elements pp₁₀ <52 : 20< und des zweiten Elements pc₁₀ des Teilprodukts P₁₀ und das zweiund­ zwanzigste bis zweiundfünfzigste Bit des ersten Elements pp₁₁ <54 : 22< des Teilprodukts P₁₁ werden in den Additionsblock 2b mit 4 Eingängen und 2 Ausgängen unter Einstellung der Bit-Po­ sitionen eingegeben.
Das zweite Element pc₉ des Teilprodukts P₉ und das zweite Ele­ ment pc₁₀ des Teilprodukts P₁₀ werden als die pseudoniedrigen Bits des ersten Elements pp₁₁ des Teilprodukts P₁₁ behandelt.
Das sechzehnte und das siebzehnte Bit des ersten Elements pp₈ des Teilprodukts P₈ werden als die pseudoniedrigen Bits des oberen Ausgangssignals co₃ <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 pc₈ des Teilprodukts P₈ 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 pp₁₁ des Teilprodukts P₁₁ werden als pseudoobere Bits des unteren Ausgangssignals so₃ <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 pc₁₁ des Teilprodukts P₁₁ 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 so₃ des Additionsblocks 2b mit 4 Eingängen und 2 Ausgängen als die pseudoniedrigen Bits des unteren Aus­ gangssignals so₆ <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 co₃ des Additionsblocks 2b mit 4 Eingängen und 2 Ausgängen gemeinsam mit dem sechzehnten und siebzehnten Bit des ersten Elements pp₈ des Teilprodukt P₈, die pseudoniedrige Bits davon sind, als die pseudoniedrigen Bits des oberen Ausgangssignals co₆ <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 pp₁₂ <56 : 24< des Teilprodukts P₁₂, alle Bits des er­ sten Elements pp₁₃ <58 : 26< und des zweiten Elements pc₁₃ des Teilprodukts P₁₃, alle Bits des ersten Elements pp₁₄ <60 : 28< und des zweiten Elements pc₁₄ des Teilprodukts P₁₄ und das dreißigste bis sechzigste Bit des ersten Elements pp₁₅ <62 : 30< des Teilprodukts P₁₅ werden in den Additionsblock 2c mit 4 Eingängen und 2 Ausgängen unter Einstellung der Bit-Po­ sitionen eingegeben.
Das zweite Element pc₁₃ des Teilprodukts P₁₃ und das zweite Element pc₁₄ des Teilprodukts P₁₄ werden als pseudoniedrige Bits des ersten Elements pp₁₅ des Teilprodukts P₁₅ behandelt.
Das vierundzwanzigste und fünfundzwanzigste Bit des ersten Elements pp₁₂ des Teilprodukts P₁₂ werden als die pseudonied­ rigen Bits des oberen Ausgangssignals co₄ <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 pc₁₂ des Teilprodukts P₁₂ 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 pp₁₅ des Teilpro­ dukts P₁₅ wird als das pseudoobere Bit des unteren Ausgangs­ signals so₄ <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 pp₁₅ des Teilprodukts P₁₅ wird als ein pseudooberes Bit des unteren Ausgangssignals so₆ <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 co₆ und des unteren Ausgangssignals so₆ des Additionsblocks 2e mit 4 Eingängen und 2 Ausgängen, des vierzehnten und höherer Bits des oberen Ausgangssignals co₅ und des unteren Ausgangssi­ gnals so₅ des Additionsblocks 2d mit 4 Eingängen und 2 Ausgängen, des einundzwanzigsten und niedrigerer Bits des oberen Ausgangssignals co₃ und des unteren Ausgangssignals so₃ des Additionsblocks 2b mit 4 Eingängen und 2 Ausgängen und der zweiten Elemente pc₇ und pc₈ 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 pc₁₅ in einen belie­ bigen 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 pc₁₅ (hierin das dreißigste Bit) (das erste 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 pp₀) 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 denselben 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 (pc₁₅ 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, daß Fig. 7 Fig. 3B an einer virtuellen Linie Q 28710 00070 552 001000280000000200012000285912859900040 0002019711005 00004 285915-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 pc₁₅ 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 pp₂ und pp₃ 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 pc₁₅ 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 dieselbe 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 derselben 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 pp₀ bis pp₁₅ und der zweiten Elemente pc₀ bis pc₁₅ des Teilprodukts bis zu der Bestimmung des unteren Ausgangssignals so₇ und des oberen Ausgangssignals co₇ 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 + a) Stufen von XORs (0 < a < 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 P₀ bis P₁₁ 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 pc₁₁ des Teilprodukts und die ersten Elemente pp₀ bis pp₂ des Teilprodukts und gibt ein oberes Ausgangssignal co₁₁ und ein unteres Ausgangssignal so₁₁ als Zwischensummen aus. Der Additionsblock 14a mit 3 Eingän­ gen und 2 Ausgängen empfängt die ersten Elemente pp₃ bis pp₅ des Teilprodukts und gibt das obere Ausgangssignal co₁₂ und das untere Ausgangssignal so₁₂ als Zwischensummen aus. Der Additionsblock 14b mit 3 Eingängen und 2 Ausgängen empfängt die ersten Elemente pp₆ bis pp₈ des Teilprodukts und gibt das obere Ausgangssignal co₁₃ und das untere Ausgangssignal so₁₃ als Zwischensummen aus. Der Additionsblock 14c mit 3 Eingän­ gen und 2 Ausgängen empfängt die ersten Elemente pp₉ bis pp₁₁ des Teilprodukts und gibt das obere Ausgangssignal co₁₄ und das untere Ausgangssignal so₁₄ als Zwischensummen aus.
Der Additionsblock 12a mit 4 Eingängen und 2 Ausgängen emp­ fängt die oberen Ausgangssignale co₁₁ und co₁₂ und untere Aus­ gangssignale so₁₁ und so₁₂ und gibt das obere Ausgangssignal co₁₅ und das untere Ausgangssignal so₁₅ als Zwischensummen aus. Der Additionsblock 12b mit 4 Eingängen und 2 Ausgängen empfängt die oberen Ausgangssignale co₁₃ und co₁₄ und die un­ teren Ausgangssignale so₁₃ und so₁₄ und gibt das obere Aus­ gangssignal co₁₆ und das untere Ausgangssignal so₁₆ als Zwischensummen aus. Der Additionsblock 12c mit 4 Eingängen und 2 Ausgängen empfängt die oberen Ausgangssignale co₁₅ und co₁₆ und die unteren Ausgangssignale so₁₅ und so₁₆ und gibt das obere Ausgangssignal co₁₇ und das untere Ausgangssignal so₁₇ als Zwischensummen aus. Das untere Ausgangssignal so₁₇ und das obere Ausgangssignal co₁₇ 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 pc₁₁ des Teilprodukts P₁₁ 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 pp₀ <22<, pp₁ <22< und pp₂ <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 pp₀ <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 pp₀ <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 pp₂ <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 2³ = 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 pp₀ bis pp₁₁ und der zweiten Elemente pc₀ bis pc₁₁ des Teilprodukts bis zur Bestimmung des unteren Aus­ gangssignals so₁₇ und des oberen Ausgangssignals co₁₇ 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än­ gen-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 erreicht.
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 festzustel­ len, 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 derselben 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, die eine Turnieraddition auf der Basis ei­ ner Vielzahl von Teilprodukten (Pj) ausführt, die gemäß dem Booth-Algorithmus erzeugt werden, und Zwischensummen (so₁ bis so₆, co₁ bis co₆, so₁₁ bis so₁₆, co₁₁ bis co₁₆) erzeugt, die zu komprimieren sind, um ein Paar von sich ergebenden Zwischensummen (so₇, co₇, so₁₇, co₁₇) auszuge­ ben, die folgendes aufweist:
reguläre Additionsblöcke (2a bis 2f, 12a bis 12c, 14a bis 14c) zum Addieren einer Vielzahl von mehrzahligen Bit-Da­ ten zum Ausgeben eines Paares der Zwischensummen; und einen erweiterten Additionsblock (1a, 13a), zum Addieren einer Vielzahl von mehrzahligen Bit-Daten und 1-Bit-Daten zum Ausgeben eines Paares der Zwischensummen.
2. Baumschaltung nach Anspruch 1, dadurch gekennzeichnet, daß jedes der Vielzahl von Teilprodukten als ein Produkt ausgedrückt wird, das durch Multiplizieren einer Summe eines ersten Elements (ppj) mit einer Vielzahl von Bits und eines zweiten Elements (pcj) mit einem Bit mit einer Ordnung (22j) erhalten wird, und daß der erweiterte Additionsblock (1a, 13a) die Viel­ zahl von Teilprodukten empfängt und ferner das zweite Element empfängt, das zu einem der Vielzahl von Teilpro­ dukten gehört, das von den in diesen einzugebenden ver­ schieden ist.
3. Baumschaltung nach Anspruch 2, dadurch gekennzeichnet, daß das zweite Element (pc₁₅, pc₁₁), das in den erweiter­ ten Additionsblock eingegeben wird, zu dem Teilprodukt (P₁₅, P₁₁) gehört, das die nächste Ordnung von der Viel­ zahl von Teilprodukten hat.
4. Baumschaltung nach einem der Ansprüche 1 bis 3, dadurch gekennzeichnet, daß das Teilprodukt (P₀), das die kleinste Ordnung von der Vielzahl von Teilprodukten hat, in den erweiterten Additionsblock eingegeben wird.
5. Baumschaltung nach einem der Ansprüche 2 bis 4, dadurch gekennzeichnet, daß der erweiterte Additionsblock erweiterte Addierglieder (100, 110 bis 112, 300) hat, de­ ren Anzahl eine vorbestimmte Anzahl ist, die an einer be­ stimmten Bit-Position angeordnet sind, welche die Bit-Po­ sition des darin eingegebenen zweiten Elements und dar­ über ist; und reguläre Addierglieder (200, 400), die niedriger angeord­ net 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 bil­ den.
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 Über­ trag von einer vorhergehenden Stelle verschiedenes Ein­ gangssignal 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) ausgefü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 kommuta­ tiv 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 Pro­ dukts 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 bestimm­ ten Bit-Position angeordnet ist, einen Übertrag für eine nächsthöhere Stelle (Co) der nächstniedrigeren Position und das zweite Element (pc₁₅), das in den erweiterten Ad­ ditionsblock eingegeben wird, empfängt und die Pseudo­ überträge für eine nächsthöhere Stelle zu dem erweiterten Addierglied weiterleitet, das an der nächsthöheren Bit- Position angeordnet 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 Ad­ dierglieder,
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 true DE19711005A1 (de) 1998-01-29
DE19711005C2 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 富士通株式会社 乗算回路、該乗算回路を構成する加算回路、該乗算回路の部分積ビット圧縮方法、および、該乗算回路を適用した大規模半導体集積回路
WO2000041176A1 (fr) 1999-01-08 2000-07-13 Fujitsu Limited Circuit numerique a boucle asservie
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
KR940002479B1 (ko) * 1990-03-20 1994-03-24 후지쓰 가부시끼가이샤 고속 디지탈 병렬승산기(multiplier)
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
JP3652447B2 (ja) 2005-05-25
KR980010750A (ko) 1998-04-30
KR100254316B1 (ko) 2000-05-01
JPH1040079A (ja) 1998-02-13
DE19711005C2 (de) 2001-09-13
US5903484A (en) 1999-05-11

Similar Documents

Publication Publication Date Title
DE3854321T2 (de) Populationszählung in Rechnersystemen.
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
DE3686681T2 (de) Parallelmultiplizierer.
DE69731700T2 (de) Arithmetischer Schaltkreis und arithmetisches Verfahren
DE3927009A1 (de) Addierschaltung
DE2246968A1 (de) Einrichtung zur kombination, insbesondere multiplikation, zweier gleitkommazahlen
DE69424329T2 (de) 4:2-Addierer und diesen verwendende Multiplizierschaltung
DE3700991A1 (de) Digitaler uebertragsvorgriffsaddierer
DE69130640T2 (de) Arithmetische Operationseinheit mit Bit-Invertierungsfunktion
DE4101004C2 (de) Paralleler Multiplizierer mit Sprungfeld und modifiziertem Wallac-Baum
DE2018452A1 (de) Arithmetische Einrichtung
DE2623986A1 (de) Parallelrechenwerk
DE3926876C2 (de) Schaltung und Verfahren zum Vorhersagen eines Sticky-Bit-Wertes bei der Gleitkommamultiplikation
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
DE4444304C2 (de) Verfahren zum Erzeugen eines zusammengesetzten Videobildes
EP0383965A1 (de) Multiplizierwerk
DE4409834C2 (de) Multiplizierschaltung
DE3889150T2 (de) Filter n-ten Ranges.
DE68927488T2 (de) Binäre Übertragvorgriffsschaltung
DE19711005C2 (de) Baumschaltung zur Addition von Teilprodukten im Booth-Algorithmus
DE69726248T2 (de) Addierer mit bedingter Summe unter Benutzung von Durchlasstransistor-Logik

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