DE3927009A1 - Addierschaltung - Google Patents
AddierschaltungInfo
- Publication number
- DE3927009A1 DE3927009A1 DE3927009A DE3927009A DE3927009A1 DE 3927009 A1 DE3927009 A1 DE 3927009A1 DE 3927009 A DE3927009 A DE 3927009A DE 3927009 A DE3927009 A DE 3927009A DE 3927009 A1 DE3927009 A1 DE 3927009A1
- Authority
- DE
- Germany
- Prior art keywords
- input
- numbers
- mux
- adder
- bits
- 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.)
- Withdrawn
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/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/50—Adding; Subtracting
- G06F7/505—Adding; Subtracting in bit-parallel fashion, i.e. having a different digit-handling circuit for each denomination
- G06F7/509—Adding; Subtracting in bit-parallel fashion, i.e. having a different digit-handling circuit for each denomination for multiple operands, e.g. digital integrators
-
- 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/60—Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers
- G06F7/607—Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers number-of-ones counters, i.e. devices for counting the number of input lines set to ONE among a plurality of input lines, also called bit counters or parallel counters
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Pure & Applied Mathematics (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Optimization (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Logic Circuits (AREA)
- Complex Calculations (AREA)
Description
Die Erfindung bezieht sich auf das Gebiet digitaler Multipli
ziereinrichtungen und befaßt sich insbesondere mit der Addi
tion von Partialprodukten.
Das Herz eines Computers oder Mikroprozessorsystems ist der
Prozessor selbst. Eine Hauptfunktion eines Prozessors ist
seine Eignung zur Durchführung arithmetischer logischer Opera
tionen an verschiedenen Eingaben. Es gibt verschiedene Schema
ta zur Durchführung arithmetischer und logischer Operationen
in der arithmetischen Logikeinheit (ALU) eines Prozessors.
Eine für die meisten Prozessoren notwendige Funktion ist die
Multiplikation von zwei Zahlen. Die numerische Operation des
Multiplizierens eines Multiplikanden mit einem Multiplikator
zur Ableitung eines Produktes von zwei Zahlen ist im Stande
der Technik bekannt.
Die Erhöhung der Geschwindigkeit der Multipliziereinrichtung
ist besonders dann wichtig, wenn die Multipliziereinrichtung
auf derselben integrierten Schaltung wie der Prozessor aufge
baut ist, da die zur Durchführung der Multiplikation erforder
liche Zeit und nicht die Inter-Chip-Kommunikationszeit der
beherrschende Zeitfaktor ist. Eine Verringerung der Rechenzeit
beim Multiplizieren von zwei Zahlen verbessert die Operations
geschwindigkeit des Prozessors wesentlich.
Zahlreiche Schemata wurden zur Ableitung des Produkts aus zwei
Zahlen angegegeben. Eines der schnellsten Schemata zur Berech
nung eines Produktes aus zwei Zahlen macht von einem Wallace-
Baum Gebrauch. Da jedoch die reime Form eines Wallace-Baums in
einem Halbleiterbauelement schwer zu implementieren ist, wur
den Abwandlungen des Wallace-Baums entwickelt, um ein regulä
reres Layout zum Aufbau von Halbleiterbauelementen zu errei
chen. Die Wallace-Baum-Abwandlungen ergeben ein reguläreres
Layout, das für den Aufbau integrierter Schaltungen besser
geeignet ist, jedoch teilweise gegenüber der reinen Wallace-
Baum-Technik zu länger dauernden Operationen führt. Hohe Ope
rationsgeschwindigkeiten und einfache Bauelementkonstruktion
lassen sich schwer vereinbaren. Die weiter unten bezeichneten
Druckschriften beschreiben einige bekannte Techniken zum Im
plementieren eines Multiplikationsschemas, das der Konstruk
tion numerischer Prozessoren dienlich ist.
Eine typische Multiplikationsoperation, wie sie gegenwärtig in
numerischen Prozessoren implementiert wird, kann in drei
Schritte unterteilt werden. Der erste Schritt beinhaltet die
praktisch gleichzeitige Erzeugung aller Partialprodukte. Der
zweite Schritt umfaßt die Reduzierung der Partialprodukte auf
zwei Zahlen, welche die gleiche Summe wie die Summe der Par
tialprodukte haben. Schließlich werden im dritten Schritt die
beiden aus dem zweiten Schritt gewonnenen Zahlen addiert, um
das Produkt abzuleiten. Eine Erhöhung der Geschwindigkeit bei
der Durchführung eines der oben beschriebenen drei Schritte
führt zwangsläufig zu einer höheren Geschwindigkeit der gesam
ten Multiplikationsoperation. Die Erfindung schafft eine
schnellere Addierzelle zur Durchführung des oben bezeichneten
Schritts der Reduzierung der Partialprodukte auf zwei Zahlen.
Zum Stande der Technik werden die folgenden Druckschriften
genannt:
1. "A Suggestion for a Fast Multiplier", C. S. Wallace; IEEE
Transactions on Electronic Computers, Februar 1964, Seiten
14-17.
2. "Recursive Implementation of Optimal Time VLSI Integer
Multipliers", W. K. Luk und J. E. Vuillemin, VLSI 1983, Seiten
155-168.
3. Introduction to Arithmetic for Digital Systems Designers,
Shlomo Waser und Michael Flynn, 1982, Kapitel 4.
Die Erfindung beschreibt einen Addierer zur Durchführung einer
vier-zu-eins-Addition. In jedem Addierer sind mehrere Addier
zellen parallel angeordnet, wobei jede Addierzelle entspre
chende Bits von vier Zahlen, die zu addieren sind, aufnimmt.
Zwei Ausgänge, die die gleiche Summe wie die Summe der vier
Eingänge ergeben, werden von jedem Addierer abgegeben. Bei dem
beschriebenen Ausführungsbeispiel wird der Addierer zum Addie
ren von Partialprodukten im zweiten Schritt eines 3-Schritt-
Multiplikationsschemas verwendet.
Die vier Eingangsbits jeder Addierzelle werden an eine Pari
tätsschaltung angelegt, die die Eingänge Exklusiv-ODER-ver
knüpft. Drei der vier Eingänge werden an eine nachfolgende
Addierzellenstufe angelegt. Die drei Eingänge von der vorher
gehenden Addierzellenstufe an die laufende Addierstufe werden
als Eingänge an eine Übertragserzeugerschaltung angelegt, die
einen Übertrag erzeugt. Dieser Übertrag und dessen Komplement
werden als Eingangssignale an einen ersten Multiplexer ange
legt. Der Übertrag und derjenige Eingang, der nicht mit der
nächsten Addierzellenstufe gekoppelt ist, werden als Eingänge
an einen zweiten Multiplexer angelegt. Der Paritätsausgang von
einer 4-Bit-Paritätsschaltung steuert die Auswahl jedes der
Eingangspaare zu den beiden Multiplexern. Die Ausgänge der
beiden Multiplexer sind die beiden Ausgänge der Addierzelle.
Im folgenden wird die Erfindung anhand eines in der Zeichnung
dargestellten Ausführungsbeispiels näher erläutert. In der
Zeichnung zeigt:
Fig. 1 eine bekannte Addierschaltung zur Durchführung
einer vier-zu-zwei-Addition;
Fig. 2 einen bekannten Wallace-Baum zum Addierem von
sechzehn Zahlen;
Fig. 3 eine bekannte Baumstruktur zum Addieren von
sechzehn Zahlen unter Verwendung der vier-zu-
zwei Addierer gemäß Fig. 1;
Fig. 4 ein schematisches Blockschaltbild einer Anord
nung aus mehreren vier-zu-zwei-Addierzellen
gemäß einem Ausführungsbeispiel der Erfindung;
Fig. 5 ein Blockschaltbild einer der Addierzellen
gemäß Fig. 4; und
Fig. 6 ein Schaltbild eines bevorzugten Ausführungs
beispiels der Addierzelle gemäß Fig. 5.
Eine vier-zu-zwei-Addierzelle zur Erhöhung der Geschwindigkeit
bei der Durchführung einer Muliplikationsoperation wird be
schrieben. Zunächst wird eine bekannte Methode behandelt, um
die Grundlage zu zeigen, auf der die Erfindung aufbaut. In der
folgenden Beschreibung werden zahlreiche Einzelheiten, bei
spielsweise spezielle Schaltungen usw. angegeben, um das Ver
ständnis für die vorliegende Erfindung zu erleichtern. Es ist
jedoch für den Fachmamn klar, daß die Erfindung auch ohne
diese speziellen Einzelheiten realisiert werden kann. In ande
ren Fällen werden bekannte Strukturen nicht im einzelnen be
schrieben, um die Erfindung nicht mit unnötigen Details zu
belasten.
In Fig. 1 ist eine bekannte Addierschaltung 10 zum Addieren
von vier Zahlen gezeigt. Zwei Übertragssicherungsaddierer (CSA
- carry save adders) 11 und 12 sind aufeinanderfolgend ange
ordnet und liefern einen Übertrag und eine Summenausgabe.
Zweck der Schaltung 10 ist die Reduzierung der Partialprodukte
auf zwei Zahlen, welche dieselbe Summe wie die Summe der Par
tialprodukte haben. Dies bedeutet, daß der Übertragsausgang
und der Summenausgang vom CSA 12 die beiden Zahlen liefern,
welche dieselbe Summe wie die Summe der Partialprodukte W, X,
Y und Z haben.
Da die bekannten CSA-Schaltungen so ausgebildet sind, daß sie
drei Zahlen bearbeiten, werden die Zahlen W, X und Y als Ein
gänge an den CSA 11 angelegt. Der Ausgang von CSA 11 besteht
aus Übertrags- und Summenausgaben (C und S). CSA 11 reduziert
die Partialprodukte W, X und Y auf zwei Zahlen C und S, welche
die gleiche Summe wie die Summe der Partialprodukte W, X und Y
haben. Der S-Ausgang stellt die Summe der Eingänge und der
C-Ausgang den Übertrag aus der Summierung der Eingänge dar.
Die beiden Ausgänge des CSA 11 und das vierte Partialprodukt Z
werden in den CSA 12 eingegeben. Die beiden Ausgänge C und S
von CSA 12 liefern zwei Zahlen, welche die Reduktion der Par
tialprodukte von W, X Y und Z darstellen. Daher bedingt die
Verwendung der bekannten Schaltung 10 zum Addieren von vier
Partialprodukten W, X, Y und Z zwei Übertragssicherungsaddie
rer 11 und 12. In einem Übertragssicherungsaddierer werden in
typischer Ausführung zwei Exklusiv-ODER-Gatter 13 und 14 zur
Erzeugung eines S-Ausgangs verwendet.
Fig. 2 zeigt eine Architektur einer Wallace-Baum-Struktur zum
Implementieren der Reduktion von sechzehn Partialprodukten auf
zwei Zahlen, welche die gleiche Summe wie die Summe der sech
zehn Partialprodukte haben. Fünfzehn Zahlen N 2-N 16 werden
jeweils zu Gruppen von drei eingegeben in jeden der fünf CSA′s
15, die in einer Stufe 6 gezeigt sind. Stufe 5 besteht aus
drei CSA′s 15, welche die C- und S-Ausgaben von den CSA′s 15
der Stufe 6 erhalten. Wegen der geraden Zahl von C- und S-Aus
gängen in der Stufe 6 ist einer der C- und S-Ausgänge von CSA
16 der Stufe 6 (in diesem Falle der S-Ausgang) mit dem CSA 17
der Stufe 3 gekoppelt. Die sechs Ausgänge von den CSA′s der
Stufe 5 sind mit zwei CSA′s 15 der Stufe 4 gekoppelt. Stufe 3
besteht aus zwei CSA′s 15, wobei drei der Ausgänge der Stufe 4
mit CSA 18 gekoppelt und der verbleibende Ausgang mit CSA 17
verbunden ist. Wie oben gesagt, ist einer der Ausgänge vom CSA
16 mit CSA 17 gekoppelt.
Ebenfalls an CSA 17 ist als ein Eingangssignal das letzte
Partialprodukt N 1 angelegt, das den dritten Eingang zum CSA
17 bildet. Stufe 2 besteht aus einem einzigen CSA 15, wobei
drei Ausgänge von der Stufe 3 als Eingänge zum CSA 15 der
Stufe 2 gekoppelt sind. Der vierte Ausgang der Stufe 3 (ge
zeigt als Ausgang S von CSA 17) liegt zusammen mit den beiden
Ausgängen vom CSA 15 der Stufe 2 als Eingangssignal an dem CSA
15 der Stufe 1. Die S- und C-Ausgänge vom CSA 15 der Stufe 1
liefern schließlich die beiden Zahlen, welche die gleiche
Summe wie die Summe aller 16 Partialprodukte haben. Diese
beiden Zahlen werden als Eingänge an einen Übertragsausbrei
tungsaddierer 19 angelegt, der im dritten Additionsschritt die
beiden aus der Reduktion der Partialprodukte abgeleiteten
Zahlen addiert.
Bei der Reduktion von sechzehn Zahlen während des zweiten
Schritts des Multiplikationszyklus sind vierzehn Übertragssi
cherungsaddierer 15 notwendig, die in drei Niveaus oder Stufen
organisiert sind. Zu beachten ist auch, daß jedes der Partial
produkte N 1-N 16 durch m-Zahlen von Bits dargestellt werden
kann. Die Bitzahl in jedem Partialprodukt bestimmt die Zahl
von Addierzellen, die zur Bildung von CSA 15 parallel zu
schalten sind. Ein Nachteil der in Fig. 2 dargestellten Anord
nung besteht darin, daß wegen der fehlenden Gleichmäßigkeit
der Verbindungen zwischen den Übertragssicherungsaddierern
(CAD′s) 15 das Layout in einer integrierten Schaltung schwer
zu verwirklichen ist.
Eine Abwandlung des Wallace-Baums ist in Fig. 3 gezeigt. Die
Struktur gemäß Fig. 3 hat gleichmäßigere Verbindungen zwischen
den Addierern und ist daher einem Layout auf einer integrier
ter Schaltung besser zugänglich. Im Stande der Technik beste
hen die vier-zu-zwei-Addierer 21 gemäß Fig. 3 aus zwei Über
tragssicherungsaddierern 11 und 12 gemäß Fig. 1.
In Fig. 3 ist eine bekannte Addiereranordnung 20 als Block
schaltbild gezeigt. Die gleichen sechzehn Partialprodukte, die
als Eingang der Schaltung gemäß Fig. 2 zugeführt werden, wer
den auch der Schaltung gemäß Fig. 3 eingegeben und sind als
N 1-N 16 gezeigt. Die sechzehn Zahlen werden als Eingaben an
vier Addierern vorgesehen, die in Stufe 3 der Anordnung 20
angeordnet sind. Vier unterschiedliche Eingänge sind an jedem
Addierer 21 der Stufe 3 vorgesehen. Jeder Addierer liefert
zwei Zahlen (ebenfalls mit C und S bezeichnet), welche die
gleiche Summe wie die Summe der vier eingegebenen Partialpro
dukte haben. Die acht Ausgänge aus der Stufe oder dem Niveau 3
werden an zwei Addierer 21 der Stufe 2 angelegt, und die vier
Ausgänge aus den beiden Addierern 21 der Stufe 2 sind mit den
Eingängen des Einzeladdierers 21 der Stufe 1 gekoppelt.
Die C- und S-Ausgänge vom Addierer 23 der Stufe 1 bilden die
beiden Zahlen, welche die gleiche Summe wie die Summe aller
Partialprodukte N 1 ... N 16 haben. Diese beiden Ausgangs
signale des Addierers 23 werden an den Übertragsausbreitungs
addierer 24 angelegt, der den notwendigen dritten Schritt zur
Erzeugung der Endsumme bewirkt, die das Produkt ist. Zu beach
ten ist, daß die Erzeugung der Partialprodukte sowie die Ver
wendung von Übertragsausbreitungsaddierern gemäß den Schritten
1 und 3 der Multiplikationsschrittfolge aus dem Stande der
Technik bekannt sind.
Die Erfindung entstand aus dem Bedarf nach einer rascheren
Methode zur Durchführung der Multiplikation in einem Prozes
sor. Die Erfindung wendet die bekannte Methode der Durchfüh
rung einer Multiplikationsoperation mit den oben beschriebenen
drei Schritten an. Wie oben gesagt, besteht der erste Schritt
darin, alle Partialprodukte im wesentlichen gleichzeitig zu
erzeugen. Der zweite Schritt dient der Reduktion aller Par
tialprodukte auf zwei Zahlen, welche die gleiche Summe wie die
Summe der Partialprodukte haben. Schließlich wird im dritten
Schritt ein Übertragsausbreitungsaddierer (carry propagating
adder) zum Addieren der beiden aus dem zweiten Schritt gewon
nenen Zahlen für die Gewinnung des Endprodukts verwendet. Die
Erfindung ist auf eine schnellere Technik zur Durchführung des
Schritts 2 der Multiplikationsfolge gerichtet, d.h. die Reduk
tion der Partialprodukte auf zwei Zahlen, welche die gleiche
Summe wie die Summe der Partialprodukte haben.
Die Erfindung verwendet die Wallace-Baum-Variante, wie sie
beispielsweise in der Anordnung 20 gemäß Fig. 3 dargestellt
ist. Die Erfindung erreicht eine höhere Geschwindigkeit durch
Verwendung eines schnelleren vier-zu-zwei-Addierers als die
dualen drei-zu-zwei-Übertragssicherungsaddierer gemäß Fig. 1.
Selbst wenn es auf den ersten Blick einfach erscheinen sollte,
die Schaltung gemäß Fig. 1 durch Kombination von CSA 11 und
CSA 12 der Fig. 1 zu einem Einzeladdierer abzuwandeln, ist es
keineswegs naheliegend, diese Kombination so vorzunehmen, daß
die Geschwindigkeit erhöht wird. Die vier-zu-zwei-Addierer der
Erfindung enthalten Schaltungskomponenten zur Erhöhung der
Geschwindigkeit bei der Reduzierung der vier Eingangszahlen
auf C- und S-Ausgänge.
Im folgenden wird auf Fig. 4 Bezug genommen, in der eine ver
größerte Ansicht eines der erfindungsgemäß ausgebildeten vier-
zu-zwei Addierer gezeigt ist.
Die Anzahl der Zellen im vier-zu-zwei Addierer richtet sich
nach der Anzahl von Bits in den zu addierenden vier Zahlen. In
Fig. 4 werden vier 32-Bit-Zahlen addiert, so daß 32 Addierzel
len 27 erforderlich sind. Diese Addierzellen 27 sind zeilen
weise angeordnet, um eine Parallelverarbeitung jedes der 32
Bits jeder Gruppe von vier Zahlen, z.B. N 13-N 16 zu schaf
fen. Jedes Bit der vier Zahlen wird in entsprechende Addier
zellen 27 eingegeben. Ebenfalls eingegeben in jede der Addier
zellen 27 werden drei der vier Eingangsbits aus der vorherge
henden Addierzelle. Die am niedrigsten bewertete Addierzelle
hat drei Nullen als Eingänge von der vorhergehenden Zelle. Es
ist klar, daß die Anzahl der Addierzellen 27 von der Anzahl
der den Zahlen zugeordneten Bits abhängig ist. Außerdem wird
die gleiche Anordnung von Addierzellen 27 für jeden der ande
ren Addierer 21 der Anordnung gemäß Fig. 3 verwendet.
Es ist verständlich, daß der erfindungsgemäße vier-zu-zwei-
Addierer mehr ist als der mit einem zusätzlichen Eingang ver
sehene bekannte Addierer 15, obwohl auch der erfindungsgemäße
Addierer ein Ausgangssignal erzeugt, das zwei Zahlen dar
stellt, deren Summe gleich der Summe der Partialprodukte ist.
Die Addierzellen 27 haben eine andere Anordnung zum Zwecke der
Erhöhung der Verarbeitungsgeschwindigkeit.
In Fig. 5, auf die im folgenden Bezug genommen wird, ist ein
Blockschaltbild eines Ausführungsbeispiels einer Addierzelle
27 gemäß Fig. 4 gezeigt. Bits von vier Zahlen der aktuellen
Bitstufe sind mit W i , W i , X i und Z i bezeichnet und
werden in eine 4-Bit-Paritätsschaltung 31 eingegeben. Die drei
Bits aus der vorhergehenden Stufe, bezeichnet als W i -1′,
X i -1, Y i -1, werden als Eingänge an eine Übertragsgenera
torschaltung 32 angelegt. Der Übertragsgenerator 32 addiert
seine drei Eingänge und gibt ein Signal C′/ aus, das das Kom
plement des Ausgabeübertrags der Addition der drei Eingangs
signale in den Übertragsgenerator 32 darstellt (/ wird im
folgenden laufend zur Bezeichnung eines Komplementärwerts
verwendet). Die Gleichung zur Bestimmung von C′ lautet:
C′ = (W i - 1 · X i - 1) + (W i - 1 · Y i - 1) + (X i - 1 · Y i - 1) (Gleichung 1)
Die Paritätsschaltung 31 erzeugt ein Ausgangssignal P als
Ergebnis einer Exklusiv-ODER-Verknüpfung der vier Eingangssig
nale. Die Gleichung zur Bestimmung von P lautet:
P = W i ⊕ X i ⊕ Y i ⊕ Z i (Gleichung 2)
Das C′/-Signal wird an einen Eingang eines Multiplexers (MUX)
35 und außerdem über einen Inverter 36 an den anderen Eingang
von MUX 35 angelegt. Der Ausgang des Inverters 36 wird auch an
einen ersten Eingang eines MUX 33 angelegt. MUX 35 wählt daher
zwischen C′ und dessen Komplementärwert C′/ aus, während MUX
33 unter Z i und C′ auswählt. Das Steuersignal zur Bestimmung
des aus beiden MUX′s 33 und 35 auszuwählenden Ausgangssignals
wird durch das Signal P bestimmt, das von der Paritätsschal
tung 31 ausgegeben wird. Das Ausgangssignal von MUX 35 liefert
das Summensignal SUM i bzw. S, während das Ausgangssignal von
MUX 33 das Übertrags i+1(C)-Signal liefert. Die Gleichung zur
Bestimmung des sum i bzw. Übertrag i +1-Signals lautet:
sum i = C′ ⊕ P
= (C′ · P/) + (C′/ · P) (Gleichung 3)
Übertrag i + 1 = (Zi · P/) + (C′ · P) (Gleichung 4)
= (C′ · P/) + (C′/ · P) (Gleichung 3)
Übertrag i + 1 = (Zi · P/) + (C′ · P) (Gleichung 4)
Die Wahrheitstabelle zur Bestimmung der Ausgänge S und C aus
der Addierzelle 27 ist äquivalent den Ausgängen S und C, Summe
und Übertrag, aus CSA 12 des zweistufigen Übertragssicherungs
addierers 10 in Fig. 1. Daher sind die Endausgänge aus der
Addierzelle 27 äquivalent den Ausgängen der bekannten Schal
tung 10 in Fig. 1. Zu beachten ist, daß das eine Eingangssig
nal, das nicht an die nachfolgende Stufe angelegt wird, in
diesem Falle Z, als Eingangssignal für den MUX 33 verwendet
werden muß.
In Fig. 6, auf die nachfolgend Bezug genommen wird, ist ein
Schaltbild eines bevorzugten Ausführungsbeispiels der erfin
dungsgemäßen Addierzelle 27 gezeigt. Z i ist mit MUX 33 ge
koppelt, wie in Fig. 5 gezeigt ist. Die 4-Bit-Paritätsschal
tung 31 besteht aus drei Exklusiv-ODER-Gattern 41, 42 und 43.
W i und X i -Eingangssignale sind als Eingänge des Exklusiv-
ODER-Gatters 42 vorgesehen. Die Ausgänge der Exklusiv-ODER-
Gatter 41 und 42 bilden die Eingänge eines dritten Exklusiv-
ODER-Gatters 43, dessen Ausgang das Signal P liefert.
Zu beachten ist, daß die Exklusiv-ODER-Gatter, anders als die
beiden Exklusiv-ODER-Gatter der bekannten Übertragssicherungs
addierer gemäß Fig. 1, parallel arbeiten können. Die 3-Bit-Pa
ritätsschaltung, die zur Ableitung des Summenausgangs einen
konventionellen Übertragssicherungsaddierers, wie CSA 11 gemäß
Fig. 1, verwendet wird, und die 4-Bit-Paritätsschaltung gemäß
der Erfindung verwenden beide Exklusiv-ODER-Gatter-Verzögerung
für die Auswertung.
Danach wird P/ mittels eines Inverters 44 abgeleitet. Eine
repräsentative Schaltung zur Bildung der Exklusiv-ODER-Gatter
41, 42 und 43 ist in dem vergrößerten Schaltbild im Kreis 45
(Fig. 6) gezeigt. Es ist zu erkennen, daß Fig. 6 eine komple
mentäre Metalloxidhalbleiter (CMOS) Schaltungsimplementierung
der Fig. 5 zeigt.
Der Übertragsgenerator 32 wird durch fünf p-Typ- und fünf
n-Typ-Bauelemente implementiert, die gemäß Darstellung in Fig.
6 zur Erzeugung des Signals C′/ geschaltet sind. Diese Schal
tung des Übertragsgenerators 32 ist an sich bekannt. Bei dem
bevorzugten Ausführungsbeispiel wird MUX 35 mit CMOS-Schaltun
gen 46, 47 und Inverter 37 implementiert, während MUX 33 durch
CMOS-Schaltungen 48, 49 und Inverter 38 implementiert ist.
Eine weitere Schaltungsdarstellung jeder der Schaltungen 46
bis 49 ist vergrößert in dem Kreis 50 in Fig. 6 dargestellt.
Jede der Schaltungen 46 bis 49 besteht aus zwei p-Typ-Bauele
menten und zwei n-Typ-Bauelementen, die als Stapel mit den
zusammengeschalteten Gate-Elektroden der äußersten n- und
p-Typ-Bauelemente angeordnet sind. Die restlichen Gates werden
in der in Fig. 6 gezeigten Weise entweder vom P- oder P/-Sig
nal angesteuert. Bei der Schaltung 46 liegt P an der Gate-
Elektrode des n-leitenden Bauelements, während P/ an der
Gate-Elektrode des p-leitenden Bauelements liegt. Bei Schal
tung 47 ist P mit dem Gate des p-Typ-Bauelements und P/ mit
dem Gate des n-Typ-Bauelements gekoppelt. Bei der Schaltung 48
ist P mit dem Gate des n-Typ-Bauelements und P/ mit dem Gate
des p-Typ-Bauelements gekoppelt. Bei Schaltung 49 ist P mit
dem Gate des p-Typ-Bauelements gekoppelt, während P/ an dem
Gate des n-Typ-Bauelements anliegt. Die Schaltungen gemäß
Fig. 5 und 6 liefern die endgültigen Ausgangssignale SUM i
und Übertrag i +1, die entsprechend Gleichungen 3 und 4 be
stimmt sind.
Durch Verwendung der 4-Bit-Paritätsschaltung 31 zur Steuerung
der beiden Multiplexer 33 und 35 unter Erzeugung von S und C
für eine vier-zu-zwei-Umsetzung wird die Geschwindigkeit im
Vergleich zu der in Fig. 1 gezeigten bekannten Schaltung er
höht. So wird beispielsweise bei der bekannten Schaltung gemäß
Fig. 1 die endgültige Summe unter Verwendung von zwei Über
tragssicherungsaddierern 11 und 12, die jeweils zwei Exklusiv-
ODER-Gatter 13 und 14 verwenden, oder mit insgesamt vier
Stufen von Exklusiv-ODER-Gattern erzeugt. Die Erfindung er
zeugt die gleiche Summe mit der Schaltung gemäß Fig. 6 unter
Verwendung von zwei Stufen von Exklusiv-ODER-Gattern und einem
MUX.
Der Übertragsausgang, Übertrag i+1, wird bei der Erfindung
auch rascher als der Übertragsausgang in der Schaltung gemäß
Fig. 1 berechnet. Bei der Schaltung gemäß Fig. 1 müssen zwei
Niveaus oder Stufen von Exklusiv-ODER-Verknüpfungen im CSA 11
und eine Übertragsgeneratorschaltung in CSA 12 durchlaufen
werden, bevor der Übertrag i+1-Ausgang gültig wird. Bei der
Erfindung ist der Übertrag i+1-Ausgang bereits nach zwei
Stufen von Exklusiv-ODER-Verknüpfungen in der Paritätsschal
tung 31 und die Verzögerung eines zwei-zu-eins-MUX gültig. Der
Übertrag i+1-Ausgang ist bei der Erfindung schneller zu ge
winnen als mit Hilfe der Schaltung gemäß Fig. 1, da die Verzö
gerung eines zwei-zu-eins MUX kleiner als die Verzögerung
einer Übertragsgeneratorschaltung ist.
Es ist für den Fachmann klar, daß neben den zuvor beschriebe
nen detaillierten Schaltungskonfigurationen auch andere Schal
tungen für die Realisierung der Erfindung geeignet sind. Die
beschriebenen Implementierung der Erfindung auf einem einzigen
Halbleiterbauelement und deren Verwendung als numerischen
Prozeß ist ebenfalls nicht erforderlich; vielmehr läßt sich
die Erfindung auch in anderem Zusammenhang mit entsprechenden
Vorteilen nutzen.
Claims (4)
1. Addierschaltung zum Umsetzen von vier Eingangszahlen in
zwei Ausgangszahlen, welche die gleiche Summe wie die Summe
der vier Eingangszahlen haben,
dadurch gekennzeichnet,
daß mehrere Addierzellen (27) zum Addieren eines korrespondie
renden Bits aus jeder der vier eingegebenen Zahlen parallelge
schaltet sind und daß jede der Addierzellen so ausgebildet und
angeordnet ist, daß sie vier korrespondierende Bits aus jeder
der Zahlen aufnimmt und drei der Bits an eine nachfolgende
Addierzelle in einer nächstbewerteten Bitposition überträgt.
2. Addierschaltung nach Anspruch 1, dadurch gekennzeichnet,
daß jede der Addierzellen (27) eine Übertragsgeneratorschal
tung (32), die eingangsseitig drei Bits aus einer vorhergehen
den Addierzelle aufnimmt und ein Zwischenübertragssignal (C′)
als ersten Eingang an einen ersten Multiplexer (MUX 35) und
einen Komplementärwert (C′) des Zwischenübertrags als zweiten
Eingang an den ersten MUX (35) anlegt, und eine eingangsseitig
mit den vier Bits beaufschlagte Paritätsschaltung (31) auf
weist, die ein von der Parität der vier Bits bestimmtes Steu
ersignal (P) zur Steuerung des ersten MUX (35) erzeugt, wobei
das eine der vier Bits, welches nicht zur nachfolgenden
Addierzelle übertragen wird, an einen ersten Eingang eines
zweiten MUX (33) und der Zwischenübertrag (C′) als zweites
Eingangssignal an den zweiten MUX anlegbar sind und daß das
Steuersignal (P) unter den Eingängen zum ersten MUX (35) zur
Bestimmung der ersten Ausgangszahl (S) sowie unter den Eingän
gen des zweiten MUX (33) zur Bestimmung der zweiten Ausgangs
zahl (C) auswählt.
3. Multipliziereinrichtung, bei der Mittel zur Erzeugung
aller Partialprodukte von zwei zu multiplizierenden Zahlen,
Mittel (21, 23) zum Reduzieren der Partialprodukte auf zwei
Zahlen (C, S) welche die gleiche Summe wie die Summe der Par
tialprodukte haben, und Mittel (24) zum Addieren der beiden
durch Reduktion der Partialprodukte gewonnenen Zahlen und zur
Bestimmung des Endprodukts vorgesehen sind, dadurch gekenn
zeichnet, daß zum Reduzieren der Partialprodukte auf zwei
Zahlen (C, S) eine Addierschaltung aus mehreren, in Stufen
bzw. Niveaus angeordneten Addierern (21, 23) aufgebaut ist,
wobei die auf einem obersten Niveau angeordneten Addierer so
geschaltet sind, daß sie die die Partialprodukte darstellenden
Zahlen aufnehmen und erste und zweite Ausgangssignale (C, S)
an auf einem nächstniedrigeren Niveau angeordnete Addierer
weitergeben, die Addierer auf niedrigeren Niveaus die ersten
und zweiten Ausgangssignale von den Addierern des jeweils
nächsthöheren Niveaus aufnehmen und selbst erste und zweite
Ausgangssignale an Addierer eines nächstniedrigeren Niveaus
weitergeben, bis ein letzter Addierer auf einem niedrigsten
Niveau an seinen ersten und zweiten Ausgängen diejenigen den
beiden Zahlen entsprechenden Signale entwickelt, welche die
gleiche Summe wie die Summe der Partialprodukte haben, daß
jeder Addierer (21, 25) aus mehreren parallel angeordneten
Addierzellen (27) besteht, von denen jede ein entsprechendes
Bit jeder der zu addierenden vier Zahlen aufnimmt und so aus
gebildet und angeordnet ist, daß sie drei der Bits an nachfol
gende Addierzellen der nächsten Bitposition gibt, daß jede
Zelle (27) aufweist eine Übertragsgeneratorschaltung (32), die
so angeordnet ist, daß sie drei Bits von der ihr vorgeschalte
ten Addierzelle erhält und einen Übertrag der drei Bits er
zeugt, ferner einen ersten Multiplexer (MUX 35), der zwei
Eingänge hat und an einem ersten Eingang den Übertrag und an
einem zweiten Eingang einen Komplementärwert des Übertrags
aufnimmt und ein erstes Ausgangssignal (S) erzeugt, ferner
eine Paritätsschaltung (31), die so ausgebildet und angeordnet
ist, daß sie die vier Bits aufnimmt und ein Paritätssteuersig
nal (P) als Parität der vier Eingangssignale erzeugt, und
einen zweiten MUX (33), der an einem ersten Eingang mit dem
einen (Z i ) der vier Bits, das nicht zu einer nachfolgenden
Addierzelle übertragen wird, und an einem zweiten Eingang mit
dem Übertragssignal (C′) beaufschlagt ist, daß das Paritäts
steuersignal (P) mit den ersten und zweiten Multiplexern (35,
33) zur Auswahl der Eingangssignale zum ersten MUX (35) und
zum zweiten MUX (33) gekoppelt ist, daß das Ausgangssignal (S)
des ersten MUX (35) und das Ausgangssignal (C) des zweiten MUX
(33) die ersten und zweiten Eingangssignale für die Addierer
auf dem nächstniedrigeren Niveau bilden und daß jeder Addierer
vier Eingangssignale aufnimmt und zwei Ausgangssignale er
zeugt, welche dieselbe Summe wie die Summe der vier Eingangs
signale haben.
4. Addierschaltung nach einem der Ansprüche 1 bis 3, dadurch
gekennzeichnet, daß die Schaltung unter Verwendung der Komple
mentär-Metalloxidhalbleiter-Technologie implementiert ist.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US07/248,797 US4901270A (en) | 1988-09-23 | 1988-09-23 | Four-to-two adder cell for parallel multiplication |
Publications (1)
Publication Number | Publication Date |
---|---|
DE3927009A1 true DE3927009A1 (de) | 1990-03-29 |
Family
ID=22940716
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE3927009A Withdrawn DE3927009A1 (de) | 1988-09-23 | 1989-08-16 | Addierschaltung |
Country Status (5)
Country | Link |
---|---|
US (1) | US4901270A (de) |
JP (1) | JP2976114B2 (de) |
DE (1) | DE3927009A1 (de) |
FR (1) | FR2637097A1 (de) |
GB (1) | GB2223112B (de) |
Families Citing this family (33)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB8904392D0 (en) * | 1989-02-27 | 1989-04-12 | Ibm | An arithmetic logic unit for a graphics processor |
US5327368A (en) * | 1989-06-23 | 1994-07-05 | Digital Equipment Corporation | Chunky binary multiplier and method of operation |
US5151875A (en) * | 1990-03-16 | 1992-09-29 | C-Cube Microsystems, Inc. | MOS array multiplier cell |
EP0447254A3 (en) * | 1990-03-16 | 1993-07-28 | C-Cube Microsystems | Array multiplier |
EP0452517A1 (de) * | 1990-03-20 | 1991-10-23 | Siemens Aktiengesellschaft | Zwei-Summen-Vergleicher |
EP0473102B1 (de) * | 1990-08-29 | 1995-11-22 | Honeywell Inc. | Datenübertragungssystem mit Kontrollsummerechenmittel |
US5150321A (en) * | 1990-12-24 | 1992-09-22 | Allied-Signal Inc. | Apparatus for performing serial binary multiplication |
JPH07500437A (ja) * | 1991-10-24 | 1995-01-12 | インテル コーポレイシヨン | データ処理システム |
US5361370A (en) * | 1991-10-24 | 1994-11-01 | Intel Corporation | Single-instruction multiple-data processor having dual-ported local memory architecture for simultaneous data transmission on local memory ports and global port |
JPH06242928A (ja) * | 1993-02-22 | 1994-09-02 | Nec Corp | 加算器およびこれを用いた乗算回路 |
US5504915A (en) * | 1993-08-05 | 1996-04-02 | Hyundai Electronics America | Modified Wallace-Tree adder for high-speed binary multiplier, structure and method |
US6219688B1 (en) | 1993-11-30 | 2001-04-17 | Texas Instruments Incorporated | Method, apparatus and system for sum of plural absolute differences |
US6016538A (en) * | 1993-11-30 | 2000-01-18 | Texas Instruments Incorporated | Method, apparatus and system forming the sum of data in plural equal sections of a single data word |
US5640578A (en) * | 1993-11-30 | 1997-06-17 | Texas Instruments Incorporated | Arithmetic logic unit having plural independent sections and register storing resultant indicator bit from every section |
EP0661623A1 (de) * | 1993-12-30 | 1995-07-05 | Intel Corporation | Verfahren und Gerät, die neue Operationen in einem Prozessor gebrauchen |
US5568410A (en) * | 1994-09-29 | 1996-10-22 | International Business Machines Corporation | Method and apparatus for determining the amount of leading zeros or ones in a binary data field |
FR2734675B1 (fr) * | 1995-05-24 | 1997-08-14 | Sgs Thomson Microelectronics | Circuit logique combinatoire |
US6070237A (en) * | 1996-03-04 | 2000-05-30 | Intel Corporation | Method for performing population counts on packed data types |
US6049864A (en) * | 1996-08-20 | 2000-04-11 | Intel Corporation | Method for scheduling a flag generating instruction and a subsequent instruction by executing the flag generating instruction in a microprocessor |
JP3678512B2 (ja) * | 1996-08-29 | 2005-08-03 | 富士通株式会社 | 乗算回路、該乗算回路を構成する加算回路、該乗算回路の部分積ビット圧縮方法、および、該乗算回路を適用した大規模半導体集積回路 |
US5805491A (en) * | 1997-07-11 | 1998-09-08 | International Business Machines Corporation | Fast 4-2 carry save adder using multiplexer logic |
US6029187A (en) * | 1997-10-28 | 2000-02-22 | Atmel Corporation | Fast regular multiplier architecture |
US6418529B1 (en) | 1998-03-31 | 2002-07-09 | Intel Corporation | Apparatus and method for performing intra-add operation |
US7392275B2 (en) * | 1998-03-31 | 2008-06-24 | Intel Corporation | Method and apparatus for performing efficient transformations with horizontal addition and subtraction |
US7395302B2 (en) | 1998-03-31 | 2008-07-01 | Intel Corporation | Method and apparatus for performing horizontal addition and subtraction |
JP2000056949A (ja) * | 1998-08-10 | 2000-02-25 | Mitsubishi Electric Corp | 4−2コンプレッサ回路および乗算器 |
US6567835B1 (en) * | 1999-08-17 | 2003-05-20 | Intrinsity, Inc. | Method and apparatus for a 5:2 carry-save-adder (CSA) |
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 |
US6742011B1 (en) * | 2000-02-15 | 2004-05-25 | Hewlett-Packard Development Company, L.P. | Apparatus and method for increasing performance of multipliers utilizing regular summation circuitry |
DE60031109D1 (de) * | 2000-08-01 | 2006-11-16 | St Microelectronics Sa | Übertragsicherstellungsaddierer |
KR100423903B1 (ko) * | 2000-12-29 | 2004-03-24 | 삼성전자주식회사 | 고속 저전력 4-2 압축기 |
US7934660B2 (en) | 2006-01-05 | 2011-05-03 | Hand Held Products, Inc. | Data collection system having reconfigurable data collection terminal |
US8549264B2 (en) | 2009-12-22 | 2013-10-01 | Intel Corporation | Add instructions to add three source operands |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3515344A (en) * | 1966-08-31 | 1970-06-02 | Ibm | Apparatus for accumulating the sum of a plurality of operands |
US4270167A (en) * | 1978-06-30 | 1981-05-26 | Intel Corporation | Apparatus and method for cooperative and concurrent coprocessing of digital information |
US4484259A (en) * | 1980-02-13 | 1984-11-20 | Intel Corporation | Fraction bus for use in a numeric data processor |
US4338675A (en) * | 1980-02-13 | 1982-07-06 | Intel Corporation | Numeric data processor |
JPS60147840A (ja) * | 1984-01-12 | 1985-08-03 | Nippon Telegr & Teleph Corp <Ntt> | 加算装置 |
JPS62166424A (ja) * | 1986-01-20 | 1987-07-22 | Fujitsu Ltd | ワレスのトリ−回路 |
-
1988
- 1988-09-23 US US07/248,797 patent/US4901270A/en not_active Expired - Lifetime
-
1989
- 1989-04-26 GB GB8909517A patent/GB2223112B/en not_active Expired - Fee Related
- 1989-07-18 JP JP1183832A patent/JP2976114B2/ja not_active Expired - Lifetime
- 1989-08-16 DE DE3927009A patent/DE3927009A1/de not_active Withdrawn
- 1989-09-21 FR FR8912428A patent/FR2637097A1/fr not_active Withdrawn
Also Published As
Publication number | Publication date |
---|---|
JPH02115927A (ja) | 1990-04-27 |
GB2223112B (en) | 1993-02-17 |
GB8909517D0 (en) | 1989-06-14 |
FR2637097A1 (fr) | 1990-03-30 |
GB2223112A (en) | 1990-03-28 |
US4901270A (en) | 1990-02-13 |
JP2976114B2 (ja) | 1999-11-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE3927009A1 (de) | Addierschaltung | |
DE10105945B4 (de) | Multiplizierer mit Linearsummierungsarray sowohl zur vorzeichenbehafteten als auch zur vorzeichenlosen Multiplikation | |
DE3700991C2 (de) | Digitaler Übertragsvorgriffsaddierer | |
DE69838877T2 (de) | Architektur eines schnellen regulären multiplizierers | |
DE69632978T2 (de) | Multi-Operand-Addierer, der Parallelzähler benutzt | |
DE69821408T2 (de) | Multiplikationsverfahren und -vorrichtung | |
DE3901995C2 (de) | ||
DE19758079A1 (de) | Verfahren und Vorrichtung zur Galoisfeld-Multiplikation | |
DE69731700T2 (de) | Arithmetischer Schaltkreis und arithmetisches Verfahren | |
DE2658248C2 (de) | ||
DE4101004C2 (de) | Paralleler Multiplizierer mit Sprungfeld und modifiziertem Wallac-Baum | |
DE2018452A1 (de) | Arithmetische Einrichtung | |
DE3926876C2 (de) | Schaltung und Verfahren zum Vorhersagen eines Sticky-Bit-Wertes bei der Gleitkommamultiplikation | |
DE2913327A1 (de) | Multiplizierer fuer binaerdatenwoerter | |
DE3836205C2 (de) | ||
EP0090298B1 (de) | In MOS-Technik integrierter schneller Multiplizierer | |
EP0130397B1 (de) | Digitales Rechenwerk | |
DE3909713C2 (de) | ||
DE10117041C1 (de) | Carry-Ripple Addierer | |
DE19711005C2 (de) | Baumschaltung zur Addition von Teilprodukten im Booth-Algorithmus | |
DE19644688B4 (de) | Schaltungsanordnung einer digitalen Multiplizierer-Baugruppe, zur Verarbeitung von Binärzahlen sowie Elementen aus GF(2m) | |
EP0752130B1 (de) | Multiplizierer mit geringer laufzeit | |
EP0424410B1 (de) | Multiplizierer | |
DE10130484B4 (de) | 7-zu-3 Bit Carry-Save Addierer und Addierer damit | |
DE10106085A1 (de) | Verfahren und Anordnung zur Finiten Feld Multiplikation |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8139 | Disposal/non-payment of the annual fee |