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