DE19711005A1 - Baumschaltung - Google Patents
BaumschaltungInfo
- Publication number
- DE19711005A1 DE19711005A1 DE19711005A DE19711005A DE19711005A1 DE 19711005 A1 DE19711005 A1 DE 19711005A1 DE 19711005 A DE19711005 A DE 19711005A DE 19711005 A DE19711005 A DE 19711005A DE 19711005 A1 DE19711005 A1 DE 19711005A1
- Authority
- DE
- Germany
- Prior art keywords
- outputs
- inputs
- bit
- adder
- extended
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
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 vorliegende Erfindung betrifft eine binäre digitale
Arithmetikeinheit und insbesondere eine Baumschaltung, die in
einer Parallelmultiplizierschaltung zur Multiplikation eines
Multiplikanden und eines Multiplikators von Zahlen mit Vor
zeichen in der Zweierkomplementdarstellung verwendet wird, um
ein Produkt von Zahlen mit Vorzeichen in der Zweierkomple
mentdarstellung zu erhalten.
Allgemein sind Mikroprozessoren und DSP (Digitale Signalpro
zessoren) der jüngeren Zeit mit einer Parallelmultiplizier
vorrichtung zur raschen Ausführung von Multiplikationsbefeh
len ausgerüstet. Die Parallelmultiplizierschaltung erzeugt
eine Vielzahl von Teilprodukten aus Multiplikator und Multi
plikand als Eingabeoperanden für die Multiplikation und ad
diert diese Teilprodukte, um ein Multiplikationsresultat,
das heißt ein Produkt zu erhalten. Demgemäß werden Lösungsan
sätze zum Erreichen der beiden folgenden Ziele als eine Tech
nik zur Beschleunigung des Betriebsablaufes der Parallelmul
tiplizierschaltung vorgeschlagen.
Das erste Ziel ist es, die Anzahl der zu erzeugenden Teilpro
dukte zu verringern. Um dieses Ziel zu erreichen, wird typi
scherweise der Booth-Algorithmus, besonders der sekundäre
Booth-Algorithmus verwendet. Das zweite Ziel ist es, eine ra
sche Addition einer Vielzahl der Teilprodukte auszuführen.
Zum Erreichen dieses Ziels ist ein Schaltungssystem zum Er
reichen einer Paralleloperation von schnellen Additionsschal
tungen erforderlich.
Nachfolgend wird eine schnelle Multiplizierschaltung nach dem
Stand der Technik erörtert, wobei eine Schaltung zur Ausfüh
rung der Multiplikation eines 32-Bit-Multiplikanden X mit
Vorzeichen in Zweierkomplementdarstellung mit einem 32-Bit-
Multiplikator Y mit Vorzeichen in Zweierkomplementdarstel
lung, um ein 64-Bit-Produkt Z mit Vorzeichen in Zweierkomple
mentdarstellung zu erhalten (die Schaltung wird im folgenden
abgekürzt als "32×32-Multipliziervorrichtung" bezeichnet) als
Beispiel dient.
Durch Erzeugung eines Teilprodukts für jedes Bit des Multi
plikators Y werden 32 Teilprodukte erzeugt und diese Teilpro
dukte müssen addiert werden. Gemäß dem sekundären Booth-Algo
rithmus wird jedoch ein Satz von drei benachbarten Bits des
Multiplikators Y als eine Einheit behandelt, um die Anzahl
der Teilprodukte zu verringern. Auf diese Weise wird das er
ste Ziel erreicht.
Genauer wird unter der Annahme, das yi (i = 0 bis 31) 0 oder
1 ist, der Multiplikator Y unter Verwendung einer 32-Bit-Zahl
mit Vorzeichen in Zweierkomplementdarstellung ausgedrückt als
Das Produkt Z wird dann ausgedrückt als
(worin Y-1 ≡ 0).
Somit ist es zum Erhalten des Produktes Z nur erforderlich,
16 Teilprodukte Pj (j = 0 bis 15) zu addieren.
Tabelle 1 zeigt eine Wahrheitstabelle des sekundären Booth-
Algorithmus.
In Tabelle 1 bezeichnet "∼" eine logische Umkehrung, und es
gibt acht Kombinationen von möglichen Werten von drei benach
barten Bits des Multiplikators Y. Entsprechend wird das Teil
produkt Pj einer der Werte 0, +X·2j, +X·2j+1, -X·2j, -X·2j+1. Bei
einer binären digitalen Arithmetikoperation, die das Zweier
komplementdarstellungssystem verwendet, wird die
"Multiplikation von Daten mit zwei" erreicht, indem die ge
samten Daten um ein Bit nach oben verschoben werden, und eine
"Vorzeichen-Umkehrung" wird erreicht, indem alle Bits der Da
ten umgekehrt werden (wodurch der Wert des ersten Elementes
ppj des Teilprodukts umgekehrt wird) und 1 zu dem wertnied
rigsten Bit addiert wird (wodurch das zweite Element pcj des
Teilprodukts "1" wird). Anschließend wird das Teilprodukt Pj
ausgedrückt als
Pj = (ppj + pcj) · 22j (3)
Um demgemäß die sechzehn Teilprodukte P₀ bis P₁₅ zu addieren,
die gemäß dem sekundären Booth-Algorithmus erzeugt wurden,
ist es erforderlich, das erste Element ppj, das dreiunddrei
ßig Bits des Teilprodukts hat, dessen wertniedrigstes Bit das
Bit an der Stelle 2j ist, wenn j = 0 bis 15 (im einzelnen
liegen die Bitpositionen im Bereich von 2j bis 2 j + 32 und
die Position, die um ein Bit höher als die zweiunddreißigste
Bitposition ist, wird aufgrund der Möglichkeit, 32-Bit-Daten
mit 2 zu multiplizieren benötigt), und das zweite Element pcj
zu addieren, das ein Bit des Teilprodukts an dem Bit an der
Stelle 2j hat (mit anderen Worten stellt 22j die Ordnung
des ersten und des zweiten Elements dar).
Zum Erreichen des zweiten Zieles, das heißt genauer zur Aus
führung einer schnellen Addition von Teilprodukten, werden
typischerweise eine Übertragspeicherungstechnik, eine
Wallace-Baumtechnik und dergleichen als das Schaltungssystem
zum Erreichen der Paralleloperation von schnellen Addier
schaltungen verwendet. Bei Verwendung einer dieser Techniken
werden eine Vielzahl (hier sechzehn) von Zwischensummen in
Form eines Turniers addiert, während sie komprimiert werden,
um schließlich zwei Zwischensummen zu schaffen (die Summen
werden im folgenden als "sich ergebende Zwischensummen" be
zeichnet). Während des Prozesses erzeugte Übertragssignale,
um die sich ergebenden Zwischensummen zu erhalten, werden in
die Addition in der nachfolgenden Stufe verschoben. Die Wei
terleitungen der Übertragssignale in Bits höherer Ordnung
werden parallel ausgeführt und ein kritischer Pfad (Pfad zur
Steuerung der Geschwindigkeit der Schaltungsoperation) wird
insgesamt verkürzt, um so eine rasche Addition sicherzustel
len.
Die abschließende Addition der zwei sich ergebenden Zwischen
summen ergibt ein Produkt des Multiplikanden und des Multi
plikators. Die abschließende Addition wird für die zwei Sum
men, die jeweils aus einer Vielzahl von Bits bestehen, mit
hoher Geschwindigkeit unter Verwendung beispielsweise eines
Parallelübertragsystems ausgeführt. Die abschließende Additi
on wird nicht erörtert, da diese Technik bekannt ist.
Die Technik zum Erreichen des zweiten Zieles der Addition ei
ner Vielzahl von Teilprodukten in Form eines Turniers unter
sequentieller Komprimierung, um schließlich die zwei sich er
gebenden Zwischensummen zu erzeugen, wird im Detail unter
sucht und dann ein Problem nach dem Stand der Technik darge
stellt.
Fig. 13 ist ein Blockdiagramm nach dem Stand der Technik zur
Implementierung der Wallace-Baumtechnik. In dieser Figur sind
Additionsblöcke 22a bis 22g mit 4 Eingängen und 2 Ausgängen
in einer Baumstruktur miteinander verbunden. Ferner ist ein
Additionsblock 24a mit 3 Eingängen und 2 Ausgängen vorgese
hen, der ein Ausgangssignal des Additionsblocks 22g mit 4
Eingängen und 2 Ausgängen aufnimmt.
Fig. 14A bis 14C sind Blockdiagramme, die gemeinsam die De
tails aus Fig. 13 zeigen. Fig. 14 ist eine schematische
Darstellung, die die Verbindung zwischen Fig. 14A bis 14C
zeigt. Fig. 14A geht an einer virtuellen Linie Q19-Q19 in
Fig. 14B über und Fig. 14B geht an einer virtuellen Linie
Q20-Q20 in Fig. 14C über. Die Breite jedes Additionsblocks
entspricht seiner Bit-Breite und die Position in horizontaler
Richtung entspricht der Bit-Position.
Fig. 15A bis 15C sind Blockdiagramme, die gemeinsam eine
Konfiguration des Additionsblocks 22a mit 4 Eingängen und 2
Ausgängen darstellt. Fig. 15A geht an einer virtuellen Linie
Q22-Q22 in Fig. 15B über und Fig. 15B geht an einer virtu
ellen Linie Q23-Q23 in Fig. 15C über. Der Additionsblock 22a
mit 4 Eingängen und 2 Ausgängen besteht aus 35 Addiergliedern
200 mit 4 Eingängen und 2 Ausgängen jeweils für ein Bit, die
in Reihe geschaltet sind. Ein Übertrag für eine nächsthöhere
Stelle Co des Addiergliedes 200 mit 4 Eingängen und 2 Ausgän
gen in jeder Bit-Position wird zu einem Übertrag von einer
vorhergehenden Stelle Ci des Addiergliedes 200 mit 4 Eingän
gen und 2 Ausgängen in der nächsthöheren Bit-Position. Wenn
der Übertrag für eine nächsthöhere Stelle Co nicht von dem
Übertrag von einer vorhergehenden Stelle Ci in einem Addier
glied mit 4 Eingängen und 2 Ausgängen für ein Bit abhängig
ist, wird der Übertrag für eine nächsthöhere Stelle Co nicht
innerhalb des Additionsblocks mit 4 Eingängen und 2 Ausgän
gen, der aus den in Reihe verbundenen Addiergliedern mit 4
Eingängen und 2 Ausgängen besteht, über das nächste Bit wei
tergeleitet.
Bei der Addition von Teilprodukten nach dem Stand der Tech
nik, wie in Fig. 14A bis 14C gezeigt, ist der Additionsblock
24a mit 3 Eingängen und 2 Ausgängen in der vierten Stufe nur
zum Addieren des zweiten Elements pc₁₅, das ein Bit des Teil
produkts hat, mit dem unteren Ausgangssignal so₂₇ und dem
oberen Ausgangssignal co₂₇ des Additionsblocks 22g mit 4 Ein
gängen und 2 Ausgängen erforderlich. Das zweite Element pc₁₅
des Teilprodukts ist ein Hindernis bei der Beschleunigung der
Multipliziervorrichtung und der Additionsblock 24a mit 3 Ein
gängen und 2 Ausgängen ist ein Hindernis für die hohe Inte
gration der Schaltung.
Genauer ausgedrückt wird die Geschwindigkeit der Multipli
ziervorrichtung wie folgt geschätzt. Der Additionsblock 24a
mit 3 Eingängen und 2 Ausgängen besteht aus Addiergliedern
400 mit 3 Eingängen und 2 Ausgängen jeweils für ein Bit, die
in Reihe geschaltet sind, von welchen eines in einem Schalt
bild in Fig. 16 gezeigt ist. Die Wahrheitstabelle des Ad
diergliedes 400 mit 3 Eingängen und 2 Ausgängen ist in Tabel
le 2 gezeigt.
Allgemein ist die Verzögerungszeit einer Stufe eines Exklu
siv-ODER-Gatters (im folgenden als "XOR" bezeichnet) größer
als diejenige eines anderen AND- oder OR-Gatters oder eines
)Verbund-Gatters und entspricht etwa zwei Stufen derselben.
Beispielsweise führt der kritische Pfad des Addiergliedes 400
mit 3 Eingängen und 2 Ausgängen von Fig. 16 durch zwei Stu
fen von XORs.
Fig. 17 ist ein Blockdiagramm, das eine Konfiguration des
Addiergliedes 200 mit 4 Eingängen und 2 Ausgängen zeigt. Das
Addierglied 200 mit 4 Eingängen und 2 Ausgängen für ein Bit
kann aus zwei Addiergliedern 400 mit 3 Eingängen und 2 Aus
gängen für ein Bit gebildet sein. In diesem Fall führt der
kritische Pfad des Addiergliedes durch vier Stufen von XORs.
Mit der geplanten Konfiguration des Addiergliedes 200 mit 4
Eingängen und 2 Ausgängen kann die in diesem Fall erforderli
che Verzögerungszeit weiter verringert werden. Tabelle 3
zeigt eine Wahrheitstabelle einer beispielhaften Funktion,
die das Addierglied 200 mit 4 Eingängen und 2 Ausgängen er
füllen sollte.
Fig. 18 ist ein Schaltbild einer beispielhaften Schaltung,
die die Wahrheitstabelle von Tabelle 3 erfüllt. Der kritische
Pfad ist ein Pfad, um ein Ausgangssignal SO des Addiergliedes
200 mit 4 Eingängen und 2 Ausgängen zu erhalten. Das Aus
gangssignal SO ist ein Exklusiv-OR von fünf Signalen, das
heißt Eingangssignalen A, B, C, D und einem Übertragsignal
von einer vorhergehenden Stelle Ci. Wie aus Fig. 18 ersicht
lich ist, werden das Exklusiv-OR der Eingangssignale A und B
und das Exklusiv-OR der Eingangssignale C und D parallel
verarbeitet und schließlich führt der kritische Pfad durch
drei Stufen von XORs. Der Einfachheit halber wird bei der
nachfolgenden Erörterung angenommen, daß die Verzögerung des
Addiergliedes 400 mit 3 Eingängen und 2 Ausgängen zwei Stufen
von XORs ist und diejenige des Addiergliedes 200 mit 4 Ein
gängen und 2 Ausgängen drei Stufen von XORs ist.
Da der Übertrag für eine nächsthöhere Stelle Co nicht über
das nächste Bit weitergeleitet wird, wie vorstehend beschrie
ben, sind die Verzögerungszeiten der Additionsblöcke 22a bis
22g und 24a direkt von den Verzögerungszeiten der Addierglie
der 200 oder 400 abhängig.
Unter der Voraussetzung, daß der Multiplikand X und der Mul
tiplikator Y als Eingangssignale der Multipliziervorrichtung
zur selben Zeit eingegeben werden, werden die Werte der er
sten Elemente pp₀ bis pp₁₅ und der zweiten Elemente pc₀ bis
pc₁₅ des gemäß dem sekundären Booth-Algorithmus erzeugten
Teilprodukts zur selben Zeit bestimmt.
In diesen Additionsblöcken von Fig. 14A bis 14C wird die Ad
dition in der Reihenfolge der ersten Stufe der Baumschaltung
(die Additionsblöcke 22a bis 22d mit 4 Eingängen und 2 Aus
gängen), der zweiten Stufe (die Additionsblöcke 22e und 22f
mit 4 Eingängen und 2 Ausgängen), der dritten Stufe (der Ad
ditionsblock 22g mit 4 Eingängen und 2 Ausgängen) und der
vierten Stufe (der Additionsblock 24a mit 3 Eingängen und 2
Ausgängen) ausgeführt. Entsprechend beträgt die Verzögerungs
zeit von der Bestimmung der ersten Elemente pp₀ bis pp₁₅ und
der zweiten Elemente pc₀ bis pc₁₅ des Teilprodukts bis zu der
Bestimmung des unteren Ausgangssignals so₂₈ und des oberen
Ausgangssignals co₂₈ des Additionsblocks 24a mit 3 Eingängen
und 2 Ausgängen als die beiden sich ergebenden Zwischensummen
elf (= 3 × 3 + 2) Stufen von XORs, da der kritische Pfad
durch drei Stufen von Additionsblöcken mit 4 Eingängen und 2
Ausgängen und eine Stufe eines 3-2-Additionsblocks führt.
Die Baumschaltung zum Addieren von sechzehn Teilprodukten zur
Erzeugung der beiden sich ergebenden Zwischensummen, die
hauptsächlich aus Additionsblöcken mit 4 Eingängen und 2 Aus
gängen in Fig. 14A gebildet ist, kann auch in anderen Stufen
als der Endstufe der Baumschaltung aus Additionsblöcken mit 3
Eingängen und 2 Ausgängen gebildet sein.
Fig. 19 ist ein Blockdiagramm, das eine Konfiguration einer
Baumschaltung zeigt, die zum größeren Teil aus Additions
blöcken mit 3 Eingängen und 2 Ausgängen aufgebaut ist. Fig.
20A bis 20D sind Blockdiagramme, die gemeinsam Details von
Fig. 19 zeigen. Fig. 20 ist eine schematische Darstellung,
die die Verbindung zwischen Fig. 20A bis 20D zeigt. Fig.
20A geht an einer virtuellen Linie Q29-Q29 in Fig. 20B über
und Fig. 20B geht in Fig. 20C an einer virtuellen Linie
Q31-Q31 über. Wie in Fig. 14A bis 14C entspricht die Breite
jedes Additionsblocks seiner Bit-Breite und die Position in
horizontaler Richtung entspricht der Bit-Position.
Ausgangssignale von Additionsblöcken 32a bis 32d mit 4 Ein
gängen und 2 Ausgängen werden in Additionsblöcke 34a bis 34c
mit 3 Eingängen und 2 Ausgängen eingegeben, Ausgangssignale
von den Additionsblöcken 34a bis 34c mit 3 Eingängen und 2
Ausgängen werden in Additionsblöcke 34d bis 34e mit 3 Eingän
gen und 2 Ausgängen eingegeben und Ausgangssignale von den
Additionsblöcken 34d bis 34e mit 3 Eingängen und 2 Ausgängen
werden in einen Additionsblock 32e mit 4 Eingängen und 2 Aus
gängen ausgegeben. Die Additionsblöcke mit 4 Eingängen und 2
Ausgängen geben ein unteres Ausgangssignal so₄₀ und ein obe
res Ausgangssignal co₄₀ als die beiden sich ergebenden
Zwischensummen aus.
Anders als bei der Baumschaltung von Fig. 13 werden die
zweiten Elemente pcj in der Reihenfolge von j gesammelt und
in den Additionsblock 32a mit 4 Eingängen und 2 Ausgängen als
ppc eingegeben. Dies wird ausgedrückt als
In Fig. 19 und 20A bis 20D wird die Addition in der Reihen
folge der ersten Stufe der Baumschaltung (die Additionsblöcke
32a bis 32d mit 4 Eingängen und 2 Ausgängen), der zweiten
Stufe (die Additionsblöcke 34a bis 34c mit 3 Eingängen und 2
Ausgängen), der dritten Stufe (die Additionsblöcke 34d und
34e mit 3 Eingängen und 2 Ausgängen) und der vierten Stufe
(der Additionsblock 32e mit 4 Eingängen und 2 Ausgängen) aus
geführt. Entsprechend beträgt die Verzögerungszeit von der
Bestimmung der ersten Elemente pp₀ bis pp₁₅ und der zweiten
Elemente pc₀ bis pc₁₅ des Teilprodukts bis zu der Bestimmung
des unteren Ausgangssignals so₄₀ und des oberen Ausgangssi
gnals co₄₀ des Additionsblocks 32e mit 4 Eingängen und 2 Aus
gängen als die beiden sich ergebenden Zwischensummen 10 ( = 3
× 2 + 2 × 2) Stufen von XORs, da der kritische Pfad durch
zwei Stufen von Additionsblöcken mit 4 Eingängen und 2 Aus
gängen und zwei Stufen von Additionsblöcken mit 3 Eingängen
und 2 Ausgängen führt. Somit ist in dieser Konfiguration im
Vergleich zu derjenigen von Fig. 13 und Fig. 14A bis 14C
die Verzögerungszeit verbessert.
Es bestehen jedoch die Nachteile, daß die Anzahl der Additi
onsblöcke um zwei zunimmt und der Schaltungsumfang vergrößert
wird. Das resultiert daraus, daß der Additionsblock mit 3
Eingängen und 2 Ausgängen ein Eingangssignal weniger parallel
verarbeitet, obgleich seine Verzögerungszeit kürzer ist als
diejenige eines Additionsblocks mit 4 Eingängen und 2 Ausgän
gen.
Fig. 21 ist ein Blockdiagramm einer Baumschaltung zur Erzeu
gung der sich ergebenden Zwischensummen in einer Schaltung
zur Multiplikation eines Multiplikanden und eines Multiplika
tors von 24-Bit-Zahlen mit Vorzeichen in Zweierkomplementdar
stellung, um ein Produkt einer 48-Bit-Zahl mit Vorzeichen in
Zweierkomplementdarstellung zu erhalten. In dieser Schaltung
werden gemäß dem sekundären Booth-Algorithmus zwölf Teilpro
dukte erzeugt und in Form eines Turniers addiert, während sie
komprimiert werden, um schließlich die beiden Zwischensummen
zu ergeben.
Die Baumschaltung ist aus Additionsblöcken 42a bis 42e mit 4
Eingängen und 2 Ausgängen und einem Additionsblock 44a mit 3
Eingängen und 2 Ausgängen aufgebaut. In diesen Additions
blöcken wird die Addition in der Reihenfolge der ersten Stufe
der Baumschaltung (die Additionsblöcke 42a bis 42c mit 4 Ein
gängen und 2 Ausgängen), der zweiten Stufe (der Additions
block 42d mit 4 Eingängen und 2 Ausgängen und der Additions
block 44a mit 3 Eingängen und 2 Ausgängen) und der dritten
Stufe (der Additionsblock 42e mit 4 Eingängen und 2 Ausgän
gen) ausgeführt und ppc wird ausgedrückt als
In einem Fall von drei Stufen von Additionsblöcken mit 4 Ein
gängen und 2 Ausgängen (durch die Additionsblöcke 42a (oder
42b), 42d und 42e) ist die Verzögerungszeit länger als in ei
nem Fall von zwei Stufen von Additionsblöcken mit 4 Eingängen
und 2 Ausgängen und einer Stufe eines Additionsblocks mit 3
Eingängen und 2 Ausgängen (durch die Additionsblöcke 42c, 44a
und 42e). Entsprechend beträgt die Verzögerungszeit von der
Bestimmung der ersten Elemente pp₀ bis pp₁₁ und der zweiten
Elemente pc₀ bis pc₁₁ des Teilprodukts bis zur Bestimmung des
unteren Ausgangssignals so₄₆ und des oberen Ausgangssignals
co₄₆ des Additionsblocks 42e mit 4 Eingängen und 2 Ausgängen
als die beiden sich ergebenden Zwischensummen neun Stufen von
XORs, was den drei Stufen von Additionsblöcken mit 4 Eingän
gen und 2 Ausgängen entspricht.
Wie vorstehend erörtert sind die Zeiten zur Bestimmung von
Eingangsdaten des Additionsblocks 42e mit 4 Eingängen und 2
Ausgängen in den beiden Fällen nicht gleich. Genauer werden
das untere Ausgangssignal so₄₅ und das obere Ausgangssignal
co₄₅ des Additionsblocks 44a mit 3 Eingängen und 2 Ausgängen
früher bestimmt als das untere Ausgangssignal so₄₄ und das
obere Ausgangssignal co₄₄ des Additionsblocks 42d mit 4 Ein
gängen und 2 Ausgängen, und zwar um eine XOR-Stufe. Ferner
wird das erste Element pp₁₁ der Eingangsdaten des Additions
blocks 44a mit 3 Eingängen und 2 Ausgängen früher bestimmt
als das untere Ausgangssignal so₄₃ und das obere Ausgangssi
gnal co₄₃ des Additionsblocks 42c mit 4 Eingängen und 2 Aus
gängen, und zwar um drei Stufen von XORs.
Nach dem Stand der Technik wird die Schaltungsoperation der
Baumschaltung in einigen Fällen mit einem niedrigen Paralle
lismus in Abhängigkeit von der Bit-Breite der Eingangsdaten
für die Multiplikation ausgeführt. Mit anderen Worten wird in
nachteilhafter Weise die Beschleunigung der Multipliziervor
richtung nicht erreicht, da die Zeitgebung der Bestimmung der
Eingangsdaten der Schaltungsblöcke, die die Baumschaltung
bilden, nicht gleichförmig ist.
Es ist demgemäß Aufgabe der vorliegenden Erfindung, die Par
alleloperation der Parallelmultiplizierschaltung unter Ver
wendung des sekundären Booth-Algorithmus zu verbessern und
die Multipliziervorrichtung schneller zu machen, ohne daß der
Schaltungsumfang deutlich erhöht wird.
Die Lösung der Aufgabe ergibt sich aus den Patentansprüchen.
Unteransprüche beziehen sich auf bevorzugte Ausführungsformen
der Erfindung. Hierbei sind auch andere Kombinationen von
Merkmalen als in den Unteransprüchen beansprucht möglich.
Die vorliegende Erfindung ist auf eine Baumschaltung gerich
tet. Gemäß einem ersten Aspekt der vorliegenden Erfindung
enthält die Baumschaltung, die eine Turnieraddition auf der
Basis einer Vielzahl von Teilprodukten, die gemäß dem Booth-
Algorithmus erzeugt werden, unter Erzeugung von zu komprimie
renden Zwischensummen ausführt, um ein Paar von sich ergeben
den Zwischensummen auszugeben: reguläre Additionsblöcke zum
Addieren einer Vielzahl von mehrzahligen Bitdaten zum Ausge
ben eines Paares der Zwischensummen; und einen erweiterten
Additionsblock zum Addieren einer Vielzahl der mehrzahligen
Bitdaten und 1-Bit-Daten, um ein Paar der Zwischensummen aus
zugeben.
Gemäß einem zweiten Aspekt der vorliegenden Erfindung wird in
der Baumschaltung gemäß dem ersten Aspekt jedes der Vielzahl
von Teilprodukten als ein Produkt ausgedrückt, das durch Mul
tiplizieren einer Summe eines ersten Elements mit einer Viel
zahl von Bits und eines zweiten Elements mit einem Bit mit
einer Ordnung erhalten wird, und der erweiterte Additi
onsblock empfängt die Vielzahl von Teilprodukten und empfängt
weiter das zweite Element, das zu einem aus der Vielzahl von
Teilprodukten gehört, die von den in diesen einzugebenden
verschieden sind.
Gemäß einem dritten Aspekt der vorliegenden Erfindung gehört
in der Baumschaltung gemäß dem zweiten Aspekt das in den er
weiterten Additionsblock eingegebene zweite Element zu dem
Teilprodukt, das unter der Vielzahl von Teilprodukten die
größte Ordnung hat.
Gemäß einem vierten Aspekt der vorliegenden Erfindung wird in
der Baumschaltung gemäß dem dritten Aspekt das Teilprodukt,
das unter der Vielzahl von Teilprodukten die kleinste Ord
nung hat, in den erweiterten Additionsblock eingegeben.
Gemäß einem fünften Aspekt der vorliegenden Erfindung hat in
der Baumschaltung gemäß dem vierten Aspekt der erweitere Ad
ditionsblock erweiterte Addierglieder, deren Anzahl eine vor
bestimmte Zahl ist, die an einer bestimmten Bit-Position an
geordnet ist, welche die Bit-Position des darin eingegebenen
zweiten und höheren Elements ist; sowie reguläre Addierglie
der, die niedriger angeordnet sind als die bestimmte Bit-Po
sition, wobei die erweiterten Addierglieder jeweils einen
Ausgang zur Weiterleitung nach oben zum Ausgeben von Daten zu
dem nächsthöheren Bit mehr haben im Vergleich zu den regulä
ren Addiergliedern, die den regulären Additionsblock bilden.
Gemäß einem sechsten Aspekt der vorliegenden Erfindung hat in
der Baumschaltung gemäß dem fünften Aspekt der erweitere Ad
ditionsblock ferner ein Addierglied, das höher liegt als die
erweiterten Addierglieder, und das höher nahe dem höchsten
der erweiterten Addierglieder angeordnete Addierglied emp
fängt eines der Ausgangssignale zur Weiterleitung nach oben
als ein von einem Übertrag von einer vorhergehenden Stelle
verschiedenes Eingangssignal.
Gemäß einem siebten Aspekt der vorliegenden Erfindung haben
in der Baumschaltung gemäß dem fünften Aspekt die erweiterten
Addierglieder jeweils 4 Eingänge, die von den Ausgängen zur
Weiterleitung nach oben, die von der nächstniedrigeren Bit-
Position gegeben sind, verschieden sind, und einer der Aus
gänge zur Weiterleitung nach oben nimmt einen von verschiede
nen Werten in Abhängigkeit davon an, ob alle 4 Eingänge "1"
haben oder nicht.
Gemäß einem achten Aspekt der vorliegenden Erfindung werden
in der Baumschaltung gemäß dem siebten Aspekt die zwischen
einer Vielzahl der erweiterten Addierglieder weitergeleiteten
Ausgangssignale zur Weiterleitung nach oben als ein Paar von
Pseudoüberträgen für eine nächsthöhere Stelle erzeugt und
können als Resultate von zwei vorbestimmten arithmetischen
Operationen ausgedrückt werden, die für ein Paar von Überträ
gen für eine nächsthöhere Stelle ausgeführt werden, die in
den regulären Addiergliedern erzeugt werden, und die Über
träge für eine nächsthöhere Stelle sind in beiden der zwei
vorbestimmten arithmetischen Operation kommutativ.
Gemäß einem neunten Aspekt der vorliegenden Erfindung emp
fängt in der Baumschaltung gemäß dem achten Aspekt das an der
bestimmten Bit-Position angeordnete erweitere Addierglied ei
nen Übertrag für eine nächsthöhere Stelle von der nächstnied
rigeren Bit-Position und das zweite Element, das in den er
weiterten Additionsblock eingegeben wird, und leitet die
Pseudoüberträge für eine nächsthöhere Stelle zu dem erweiter
ten Addierglied weiter, das an der nächsthöheren Bit-Position
angeordnet ist.
Gemäß einem zehnten Aspekt der vorliegenden Erfindung hat in
der Baumschaltung gemäß dem neunten Aspekt der erweitere Ad
ditionsblock ferner ein reguläres Addierglied, das höher
liegt als die erweiterten Addierglieder, und das höchste der
erweiterten Addierglieder empfängt ein Paar von Pseudoüber
trägen für eine nächsthöhere Stelle von der nächstniedrigeren
Bit-Position und gibt ein Paar von Überträgen für eine
nächsthöhere Stelle an das reguläre Addierglied aus, das an
der nächsthöheren Bit-Position angeordnet ist.
In der Baumschaltung gemäß dem ersten Aspekt empfängt der er
weiterte Additionsblock um ein Bit mehr Daten als der regulä
re Additionsblock. Daher benötigt die Baumschaltung einen
weiteren Additionsblock zum Addieren der beiden komprimierten
Zwischensummen und dieses einen Bits, um die sich ergebenden
Zwischensummen zu erhalten.
Da in der Baumschaltung gemäß dem zweiten Aspekt der erwei
terte Additionsblock in der ersten Stufe der Baumschaltung
angeordnet ist, werden die Zwischensummen an die zweite Stufe
der Baumschaltung (wo die in der ersten Stufe erhaltenen Zwi
schensummen weiter addiert werden) unter Einstellung der
Zeitgebung gegeben. Daher kann eine Verarbeitung mit höherer
Geschwindigkeit durch Einstellen der Zeitgebung des Erhalts
der Zwischensummen ohne Vergrößerung des Schaltungsumfangs
erzielt werden.
Eine Konfiguration größeren Umfangs ist an der Bit-Position
des zweiten Elements, das in den erweiterten Additionsblock
und höher eingegeben wird, im Vergleich zu der Konfiguration
an den anderen Bit-Positionen erforderlich. In der Baumschal
tung gemäß dem dritten Aspekt wird das zweite Element, dessen
Bit-Position die höchste ist, zur Eingabe in den erweiterten
Additionsblock ausgewählt, wodurch eine Erhöhung des Konfigu
rationsumfangs des erweiterten Additionsblocks unterdrückt
wird.
In der Baumschaltung gemäß dem vierten Aspekt dient der Addi
tionsblock, der die Bit-Position enthält, an der die größte
Anzahl von Teilprodukten addiert wird (mit anderen Worten ist
die Anzahl der zu addierenden Teilprodukte gleich der Anzahl
von einzugebenden Teilprodukten) und der niedrigste ist, als
der erweiterte Additionsblock. An der Bit-Position, an der
die Anzahl der zu addierenden Teilprodukte kleiner ist als
die Anzahl der einzugebenden Teilprodukte und höher, ist es
möglich, das eingegebene zweite Element zu bearbeiten, ohne
daß der Konfigurationsumfang des erweiterten Additionsblocks
vergrößert wird. Mit anderen Worten kann in der Konfiguration
des erweiterten Additionsblocks, obgleich der Konfigurations
umfang an der Bit-Position des in diesen eingegebenen zweiten
Elements und höher vergrößert ist, die Vergrößerung dieses
Teiles unterdrückt werden und kann eine weitere Vergrößerung
des Konfigurationsumfangs des erweiterten Additionsblocks
unterdrückt werden.
Für das in den erweiterten Additionsblock einzugebende zweite
Element kann das Addierglied an der bestimmten Bit-Position
Ausgangssignale zur Weiterleitung nach oben mit einem Bit
mehr haben als die Addierglieder an den niedrigeren Bit-Posi
tionen. Da das Ausgangssignal zur Weiterleitung nach oben zu
der Bit-Position weitergeleitet wird, die höher ist als die
bestimmte Bit-Position, sind Ausgangssignale zur Weiterlei
tung nach oben mit einem Bit mehr auch an der Bit-Position
erforderlich, die höher ist als die bestimmte Bit-Position.
Aus diesem Grund ist in der Baumschaltung gemäß dem fünften
Aspekt das erweiterte Addierglied, das Ausgangssignale zur
Weiterleitung nach oben mit einem Bit mehr hat, an der be
stimmten Bit-Position und darüber vorgesehen.
In der Baumschaltung gemäß dem sechsten Aspekt kann ein regu
läres Addierglied für das Addierglied verwendet werden, das
als nächsthöheres bezüglich dem erweiterten Addierglied in
der höchstwertigen Ordnung (das erweiterte Addierglied der
höchstwertigen Ordnung) angeordnet ist, da es das Ausgangssi
gnal zur Weiterleitung nach oben von dem erweiterten Addier
glied der höchstwertigen Ordnung durch ein von dem Übertrag
von einer vorhergehenden Stelle verschiedenes Eingangssignal
empfängt.
In der Baumschaltung gemäß dem siebten Aspekt ist die Konfi
guration zum Erhalten eines der Ausgangssignale zur Weiter
leitung nach oben vereinfacht und daher ist es möglich, eine
Vergrößerung des Konfigurationsumfangs des erweiterten Ad
diergliedes und weiter des Konfigurationsumfangs des erwei
terten Additionsblocks zu unterdrücken.
In der Baumschaltung gemäß dem achten Aspekt kann das Aus
gangssignal zur Weiterleitung nach oben nicht die Bedeutung
eines Übertrags haben und die Pseudoüberträge für eine
nächsthöhere Stelle werden zu einer höheren Bit-Position wei
tergeleitet, um die Konfiguration des erweiterten Addier
gliedes zu vereinfachen.
In der Baumschaltung gemäß dem neunten Aspekt ist das erwei
terte Addierglied zum Einstellen des regulären Addiergliedes,
das niedriger als die bestimmte Bit-Position angeordnet ist,
und des erweiterten Addiergliedes, das die Pseudoüberträge
für eine nächsthöhere Stelle empfängt, vorgesehen, und dies
erlaubt eine reguläre Addition unter der bestimmten Bit-Posi
tion und die Weiterleitung der Pseudoüberträge für eine
nächsthöhere Stelle zwischen den erweiterten Addiergliedern
zur selben Zeit.
In der Baumschaltung gemäß dem zehnten Aspekt sind das erwei
terte Addierglied zur Weiterleitung der Pseudoüberträge für
eine nächsthöhere Stelle zu der höheren Bit-Position und das
erweiterte Addierglied zum Einstellen dieses erweiterten Ad
diergliedes zur Weiterleitung und das reguläre Addierglied,
das höher angeordnet ist, vorgesehen, und dies erlaubt die
reguläre Addition in dem höher als das erweiterte Addierglied
angeordneten regulären Addierglied, während die Pseudoüber
träge für eine nächsthöhere Stelle zwischen den erweiterten
Addiergliedern weitergeleitet werden.
Die Aufgaben, Merkmale, Aspekte und Vorteile der vorliegenden
Erfindung werden aus der folgenden detaillierten Beschreibung
der vorliegenden Erfindung in Verbindung mit den beiliegenden
Zeichnungen besser verständlich.
Fig. 1 ist ein Blockdiagramm, das eine erste bevorzugte Aus
führungsform der vorliegenden Erfindung zeigt;
Fig. 2 ist eine schematische Darstellung, die die Verbindung
zwischen Fig. 2A bis 2C zeigt;
Fig. 2A bis 2C sind Blockdiagramme, die gemeinsam die De
tails von Fig. 1 zeigen;
Fig. 3A bis 3C sind Blockdiagramme, die gemeinsam eine Kon
figuration eines erweiterten Additionsblocks 1a mit 4 Eingän
gen und 2 Ausgängen zeigen;
Fig. 4 ist ein Schaltbild eines ersten Beispieles einer Kon
figuration eines erweiterten Addiergliedes 100 mit 4 Eingän
gen und 2 Ausgängen;
Fig. 5 ist ein Schaltbild eines zweiten Beispiels einer Kon
figuration eines erweiterten Addiergliedes 100 mit 4 Eingän
gen und 2 Ausgängen;
Fig. 6 ist ein Schaltbild, das eine Konfiguration eines er
weiterten Addiergliedes 111 mit 4 Eingängen und 2 Ausgängen
zeigt;
Fig. 7 ist ein Blockdiagramm, das einen Teil der Konfigura
tion des erweiterten Additionsblocks 1a mit 4 Eingängen und 2
Ausgängen zeigt;
Fig. 8 ist ein Schaltbild, das eine Konfiguration eines er
weiterten Addiergliedes 110 mit 4 Eingängen und 2 Ausgängen
zeigt;
Fig. 9 ist ein Schaltbild, das eine Konfiguration eines er
weiterten Addiergliedes 112 mit 4 Eingängen und 2 Ausgängen
zeigt;
Fig. 10 ist ein Blockdiagramm, das eine dritte bevorzugte
Ausführungsform der vorliegenden Erfindung zeigt;
Fig. 11A bis 11B sind Blockdiagramme, die gemeinsam eine
Konfiguration eines erweiterten Additionsblocks 13a mit 3
Eingängen und 2 Ausgängen zeigen;
Fig. 12 ist ein Schaltbild, das eine Konfiguration eines er
weiterten Addiergliedes 300 mit 3 Eingängen und 2 Ausgängen
zeigt;
Fig. 13 ist ein Blockdiagramm einer Konfiguration einer
Baumschaltung nach dem Stand der Technik;
Fig. 14 ist eine schematische Darstellung, die die Verbin
dung zwischen Fig. 14A bis Fig. 14C zeigt;
Fig. 14A bis 14C sind Blockdiagramme, die gemeinsam die De
tails von Fig. 13 zeigen;
Fig. 15A bis 15C sind Blockdiagramme, die gemeinsam eine
Konfiguration eines Additionsblocks 22a mit 4 Eingängen und 2
Ausgängen zeigen;
Fig. 16 ist ein Schaltbild einer beispielhaften Konfigura
tion eines Addiergliedes 400 mit 3 Eingängen und 2 Ausgängen;
Fig. 17 ist ein Blockdiagramm einer beispielhaften Konfigu
ration eines Addiergliedes 200 mit 4 Eingängen und 2 Ausgän
gen;
Fig. 18 ist ein Schaltbild eines Beispiels des Addiergliedes
200 mit 4 Eingängen und 2 Ausgängen;
Fig. 19 ist ein Blockdiagramm einer Konfiguration der Baum
schaltung nach dem Stand der Technik;
Fig. 20 ist eine schematische Darstellung, die die Verbin
dung zwischen Fig. 20A bis Fig. 20D zeigt;
Fig. 20A bis 20D sind Blockdiagramme, die gemeinsam die De
tails von Fig. 19 zeigen; und
Fig. 21 ist ein Blockdiagramm, das die Baumschaltung nach
dem Stand der Technik zeigt.
Fig. 1 ist ein Blockdiagramm, das einen Teil einer Konfigu
ration einer Multipliziervorrichtung gemäß der ersten bevor
zugten Ausführungsform der vorliegenden Erfindung zeigt. Mul
tiplikator und Multiplikand sind 32-Bit-Zahlen mit Vorzeichen
in Zweierkomplementdarstellung, und sechzehn Teilprodukte P₀
bis P₁₅ werden gemäß dem sekundären Booth-Algorithmus erhal
ten. Diese Figur zeigt nicht die Funktion zur Erzeugung die
ser Teilprodukte, aber sie zeigt schematisch eine Baumschal
tung, die Zwischensummen komprimiert, um schließlich zwei
sich ergebende Zwischensummen zu erzeugen. Wie im Stand der
Technik erörtert, ist ein Teilprodukt Pj von dem ersten Ele
ment ppj mit 33-Bit-Breite, dem zweiten Element pcj mit 1-
Bit-Breite und 2j, das die wertniedrigste Bit-Position
darstellt, abhängig.
Die Baumschaltung gemäß der ersten bevorzugten Ausführungs
form ist aus einem Schaltungsblock 1a zum parallelen Addieren
von vier Eingangsdaten mit mehreren Bits und einem Eingangs
datum mit einem Bit (der Schaltungsblock wird nachfolgend als
"erweiterter Additionsblock mit 4 Eingängen und 2 Ausgängen"
bezeichnet) und Additionsblöcken 2a bis 2f mit 4 Eingängen
und 2 Ausgängen aufgebaut.
Das zweite Element pc₁₅ des Teilprodukts, das nach dem Stand
der Technik an den Additionsblock 24a mit 3 Eingängen und 2
Ausgängen gegeben wird, wird an den erweiterten Additions
block 1a mit 4 Eingängen und 2 Ausgängen in der ersten bevor
zugten Ausführungsform angelegt. Dies eliminiert den Bedarf
für den Additionsblock 24a mit 3 Eingängen und 2 Ausgängen.
Der erweiterte Additionsblock 1a mit 4 Eingängen und 2 Aus
gängen empfängt das zweite Element pc₁₅ und die ersten
Elemente pp₀ bis pp₃ des Teilprodukts und gibt ein oberes
Ausgangssignal co₁ und ein unteres Ausgangssignal so₁ aus.
Der Additionsblock 2a mit 4 Eingängen und 2 Ausgängen emp
fängt die ersten Elemente pp₄ bis pp₇ und gibt ein oberes
Ausgangssignal co₂ und ein unteres Ausgangssignal so₂ als
Zwischensummen aus. Der Additionsblock 2b mit 4 Eingängen und
2 Ausgängen empfängt die ersten Elemente pp₈ bis pp₁₁ und gibt
ein oberes Ausgangssignal co₃ und ein unteres Ausgangssignal
so₃ als Zwischensummen aus. Der Additionsblock 2c mit 4 Ein
gängen und 2 Ausgängen empfängt die ersten Elemente pp₁₂ bis
pp₁₅ und gibt ein oberes Ausgangssignal co₄ und ein unteres
Ausgangssignal so₄ als Zwischensummen aus. Der Additionsblock
2d mit 4 Eingängen und 2 Ausgängen empfängt die oberen Aus
gangssignale co₁ und co₂ und die unteren Ausgangssignale so₁
und so₂ und gibt ein oberes Ausgangssignal co₅ und ein
unteres Ausgangssignal so₅ als Zwischensummen aus. Der
Additionsblock 2e mit 4 Eingängen und 2 Ausgängen empfängt
die oberen Ausgangssignale co₃ und co₄ und die unteren
Ausgangssignale so₃ und so₄ und gibt ein oberes Ausgangssi
gnal co₆ und ein unteres Ausgangssignal so₆ als Zwischensum
men aus. Der Additionsblock 2f mit 4 Eingängen und 2 Ausgän
gen empfängt die oberen Ausgangssignale co₅ und co₆ und die
unteren Ausgangssignale so₅ und so₆ und gibt ein oberes Aus
gangssignal co₇ und ein unteres Ausgangssignal so₇ als sich
ergebende Zwischensummen aus. Das obere Ausgangssignal co₇
und das untere Ausgangssignal sog werden schließlich durch
einen Endadditionsblock (nicht dargestellt) zusammenaddiert,
um ein Multiplikationsergebnis zu ergeben. Die vorstehende
Erörterung gibt einen Überblick und die detaillierte Erläute
rung folgt nachfolgend unter Bezug auf Fig. 2A bis 2C.
Fig. 2A bis 2C sind Blockdiagramme, die gemeinsam die De
tails von Fig. 1 zeigen. Fig. 2 ist eine schematische Dar
stellung, die die Verbindung zwischen Fig. 2A bis 2C zeigt.
Fig. 2A geht an einer virtuellen Linie Q2-Q2 in Fig. 2B
über und Fig. 2B geht an einer virtuellen Linie Q3-Q3 in
Fig. 2C über. Die Breite jedes Additionsblocks entspricht sei
ner Bit-Breite und die Position in horizontaler Richtung ent
spricht der Bit-Position.
Das zweite bis zweiunddreißigste Bit des ersten Elements pp₀
<32 : 0< des Teilprodukts P₀, alle Bits des ersten Elements pp₁
<34 : 2< und des zweiten Elements pc₁ des Teilprodukts P₁, alle
Bits des ersten Elements pp₂ <36 : 4< und des zweiten Elements
pc₂ des Teilprodukts P₂, das sechste bis sechsunddreißigste
Bit des ersten Elements pp₃ <38 : 6< des Teilprodukts P₃ und das
zweite Element pc₁₅ des Teilprodukts P₁₅ werden in den erwei
terten Additionsblock 1a mit 4 Eingängen und 2 Ausgängen un
ter Einstellung der Bit-Positionen eingegeben. (<u:v< gibt
an, daß die durch die vorangehenden Zeichen dargestellten Da
ten in dem Bereich von dem v-ten bis zu dem u-ten Bit liegen,
gezählt von dem nullten Bit, das heißt dem wertniedrigsten
Bit des Multiplikationsresultats, und die Bit-Position wird
als n-te, gezählt von der wertniedrigsten Ordnung des Multi
plikationsresultats ausgedrückt).
Das zweite Element pc₁ des Teilprodukts P₁ und das zweite
Element pc₂ des Teilprodukts P₂ werden als pseudountere Bits
des ersten Elements pp₃ des Teilprodukts P₃ behandelt.
Das zweite Element pc₀ des Teilprodukts P₀ wird zu dem
Endadditionsblock (nicht dargestellt) weitergeleitet, da
keine anderen Daten an seiner Bit-Position (dem nullten Bit)
angeordnet sind.
Das siebenunddreißigste und das achtunddreißigste Bit des er
sten Elements pp₃ des Teilprodukts P₃ werden als die pseu
dooberen Bits des unteren Ausgangssignals so₁ <36 : 2< des er
weiterten Additionsblocks 1a mit 4 Eingängen und 2 Ausgängen
behandelt und zu dem Additionsblock 2d mit 4 Eingängen und 2
Ausgängen weitergeleitet, da der erweiterte Additionsblock 1a
mit 4 Eingängen und 2 Ausgängen die Bit-Positionen nicht ab
deckt.
Das zweite Element pc₃ wird nicht in dem erweiterten Additi
onsblock 1a mit 4 Eingängen und 2 Ausgängen addiert und wird
zu dem 4-2 Additionsblock 2d weitergeleitet, da vier Daten,
die an seine Bit-Position zu geben sind (das sechste Bit),
bereits vorhanden sind.
Das nullte und das erste Bit des Elements pp₀ des Teilpro
dukts P₀ werden als die pseudounteren Bits des unteren
Ausgangssignals so₁ des erweiterten Additionsblocks 1a mit 4
Eingängen und 2 Ausgängen behandelt, da der erweiterte Addi
tionsblock 1a mit 4 Eingängen und 2 Ausgängen die Bit-Posi
tionen nicht abdeckt.
Da die ersten Elemente pp₂ und pp₃ nicht an die Bit-Positio
nen der zweiten Elemente pc₁ bzw. pc₂ gegeben werden, können
die Addierglieder 200 mit 4 Eingängen und 2 Ausgängen nach
dem Stand der Technik an diesen Positionen des erweiterten
Additionsblocks 1a mit 4 Eingängen und 2 Ausgängen verwendet
werden. Die vier ersten Elemente pp₀ bis pp₃ sind jedoch
ebenfalls an der Bit-Position des zweiten Elements pc₁₅, das
heißt dem dreißigsten Bit angeordnet. Daher muß der erwei
terte Additionsblock 1a mit 4 Eingängen und 2 Ausgängen an
dieser Bit-Position mindestens ein Addierglied mit sechs Ein
gängen einschließen, genauer für die vier ersten Elemente pp₀
<30<, pp₁ <30<, pp₂ <30<, pp₃ <30< (<w< bezeichnet eine Bit-
Position), das zweite Element pc₁₅ und einen Übertrag für ei
ne nächsthöhere Stelle Co des Addiergliedes 200 mit 4 Eingän
gen und 2 Ausgängen, das an dem neunundzwanzigsten Bit ange
ordnet ist.
Des weiteren muß das Addierglied, das an dem dreißigsten Bit
angeordnet ist (im folgenden als "erweitertes Addierglied mit
4 Eingängen und 2 Ausgängen" bezeichnet) zwei Überträge für
eine nächsthöhere Stelle ausgeben. Da sechs Ein-Bit-Daten
eingegeben werden, ist das Additionsresultat höchstens sechs
in Dezimalschreibweise. Um den Übertrag für eine nächsthöhere
Stelle nur zu dem nächsten Bit weiterzuleiten, wird eine
arithmetische Operation unter Verwendung eines Übertrages mit
einer Bewertung von 2 bezüglich der Bit-Position der einge
gebenen Daten ausgeführt, kann aber nicht unter Verwendung
eines Übertrages mit der Bewertung von 2² ausgeführt werden.
Natürlich ist für ein Additionsresultat mit ungerader Zahl in
Dezimalschreibweise ein Ausgangssignal mit einer Bewertung
von 2⁰ bezüglich der Bit-Position der eingegebenen Daten (das
heißt an der selben Position) ebenfalls erforderlich. Daher
gibt das erweiterte Addierglied mit 4 Eingängen und 2 Ausgän
gen das untere Ausgangssignal SO mit der Bewertung von 2⁰ aus
und das obere Ausgangssignal CO mit der Bewertung von 2¹ (was
dem unteren Ausgangssignal so für ein Bit bzw. dem oberen
Ausgangssignal co für ein Bit entspricht) und leitet ferner
den ersten Übertrag für eine nächsthöhere Stelle Co1 und den
zweiten Übertrag für eine nächsthöhere Stelle Co2, die beide
eine Bewertung von 2¹ haben, an das an dem nächsthöheren Bit
angeordnete Addierglied weiter.
Das erste Prinzip ist, daß das höher als die Bit-Position des
zweiten Elements pc₁₅ angeordnete Addierglied die vier ersten
Elemente pp₀ bis pp₃ und den ersten und den zweiten Übertrag
für eine nächsthöhere Stelle Co1 und Co2, die von dem erwei
terten Addierglied mit 4 Eingängen und 2 Ausgängen in der
nächstniedrigeren Position gegeben werden, empfangen muß, und
somit sollte das erweiterte Addierglied mit 4 Eingängen und 2
Ausgängen dafür verwendet werden.
In dem erweiterten Additionsblock 1a mit 4 Eingängen und 2
Ausgängen, der an dem dreiunddreißigsten Bit oder höher ange
ordnet ist, ist ein Eingangssignal nicht erforderlich, da das
höchstwertige Bit des ersten Elements pp₀ an dem zweiunddrei
ßigsten Bit angeordnet ist. Entsprechend ist das zweite Prin
zip, daß der erweiterte Additionsblock 1a mit 4 Eingängen und
2 Ausgängen aus regulären Addiergliedern mit 4 Eingängen und
2 Ausgängen an dem dreiunddreißigsten Bit oder höher gebildet
sein kann, auch wenn zwei Überträge für eine nächsthöhere
Stelle von den niedrigeren Positionen vorliegen.
Gemäß dem ersten und dem zweiten Prinzip sind die Addierglie
der 200 mit 4 Eingängen und 2 Ausgängen, die nach dem Stand
der Technik in dem zusätzlichen Block mit 4 Eingängen und 2
Ausgängen verwendet werden, durch die erweiterten Addierglie
der mit 4 Eingängen und 2 Ausgängen für die Bit-Position des
zweiten Elements pc₁₅ des höchsten Teilprodukts P₁₅ und höher
und an der höchstwertigen Bit-Position des ersten Elements
pp₀ des niedrigsten Teilprodukts P₀ und niedriger zu erset
zen.
Ferner wird bedingt durch das Komplement zu dem ersten und
dem zweiten Prinzip gemäß der weiter unten erörterten "Ein-
Additionstechnik" das erweiterte Additionsglied mit 4 Eingän
gen und 2 Ausgängen an der noch höheren Bit-Position benö
tigt. Eine detailliertere Erörterung der Konfiguration des
erweiterten Additionsblocks mit 4 Eingängen und 2 Ausgängen
und eine kurze Erörterung des vorstehend genannten Komple
ments wird nachfolgend durchgeführt.
Fig. 3A bis 3C sind Blockdiagramme, die gemeinsam eine Kon
figuration des erweiterten Additionsblocks 1a mit 4 Eingängen
und 2 Ausgängen zeigen. Fig. 3A geht an einer virtuellen Li
nie Q5-Q5 in Fig. 3B über und Fig. 3B geht an einer virtu
ellen Linie Q6-Q6 in Fig. 3C über.
In dem erweiterten Additionsblock 1a mit 4 Eingängen und 2
Ausgängen für die parallele Addition von 35-Bit-Daten sind
fünf erweiterte Addierglieder 100 mit 4 Eingängen und 2 Aus
gängen jeweils für ein Bit an dem dreißigsten bis vierund
dreißigsten Bit angeordnet und achtundzwanzig Addierglieder
200 mit 4 Eingängen und 2 Ausgängen jeweils für ein Bit sind
an dem zweiten bis neunundzwanzigsten Bit angeordnet und zwei
Addierglieder 200 mit 4 Eingängen und 2 Ausgängen jeweils für
ein Bit sind an dem fünfunddreißigsten und sechsunddreißig
sten Bit angeordnet.
"0" wird in den Übertrag von einer vorhergehenden Stelle Ci
des Addiergliedes 200 mit 4 Eingängen und 2 Ausgängen an dem
nullten Bit eingegeben, da kein Übertrag von der niedrigeren
Position gegeben ist. Anschließend wird der Übertrag für eine
nächsthöhere Stelle Co des Addiergliedes 200 mit 4 Eingängen
und 2 Ausgängen sequentiell an das nächsthöhere Addierglied
200 mit 4 Eingängen und 2 Ausgängen als der Übertrag von ei
ner vorhergehenden Stelle Ci gegeben.
Der Übertrag für eine nächsthöhere Stelle Co des Addierglie
des 200 mit 4 Eingängen und 2 Ausgängen an dem neunundzwan
zigsten Bit wird an das nächsthöhere erweiterte Addierglied
100 mit 4 Eingängen und 2 Ausgängen als der zweite Übertrag
von einer vorhergehenden Stelle Ci2 gegeben. Der erste und
der zweite Übertrag für eine nächsthöhere Stelle Co1 und Co2
des erweiterten Addiergliedes 100 mit 4 Eingängen und 2 Aus
gängen an dem dreißigsten bis dreiunddreißigsten Bit werden
an das erweiterte Addierglied 100 mit 4 Eingängen und 2 Aus
gängen an dem einunddreißigsten bis vierunddreißigsten Bit
jeweils als der erste bzw. der zweite Übertrag von einer vor
hergehenden Stelle Ci1 und Ci2 gegeben.
Das zweite Element pc₁₅ des Teilprodukts P₁₅ wird dem ersten
Übertrag von einer vorhergehenden Stelle Ci1 des erweiterten
Addiergliedes 100 mit 4 Eingängen und 2 Ausgängen an dem
dreißigsten Bit eingegeben. Der erste Übertrag von einer vor
hergehenden Stelle Ci1 wird als eine Parität der vier ersten
Elemente pp₀ <30<, pp₁ <30<, pp₂ <30< und pp₃ <30< in der Be
wertung der dreißigsten Bitposition in Übereinstimmung mit
dem ersten Prinzip betrachtet. Natürlich kann aus dem selben
Grund das zweite Element pc₁₅ des Teilprodukts P₁₅ in den
zweiten Übertrag von einer vorhergehenden Stelle Ci des er
weiterten Addiergliedes 100 mit 4 Eingängen und 2 Ausgängen
an dem dreißigsten Bit eingegeben werden und der Übertrag für
eine nächsthöhere Stelle Co des Addiergliedes 200 mit 4 Ein
gängen und 2 Ausgängen an dem neunundzwanzigsten Bit kann in
den ersten Übertrag von einer vorhergehenden Stelle Ci1 ein
gegeben werden.
Der erste und der zweite Übertrag für eine nächsthöhere Stel
le Co1 und Co2 des erweiterten Addiergliedes 100 mit 4 Ein
gängen und 2 Ausgängen an dem vierunddreißigsten Bit werden
an das Addierglied 200 mit 4 Eingängen und 2 Ausgängen als
eines seiner Eingangssignale ("D" in Fig. 3A) und der Über
trag von einer vorhergehenden Stelle Ci gegeben. Der Übertrag
für eine nächsthöhere Stelle Co des Addiergliedes 200 mit 4
Eingängen und 2 Ausgängen an dem fünfunddreißigsten Bit wird
an das Addierglied 200 mit 4 Eingängen und 2 Ausgängen an dem
sechsunddreißigsten Bit als der Übertrag von einer vorherge
henden Stelle Ci gegeben.
Die vier ersten Elemente pp₀ bis pp₃ werden an die vier Ein
gänge A bis D des Addiergliedes 100 oder 200 mit 4 Eingängen
und 2 Ausgängen an der entsprechenden Bit-Position gegeben,
wobei die Bit-Position eingestellt wird. Auf einer Bit-für-
Bit-Basis gibt das Addierglied 100 oder 200 mit 4 Eingängen
und 2 Ausgängen das obere Ausgangssignal Co und das untere
Ausgangssignal So aus, die dem oberen Ausgangssignal co₁ und
dem unteren Ausgangssignal so₁ für jedes Bit des erweiterten
Additionsblocks 1a mit 4 Eingängen und 2 Ausgängen entspre
chen.
Das erste Element pp₂ hat keine Daten, die an der zweiten und
der dritten Bit-Position anzuordnen sind, und das erste Ele
ment pp₃ hat keine Daten, die an der zweiten bis fünften Bit-
Position anzuordnen sind. Andererseits sind die zweiten Ele
mente pc₁ und pc₂ an der zweiten bzw. der vierten Bit-Positi
on angeordnet. Entsprechend werden das zweite Element pc₁ und
"0" an die Eingänge A und B des Addiergliedes 200 mit 4 Ein
gängen und 2 Ausgängen an dem zweiten Bit jeweils gegeben,
"0" wird an die Eingänge A und B des Addiergliedes 200 mit 4
Eingängen und 2 Ausgängen an dem dritten Bit gegeben, das
zweite Element pc₂ wird an den Eingang A des Addiergliedes
200 mit 4 Eingängen und 2 Ausgängen an dem vierten Bit gege
ben und "0" wird an den Eingang A des Addiergliedes 200 mit 4
Eingängen und 2 Ausgängen an dem fünften Bit gegeben.
Gemäß dem ersten und dem zweiten Prinzip sind nur drei erwei
terte Addierglieder 100 mit 4 Eingängen und 2 Ausgängen für
das dreißigste bis dreiunddreißigste Bit erforderlich und die
regulären Addierglieder 200 mit 4 Eingängen und 2 Ausgängen
sind an dem dreiunddreißigsten und dem vierunddreißigsten Bit
angeordnet. Wie in Fig. 3A gezeigt, wird jedoch der umge
kehrte Wert des ersten Elements pp₀ <32< anstelle des ersten
Elements pp₀ <32< an den Eingang D des erweiterten Addier
gliedes 100 mit 4 Eingängen und 2 Ausgängen an dem zweiund
dreißigsten Bit eingegeben, der umgekehrte Wert des ersten
Elements pp₀ <32< anstelle von "0" wird an den Eingang D des
erweiterten Addiergliedes 100 mit 4 Eingängen und 2 Ausgängen
an dem dreiunddreißigsten Bit eingegeben, das erste Element
pp₀ <32< wird anstelle von "0" in den Eingang D des erweiter
ten Addiergliedes 100 mit 4 Eingängen und 2 Ausgängen an dem
vierunddreißigsten Bit eingegeben, und "1" anstelle von "0"
wird an den Eingang C des Addiergliedes 200 mit 4 Eingängen
und 2 Ausgängen an dem fünfunddreißigsten Bit gegeben.
Auf diese Weise ist die Veränderung des Summanden in der
arithmetischen Operation von Zahlen mit Vorzeichen in Zweier
komplementdarstellung eine bekannte Technik für eine einfache
Bit-Erweiterung mit Vorzeichen, die als "Ein-Additionstech
nik" bezeichnet wird (hierin nicht im Detail erläutert). Da
diese Technik allgemein verwendet wird, sind um eine vorbe
stimmte Anzahl mehr erweiterte Addierglieder 100 mit 4 Ein
gängen und 2 Ausgängen als gemäß dem ersten und dem zweiten
Prinzip in einem höheren Bit (Komplemen zu dem ersten und dem
zweiten Prinzip) in der ersten bevorzugten Ausführungsform
erforderlich. Die vorbestimmte Anzahl ist davon abhängig,
wieviele Ordnungen in dem Booth-Algorithmus verwendet werden,
um die Teilprodukte zu erzeugen, und ist hierin zwei.
Die zwei ersten Elemente pp₂ <35< und pp₃ <35< werden in das
fünfunddreißigste Bit eingegeben, und ferner werden "1", das
gemäß der Eins-Additionstechnik erforderlich ist, und der er
ste Übertrag für eine nächsthöhere Stelle Co1 in dem vierund
dreißigsten Bit in dieses eingegeben. Daher kann für das
fünfunddreißigste Bit das reguläre Addierglied 200 mit 4 Ein
gängen und 2 Ausgängen verwendet werden, da es nur diese vier
Eingaben addieren muß. Natürlich kann das reguläre Addier
glied 200 mit 4 Eingängen und 2 Ausgängen auch für das
sechsunddreißigste Bit verwendet werden, da der Übertrag für
eine nächsthöhere Stelle Co von dem Addierglied 200 mit 4
Eingängen und 2 Ausgängen an dem fünfunddreißigsten Bit als
der Übertrag von einer vorhergehenden Stelle Ci eingegeben
wird und die ersten Elemente pp₀ und pp₁ nicht in das sechs
unddreißigste Bit eingegeben werden.
Da ferner der Übertrag von einer vorhergehenden Stelle Ci und
die Eingänge C und D des Addiergliedes 200 mit 4 Eingängen
und 2 Ausgängen an dem fünfunddreißigsten Bit dieselbe Be
wertung haben, sind diese untereinander austauschbar. Der er
ste und der zweite Übertrag von einer vorhergehenden Stelle
Ci1 und Ci2 des erweiterten Addiergliedes 100 mit 4 Eingängen
und 2 Ausgängen sind ebenfalls austauschbar.
Nachfolgend wird das vorstehend genannte erweiterte Addier
glied 100 mit 4 Eingängen und 2 Ausgängen erörtert. Das er
weiterte Addierglied 100 mit 4 Eingängen und 2 Ausgängen emp
fängt sechs Daten mit einem Bit und gibt das untere Ausgangs
signal SO1 für ein Bit und drei Ausgangssignale für das
nächsthöhere Bit, das heißt den ersten und den zweiten Über
trag für eine nächsthöhere Stelle Co1 und Co2 und das obere
Ausgangssignal CO aus.
Demgemäß gilt der folgende Ausdruck:
A + B + C + D + Ci1 + Ci2 = 2 (Co1 + Co2 + CO) + SO (6).
Bei einem der erweiterten Addierglieder 100 mit 4 Eingängen
und 2 Ausgängen ist die Summe der Werte des ersten und des
zweiten Übertrags für eine nächsthöhere Stelle Co1 und Co2
des nächstniedrigeren erweiterten Addiergliedes 100 mit 4
Eingängen und 2 Ausgängen höchstens "2" in Dezimalschreibwei
se und wirkt sich beschränkt auf das obere Ausgangssignal CO
und das untere Ausgangssignal SO aus, die von diesem Addier
glied 100 mit 4 Eingängen und 2 Ausgängen auszugeben sind.
Mit anderen Worten sind der erste und der zweite Übertrag für
eine nächsthöhere Stelle Co1 und Co2 nur von den vier Ein
gangssignalen A bis D abhängig. Daher wird der Übertrag nicht
um mehr als ein Bit höher weitergeleitet.
Der erste und der zweite Übertrag für eine nächsthöhere Stel
le Co1 und Co2 sind nur von der Anzahl der "1" der vier Ein
gangssignale A bis D abhängig und das obere Ausgangssignal CO
gibt den ersten und den zweiten Übertrag von einer vorherge
henden Stelle Ci1 und Ci2 wieder. Wenn die vier Eingangssi
gnale A bis D eine "1" oder weniger haben, liegt kein Über
trag vor und sowohl der erste als auch der zweite Übertrag
für eine nächsthöhere Stelle Co1 und Co2 sind "0". Wenn die
vier Eingangssignale A bis D zwei oder drei "1" haben, ist
der erste Übertrag für eine nächsthöhere Stelle Co1 "1" und
der zweite Übertrag für eine nächsthöhere Stelle Co2 ist "0".
Wenn die vier Eingangssignale A bis D vier "1" haben, sind
sowohl der erste als auch der zweite Übertrag für eine näch
sthöhere Stelle Co1 und Co2 "1".
Andererseits bestimmt das untere Ausgangssignal SO, ob das
Ausgangssignal des erweiterten Addiergliedes 100 mit 4 Ein
gängen und 2 Ausgängen eine ungerade oder gerade Zahl in De
zimalschreibweise ist, und ist davon abhängig, ob die Anzahl
der "1" der vier Eingangssignale A bis D und des ersten und
des zweiten Übertrags von einer vorhergehenden Stelle Ci1 und
Ci2 eine ungerade oder eine gerade Zahl ist.
Das obere Ausgangssignal CO wird "1", wenn sowohl der erste
als auch der zweite Übertrag von einer vorhergehenden Stelle
Ci1 und Ci2 "1" sind oder wenn die vier Eingangssignale A bis
D eine ungerade Anzahl von "1" haben, auch wenn entweder der
erste oder der zweite Übertrag von einer vorhergehenden Stel
le Ci1 oder Ci2 "1" ist, und anderenfalls wird es "0".
Zusammenfassend ist die vorstehend Beziehung in Tabelle 4 ge
zeigt.
Tabelle 4 zeigt das erste Beispiel einer Wahrheitstabelle der
Eingabe-/Ausgabebeziehung, die das erweiterte Addierglied 100
mit 4 Eingängen und 2 Ausgängen erfüllen sollte. Die Wahr
heitstabelle von Tabelle 4 wird als boolescher Ausdruck aus
gedrückt als:
Co1 = (A | B) & (C | D) | (A & B | C & D)
Co2 = A & B & C & D
SO = ˆAˆBˆCˆDˆCi1ˆCi2
CO = ∼(AˆBˆCˆD) & (Ci1 & Ci2) | (AˆBˆCˆD) & (Ci1 | Ci2) (7),
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).
Co2 = A & B & (C | D) | C & D & (A | B)
SO = AˆBˆCˆDˆCi1ˆCi2
CO = ∼(AˆBˆCˆD) & (Ci1 & Ci2) | (AˆBˆCˆD) & (Ci1 | Ci2) (8).
Fig. 5 ist ein Schaltbild des zweiten Beispiels der Konfigu
ration des erweiterten Addiergliedes 100 mit 4 Eingängen und
2 Ausgängen auf der Basis von Formel 8. Die Konfiguration zum
Erhalten des unteren Ausgangssignals SO und des oberen Aus
gangssignals CO durch Verwendung der Gatter G17 bis G21 ent
spricht derjenigen von Fig. 4.
Die Eingangssignale A und B werden einem OR-Gatter G31 einge
geben und dessen Ausgangssignal und die Eingangssignale C und
D werden einem AND-Gatter G33 eingegeben. Die Gatter G31 und
G 33 können als ein Verbund-Gatter aufgebaut sein. Die Ein
gangssignale C und D werden einem OR-Gatter G32 eingegeben
und die Ausgangssignale von diesem und die Eingangssignale A
und B werden einem NAND-Gatter G34 eingegeben. Die Gatter G32
und G34 können als ein Verbund-Gatter aufgebaut sein. Aus
gangssignale von den NAND-Gattern G33 und G34 werden einem
NAND-Gatter G35 eingegeben und das NAND-Gatter G35 gibt den
zweiten Übertrag für eine nächsthöhere Stelle Co2 aus.
Die Eingangssignale A und B werden einem NAND-Gatter G36 ein
gegeben und die Eingangssignale C und D werden einem NAND-
Gatter G37 eingegeben. Ein Ausgangssignal von dem NAND-Gatter
G36 wird zusammen mit dem Ausgangssignal von dem XOR-Gatter
G18 einem NOR-Gatter G38 eingegeben. Ein Ausgangssignal von
dem NAND-Gatter G37 wird zusammen mit dem Ausgangssignal von
dem XOR-Gatter G17 einem NOR-Gatter G39 eingegeben. Ausgangs
signale von den XOR-Gattern G17 und G18 werden einem AND-Gat
ter G40 eingegeben. Ausgangssignale von den NOR-Gattern G38
und G39 und dem AND-Gatter G40 werden einem NOR-Gatter G41
eingegeben und ein Ausgangssignal von diesem wird einem In
verter G42 eingegeben und der Inverter G42 gibt den ersten
Übertrag für eine nächsthöhere Stelle Co1 aus. Die Gatter G40
und G41 können als ein Verbund-Gatter aufgebaut sein.
Wie aus dem Vergleich zwischen Tabellen 4 und 5 ersichtlich
ist, sind Unterschiede zwischen diesen Tabellen nur in Ab
schnitten zu finden, in welchen der erste und der zweite
Übertrag für eine nächsthöhere Stelle Co1 und Co2 ausge
tauscht sind. Mit anderen Worten besteht kein Unterschied
hinsichtlich des unteren Ausgangssignals SO und des oberen
Ausgangssignals CO. Sowohl das untere Ausgangssignal SO als
auch das obere Ausgangssignal CO sind Funktionen des logi
schen Produkts, der logischen Summe und der exklusiven logi
schen Summe des ersten und des zweiten Übertrags von einer
vorhergehenden Stelle Ci1 und Ci2 und der erste und der zwei
te Übertrag von einer vorhergehenden Stelle Ci1 und Ci2 sind
in dieser logischen Operation kommutativ.
Es gelten die folgenden Gleichungen:
Co1 & Co2 = A & B & C & D
Co1 | Co2 = (A | B) & (C | D) (A & B | C & D)
Co1ˆCo2 = Co1 & ∼Co2 | ∼Co1 & Co2
= ∼(A & B) & C & D | A & B & ∼(C & D) | (AˆB) & (CˆD) (9).
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).
Co1 | Co2 = (A | B) & (C | D) | (A & B | C & D)
Co1ˆCo2 = ∼(A & B) & C & D | A & B & ∼(C & D) (AˆB) & (C & D)
SO = AˆBˆCˆDˆCi1ˆCi2
CO = ∼(AˆBˆCˆD) & (Ci1 & Ci2) (AˆBˆCˆD) & (Ci1 | Ci2) (10).
In der Schaltung von Fig. 4 oder 5 führt der kritische Pfad
des erweiterten Addiergliedes 100 mit 4 Eingängen und 2 Aus
gängen nicht durch die Gatter G17 (oder G18), G19 oder G21.
Das liegt daran, daß der erste und der zweite Übertrag von
einer vorhergehenden Stelle Ci1 und Ci2 bestimmt werden,
nachdem die Ausgangssignale von den XOR-Gattern G17 und G18
bestimmt werden.
Da der erste und der zweite Übertrag von einer vorhergehenden
Stelle Ci1 und Ci2 den ersten bzw. den zweiten Übertrag für
eine nächsthöhere Stelle Co1 und Co2 von dem nächstniedrige
ren Bit annehmen, ist es erforderlich, die Zeit zu schätzen,
die erforderlich ist, um die Überträge für eine nächsthöhere
Stelle Co1 und Co2 zu bestimmen. Die Anzahl der Gatter-Stu
fen, die erforderlich ist, um den ersten und den zweiten
Übertrag für eine nächsthöhere Stelle Co1 und Co2 zu bestim
men, ist in der Schaltung von Fig. 4 zwei und in derjenigen
von Fig. 5 vier (die Schaltung von Fig. 4 benötigt weniger
Gatter-Stufen, die erforderlich sind, um den ersten und den
zweiten Übertrag für eine nächsthöhere Stelle Co1 und Co2 zu
erhalten, als die Schaltung von Fig. 5). Berücksichtigt man,
daß die Verzögerung einer Stufe von XOR allgemein größer ist
als diejenige einer Stufe eines anderen logischen Gatters und
etwa zwei Stufen derselben entspricht, wie vorstehend erör
tert, ist die Verzögerungszeit, die erforderlich ist, um den
ersten und den zweiten Übertrag für eine nächsthöhere Stelle
Co1 und Co2 zu bestimmen, geringer als diejenige von zwei
Stufen von XORs.
Um das untere Ausgangssignal SO zu erhalten, ist die Verzöge
rungszeit von zwei Stufen von XOR-Gattern, das heißt den Gat
tern G20 und G21, weiter erforderlich, nachdem der erste und
der zweite Übertrag für eine nächsthöhere Stelle Co1 und Co2
bestimmt sind. Schließlich liegen die Verzögerungszeiten im
Bereich von drei Stufen von XORs bis vier Stufen von XORs.
Das erweiterte Addierglied 100 mit 4 Eingängen und 2 Ausgän
gen ist jedoch um weniger als eine Stufe von XOR im Vergleich
mit dem Addierglied 200 mit 4 Eingängen und 2 Ausgängen ver
zögert.
Bei den in Fig. 1 und Fig. 2A bis 2C gezeigten Additions
blöcken wird die Addition in der Reihenfolge der ersten Stufe
der Baumschaltung (der erweiterte Additionsblock 1a mit 4
Eingängen und 2 Ausgängen, die Additionsblöcke 2a bis 2c mit
4 Eingängen und 2 Ausgängen), der zweiten Stufe (die Additi
onsblöcke 2d und 2e mit 4 Eingängen und 2 Ausgängen) und der
dritten Stufe (der Additionsblock 2f mit 4 Eingängen und 2
Ausgängen) ausgeführt. Entsprechend beträgt die Verzögerungs
zeit von der Bestimmung der ersten Elemente pp₀ bis pp₁₅ und
der zweiten Elemente pc₀ bis pc₁₅ der Teilprodukte bis zu der
Bestimmung des unteren Ausgangssignals so₇ und des oberen
Ausgangssignals co₇ des Additionsblocks 2f mit 4 Eingängen
und 2 Ausgängen als die beiden sich ergebenden Zwischensummen
(3 + α + 2 × 3 = 9 + α (0 < α < 1) Stufen von XORs, da der
kritische Pfad durch eine Stufe eines erweiterten Additions
blocks mit 4 Eingängen und 2 Ausgängen und zwei Stufen von
Additionsblöcken mit 4 Eingängen und 2 Ausgängen geht.
Zusammenfassend benötigt die Baumschaltung der ersten bevor
zugten Ausführungsform eine Verzögerungszeit von weniger als
zehn Stufen von XORs, so daß eine Operation mit höherer Ge
schwindigkeit als im Vergleich mit dem Stand der Technik si
chergestellt wird. Darüber hinaus benötigt sie nur sieben Ad
ditionsblöcke und kann entsprechend den Schaltungsumfang ver
ringern. Wie vorstehend erörtert wird die erste bevorzugte
Ausführungsform nur dadurch erzielt, daß die Addierglieder
200 mit 4 Eingängen und 2 Ausgängen nach dem Stand der Tech
nik durch die erweiterten Addierglieder 100 mit 4 Eingängen
und 2 Ausgängen auf einer Bit-für-Bit-Basis ersetzt werden.
Ferner müssen von fünfunddreißig Addiergliedern, die zur
Bildung aller Additionsblöcke erforderlich sind, nur fünf
Addierglieder ersetzt werden.
Im Vergleich zwischen den Schaltungen von Fig. 4 und 18 ist
die durch das Ersetzten des Additionsblocks 22a mit 4 Eingän
gen und 2 Ausgängen durch den erweiterten Additionsblock 1a
mit 4 Eingängen und 2 Ausgängen bedingte Vergrößerung des
Schaltungsumfangs im Hinblick auf die Gesamtheit der Multi
pliziervorrichtung vernachlässigbar, da das Verhältnis des
erweiterten Addiergliedes 100 mit 4 Eingängen und 2 Ausgängen
zu dem Addierglied 200 mit 4 Eingängen und 2 Ausgängen hin
sichtlich des Schaltungsumfangs etwa 1,5 zu 1 ist.
Mit Ausnahme des erweiterten Additionsblocks 1a mit 4 Eingän
gen und 2 Ausgängen wird die Konfiguration dieser bevorzugten
Ausführungsform unter Verwendung des Standes der Technik er
reicht. Eine detaillierte Erörterung erfolgt unter Bezug auf
Fig. 2A bis 2C. Das zehnte bis vierzigste Bit des ersten
Elements pp₄ <40 : 8< des Teilprodukts P₄, alle Bits des ersten
Elements pp₅ <42 : 10< und das zweite Element pc₅ des Teilprod
ukts P₅, alle Bits des ersten Elements pp₆ <44 : 12< und des
zweiten Elements pc₆ des Teilprodukts P₆, das vierzehnte bis
vierundvierzigste Bit des ersten Elements pp₇ <46 : 14< des
Teilprodukts P₇ werden in den Additionsblock 2a mit 4 Eingän
gen und 2 Ausgängen unter Einstellung der Bit-Positionen ein
gegeben.
Das zweite Element pc₅ des Teilprodukts P₅ und das zweite
Element pc₆ des Teilprodukts P₆ werden als pseudoniedrige Bits
des ersten Elements pp₇ des Teilprodukts P₇ behandelt.
Das achte und das neunte Bit des ersten Elements pp₄ des
Teilprodukts P₄ werden als die pseudoniedrigen Bits des obe
ren Ausgangssignals co₂ <45 : 11< des Additionsblocks 2a mit 4
Eingängen und 2 Ausgängen behandelt und zu dem Additionsblock
2d mit 4 Eingängen und 2 Ausgängen weitergeleitet, da der Ad
ditionsblock 2a mit 4 Eingängen und 2 Ausgängen ihre Bit-Po
sitionen nicht abdeckt.
Das zweite Element pc₄ des Teilprodukts P₄ wird zu dem
Additionsblock 2d mit 4 Eingängen und 2 Ausgängen weiterge
leitet, da der Additionsblock 2a mit 4 Eingängen und 2 Aus
gängen dessen Bit-Positionen nicht abdeckt.
Das fünfundvierzigste Bit des ersten Elements pp₇ des Teil
produkts P₇ wird als das pseudoobere Bit des unteren Aus
gangssignals so₂ <44 : 10< des Additionsblocks 2a mit 4 Eingän
gen und 2 Ausgängen behandelt und zu dem Additionsblock 2d
mit 4 Eingängen und 2 Ausgängen weitergeleitet, da der Addi
tionsblock 2a mit 4 Eingängen und 2 Ausgängen dessen Bit-Po
sition nicht abdeckt. Das sechsundvierzigste Bit des ersten
Elements pp₇ des Teilprodukts P₇ wird als ein pseudooberes
Bit des unteren Ausgangssignals so₅ <45 : 6< des Additions
blocks 2d mit 4 Eingängen und 2 Ausgängen behandelt und zu
dem Additionsblock 2f mit 4 Eingängen und 2 Ausgängen weiter
geleitet, da weder der Additionsblock 2a noch 2d mit 4 Ein
gängen und 2 Ausgängen dessen Bit-Position abdecken.
Das zweite Element pc₇ des Teilprodukts P₇ wird nicht in dem
erweiterten Additionsblock 2a mit 4 Eingängen und 2 Ausgängen
addiert und wird zu dem Additionsblock 2f mit 4 Eingängen und
2 Ausgängen weitergeleitet, da an dessen Bit-Position bereits
vier Daten vorliegen.
Der Additionsblock 2f mit 4 Eingängen und 2 Ausgängen ist an
dem vierzehnten Bit und höher angeordnet. Entsprechend werden
das sechste bis dreizehnte Bit des unteren Ausgangssignals
so₅ des Additionsblocks 2d mit 4 Eingängen und 2 Ausgängen
gemeinsam mit dem zweiten bis fünften Bit des unteren Aus
gangssignals so₁ und dem nullten und ersten Bit des ersten
Elements pp₀, die als dessen pseudoniedrige Bits behandelt
werden, als pseudoniedrige Bits des unteren Ausgangssignals
so₇ <62 : 14< des Additionsblocks 2f mit 4 Eingängen und 2 Aus
gängen behandelt, um schließlich addiert zu werden.
In ähnlicher Weise werden das siebente bis dreizehnte Bit des
oberen Ausgangssignals co₅ des Additionsblocks 2d mit 4 Ein
gängen und 2 Ausgängen gemeinsam mit dem dritten bis fünften
Bit des oberen Ausgangssignals co₁ und dem zweiten Element
pc₀ die als dessen pseudoniedrige Bits behandelt werden, als
pseudoniedrige Bits des oberen Ausgangssignals co₇ <63 : 15<
des Additionsblocks 2f mit 4 Eingängen und 2 Ausgängen behan
delt, um schließlich addiert zu werden.
Das achtzehnte bis achtundvierzigste Bit des ersten Elements
pp₈ <48 : 16< des Teilprodukts P₈, alle Bits des ersten Ele
ments pp₉ <50 : 18< und des zweiten Elements pc₉ des Teilpro
dukts P₉, alle Bits des ersten Elements pp₁₀ <52 : 20< und des
zweiten Elements pc₁₀ des Teilprodukts P₁₀ und das zweiund
zwanzigste bis zweiundfünfzigste Bit des ersten Elements pp₁₁
<54 : 22< des Teilprodukts P₁₁ werden in den Additionsblock 2b
mit 4 Eingängen und 2 Ausgängen unter Einstellung der Bit-Po
sitionen eingegeben.
Das zweite Element pc₉ des Teilprodukts P₉ und das zweite Ele
ment pc₁₀ des Teilprodukts P₁₀ werden als die pseudoniedrigen
Bits des ersten Elements pp₁₁ des Teilprodukts P₁₁ behandelt.
Das sechzehnte und das siebzehnte Bit des ersten Elements pp₈
des Teilprodukts P₈ werden als die pseudoniedrigen Bits des
oberen Ausgangssignals co₃ <53 : 19< des Additionsblocks 2b mit
4 Eingängen und 2 Ausgängen behandelt, da der Additionsblock
2b mit 4 Eingängen und 2 Ausgängen deren Bit-Positionen nicht
abdeckt.
Das zweite Element pc₈ des Teilprodukts P₈ wird zu dem
Additionsblock 2f mit 4 Eingängen und 2 Ausgängen weiterge
leitet, da der Additionsblock 2b mit 4 Eingängen und 2 Aus
gängen dessen Bit-Position nicht abdeckt.
Das dreiundfünfzigste und vierundfünfzigste Bit des ersten
Elements pp₁₁ des Teilprodukts P₁₁ werden als pseudoobere Bits
des unteren Ausgangssignals so₃ <52 : 18< des Additionsblocks
2b mit 4 Eingängen und 2 Ausgängen behandelt und zu dem Addi
tionsblock 2e mit 4 Eingängen und 2 Ausgängen weitergeleitet,
da der Additionsblock 2b mit 4 Eingängen und 2 Ausgängen de
ren Bit-Positionen nicht abdeckt.
Das zweite Element pc₁₁ des Teilprodukts P₁₁ wird in dem erwei
terten Additionsblock 2b mit 4 Eingängen und 2 Ausgängen
nicht addiert und wird zu dem Additionsblock 2e mit 4 Eingän
gen und 2 Ausgängen weitergeleitet, da an dessen Bit-Position
bereits vier Daten vorliegen.
Der Additionsblock 2e mit 4 Eingängen und 2 Ausgängen ist an
dem zweiundzwanzigsten Bit und höher angeordnet. Entsprechend
werden das achtzehnte bis einundzwanzigste Bit des unteren
Ausgangssignals so₃ des Additionsblocks 2b mit 4 Eingängen
und 2 Ausgängen als die pseudoniedrigen Bits des unteren Aus
gangssignals so₆ <61 : 22< des Additionsblocks 2e mit 4 Eingän
gen und 2 Ausgängen behandelt und zu dem Additionsblock 2f
mit 4 Eingängen und 2 Ausgängen weitergeleitet.
In ähnlicher Weise werden das neunzehnte bis einundzwanzigste
Bit des oberen Ausgangssignals co₃ des Additionsblocks 2b mit
4 Eingängen und 2 Ausgängen gemeinsam mit dem sechzehnten und
siebzehnten Bit des ersten Elements pp₈ des Teilprodukt P₈,
die pseudoniedrige Bits davon sind, als die pseudoniedrigen
Bits des oberen Ausgangssignals co₆ <62 : 23< des Additions
blocks 2e mit 4 Eingängen und 2 Ausgängen behandelt und zu
dem Additionsblock 2f mit 4 Eingängen und 2 Ausgängen weiter
geleitet.
Das sechsundzwanzigste bis sechsundfünfzigste Bit des ersten
Elements pp₁₂ <56 : 24< des Teilprodukts P₁₂, alle Bits des er
sten Elements pp₁₃ <58 : 26< und des zweiten Elements pc₁₃ des
Teilprodukts P₁₃, alle Bits des ersten Elements pp₁₄ <60 : 28<
und des zweiten Elements pc₁₄ des Teilprodukts P₁₄ und das
dreißigste bis sechzigste Bit des ersten Elements pp₁₅
<62 : 30< des Teilprodukts P₁₅ werden in den Additionsblock 2c
mit 4 Eingängen und 2 Ausgängen unter Einstellung der Bit-Po
sitionen eingegeben.
Das zweite Element pc₁₃ des Teilprodukts P₁₃ und das zweite
Element pc₁₄ des Teilprodukts P₁₄ werden als pseudoniedrige
Bits des ersten Elements pp₁₅ des Teilprodukts P₁₅ behandelt.
Das vierundzwanzigste und fünfundzwanzigste Bit des ersten
Elements pp₁₂ des Teilprodukts P₁₂ werden als die pseudonied
rigen Bits des oberen Ausgangssignals co₄ <61 : 27< des Additi
onsblocks 2c mit 4 Eingängen und 2 Ausgängen behandelt, da
der Additionsblock 2c mit 4 Eingängen und 2 Ausgängen deren
Bit-Positionen nicht abdeckt.
Das zweite Element pc₁₂ des Teilprodukts P₁₂ wird zu dem Addi
tionsblock 2e mit 4 Eingängen und 2 Ausgängen weitergeleitet,
da der Additionsblock 2c mit 4 Eingängen und 2 Ausgängen des
sen Bit-Position nicht abdeckt.
Das einundsechzigste Bit des ersten Elements pp₁₅ des Teilpro
dukts P₁₅ wird als das pseudoobere Bit des unteren Ausgangs
signals so₄ <60 : 26< des Additionsblocks 2c mit 4 Eingängen
und 2 Ausgängen behandelt und zu dem Additionsblock 2e mit 4
Eingängen und 2 Ausgängen weitergeleitet, da der Additions
block 2c mit 4 Eingängen und 2 Ausgängen dessen Bit-Position
nicht abdeckt. Das zweiundsechzigste Bit des ersten Elements
pp₁₅ des Teilprodukts P₁₅ wird als ein pseudooberes Bit des
unteren Ausgangssignals so₆ <61 : 22< des Additionsblocks 2e
mit 4 Eingängen und 2 Ausgängen behandelt und zu dem Additi
onsblock 2f mit 4 Eingängen und 2 Ausgängen weitergleitet, da
der Additionsblock 2c mit 4 Eingängen und 2 Ausgängen dessen
Bit-Position nicht abdeckt.
Der Additionsblock 2f mit 4 Eingängen und 2 Ausgängen führt
eine Addition aller Bits des oberen Ausgangssignals co₆ und
des unteren Ausgangssignals so₆ des Additionsblocks 2e mit 4
Eingängen und 2 Ausgängen, des vierzehnten und höherer Bits
des oberen Ausgangssignals co₅ und des unteren Ausgangssi
gnals so₅ des Additionsblocks 2d mit 4 Eingängen und 2
Ausgängen, des einundzwanzigsten und niedrigerer Bits des
oberen Ausgangssignals co₃ und des unteren Ausgangssignals
so₃ des Additionsblocks 2b mit 4 Eingängen und 2 Ausgängen
und der zweiten Elemente pc₇ und pc₈ durch. Bei dieser Addi
tion ist aus der Figur klar ersichtlich, daß die Anzahl der
Eingaben an der selben Bit-Position vier oder niedriger ist.
Da die arithmetische Operation ausgeführt wird, während die
Bit-Positionen eingestellt werden, kann, nur im Hinblick auf
die Verzögerungszeit, das zweite Element pc₁₅ in einen belie
bigen der sieben Additionsblöcke eingegeben werden, und zwar
nur dann, wenn es an der selben Bit-Position (das dreißigste
Bit) eingegeben wird. Beispielsweise kann der erweiterte Ad
ditionsblock 1a mit 4 Eingängen und 2 Ausgängen durch den Ad
ditionsblock mit 4 Eingängen und 2 Ausgängen ersetzt werden
und der Additionsblock 2a mit 4 Eingängen und 2 Ausgängen
kann durch den erweiterten Additionsblock mit 4 Eingängen und
2 Ausgängen ersetzt werden.
Wie vorstehend erwähnt muß jedoch in Betracht gezogen werden,
daß die nachteilhafte Vergrößerung des Schaltungsumfangs
nicht vernachlässigbar ist, da die Anzahl der erweiterten Ad
dierglieder mit 4 Eingängen und 2 Ausgängen, das heißt die
Bit-Breite des erweiterten Additionsblocks mit 4 Eingängen
und 2 Ausgängen zunimmt.
Daher ist der Mindestwert der Anzahl der erweiterten Addier
glieder mit 4 Eingängen und 2 Ausgängen (Bit-Breite), die den
erweiterten Additionsblock mit 4 Eingängen und 2 Ausgängen
bilden, von der Bit-Position des zweiten Elements pc₁₅
(hierin das dreißigste Bit) (das erste Prinzip), der wert
höchsten Bit-Position eines der vier eingegebenen Daten, die
eine mehrfache Bit-Breite haben, von welchen das höchstwer
tige Bit das niedrigste (hierin pp₀) ist (das zweite Prinzip)
und der Anzahl von Bits abhängig, die für die Implementierung
der "Ein-Additionstechnik" erforderlich sind (hierin zwei,
was von der Anzahl der Ordnungen des Booth-Algorithmus zur
Komplementierung mit dem ersten und dem zweiten Prinzip
abhängig ist).
Mit anderen Worten müssen, um die erste bevorzugte Ausfüh
rungsform mit der besten Flächeneffizienz zu erzielen, das
höchste der zweiten Elemente pcj, die gemäß dem sekundären
Booth-Algorithmus erzeugt werden, und eines der ersten Ele
mente ppj, dessen höchstwertiges Bit das niedrigste ist, nur
in denselben erweiterten Additionsblock mit 4 Eingängen und
2 Ausgängen eingegeben werden.
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).
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 (pc₁₅ in Fig. 1 und 2A bis
2C) und der Übertrag für eine nächsthöhere Stelle Co von dem
regulären Addierglied 200 mit 4 Eingängen und 2 Ausgängen,
der als nächstniedriges zu dem höchsten der zweiten Elemente
pcj (das neunundzwanzigste Bit in Fig. 1 und 2A bis 2C) an
geordnet ist, nicht ordnungsgemäß verarbeitet werden. Umge
kehrt können der erste und der zweite Pseudoübertrag für eine
nächsthöhere Stelle Coa und Cob des erweiterten Addiergliedes
111 mit 4 Eingängen und 2 Ausgängen nicht als der Übertrag
von einer vorhergehenden Stelle Ci oder das Eingangssignal D
des regulären Addiergliedes 200 mit 4 Eingängen und 2 Ausgän
gen verwendet werden.
Demgemäß sind andere Arten von erweiterten Addiergliedern mit
4 Eingängen und 2 Ausgängen am oberen und am unteren Ende der
Reihenverbindung der erweiterten Addierglieder 111 mit 4 Ein
gängen und 2 Ausgängen zum Einstellen derselben auf die regu
lären Addierglieder 200 mit 4 Eingängen und 2 Ausgängen er
forderlich.
Fig. 7 ist ein Blockdiagramm, das einen Teil der Konfigura
tion des erweiterten Additionsblocks 1a mit 4 Eingängen und 2
Ausgängen entsprechend Fig. 3A zeigt. Das heißt, daß Fig. 7
Fig. 3B an einer virtuellen Linie Q 28710 00070 552 001000280000000200012000285912859900040 0002019711005 00004 285915-Q5 fortsetzt. Fig. 7
zeigt die Konfiguration des erweiterten Additionsblocks 1a
mit 4 Eingängen und 2 Ausgängen mit Fig. 3B und 3C zusammen
wirkend. Mit anderen Worten hat eine Baumschaltung gemäß der
zweiten bevorzugten Ausführungsform dieselbe Konfiguration
wie diejenige von Fig. 1 und der erweiterte Additionsblock
1a mit 4 Eingängen und 2 Ausgängen der zweiten bevorzugten
Ausführungsform wird durch Ersetzen der Konfiguration von
Fig. 3A durch diejenige von Fig. 7 erhalten.
Fig. 7 zeigt die Konfiguration, in der die erweiterten Ad
dierglieder 100 mit 4 Eingängen und 2 Ausgängen aus Fig. 3A
durch erweiterte Addierglieder 110 bis 112 mit 4 Eingängen
und 2 Ausgängen ersetzt sind. Im Detail ist das erweiterte
Addierglied 110 mit 4 Eingängen und 2 Ausgängen an dem drei
ßigsten Bit angeordnet, die erweiterten Addierglieder 111 mit
4 Eingängen und 2 Ausgängen sind an dem einunddreißigsten bis
dreiunddreißigsten Bit angeordnet und das erweiterte Addier
glied 112 mit 4 Eingängen und 2 Ausgängen ist an dem vierund
dreißigsten Bit angeordnet, und zwar anstelle der erweiterten
Addierglieder 100 mit 4 Eingängen und 2 Ausgängen.
Das zweite Element pc₁₅ wird einem Eingang E des erweiterten
Addiergliedes 110 mit 4 Eingängen und 2 Ausgängen eingegeben
und der Übertrag für eine nächsthöhere Stelle Co des Addier
gliedes 200 mit 4 Eingängen und 2 Ausgängen am neunundzwan
zigsten Bit wird dem Addierglied 110 mit 4 Eingängen und 2
Ausgängen als Übertrag von einer vorhergehenden Stelle Ci
eingegeben.
An dem fünfunddreißigsten Bit sind die beiden ersten Elemente
pp₂ und pp₃ des Teilprodukts angeordnet und ferner ist "1"
gemäß der "Eins-Additionstechnik" angeordnet, und der Eingang
D des Addiergliedes 200 mit 4 Eingängen und 2 Ausgängen an
dieser Bitposition ist verfügbar. Dann wird der erste Über
trag für eine nächsthöhere Stelle Co1 des erweiterten Addier
gliedes 112 mit 4 Eingängen und 2 Ausgängen dem Eingang D des
Addiergliedes 200 mit 4 Eingängen und 2 Ausgängen eingegeben
und der zweite Übertrag für eine nächsthöhere Stelle Co2 des
erweiterten Addiergliedes 112 mit 4 Eingängen und 2 Ausgängen
wird dem Übertrag von einer vorhergehenden Stelle Ci des Ad
diergliedes 200 mit 4 Eingängen und 2 Ausgängen eingegeben.
Natürlich kann der Übertrag für eine nächsthöhere Stelle Co
dem Eingang E des erweiterten Addiergliedes 110 mit 4 Eingän
gen und 2 Ausgängen eingegeben werden, und das zweite Element
pc₁₅ kann dem Übertrag von einer vorhergehenden Stelle Ci
eingegeben werden. Der zweite Übertrag für eine nächsthöhere
Stelle Co2 des erweiterten Addiergliedes 112 mit 4 Eingängen
und 2 Ausgängen kann dem Eingang D des Addiergliedes 200 mit
4 Eingängen und 2 Ausgängen am fünfunddreißigsten Bit einge
geben werden, und der erste Übertrag für eine nächsthöhere
Stelle Co1 des erweiterten Addiergliedes 112 mit 4 Eingängen
und 2 Ausgängen kann dem Übertrag von einer vorhergehenden
Stelle Ci des Addiergliedes 200 mit 4 Eingängen und 2 Ausgän
gen an dem fünfunddreißigsten Bit eingegeben werden. Die Ver
bindungen der erweiterten Addierglieder 110 bis 112 mit 4
Eingängen und 2 Ausgängen können nicht ausgetauscht werden.
Um dieselbe Funktion wie die der erweiterten Addierglieder
100 mit 4 Eingängen und 2 Ausgängen aus Fig. 3A in den er
weiterten Addiergliedern 110 bis 112 mit 4 Eingängen und 2
Ausgängen, die wie vorstehend beschrieben angeordnet sind, zu
erreichen, muß das erweiterte Addierglied 110 mit 4 Eingängen
und 2 Ausgängen den ersten und den zweiten Pseudoübertrag für
eine nächsthöhere Stelle Coa und Cob von den Eingangssignalen
A bis D, dem Übertrag von einer vorhergehenden Stelle Ci und
dem Eingangssignal E erzeugen, und das erweiterte Addierglied
112 mit 4 Eingängen und 2 Ausgängen muß den Übertrag für eine
nächsthöhere Stelle Co1 und Co2 aus den Eingangssignale A bis
D und dem ersten und dem zweiten Pseudoübertrag von einer
vorhergehenden Stelle Cia und Cib erzeugen.
Tabelle 7 ist eine Wahrheitstabelle der Funktion des erwei
terten Addiergliedes 110 mit 4 Eingängen und 2 Ausgängen und
Formel 14 ist ein boolescher Ausdruck, der Tabelle 7 genügt.
Fig. 8 ist ein Schaltbild, das eine Konfiguration des erwei
terten Addiergliedes 110 mit 4 Eingängen und 2 Ausgängen
zeigt, welches die Formel 14 erfüllt.
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).
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).
Co2 = A & B & C & D
SO = AˆBˆCˆDˆ(Cia & Cib)
CO = ∼(AˆBˆCˆD) & ∼Cib | (AˆBˆCˆD) & Cia (15).
Das erweiterte Addierglied 112 mit 4 Eingängen und 2 Ausgän
gen, das den ersten und den zweiten Übertrag für eine nächst
höhere Stelle Co1 und Co2 ausgeben muß, benötigt die Gatter
G1 und G19 in derselben Weise verbunden wie in Fig. 4 ge
zeigt. Das obere Ausgangssignal CO und das untere Ausgangssi
gnal SO können von den Gattern G13 bis G19 und G41 und G42
wie in dem erweiterten Addierglied 111 mit 4 Eingängen und 2
Ausgängen bereitgestellt werden. Daher kann das erweiterte
Addierglied 112 mit 4 Eingängen und 2 Ausgängen aus weniger
Gattern aufgebaut sein als in dem erweiterten Addierglied 100
mit 4 Eingängen und 2 Ausgängen.
Somit wird in der zweiten bevorzugten Ausführungsform der
Schaltungsumfang durch Optimierung der Logik für die Weiter
leitung zwischen den erweiterten Addiergliedern mit 4 Eingän
gen und 2 Ausgängen wie vorstehend erörtert vermindert und
die Verzögerungszeit wird ebenfalls im Vergleich zu der er
sten bevorzugten Ausführungsform verringert.
Wie aus Fig. 6, 8 und 9 im Hinblick auf die erweiterten Ad
dierglieder 110 bis 112 mit 4 Eingängen und 2 Ausgängen der
zweiten bevorzugten Ausführungsform ersichtlich ist, kann die
Verzögerungszeit von der Bestimmung von Datenwerten der Ein
gangssignale A bis D in dem nächstniedrigeren erweiterten Ad
dierglied mit 4 Eingängen und 2 Ausgängen bis zu der Bestim
mung des unteren Ausgangssignals SO dieses erweiterten Ad
diergliedes mit 4 Eingängen und 2 Ausgängen im Vergleich zu
dem erweiterten Addierglied 100 mit 4 Eingängen und 2 Ausgän
gen in der ersten bevorzugten Ausführungsform verringert wer
den. Im Gegensatz zu der ersten bevorzugten Ausführungsform,
die das XOR-Gatter G20 erfordert, muß die zweite bevorzugte
Ausführungsform nur das NAND-Gatter G51 enthalten, dessen
Verzögerungszeit kürzer ist als diejenige des XOR-Gatters.
Daher wird geschätzt, daß die Verzögerungszeit in dem erwei
terten Additionsblock 1a mit 4 Eingängen und 2 Ausgängen der
zweiten bevorzugten Ausführungsform annähernd drei Stufen von
XORs ist.
In der unter Verwendung der Konfiguration der zweiten bevor
zugten Ausführungsform aufgebauten Baumschaltung wird die Ad
dition in der Reihenfolge der ersten Stufe der Baumschaltung
(der erweiterte Additionsblock 1a mit 4 Eingängen und 2 Aus
gängen, die Additionsblöcke 2a bis 2c mit 4 Eingängen und 2
Ausgängen), der zweiten Stufe (die Additionsblöcke 2d und 2e
mit 4 Eingängen und 2 Ausgängen) und der dritten Stufe (der
Additionsblock 2f mit 4 Eingängen und 2 Ausgängen) ausge
führt. Entsprechend ist die Verzögerungszeit von der Bestim
mung der ersten Elemente pp₀ bis pp₁₅ und der zweiten Elemente
pc₀ bis pc₁₅ des Teilprodukts bis zu der Bestimmung des
unteren Ausgangssignals so₇ und des oberen Ausgangssignals
co₇ des Additionsblocks 2f mit 4 Eingängen und 2 Ausgängen
als die beiden sich ergebenden Zwischensummen 3 + 2 × 3 = 9
Stufen von XORs, da der kritische Pfad durch eine Stufe eines
erweiterten Additionsblocks mit 4 Eingängen und 2 Ausgängen
und zwei Stufen von Additionsblöcken mit 4 Eingängen und 2
Ausgängen geht. Das ist kürzer als die Verzögerungszeit der
ersten bevorzugten Ausführungsform, das heißt (9 + a) Stufen
von XORs (0 < a < 1).
Fig. 10 ist ein Blockdiagramm, das einen Teil einer Konfigu
ration einer Multipliziervorrichtung gemäß der dritten bevor
zugten Ausführungsform der vorliegenden Erfindung zeigt. So
wohl der Multiplikator als auch der Multiplikand sind 24-Bit-
Zahlen mit Vorzeichen in Zweierkomplementdarstellung, und
zwölf Teilprodukte P₀ bis P₁₁ werden gemäß dem sekundären
Booth-Algorithmus erhalten. Diese Figur zeigt nicht eine
Funktion zur Erzeugung dieser Teilprodukte, sondern zeigt
schematisch eine Baumschaltung, die die Zwischensummen kom
primiert, um schließlich zwei sich ergebende Zwischensummen
in Addition der Teilprodukte zu erzeugen. Das Teilprodukt Pj
ist von dem ersten Element ppj mit 25-Bit-Breite, dem zweiten
Element pcj mit 1-Bit-Breite und 2j, das die wertniedrigste
Bitposition darstellt, abhängig, und zwar auf der Basis von
Formel 5, wie im Stand der Technik erläutert.
Die Baumschaltung gemäß der dritten bevorzugten Ausführungs
form ist aus einem Schaltungsblock 13a zur Paralleladdition
von drei Eingangsdaten mit mehrzahliger Bit-Breite und einem
Eingangsdatum mit 1-Bit-Breite (der Schaltungsblock wird
nachfolgend als "erweiterter Additionsblock mit 3 Eingängen
und 2 Ausgängen" bezeichnet), Additionsblöcken 14a bis 14c
mit 3 Eingängen und 2 Ausgängen und Additionsblöcken 12a bis
12c mit 4 Eingängen und 2 Ausgängen aufgebaut.
Der erweiterte Additionsblock 13a mit 3 Eingängen und 2 Aus
gängen empfängt das zweite Element pc₁₁ des Teilprodukts und
die ersten Elemente pp₀ bis pp₂ des Teilprodukts und gibt ein
oberes Ausgangssignal co₁₁ und ein unteres Ausgangssignal so₁₁
als Zwischensummen aus. Der Additionsblock 14a mit 3 Eingän
gen und 2 Ausgängen empfängt die ersten Elemente pp₃ bis pp₅
des Teilprodukts und gibt das obere Ausgangssignal co₁₂ und
das untere Ausgangssignal so₁₂ als Zwischensummen aus. Der
Additionsblock 14b mit 3 Eingängen und 2 Ausgängen empfängt
die ersten Elemente pp₆ bis pp₈ des Teilprodukts und gibt das
obere Ausgangssignal co₁₃ und das untere Ausgangssignal so₁₃
als Zwischensummen aus. Der Additionsblock 14c mit 3 Eingän
gen und 2 Ausgängen empfängt die ersten Elemente pp₉ bis pp₁₁
des Teilprodukts und gibt das obere Ausgangssignal co₁₄ und
das untere Ausgangssignal so₁₄ als Zwischensummen aus.
Der Additionsblock 12a mit 4 Eingängen und 2 Ausgängen emp
fängt die oberen Ausgangssignale co₁₁ und co₁₂ und untere Aus
gangssignale so₁₁ und so₁₂ und gibt das obere Ausgangssignal
co₁₅ und das untere Ausgangssignal so₁₅ als Zwischensummen
aus. Der Additionsblock 12b mit 4 Eingängen und 2 Ausgängen
empfängt die oberen Ausgangssignale co₁₃ und co₁₄ und die un
teren Ausgangssignale so₁₃ und so₁₄ und gibt das obere Aus
gangssignal co₁₆ und das untere Ausgangssignal so₁₆ als
Zwischensummen aus. Der Additionsblock 12c mit 4 Eingängen
und 2 Ausgängen empfängt die oberen Ausgangssignale co₁₅ und
co₁₆ und die unteren Ausgangssignale so₁₅ und so₁₆ und gibt das
obere Ausgangssignal co₁₇ und das untere Ausgangssignal so₁₇
als Zwischensummen aus. Das untere Ausgangssignal so₁₇ und
das obere Ausgangssignal co₁₇ werden schließlich von dem En
dadditionsblock (nicht dargestellt) addiert, um das Multipli
kationsresultat zu erzeugen.
Fig. 11A und 11B sind Blockdiagramme, die gemeinsam eine
Konfiguration des erweiterten Additionsblocks 13a mit 3 Ein
gängen und 2 Ausgängen zeigen. Fig. 11A geht an einer virtu
ellen Linie Q15-Q15 in Fig. 11B über.
Der erweiterte Additionsblock 13a mit 3 Eingängen und 2 Aus
gängen, der die Paralleladdition von 26-Bit-Daten durchführt,
hat eine Konfiguration, bei der fünf erweiterte Addierglieder
300 mit 3 Eingängen und 2 Ausgängen jeweils für ein Bit an
dem zweiundzwanzigsten bis sechsundzwanzigsten Bit angeordnet
sind, zwanzig Addierglieder 400 mit 3 Eingängen und 2 Ausgän
gen jeweils für ein Bit an dem zweiten bis einundzwanzigsten
Bit angeordnet sind, und ein Addierglied 400 mit 3 Eingängen
und 2 Ausgängen jeweils für ein Bit an dem siebenundzwanzig
sten Bit angeordnet ist.
Die Summe der drei 1-Bit-Eingangssignale A, B und C ist höch
stens "3" in Dezimalschreibweise und ist unter Verwendung von
zwei 1-Bit-Ausgangssignalen SO und CO darstellbar. Daher wird
in dem einundzwanzigsten Bit und darunter kein Übertrag zwi
schen Bits weitergeleitet und keine Verbindung ist zwischen
den Addiergliedern 400 mit 3 Eingängen und 2 Ausgängen erfor
derlich.
Das zweite Element pc₁₁ des Teilprodukts P₁₁ wird dem Übertrag
von einer vorhergehenden Stelle Ci des erweiterten Addier
gliedes 300 mit 2 Eingängen und 2 Ausgängen an dem zweiund
zwanzigsten Bit eingegeben. Der Übertrag von einer vorherge
henden Stelle Ci wird als eine Parität der drei ersten Ele
mente pp₀ <22<, pp₁ <22< und pp₂ <22< mit der Bewertung der
zweiundzwanzigsten Bit-Position in Übereinstimmung mit dem
ersten Prinzip betrachtet.
Bei der Ausführung der "Eins-Additionstechnik" komplementär
zu dem ersten und dem zweiten Prinzip wird eine logische
Umkehrung des ersten Elements pp₀ <24< an dem Eingang C des
erweiterten Addiergliedes 300 mit 3 Eingängen und 2 Ausgängen
an dem vierundzwanzigsten und fünfundzwanzigsten Bit einge
geben, und das erste Element pp₀ <24< wird an dem Eingang C
des erweiterten Addiergliedes 300 mit 3 Eingängen und 2 Aus
gängen an dem sechsundzwanzigsten Bit eingegeben. Daher sind
die Addierglieder 300 mit 3 Eingängen und 2 Ausgängen jeweils
für ein Bit bis zu dem sechsundzwanzigsten Bit erforderlich.
In jedem des zweiundzwanzigsten bis sechsundzwanzigsten Bit
wird der Übertrag für eine nächsthöhere Stelle Co des
erweiterten Addiergliedes 300 mit 3 Eingängen und 2 Ausgängen
dem nächsthöheren Addierglied als der Übertrag von einer
vorhergehenden Stelle Ci eingegeben.
In dem siebenundzwanzigsten Bit, da die Teilprodukte kompri
miert sind, werden das erste Element pp₂ <27< und "1" zur
Durchführung der "Eins-Additionstechnik" den Eingängen A und
B eingegeben und ferner wird der Übertrag für eine nächsthö
here Stelle Co des erweiterten Addiergliedes 300 mit 3 Ein
gängen und 2 Ausgängen am sechsundzwanzigsten Bit dem Eingang
C eingegeben.
Nachfolgend wird das vorstehend genannte erweiterte Addier
glied 300 mit 3 Eingängen und 2 Ausgängen erörtert. Das er
weiterte Addierglied 300 mit 3 Eingängen und 2 Ausgängen emp
fängt vier 1-Bit-Daten und gibt das untere Ausgangssignal SO1
für seine Bit-Position und zwei Ausgangssignale für das näch
sthöhere Bit, das heißt den Übertrag für eine nächsthöhere
Stelle Co und das obere Ausgangssignal CO aus.
Entsprechend gilt der folgenden Ausdruck:
A + B + C + Ci = 2 (Co + CO) + SO (16).
Andererseits ist das untere Ausgangssignal SO davon abhängig,
ob das Ausgangssignal von dem erweiterten Addierglied 300 mit
3 Eingängen und 2 Ausgängen in Dezimalschreibweise geradzah
lig oder ungeradzahlig ist, und ist in anderen Worten davon
abhängig, ob die Anzahl der "1" in den drei Eingangssignalen
A bis C und dem Übertrag von einer vorhergehenden Stelle Ci
geradzahlig oder ungeradzahlig ist. Eine Wahrheitstabelle,
die das erweiterte Addierglied 300 mit 3 Eingängen und 2 Aus
gängen erfüllen sollte, ist in Tabelle 9 gezeigt.
Wenn die drei Eingangssignale A, B und C zwei "1" haben, müs
sen entweder der Übertrag für eine nächsthöhere Stelle Co
oder das obere Ausgangssignal CO "1" sein und das andere muß
"0" sein, und somit sind 2³ = 8 Funktionen dargestellt. Aus
der Wahrheitstabelle in Tabelle 9 ist die Logik des unteren
Ausgangssignals SO unter Verwendung eines booleschen Ausdruc
kes gegeben als
SO = AˆBˆCˆCi (17).
Tabelle 10 ist eine Wahrheitstabelle, die eine der Funktionen
darstellt, die das erweiterte Addierglied 300 mit 3 Eingängen
und 2 Ausgängen erfüllen sollte.
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).
CO = (AˆBˆC) & Ci
SO = AˆBˆCˆCi (18).
Fig. 12 ist ein Schaltbild einer beispielhaften Schaltung,
die die Funktion von Tabelle 10 erfüllt. Um den Schaltungsum
fang zu verringern und die Operation zu beschleunigen, werden
die Logik sowohl des Übertrags von einer vorhergehenden Stel
le Ci als auch des Übertrags für eine nächsthöhere Stelle Co
umgekehrt.
Ein OR-Gatter G61 empfängt die Eingangssignale A und B und
ein AND-Gatter G22 empfängt ein Ausgangssignal von dem OR-
Gatter G61 und das Eingangssignal C. Ein AND-Gatter G63 emp
fängt die Eingangssignale A und B und ein NOR-Gatter G64 emp
fängt Ausgangssignale von den AND-Gattern G62 und G63 und
gibt eine Umkehrung des Übertrags für eine nächsthöhere Stel
le Co aus. Die Gatter G61 bis G64 können als ein Verbund-Gat
ter aufgebaut sein.
Ein XOR-Gatter G65 empfängt die Eingangssignale A und B und
ein XNOR-Gatter G67 empfängt ein Ausgangssignal von dem XOR-
Gatter G65 und das Eingangssignal C. Ein NOR-Gatter G68 emp
fängt ein Ausgangssignal von dem XNOR-Gatter G67 und die Um
kehrung des Übertrags von einer vorhergehenden Stelle Ci und
gibt das obere Ausgangssignal CO aus.
Ein XNOR-Gatter G66 empfängt das Eingangssignal C und die Um
kehrung des Übertrags von einer vorhergehenden Stelle Ci. Ein
XOR-Gatter G69 empfängt ein Ausgangssignal von dem XNOR-Gat
ter G66 und ein Ausgangssignal von dem XOR-Gatter G65 und
gibt das untere Ausgangssignal SO aus.
Der kritische Pfad des erweiterten Addiergliedes 300 mit 3
Eingängen und 2 Ausgängen geht von den Eingangssignalen A, B
und C des nächstniedrigen Bits zu dem oberen Ausgangssignal
CO an seiner Bit-Position und die Verzögerungszeit liegt zwi
schen zwei Stufen von XORs und drei Stufen von XORs.
Die Addition wird in der Reihenfolge der ersten Stufe der
Baumschaltung von Fig. 10 (der erweiterte Additionsblock 13a
mit 3 Eingängen und 2 Ausgängen, die erweiterten Additions
blöcke 14a bis 14c mit 3 Eingängen und 2 Ausgängen), der
zweiten Stufe (die Additionsblöcke 12a und 12b mit 4 Eingän
gen und 2 Ausgängen) und der dritten Stufe (der Additions
block 12c mit 4 Eingängen und 2 Ausgängen) ausgeführt. Ent
sprechend beträgt die Verzögerungszeit von der Bestimmung der
ersten Elemente pp₀ bis pp₁₁ und der zweiten Elemente pc₀ bis
pc₁₁ des Teilprodukts bis zur Bestimmung des unteren Aus
gangssignals so₁₇ und des oberen Ausgangssignals co₁₇ des Ad
ditionsblocks 12c mit 4 Eingängen und 2 Ausgängen als die
beiden sich ergebenden Zwischensummen (2 + α) + 2 × 3 = 8 + α
Stufen von XORs (0 < α < 1), da der kritische Pfad durch eine
Stufe eines erweiterten Additionsblocks mit 3 Eingängen und 2
Ausgängen und zwei Stufen von Additionsblöcken mit 4 Eingän
gen-und 2 Ausgängen führt. Somit liegt die Verzögerungszeit
zwischen acht Stufen von XORs und neun Stufen von XORs, und
ein Betrieb mit höherer Geschwindigkeit wird im Vergleich zu
dem Stand der Technik erreicht.
In der dritten bevorzugten Ausführungsform wird wie in der er
sten bevorzugten Ausführungsform der kleinste Schaltungsum
fang erreicht, wenn das höchste der zweiten Elemente pcj, die
gemäß dem sekundären Booth-Algorithmus erzeugt werden, und
eines der ersten Elemente ppj, dessen höchstwertiges Bit das
niedrigste ist, in das selbe Addierglied mit 3 Eingängen und
2 Ausgängen eingegeben werden.
In der ersten bis dritten bevorzugten Ausführungsform wurde
die vorliegende Erfindung erörtert, wobei die 32 × 32 Multi
pliziervorrichtung und die 24 × 24 Multipliziervorrichtung,
die den sekundären Booth-Algorithmus verwenden, als bestimmte
Beispiele genommen wurden. Des weiteren wird ein allgemeiner
Aspekt der vorliegenden Erfindung erläutert.
Von den zwei Eingaben der Multipliziervorrichtung wird ange
nommen, daß eine, die gemäß dem sekundären Booth-Algorithmus
zu codieren ist, ein Multiplikator ist und die andere ein
Multiplikand ist. Wenn der Multiplikator eine Breite von 2n-
Bit oder (2n-1)-Bit hat (n ist eine ganze Zahl gleich oder
größer als zwei), werden n Teilprodukte erzeugt. Unter der
Annahme, daß jedes Teilprodukt Pj (j = 0 bis n-1) ist, wenn
das erste Element ppj mit (die Bit-Breite des Multiplikanden
+ 1)-Bit-Breite und das zweite Element pcj mit 1-Bit-Breite,
das zu der wertniedrigsten Ziffer des Teilprodukts addiert
wird, wenn das Teilprodukt negativ ist, eingeführt werden,
gilt Formel 3.
Wie im Stand der Technik erörtert, können dann, wenn eine
Baumschaltung unter Verwendung der regulären Additionsblöcke
mit 4 Eingängen und 2 Ausgängen und der regulären Additions
blöcke mit 3 Eingängen und 2 Ausgängen zum Addieren von n
Partialprodukten zur Ausgabe von zwei Zwischensummen gebildet
wird, die (n-1) zweiten Elemente pcj (j = 0 bis n-2) in ver
fügbare Anschlüsse der Additionsblöcke eingegeben werden,
aber das zweite Element pc(n-1) hat keinen verfügbaren An
schluß zu deren Aufnahme. Aus diesem Grund ist das zweite
Element pc(n-1) separat hinzugefügt (beispielsweise wie in
Fig. 13 gezeigt) oder alle zweiten Elemente pcj (j = 0 bis n-1)
werden zusammen aufaddiert (wie beispielsweise in Fig. 19
gezeigt). Auf diese Weise wird die Anzahl der Eingangsdaten
der Baumschaltung als (n+1) betrachtet.
Nur wenn die Anzahl der Eingangsdaten der Baumschaltung, die
aus den Additionsblöcken mit 4 Eingängen und 2 Ausgängen und
den Additionsblöcken mit 3 Eingängen und 2 Ausgängen besteht,
2k 3h ist (k = 0, 1, 2, . . . , h = 0, 1, 2, . . . ) , kann eine
"dichte" Baumschaltung aufgebaut werden ("dicht" bezieht sich
auf einen Zustand, in dem die Eingangsdaten der Additions
blöcke in der selben Stufe zur selben Zeit ankommen, um eine
bestmögliche Paralleloperation der Schaltung zu erreichen).
Der Grund dafür ist wie folgt.
Da die Additionsblöcke, die die Baumschaltung bilden, jeweils
zwei Ausgänge haben, ist die Endstufe der "dichten" Baum
schaltung notwendigerweise ein Additionsblock mit 4 Eingängen
und 2 Ausgängen. In der vorhergehenden Stufe sind entweder
zwei Additionsblöcke mit 4 Eingängen und 2 Ausgängen oder
zwei Additionsblöcke mit 3 Eingängen und 2 Ausgängen vorgese
hen. Mit anderen Worten beträgt die Anzahl der Eingänge der
Additionsblöcke vor dem Endadditionsblock acht oder sechs.
Geht man von der Endadditionsstufe zurück, so ist festzustel
len, daß die Anzahl der Eingänge der "dichten" Baumschaltung
2k3h ist.
Wenn die Anzahl der Teilprodukte n=2k3h ist, ist die Anzahl
der Eingangsdaten (n + 1) nicht 2k3h, und daher ist es unmög
lich, die "dichte" Baumschaltung nach dem Stand der Technik
zu bilden.
Gemäß vorliegender Erfindung werden ein erweiterter Additi
onsblock mit 4 Eingängen und 2 Ausgängen oder ein erweiterter
Additionsblock mit 3 Eingängen und 2 Ausgängen verwendet, und
offensichtlich ist ein verfügbarer Anschluß mehr vorgesehen
als im Vergleich mit dem regulären Additionsblock mit 4 Ein
gängen und 2 Ausgängen oder dem regulären Additionsblock mit
3 Eingängen und 2 Ausgängen. Daher können die Eingangsdaten
der Additionsblöcke in der selben Stufe zur selben Zeit an
kommen. Somit kann die "dichte" Baumschaltung gebildet wer
den, so daß die Verzögerungszeit reduziert wird.
Wenn die Anzahl der Teilprodukte nicht 2k3h ist, kann die
"dichte" Baumschaltung aufgrund der innewohnenden Eigenschaft
der Anzahl der Teilprodukte n nicht gebildet werden und es
ist unmöglich, die Verzögerungszeit zu verringern, auch wenn
die Baumschaltung, die (n+1) Eingänge hat, gemäß vorliegender
Erfindung gebildet wird.
Wenn somit der Multiplikator (die gemäß dem sekundären Booth-
Algorithmus zu codierende Eingabe) 2 · 2k · 3h-Bit- oder (2 · 2k · 3h-1)-
Bit-Breite hat, wenn die Baumschaltung zum Addieren
einer Vielzahl von Teilprodukten in die Multipliziervorrich
tung gemäß dem sekundären Booth-Algorithmus zum Ausgeben der
zwei sich ergebenden Zwischensummen unter Verwendung des er
weiterten Additionsblocks mit 4 Eingängen und 2 Ausgängen
oder des erweiterten Additionsblocks mit 3 Eingängen und 2
Ausgängen gemäß vorliegender Erfindung gebildet wird, kommen
die Eingangsdaten der Additionsblocks in derselben Stufe der
Baumschaltung zur selben Zeit an, die Anzahl der Logikstufen
in dem kritischen Pfad der Baumschaltung wird verringert, die
Paralleloperation der Schaltung wird verbessert und eine bes
sere Operation der Multipliziervorrichtung wird erzielt.
Wenn das höchste der zwei Elemente pcj und des ersten Ele
ments ppj, deren höchstwertiges Bit das niedrigste ist, in
den selben erweiterten 4-2-Additionsblock oder den selben er
weiterten Additionsblock mit 3 Eingängen und 2 Ausgängen ein
gegeben werden, wird die beste Flächeneffizienz erzielt.
Claims (13)
1. Baumschaltung, die eine Turnieraddition auf der Basis ei
ner Vielzahl von Teilprodukten (Pj) ausführt, die gemäß
dem Booth-Algorithmus erzeugt werden, und Zwischensummen
(so₁ bis so₆, co₁ bis co₆, so₁₁ bis so₁₆, co₁₁ bis co₁₆)
erzeugt, die zu komprimieren sind, um ein Paar von sich
ergebenden Zwischensummen (so₇, co₇, so₁₇, co₁₇) auszuge
ben, die folgendes aufweist:
reguläre Additionsblöcke (2a bis 2f, 12a bis 12c, 14a bis 14c) zum Addieren einer Vielzahl von mehrzahligen Bit-Da ten zum Ausgeben eines Paares der Zwischensummen; und einen erweiterten Additionsblock (1a, 13a), zum Addieren einer Vielzahl von mehrzahligen Bit-Daten und 1-Bit-Daten zum Ausgeben eines Paares der Zwischensummen.
reguläre Additionsblöcke (2a bis 2f, 12a bis 12c, 14a bis 14c) zum Addieren einer Vielzahl von mehrzahligen Bit-Da ten zum Ausgeben eines Paares der Zwischensummen; und einen erweiterten Additionsblock (1a, 13a), zum Addieren einer Vielzahl von mehrzahligen Bit-Daten und 1-Bit-Daten zum Ausgeben eines Paares der Zwischensummen.
2. Baumschaltung nach Anspruch 1,
dadurch gekennzeichnet,
daß jedes der Vielzahl von Teilprodukten als ein Produkt
ausgedrückt wird, das durch Multiplizieren einer Summe
eines ersten Elements (ppj) mit einer Vielzahl von Bits
und eines zweiten Elements (pcj) mit einem Bit mit einer
Ordnung (22j) erhalten wird,
und daß der erweiterte Additionsblock (1a, 13a) die Viel
zahl von Teilprodukten empfängt und ferner das zweite
Element empfängt, das zu einem der Vielzahl von Teilpro
dukten gehört, das von den in diesen einzugebenden ver
schieden ist.
3. Baumschaltung nach Anspruch 2,
dadurch gekennzeichnet,
daß das zweite Element (pc₁₅, pc₁₁), das in den erweiter
ten Additionsblock eingegeben wird, zu dem Teilprodukt
(P₁₅, P₁₁) gehört, das die nächste Ordnung von der Viel
zahl von Teilprodukten hat.
4. Baumschaltung nach einem der Ansprüche 1 bis 3,
dadurch gekennzeichnet,
daß das Teilprodukt (P₀), das die kleinste Ordnung von
der Vielzahl von Teilprodukten hat, in den erweiterten
Additionsblock eingegeben wird.
5. Baumschaltung nach einem der Ansprüche 2 bis 4,
dadurch gekennzeichnet,
daß der erweiterte Additionsblock
erweiterte Addierglieder (100, 110 bis 112, 300) hat, de
ren Anzahl eine vorbestimmte Anzahl ist, die an einer be
stimmten Bit-Position angeordnet sind, welche die Bit-Po
sition des darin eingegebenen zweiten Elements und dar
über ist; und
reguläre Addierglieder (200, 400), die niedriger angeord
net sind als die bestimmte Bit-Position,
wobei die erweiterten Addierglieder jeweils einen Ausgang
zur Weiterleitung nach oben zum Ausgeben von Daten zu dem
nächsthöheren Bit mehr haben im Vergleich zu den regulä
ren Addiergliedern, die den regulären Additionsblock bil
den.
6. Baumschaltung nach Anspruch 5,
dadurch gekennzeichnet,
daß der erweiterte Additionsblock ferner ein Addierglied
hat, das höher ist als die erweiterten Addierglieder,
und daß als nächsthöheres zu dem höchsten der erweiterten
Addierglieder angeordnete Addierglied eines der nach oben
weitergeleiteten Ausgangssignale als ein von einem Über
trag von einer vorhergehenden Stelle verschiedenes Ein
gangssignal empfängt.
7. Baumschaltung nach Anspruch 5,
dadurch gekennzeichnet,
daß die erweiterten Addierglieder (300) jeweils drei Ein
gänge (A, B, C) haben, die von den Ausgängen zur Weiter
leitung nach oben, die von der nächstniedrigeren Bit-Po
sition gegeben sind, verschieden sind.
8. Baumschaltung nach Anspruch 5,
dadurch gekennzeichnet,
daß die erweiterten Addierglieder (100, 110 bis 112) je
weils vier Eingänge (A, B, C, D) haben, die von den von
den nächstniedrigen Bit-Positionen gegebenen Ausgängen
zur Weiterleitung nach oben verschieden sind und einer
der Ausgänge zur Weiterleitung nach oben (Co2, Cob) einen
von verschiedenen Werten annimmt, in Abhängigkeit davon,
ob alle vier Eingangssignale "1" haben oder nicht.
9. Baumschaltung nach Anspruch 8,
dadurch gekennzeichnet,
daß die Ausgangssignale zur Weiterleitung nach oben Über
träge für eine nächsthöhere Stelle (Co1, Co2) sind.
10. Baumschaltung nach Anspruch 8,
dadurch gekennzeichnet,
daß die Ausgangssignale zur Weiterleitung nach oben, die zwischen einer Vielzahl der erweiterten Addierglieder weitergeleitet werden, als ein Paar von Pseudoüberträgen für eine nächsthöhere Stelle (Coa, Cob) erzeugt werden und als Resultate von zwei vorbestimmten arithmetischen Operationen ausgedrückt werden können, die für ein Paar von Überträgen für eine nächsthöhere Stelle (Co1, Co2) ausgeführt werden, welche in den regulären Addiergliedern erzeugt werden,
und daß die Überträge für eine nächsthöhere Stelle in den beiden vorbestimmten arithmetischen Operationen kommuta tiv sind.
daß die Ausgangssignale zur Weiterleitung nach oben, die zwischen einer Vielzahl der erweiterten Addierglieder weitergeleitet werden, als ein Paar von Pseudoüberträgen für eine nächsthöhere Stelle (Coa, Cob) erzeugt werden und als Resultate von zwei vorbestimmten arithmetischen Operationen ausgedrückt werden können, die für ein Paar von Überträgen für eine nächsthöhere Stelle (Co1, Co2) ausgeführt werden, welche in den regulären Addiergliedern erzeugt werden,
und daß die Überträge für eine nächsthöhere Stelle in den beiden vorbestimmten arithmetischen Operationen kommuta tiv sind.
11. Baumschaltung nach Anspruch 10,
dadurch gekennzeichnet,
daß die Pseudoüberträge für eine nächsthöhere Stelle eine
logische Summe des Paares von Überträgen für eine nächst
höhere Stelle und einer Umkehrung eines logischen Pro
dukts des Paares von Überträgen für eine nächsthöhere
Stelle sind.
12. Baumschaltung nach einem der Ansprüche 10 oder 11,
dadurch gekennzeichnet,
daß das erweiterte Addierglied (110), das an der bestimm
ten Bit-Position angeordnet ist, einen Übertrag für eine
nächsthöhere Stelle (Co) der nächstniedrigeren Position
und das zweite Element (pc₁₅), das in den erweiterten Ad
ditionsblock eingegeben wird, empfängt und die Pseudo
überträge für eine nächsthöhere Stelle zu dem erweiterten
Addierglied weiterleitet, das an der nächsthöheren Bit-
Position angeordnet ist.
13. Baumschaltung nach einem der Ansprüche 10 bis 12,
dadurch gekennzeichnet,
daß der erweiterte Additionsblock ferner ein reguläres Addierglied hat, das höher ist als die erweiterten Ad dierglieder,
und daß das höchste (112) der erweiterten Addierglieder das Paar von Pseudoüberträgen für eine nächsthöhere Stelle von der nächstniedrigeren Bit-Position empfängt und ein Paar von Überträgen für eine nächsthöhere Stelle an das reguläre Addierglied (200) ausgibt, das an der nächsthöheren Position angeordnet ist.
daß der erweiterte Additionsblock ferner ein reguläres Addierglied hat, das höher ist als die erweiterten Ad dierglieder,
und daß das höchste (112) der erweiterten Addierglieder das Paar von Pseudoüberträgen für eine nächsthöhere Stelle von der nächstniedrigeren Bit-Position empfängt und ein Paar von Überträgen für eine nächsthöhere Stelle an das reguläre Addierglied (200) ausgibt, das an der nächsthöheren Position angeordnet ist.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP19492096A JP3652447B2 (ja) | 1996-07-24 | 1996-07-24 | ツリー回路 |
Publications (2)
Publication Number | Publication Date |
---|---|
DE19711005A1 true DE19711005A1 (de) | 1998-01-29 |
DE19711005C2 DE19711005C2 (de) | 2001-09-13 |
Family
ID=16332549
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19711005A Expired - Fee Related DE19711005C2 (de) | 1996-07-24 | 1997-03-17 | Baumschaltung zur Addition von Teilprodukten im Booth-Algorithmus |
Country Status (4)
Country | Link |
---|---|
US (1) | US5903484A (de) |
JP (1) | JP3652447B2 (de) |
KR (1) | KR100254316B1 (de) |
DE (1) | DE19711005C2 (de) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3678512B2 (ja) * | 1996-08-29 | 2005-08-03 | 富士通株式会社 | 乗算回路、該乗算回路を構成する加算回路、該乗算回路の部分積ビット圧縮方法、および、該乗算回路を適用した大規模半導体集積回路 |
WO2000041176A1 (fr) | 1999-01-08 | 2000-07-13 | Fujitsu Limited | Circuit numerique a boucle asservie |
US6523049B1 (en) * | 1999-12-21 | 2003-02-18 | International Business Machines Corporation | Circuit and method for determining greater than or equal to three out of sixty-six |
JP4282193B2 (ja) * | 2000-01-13 | 2009-06-17 | 株式会社ルネサステクノロジ | 乗算装置 |
US6513054B1 (en) * | 2000-02-22 | 2003-01-28 | The United States Of America As Represented By The Secretary Of The Army | Asynchronous parallel arithmetic processor utilizing coefficient polynomial arithmetic (CPA) |
Citations (1)
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 |
---|---|
JP3652447B2 (ja) | 2005-05-25 |
KR980010750A (ko) | 1998-04-30 |
KR100254316B1 (ko) | 2000-05-01 |
JPH1040079A (ja) | 1998-02-13 |
DE19711005C2 (de) | 2001-09-13 |
US5903484A (en) | 1999-05-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE3854321T2 (de) | Populationszählung in Rechnersystemen. | |
DE69632978T2 (de) | Multi-Operand-Addierer, der Parallelzähler benutzt | |
DE69838877T2 (de) | Architektur eines schnellen regulären multiplizierers | |
EP0123921B1 (de) | Parallelverknüpfungsschaltung mit verkürztem Übertragsdurchlauf | |
DE3686681T2 (de) | Parallelmultiplizierer. | |
DE69731700T2 (de) | Arithmetischer Schaltkreis und arithmetisches Verfahren | |
DE3927009A1 (de) | Addierschaltung | |
DE2246968A1 (de) | Einrichtung zur kombination, insbesondere multiplikation, zweier gleitkommazahlen | |
DE69424329T2 (de) | 4:2-Addierer und diesen verwendende Multiplizierschaltung | |
DE3700991A1 (de) | Digitaler uebertragsvorgriffsaddierer | |
DE69130640T2 (de) | Arithmetische Operationseinheit mit Bit-Invertierungsfunktion | |
DE4101004C2 (de) | Paralleler Multiplizierer mit Sprungfeld und modifiziertem Wallac-Baum | |
DE2018452A1 (de) | Arithmetische Einrichtung | |
DE2623986A1 (de) | Parallelrechenwerk | |
DE3926876C2 (de) | Schaltung und Verfahren zum Vorhersagen eines Sticky-Bit-Wertes bei der Gleitkommamultiplikation | |
DE69434806T2 (de) | Verfahren, System und Vorrichtung zum automatischen Entwurf einer Multiplikatorschaltung und durch die Durchführung dieses Verfahrens entworfene Multiplikatorschaltung | |
DE2758130C2 (de) | Binärer und dezimaler Hochgeschwindigkeitsaddierer | |
DE2626432A1 (de) | Arithmetische einheit fuer automatische rechengeraete | |
DE4444304C2 (de) | Verfahren zum Erzeugen eines zusammengesetzten Videobildes | |
EP0383965A1 (de) | Multiplizierwerk | |
DE4409834C2 (de) | Multiplizierschaltung | |
DE3889150T2 (de) | Filter n-ten Ranges. | |
DE68927488T2 (de) | Binäre Übertragvorgriffsschaltung | |
DE19711005C2 (de) | Baumschaltung zur Addition von Teilprodukten im Booth-Algorithmus | |
DE69726248T2 (de) | Addierer mit bedingter Summe unter Benutzung von Durchlasstransistor-Logik |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OP8 | Request for examination as to paragraph 44 patent law | ||
D2 | Grant after examination | ||
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |