DE3927009A1 - Addierschaltung - Google Patents

Addierschaltung

Info

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
Application number
DE3927009A
Other languages
English (en)
Inventor
David Galbi
Alfred K Chan
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Intel Corp
Original Assignee
Intel Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Intel Corp filed Critical Intel Corp
Publication of DE3927009A1 publication Critical patent/DE3927009A1/de
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/52Multiplying; Dividing
    • G06F7/523Multiplying only
    • G06F7/53Multiplying only in parallel-parallel fashion, i.e. both operands being entered in parallel
    • G06F7/5318Multiplying only in parallel-parallel fashion, i.e. both operands being entered in parallel with column wise addition of partial products, e.g. using Wallace tree, Dadda counters
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/50Adding; Subtracting
    • G06F7/505Adding; Subtracting in bit-parallel fashion, i.e. having a different digit-handling circuit for each denomination
    • G06F7/509Adding; Subtracting in bit-parallel fashion, i.e. having a different digit-handling circuit for each denomination for multiple operands, e.g. digital integrators
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/60Methods 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/607Methods 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 iX iY iZ 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)
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.
DE3927009A 1988-09-23 1989-08-16 Addierschaltung Withdrawn DE3927009A1 (de)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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 ワレスのトリ−回路

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