DE2758130C2 - Binärer und dezimaler Hochgeschwindigkeitsaddierer - Google Patents

Binärer und dezimaler Hochgeschwindigkeitsaddierer

Info

Publication number
DE2758130C2
DE2758130C2 DE2758130A DE2758130A DE2758130C2 DE 2758130 C2 DE2758130 C2 DE 2758130C2 DE 2758130 A DE2758130 A DE 2758130A DE 2758130 A DE2758130 A DE 2758130A DE 2758130 C2 DE2758130 C2 DE 2758130C2
Authority
DE
Germany
Prior art keywords
adder
carry
decimal
signal
partial
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired
Application number
DE2758130A
Other languages
English (en)
Other versions
DE2758130A1 (de
Inventor
Toshio Dipl.-Ing. Kawasaki Hayashi
Shigemi Dipl.-Ing. Kamimoto
Kazuyuki Dipl.-Ing. Machida Shimizu
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Publication of DE2758130A1 publication Critical patent/DE2758130A1/de
Application granted granted Critical
Publication of DE2758130C2 publication Critical patent/DE2758130C2/de
Expired 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/491Computations with decimal numbers radix 12 or 20.
    • G06F7/492Computations with decimal numbers radix 12 or 20. using a binary weighted representation within each denomination
    • G06F7/493Computations with decimal numbers radix 12 or 20. using a binary weighted representation within each denomination the representation being the natural binary coded representation, i.e. 8421-code
    • G06F7/494Adding; Subtracting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/50Adding; Subtracting
    • G06F7/505Adding; Subtracting in bit-parallel fashion, i.e. having a different digit-handling circuit for each denomination
    • G06F7/506Adding; Subtracting in bit-parallel fashion, i.e. having a different digit-handling circuit for each denomination with simultaneous carry generation for, or propagation over, two or more stages
    • G06F7/508Adding; Subtracting in bit-parallel fashion, i.e. having a different digit-handling circuit for each denomination with simultaneous carry generation for, or propagation over, two or more stages using carry look-ahead circuits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/492Indexing scheme relating to groups G06F7/492 - G06F7/496
    • G06F2207/4924Digit-parallel adding or subtracting

Description

Die Erfindung betrifft einen binären und dezimalen Hochgeschwindigkeitsaddierer nach dem OberbegrifTdes Patentanspruchs.
Solche Addierer für die Addition von binärkodierten Dezimalzahlen und binären Zahlen sind bekannt (US-PS 37 11 693 und 39 58 112). Dabei ist ein Umsetzgate erforderlich, um »6« zu einem der Operanden während des Dezimaladdiervorgangs zu addieren.
Bekannt ist auch ein dezimaler Hochgeschwindigkeitsaddierer mit einer Breite von 4-Byte (acht Ziffern) und mit sechs logischen Stufen (IEEE Transactions on Computer, Vol. C-20, No. 8, August 1971). Dieser bekannte Addierer hat einen sehr komplexen Aufbau.
Der Erfindung liegt die Aufgabe zugrunde, einen binären und dezimalen Hochgeschwindigkeitsaddierer nach dem OberbegrifTdes Patentanspruchs zu schaffen, der aufgrund einer kleinen Zahl logischer Stufen mit hoher Geschwindigkeit arbeiten kann. Gelöst wird diese Aufgabe durch die Merkmale des Kennzeichens des Patentso anspruchs.
Die Erfindung wird beispielhaft anhand der Zeichnung beschrieben.
Fig. 1 ist ein Blockschaltbild eines Beispiels eines konventionellen dezimalen Addierers, welcher einen Übertragvorausschaukreis benutzt, auf dem die Erfindung beruht.
Fig. 2 ist ein Blockschaltbild des Addierers nach Fig. 1 in seiner Gesamtheit.
Fig. 3 ist ein Blockschaltbild eines weiteren Beispiels eines konventionellen dezimalen Addierers, der eine Addition in zwei Maschinenzyklen ausfuhrt.
Fig. 4 ist eine Darstellung der Inhalte der Register beim Betrieb im dezimalen Addierer in Fig. 3.
Fig. 5 ist ein Blockschaltbild eines weiteren Beispiels eines konventionellen dezimalen Addierers, der eine Addition in einem Maschinenzyklus ausfuhrt.
Fig. 6 ist eine Darstellung der Inhalte des Addierers in Fig. 5.
F ig. 7 ist ein Blockschaltbild einer Ausführungsform eines Partialaddierers, der bei der Erfindung verwendet wird.
F i g. 8 ist ein Blockschaltbild einer Ausfuhrungsform eines Halbaddierers, der bei der Ausfiihrungsform nach Fig. 7 benutzt wird.
Fig. 9 ist eine Darstellung einer Ausführungsform eines Übertragvorausschau-Eingangssignal-ücncratorkreisteils, der bei der Ausführungsform nach Fig. 7 benutzt wird.
F i g. 10 ist eine Darstellung einer Ausfiihrungsform eines Zwischenaddiererteils, welcher in der Ausluhrungsform nach Fig. 7 benutzt wird.
Fig. 11 ist eine Darstellung eines Volladdiererteils, der in der Ausführungsform nach Fig. 7 verwendet wird.
Fig. 12a und 12b sind Darstellungen einer Ausführungsform eines Übertragvorausschaukreises, der bei der Erfindung verwendet wird.
F i g. 13 ist ein Schaltbild einer Ausführungsform des Teiles, der in F i g. 11 durch gebrochene Linien umrandet ist.
Wenn bei einem binären Addierer die Datenlänge groß ist, beispielsweise 4 oder 8 Bytes, so ist der Addierer so ausgebildet, daß er aus Partialaddierern, die jeweils eine Breite von 4 oder 8 Bits haben, zusammengesetzt ist, insbesondere für eine Hochgeschwindigkeitsoperation. In diesem Fall erzeugt jeder Partialaddierer vom Teil seines Eingangs einen Gruppenerzeugungstenn GG bzw. einen Gruppenausbreitungsterm GP. Der Term GG ist ein Signal, welches nur von den Eingangsdaten abhängt, die vom Partialaddierer behandelt werden, und anzeigt, daß ein Übertragseingang zum Partialaddierer der unmittelbar höheren Ordnung zugeführt werden muß. Der Term GP ist ein Signal, welches nur dann anzeigt, daß der Übertragseingang zum Partialaddierer der höheren Ordnung zugeführt wurde, wenn ein Übertragseingang von einem Partialaddierer der tieferen Ordnung zu diesem Partialaddierer zugeführt wurde. Angenommen, der Partialaddierer hat vier Bit, so daß seine einen Eingangsdaten α,, ο, +1, a, + 2 und a, + 3 sind, und so daß die anderen Eingangsdaten A1, A1 + ,, A1 + 2 und A1 + 3 sind, so sind der Erzeugungsterm und der Ausbreitungsterm g, und p, für jedes Bit wie folgt definiert:
\ g, = arb, (1)
, P, = α, + b, (2)
oder
;. A, = a, V A1 = a,-b~+äi· A1 (3)
■ Wenn die Terme GG und GP dieses Partialaddierer durch GG, bzw. GP, repräsentiert werden, so werden sie :. durch die folgenden Gleichungen gegeben, in denen / = An (n = 0, 1, 2, 3) ist:
■ GG1 = g, + P,-.· g, + 1 + p, -pi + 1 · gi + 2 + Pi ■ P,+ 1 · P1 + 2 · g, +3 (4)
ίί
f- GG, = g, + A1 -g1 + 1 +A1 · A1 + , -g1 + 2 + A1 · A1 + , · A1 + 2 -g1 + 3 (4')
I- GP, = ρ, -p,+ i · pi + 2 -Pi + 3 (5)
I GP, = A1 · A1+, · A, + 2 -A1 + 3 (6)
f- Wenn jeder Partialaddierer solche Terme GG und GZ'erzeugt, so ist es notwendig, einen Kreis vorzusehen, der
P die Terme von allen Partialaddierern empfängt, um für jeden von ihnen den Übertragungseingang zu bestim-
i men. Dieser Kreis kann als ein unabhängiger Teil ausgebildet sein und als ein externer Übertragskreis bezeich-
I net werden, jedoch ist es auch möglich, die für die Partialaddierer benötigten Teile an den erforderlichen Positio-
|; nen vorzusehen. Im letzteren Fall jedoch werden die Terme GG und GZ5VOn den Partialaddierern dergeringeren
\i Ordnung zu vielen Partialaddierern der höheren Ordnung verteilt, so daß eine komplizierte Verdrahtung benö-
j i tigt wird. In jedem Falle führt der Gesamtkreis für die Erzeugung der Terme GG und GZ*und für die Bestimmung
β des Übertragseingangs für jeden Partialaddierer die Übertragvorausschaufunktion aus.
V Entsprechend dem jeweils vorausgesagten Übertragseingang erzeugt jeder Partialaddierer eine korrekte
i Summe für den jeweils zugeordneten Teil. Fig. 1 ist ein Beispiel für einen derartigen Partialaddierer und einem
L Übertragvorausschaukreis. Im Beispiel der Fig. 1 besitzt der Partialaddierer eine Breite von 4 Bit, jedoch kann
\' die Breite auch größer oder kleiner sein. Auch kann der Addierer selbst für A- oder 8-Byte ausgelegt werden,
I wenn die Zahl der Partialaddierer erhöht wird, um nur den Übertragvorausschauteil zu vergrößern. Im Beispie)
ί der F ig. 1 sind die_Übertragseingänge Ch, CI1 und CIn für die entsprechenden Partialaddierer gleich den Über-
ij tragsausgängen CO4, COg und COi2 von dort, und sie werden durch die folgenden Gleichungen gegeben:
C/|i = COi2 = GGn + GPnÜbertrag ein (7)
Cf7 = CO8 = C-C-8 + GPg ■ GGn + GPg ■ GPnÜbertrag ein (8)
Ch = CO4 = C-C-4 + C-A ■ GG1 + GP4 ■ GP5 ■ GGn + GP4 · GPg ■ GPn · Übertrag ein (9)
Übertrag aus = C-C0 + GZO ' GG4 + GP0 ■ GP4GG8 + GP0 · GGn + GP0 ■ GP4 · GPg ■ GPn · Übertrag ein
Der Addierer nach Fig. 1 ist so ausgebildet, wie er in seine: Gesamtheit in Fig. 2 dargestellt ist. Die'obigen Ausführungen machen klar, daß die unabhängige Anordnung der Übertragvorausschaukreises für die dezimale Addition unwirtschaftlich ist.
Wie oben beschrieben wurde, erfordert die dezimale Addition, die binäre Addierer benutzt, drei Maschinenzyklen, und um diese zu zwei Maschinenzyklen zu reduzieren, wird ein Übertragvorausschaukreis für die dezimale Addition benötigt. Wenn der Übertragvorausschaukreis für die dezimale Addition unabhängig vorgesehen ist, ist es nötig, Kreise zur Erzeugung der Terme GG und GZ1IUr die dezimale Addition für ieden Partialaddierer
und den in Fig. 5 gezeigten Übertragvorausschaukreis vorzusehen. Für die Übertragvorausschauoperation für die dezimale Addition ist es unerläßlich, daß jeder Partialaddierer die Funktionen zur Erzeugung der Terme GG und GPfür die dezimale Addition besitzt, jedoch ist es besser, wenn der Teil, der dem in Fig. 5 abgebildeten Übertragvorausschauteil entspricht, effektiv für die dezimale Addition benutzt wird.
Dafür wird ein neuer Algorithmus für eine dezimale Addition beschrieben. F i g. 3 zeigt die Struktur dafür, und die Prozedur wird nachfolgend erklärt. Ein Beispiel des Inhalts eines jeden Registers zur Zeit der Vollendung des Prozesses (IC) bis (3C) ist wie folgt:
(IC): Die GattergAm und gBIN werden geöffnet, um einen ersten Summanden und einen zweiten Summanden in die Register AR bzw. BR einzugeben (der erste Prozeß endet).
(2C): Die Gatter gAA und gBA werden geöffnet, um die Inhalte der Register AR und BR für eine Addition in die binären Addierer einzugeben. Zu dieser Zeit wird ein Dezimalmodus-Signal aktiviert, um die Übertragausbreitung für jede Ziffernstelle zu einem dezimalen Übertrag zu machen. Auf der Grundlage einer jeden Ziffernstelle wird die Addition, nachdem der Übertragseingang dort erhalten wurde, in der hexadezimalen Schreibweise ausgeführt. Dies bedeutet, daß es ausreicht, nur die Terme CGo D's GGn und GP0 bis GP12 in der dezimalen Schreibweise zu erhalten. Mit anderen Worten, der Term GC, i.< »1«, wenn die Summe der Addition seiner at bis ai + 3 und 6, bis bt + 3 »10« oder mehr ist; und der Term GP, ist »1«, wenn die Summe der Addition der a, bis α, + 3 und b, bis ft, + 3 »9« oder mehr ist. Zu dieser Zeit wird der Übertragsausgang für jede Ziffernstelle in das Register DCR eingegeben. Die Summe wird über das Gatter gAS in das Register AR gegeben (der zweite Prozeß endet).
(3C): Die Gatterg0 bis g3 werden selektiv geöffnet, entsprechend den Ziffernpositionen des Registers DCR, in denen die Bits »1« sind, d. h. entsprechend den Ziffernpositionen, wo die dezimalen Übertragsausgänge bei der Addition des Prozesses (2C) vorgesehen waren. Das GattergAA wird geöffnet, um das Additiqnsergebnis im Prozeß (2C) für die binäre Addition einzugeben. Zu dieser Zeit wird ein Blockziffern-Übertragssignal erregt, um eine Addition in jeder Ziffernstelle auszuführen, wobei die Übertragsausbreitung unterbunden wird. Dies ergibt ein korrektes Ergebnis der dezimalen Addition, und der Ausgang vom binären Addierer wird über das Gatter gAS in das Register AR eingegeben oder direkt zu einem anderen funktionalen Teil übertragen (der dritte Prozeß endet).
Nun wird das Verfahren der Bildung des dezimalen Übertrags im Prozeß (2C) genauer diskutiert. Die Dezimalzahl, die nun betrachtet wird, ist eine binär codierte Dezimalzahl, und 4 Bits der binären Schreibweise bilden eine Ziffer der Dezimalzahl. Dementsprechend ist die Größe (Datenbreite) eines jeden der Partialaddierer, die den binären Addierer bilden, so, daß eine Größe von 4 Bits die fundamentale Größe ist, und es ist klar, daß sein erweiterter Typ ein ganzzahliges Vielfaches von 4 Bits ist. Deshalb sei angenommen, daß der Addierer nach F i g. 3 aus solchen 4-Bit-Partialaddierern zusammengesetzt ist, wie sie in F i g. 1 abgebildet sind. Die Terme GG und GPim binären 4-Bit-Partialaddierer werden durch die Gleichungen (4) bzw. (5) ausgedrückt. G1 ist in diesem Falle »1«, wenn die Additionssumme von α, bis σ, + 3 mit ft, bis ft, + 3»16« oder mehr ist, während (?/>,»!« ist, wenn die obengenannte Summe »15« oder mehr ist. GP1 wird nur dann zu »1«, wenn die Summe »15« ist. Wenn jeder Übertrag von den Gleichungen (7) bis (10) erhalten wird, erreicht man jedoch das gleiche Ergebnis, unabhängig davon, ob GP, oder GPt benutzt wird. Die Terme GG und GP, die für den obengenannten Prozeß (2C) von jedem Partialaddierer erzeugt werden müssen, dienen für die dezimale Addition, und deshalb werden sie als DGG und DGP bezeichnet, zur Unterscheidung von den obengenannten Termen GG und GP. Da es notwendig ist, daß »1« ist, wenn die Additionssumme von a, bis ai + 3 mit i, bis 6, +3 »10« oder mehr ist, folgt:
DGG, = g, + p,■-(pl + i +P1 + 2 +g, + i) + i,+ \ ■ (Pi + 2 +gi + i)+Pi+\ -& + 2 -ft + 3
DGG', = g, + A1 · A1+ , + A1 · g,+ , + A,, · g, + A,,- hl + 2 + h, · gi + 3 + g, + 1 · A/ + 2
+2 +g,+ , -g1 + 2 +£/+i -ft + 3 + K + 1 -g1 + 2 ·& + 3
In der Gleichung (12) existieren der dritte und vierte Term nicht bei einem ÄCD-Eingang, so daß sie weggelassen werden können, damit erhält man die folgende Gleichung
DGG,- = g, + h,- (Tz1+1 +A1 + 2+g/ + 3J+g, + 1 · (A1 + 2+g, + 2 + g, + 3) +A1+, -g1 + 2 ■ gi + 3 ('2')
Außerdem ist es notwendig, daß DGP1 »1« wird, wenn die Additionssumme von β,- bis α, + 3 mit ft, bis ft, + 3 »9« oder mehr ist. Der Term, der mehr als »9« ist, muß nicht immer eingeschlossen werden, so daß DGP1 entsprechend der folgenden Gleichung erhalten wird:
DGP, = (p, + gi+ ι + p, + , · gi + 1) - Pi + 3 (13)
oder
DGPi fA,+g,+ I+ A1+ ,-g, + 2) ■ A1 + 3 (14)
Die Terme GG und GP, die durch die Gleichungen (10)bzw. (14) gegebensind, müssen nur beimDezimalmodus der Operation erzeugt werden, und es ist notwendig, die Werte der Gleichungen (4) bis (6) in Moden vorzuse-
hen, die anders als der Dezimalmodus der Operation sind. Da die Terme GG und GPder Gleichung (4) bis (6) fur die binare Operation dienen, werden sie als BGG bzw. BGPbezeichnet. Die Terme GG und GP, die von jedem Partialaddierer ausgegeben werden müssen, werden durch die folgenden Gleichungen gegeben:
GG1 = BGG1 (Dezimalmodus) + DGG1 (Dezimalmodus) (15)
GP1 = BGP1 (Dezimalmodus) + DGP1 (Dezimalmodus) (16)
Da alle Terme von BGG, und DGP, beim Dezimalmodus der Operation eingeschlossen werden können, können sie durch die folgenden Gleichungen gegeben werden:
GG, = BGG, + DGG, ■ (Dezimalmodus) (15')
GP, = BGP, + DGP1 · (Dezimalmodus) 06')
Bei einer Beschreibung im Zusammenhang mit dem Fall, das die Terme GG und GPdurch die Terme g bzw. h repräsentiert werden, werden die Gleichungen (15") und (160 wie folgt:
GG, = g, + h,: · g, + ι + h, ■ A,+ , · g, + 2 + A, · A1 +, A1 + 2 ' ft + 3
+ {Α/Λ,+ Ι +h, + 2+gi + 3)+gl+\ ■ h, + 2 + g/ + \ (g, + 2 + gi + l) + hi+] -gi + 2-gi + i)) UO
(Dezimalmodus)
GP1 = A, · A, + ι ■ A, + 2 · Λ, + 3 + (h, + g, + ] + h, + x ■ g, + 2) ■ h, + 1(Dezimalmodus) (18)
Wie aus der obigen Beschreibung ersichtlich ist, kann die dezimale Addition in zwei Maschinenzyklen erreicht werden, wenn für die dezimale Addition im Prozeß (2C) die folgende zusätzliche Hardware vorgesehen wird: Gatter (grob abgeschätzt 10 UND-Gatter pro Ziffernstelle) zur Erzeugung der Terme für den Dezimalmodus in den Gleichungen (17) und (18), eine Vorrichtung zur Speicherung des Übertrags von einer jeden Ziffernsteile (beispielsweise selbsthaltende Schalter in gleicher Zahl wie die Ziffernstellen), eine Vorrichtung zur selektiven Eingabe der Zahl »6(0110)« für jede Ziffernstelle und eine Vorrichtung zur Unterbindung der Übertragausbreitung zwischen den Ziffernstellen im Prozeß (3C).
Nun erfolgt eine Diskussion in Hinblick auf ein Verfahren zur Durchführung einer dezimalen Addition in einem Maschinenzyklus, genauer gesagt wird ein Verfahren für eine dezimale Addition diskutiert, bei der der Hauptaddiererteil nur einmal benutzt wird. Das grundsätzliche System ist so und wie in Fig. 5 dargestellt.
Falls eine Addition von Binärzahlen durch die Verwendung des Addierers nach Fig. 5 erreicht wird, werden die Gatter gAlN und gBlN geöffnet, um einen ersten Summanden und einen zweiten Summanden in die Register AR bzw. BR zu geben, und die Gatter gAA und gBA werden geöffnet, um die Inhalte der Register AR und BR für eine Addition in die binären Addierer einzugeben. Der Ausgang des Addierers wird von dort über die Gatter gBSbis gBSi abgeleitet, um die Summen SiZAf0 bis SUMi5 zu erhalten.
Die Addition der Dezimalzahlen (BCD) durch den Addierer nach Fi g. 9 erfolgt entsprechend den folgenden Prozessen:
(1 D): Die Gatter gAIN und gBIN werden geöffnet, um einen ersten Summanden und einen zweiten Summanden in die Register AR bzw. BR zu geben.
(2D): »6« wird durch einen # 1 Ziffernaddierer für jede Ziffernstelle zum Inhalt des Registers BR addiert. Zu dieser Zeit wird eine Übertragsausbreitung zwischen den Ziffernstellen nicht benötigt, so daß der # 1 Ziffernaddierer mit einer logischen Stufe ausgebildet werden kann.
(3D): Die Gatter gAA und gB6A werden geöffnet, um die Summen der Inhalte der Register AR und BR und »6666« zur Addition in den binären Addierer einzugeben.
(4D): »10(1010)« wird durch einen # 2 Ziffernaddierer zu jeder Ziffernstelle des Ergebnisses (Summe) der Addition im Prozeß (3d) addiert. Auch bei dieser Addition wird keine Übertragsausbreitung zwischen den Ziffernstellen benötigt, so daß der # 2 Ziffernaddierer auch mit einer logischen Stufe ausgeführt sein kann.
(5D): Die Gatter gDS0 bis ^53 der Ziffernstellen, die den Ziffernpositionen entsprechen, die bei der Addition
des Prozesses (3D) keinen Übertragsausgang erzeugen, werden geöffnet, um den Ausgang vom # 2 Ziffernaddierer auszuwählen. Die Gatter gBS0 bis gBSi der Ziffernstellen, die den Ziffernpositionen entsprechen, die Übertragsausgänge erzeugt haben, werden geöffnet, um den Ausgang von binären Addierer auszuwählen. Die beiden Ausgänge werden zusammenaddiert, um das Ergebnis der dezimalen Addition SUMu bis SUM15 zu erhalten.
Jedoch besitzt das obengenannte System eine Schwierigkeit, wie später beschrieben wird, insbesondere ist es problematisch, die Summe von Paritätsbits zu erhalten.
Für ein tieferes Verständnis des # 1 Ziffernaddierers und des # 2 Ziffemaddierers in F i g. 5 wird nachfolgend eine Beschreibung gegeben.
F i g. 6 zeigt die Ergebnisse der Additionen von »6« und »10« zu den Eingängen einer Ziffernstelle. In F i g. 6 bezeichnet das Zeichen * die Positionen, wo die Parität für die Ziffer im Eingang und im Ausgang umgekehrt wird. Die Ausgänge von # 1 Ziffernaddierer für die Addition der »6« werden nicht in Verbindung mit den Eingängen »10« oder mehr (1010 bis 1111) gezeigt, da die einstelligen Eingänge BCD-Eingänge von 0 bis 9 sind. Im
Ι» Zusammenhang mit der Addition der »10« werden die Gatter gDS0 bis gD$3, die nur dann benutzt werden, wenn
ίί die Ausgänge vom # 2 Ziffernaddierer »0« bis »9« sind, nicht geöffnet, so daß keine Ausgänge erzeugt werden.
fe Da das Paritätsbit gewöhnlich für jedes Byte (alle 8 Bits) vorgesehen ist, werden die Eingangsdaten bu, b] bis bn
[f eines Bytes und ein Paritätsbit bp betrachtet. Wird das Ergebnis der Addition einer »6« durch b'^ b\ bis b\ und b'p
|i 5 repräsentiert, so ergeben sich diese wie folgt (der Eingang wird als ein BCD-Eingang angenommen):
% bi =bo + bt+b2 (19)
J lo b[ ^b1Yb2 (20)
i A," = F2 (21)
I Ai = bi (22)
^ 15 —
1 PiNVTO-y = A1 - A2 (23)
I A4 = 64 + b5 + b6 (24)
20 A5 = b5 Y b6 (25)
A6 = A6 (26)
bi = A7 (27)
25 P,nvta-t = A5 · A6 · (28)
A; = 6, V Pwr0-3· V /W4.,. = Λ, V CA1 · ÄD V (O5 · A6J (29)
30 Wenn nun das Ergebnis der Addition einer »10« durch bfi, b" bis b" und b'p repräsentiert wird, so werden diese Größen durch die folgenden Gleichungen ausgedrückt. Wenn kein Ausgang vom # 2 Ziffernaddierer von »0« bis »9« erzeugt wird, wird das Ergebnis der Addition einer »10« nicht benötigt, wie oben beschrieben wurde, so daß nur 0110 bis 1111 als Eingangsdaten betrachtet werden. Die anderen Eingangsmuster können als Redundanzen eingeschlossen werden.
Ai' = A0-Zm- A2 (30)
b'{ ^b1Yb2 (31)
40 A2-' = F2 (32)
Aj" = A3 (33)
45 PiNVTO-i = A1 · b2 (34)
A4' = A4 · i>5 ■ O6 (35)
b's = A5 V O6 (36)
50 K = F6 (37)
b" = A7 (38)
PlNVTA-Ί = A5 · A6
b·; =bpY PINVT0-y Y P1NVTA-T- " bp Y (A1 · A2J Y (A5 · A6J (40)
Wie aus den obigen Gleichungen (19) bis (20) ersichtlich ist, ist es leicht, jeden Summenteil des Ziffernaddie-60 rers mit einer logischen Stufe auszuformen, dazu werden ein UND-Gatter und ein EOR-Gatter (exklusives ODER-Gatter) benutzt. Jedoch wird eine große Zahl von Gattern für die Bildung der Logik benötigt, um mit einer logischen Stufe die Parität der Summe zu erhalten, d. h. die Gleichungen (29) und (40). Beispielsweise führt die Entwicklung der Gleichungen (40) zurGleichung (41), die später beschrieben wird, so daß 9 UND-Gatter benötigt werden, auch dann, wenn die Ausgänge von den UND-Gattern miteinander durch das verdrahtete 65 ODER-Gatter verODERt werden. Zusätzlich werden beide positiven und negativen Eingänge benötigt. Dementsprechend wird die Parität gewöhnlich vorausgesagt, nachdem die Terme f/Arcro-3 und P/nvta-i erhalten worden sind. Dies vermindert die Anzahl der benutzten Gatter, jedoch sind zwei logische Stufen notwendig, um die Parität zu erhalten.
i< b·; = b„ Jb1 Lb, F5 ■ bb + 6, · A5 +_Α, · A6 +J2A5 +J2 J6)
Ü + bp ■ (b\ ■ b2A5 + A, · A2 · A6 + A1b5 ■ b6 + b2 ■ b5A6J (41)
;'■ Mit dem Addierer nach Fi g. 9 kann die dezimale Addition in einem Maschinenzyklus ausgeführt werden, da
;' jedoch der # 1 Ziffernaddierer und der # 2 Ziffernaddierer vor und nach dem binären Addierer benötigt wer-
'i\i den, besteht die Möglichkeit, den einen Maschinenzyklus selbst zu verlängern.
.;' Ein Beispiel für einen dezimalen Addierer mit höherer Geschwindigkeit wird in der Druckschrift IEEE Trans-
^ actions on Computer, Vol. C-20, No. 8, Aug. (1971) beschrieben. Der in dieser Druckschrift beschriebende Addierer ist ein dezimaler Hochgeschwindigkeitsaddierer mit einer Breite von 4-Byte (8 Ziffern), wie er im IBM-System 360/Modell 195 benutzt wird, und es werden sechs logische Stufen benutzt. Der in der obigen Druck-
!' schrift beschriebene dezimale Addierer kann so betrachtet werden, als sei er aus vier l-Byte-Partialaddierern
ii zusam mengesetzt, d. h. aus vier zweistelligen Partialaddierern. Zwei Stellen in jedem Partialaddierer sind in drei
Bits höherer Ordnung und in ein Bit geringerer Ordnung unterteilt, und diese definieren einen Signal-K-Term, der »1« ist, wenn die Summe der drei Bits höherer Ordnung »10« oder mehr ist, und einen Signal-L-Tenn, der »1«
ψ ist, wenn die obengenannte Summe »8« oder mehr ist. Mit / = 8n (n = 0,1,2,3), werden K1, AT1 + 4, L1 und L1 + 4
durch die folgenden Gleichungen (42) bis (45) ausgedrückt:
if K, = Si+P1 -A+I + A + 2 + A+i ■ Pi+i (42)
K,vA = & + 4 + A + 4 A+5 + A + 4 ■ Pi+b +gi+S ■ Pi+7 (43)
L, = P, +ft + i +A+I -Si + 2 (44)
L1, 4 = A + 4 + &+5 + A+s " ft+7 (45)
Von den Termen K und L, die auf diese Weise in der Zwischenzeit erzeugt worden sind, werden ein Gruppencrzeugungsterm GG und ein Gruppenausbreitungsterm GP eines jeden Partialaddierers als eine Ganzheit erzeugt und zum Partialaddierer der höheren Ordnung zugeführt. Diese Terme werden durch die folgenden Gleichungen beschrieben:
GG1 - K,+L1-S1 + 3+L1-P1 + 3-K1 + 4+L1-P1 + 3-L1+4-Si (46)
GP1 = L1 ■ Pi + 3 ■ L1 + 4A +7 (47)
Der Partialaddierer, dem die Terme GG und GP vom Partialaddierer der geringeren Ordnung zugeführt wurden, bildet einen Übertragsausgang aus dem geringstwertigen Bit einer jeden Ziffernstelle, dies ist ein Übertrageingang für jeden der drei Bits höherer Ordnung, entsprechend den empfangenen Termen GG und GPund den Termen K und L und den Termen *, + 3 · />,· + 3. £; + 7 und p, + 7 des Partialaddierers selbst. Und eine Summe wird erzeugt, basierend auf dem Übertragssignal und den Termen K und L und den Termen g und ρ für jedes Bit.
Bei einer solchen Struktur ist die Breite des Addierers klein, und wenn die Zahl der benutzten Partialaddierer klein ist, so ist die obengenannte Übertragsbildung einfach. Wenn jedoch viele Partialaddierer benutzt werden, so wird eine solche Übertragsbildung komplex. Nun sind die Übertragsausgänge CO3 und CO7 von den geringstwertigen Bits der Ziffernstellen an der höchstwertigen Ziffernstelle und der nächsten Ziffernstelle wie folgt:
CO1 = g3 + P3 ■ K4 + p3 L4 ■ si + As · U ■ Pl (GGi + GPg ■ GGi6 + GPS ■ GP16 · GG24) (48)
CO7 = g-,+ρ-, (GGg + GP» ■ GG16 + GP8 · GG16 ■ GG24) (49)
Im allgemeinen ist die Hardware eines Partialaddierers als eine Logik auf einer gedruckten Schaltung, auf einer integrierten Schaltung mit hohem Integrationsgrad oder auf einer integrierten Schaltung mit superhohem Integralionsgrad ausgebildet, und es ist wünschenswert, daß alle Partialaddierer exakt die gleichen logischen und physikalischen Ausbildungen besitzen. Wenn beispielsweise eine integrierte Schaltung mit hohem Integrationsgrad die Funktion eines 1-Byte-Partialaddierers hat, kann ein 4-Byte-Addierer mit vier identischen integrierten Schaltungen mit hohem Integrationsgrad gebildet werden, und es ist nicht notwendig, vier verschiedene integrierte Schaltungen mit hohem Integrationsgrad zu entwerfen.
Wenn jedoch ein Schaltkreis zur Erzeugung der Übertragsausgänge, wie sie durch die obigen Gleichungen (48) und (49) angezeigt werden, in den hochintegnerten Schaltungen der Partialaddierer enthalten sind, werden Eingangsstifte und interne Gatter, weiche praktisch nicht benutzt werden, in den hochintegrierten Schaltungen für die Bytes mit geringerer Ordnung eingeschlossen, dies ist unwirtschaftlich. Wenn die Zahl der benutzten Partialaddierer anwächst, werden die Zahlen der Eingangsstifte und Gatter für den Übertragsgeneratorkreis außerordentlich hoch, und die Zahl der nicht benutzten Eingangsstifte und Gatter in den Partialaddierern der geringeren Ordnung wachsen dementsprechend an. In der Praxis hat ein übergroßer Computer oft einen binären Addierer mit einer Breite von 8 Byte, und wenn der binäre 8-Byte-Addierer auch als ein dezimaler Addierer benutzt wird, wird der obengenannte Übertragskreis nutzlos. Wenn außerdem die Zahl der Terme zur Erzeugung des Übertrags anwächst, ist es im System des Addierers nach der obengenannten Druckschrift schwierig, wenn die logischen Stufen alle mit sechs Stufen gebildet werden. Im allgemeinen, wenn z. B. ein Hochgeschwindigkeitsaddierer mit 8 oder 16 Partialaddierern gebildet ist, ist im Fall einer erhöhten Zahl von Partialaddierern eine solche Ausführung, wie sie in Fig. 1 gezeigt ist, unvermeidlich notwendig. Dies bedeutet, daß es nötig ist,
daß der Addierer aus Partialaiidierern zusammengesetzt ist, die jeweils einen Kreis zur Erzeugung der Terme GG und GPfür den Eingang, der dem Partialaddierer zugewiesen ist, und einen Übertragvorausschaukreis besitzen, der die Tenne GG uiid GP\oa allen Partialaddierern empfangt, um einen Übertragseingang für jeden von ihnen zu erzeugen. Mit dieser Methode kann ein kombinierter binärer und dezimaler Addierer hoher Geschwindigkeit mit sechs logischen Stufen ausgebildet werden, auch in dem Fall, daß 16 Partialaddierer benutzt werden. Es ist möglich, eine Hardwareausbildung zu benutzen, wie sie in Fig. 1 für das System gezeigt ist, welches entsprechend der obigen Druckschrift sechs logische Stufen besitzt, d. h. drei logische Stufen zur Erzeugung der Terme GG und GPvon den Eingangsdaten in jedem Partialaddierer, zwei logische Stufen zur Bildung der Übertragseingänge für die 16 Partialaddierer jm Übertragvorausschaukreis und eine logische Stufe für jeden Partialaddierer,
ίο um den Übertragseingang von Übertragvorausschaukreis zu erhalten, um das Ergebnis der gesamten Addition auszugeben. Für eine Hochgeschwindigkeitsoperation ist es jedoch notwendig, daß jeder Partialaddierer vom Übertragvorausschaukreis das Übertragseingangssignal des geringstwertigen Bits des Partialaddierers und das Übertragsausgangssignal vom geringstwertigen Bit einer jeden Ziffemstelle, die im Partialaddierer eingeschlossen ist, empfangt. Daher wird der Übertragvorausschaukreis benötigt, um die Terme g und ρ des geringstwertigen Bits einer jeden Ziffemstelle als auch die Terme GG und GPvon den Partialaddierern zu empfangen. Dies vergrößert die Zahl der Leitungen für die Signalübertragung und die Aufnahme zwischen den Partialaddierern und dem Übertragvorausschaukreis und führt zu einer Komplexität in der den Übertrag bildenden Logik im Übertragvorausschaukreis. Wenn die Zahl der benutzten Partialaddierer 8 oder mehr ist, ist es schwierig, eine Logik mit zwei logischen Stufen zu nehmen.
Diese Erfindung beruht auf den obigen Moden und benutzt die in F i g. 1 gezeigte Struktur. Der Partialaddierer in der Fig. 1 ist wie nachfolgend beschrieben konstruiert.
Fig. 7 zeigt die Gesamtstruktur einer Ausführungsform des Partialaddierers für diese Erfindung. In Fig. 7 bezeichnet das Bezugszeichen 1 einen Halbaddiererteil. 2 bezeichnet ein Übertragvorausschau-Eingangssignal-Generatorkreisteil. 2-0 bezeichnet ein Binärmodus-Übertragvorausschau-Eingangssignal-Generatorkreisteil.
2-1 bezeichnet ein Dezimalmodus-Übertragvorausschau-Eingangssignal-Generatorkreisteil. 3 bezeichnet einen Zwischenaddiererteil. 4 zeigt einen Volladdiererteil. Die Bezugszeichen A1, A1] + 1... B„ B1 , +ι... beziehen sich auf Bits eines ersten und eines zweiten Summanden, die in den Partialaddierer eingegeben werden, diese Bits entsprechen den obengenannten α, und b,. BGG1 und 5GP1- bezeichnen die Bits, die im oben erwähnten Binärmodus der Operation GG1 bzw. GP1 entsprechen. DGG1 und DGP1 bezeichnen die Bits, die im oben erwähnten Dezimalmodus GG1 und GP1 entsprechen. /S, entspricht der Zwischensumme, die von einem logischen Schaltkreis, der in F i g. 14 abgebildet ist, ausgegeben wird. 5CAAf, bezeichnet das endgültige Ergebnis der Addition. CIN1 bezeichnet einen Übertragseingang.
In Fig. 7 werden der Biterzeugungsterm gund der Bitausbreitungsterm h benutzt. (In diesem Fall wird zur Vereinfachung der Schaltkreisstruktur der Term Pteilweise benutzt). Es ist überflüssig zu sagen, das die Terme g und ρ hauptsächlich benutzt werden können.
Der Halbaddiererteü 1 erzeugt die Terme g und h entsprechend den Gleichungen (1) und (2). Der Binärmodus-Übertragvorausschau-Eingangssignal-Generatorkreisteil 2-0 bildet die Terme GG und GP im Binärmodus (d. h. die Terme BGG und BGP), entsprechend den Gleichungen (4") und (6). Der Dezimalmodus-Übertragvorausschau-Eingangssignal-Generatorkreisteil 2-1 erzeugt die Terme GG und GP im Dezimalmodus (d. h. die Terme DGG und DGP), entsprechend den Gleichungen (12') und (14). Wenn nur eine Ziffemstelle, d. h. nur eine binär codierte Dezimalzahl, in den in F i g. 11 gezeigten Partialaddierer eingegeben wird, geben die obengenannten Schaltkreisteile 2-0 und 2-1 ihre erzeugten Terme GG und GPan einen Übertragvorausschaukreis (CLA). Wenn viele Ziffernstellen in den Partialaddierer eingegeben werden, werden ausgedehnte Gruppenerzeugungsund Ausbreitungsterme XG und XP, die die Eingangsziffern überdecken, erzeugt und dem Übertragvorausschaukreis zugeführt. Die Terme XG und XP sind wie folgt gegeben:
XG, = GG, + GP1GG1 + 4 + GP1 ■ GPl + AGGi + s + (50)
XP1 = GP1 GP1 + 4 GP1 + I, (51)
50
Der obengenannte Zwischenaddiererteil 3 führt die folgende Verarbeitung aus. Dies bedeutet, daß dem Zwischenaddiererteil 3 zumindest die obengenannten Termen g und h und der Term GG zugeführt werden, um einen Zwischensummen-Erzeugungsprozeß eines Partialaddierers zu bewirken. Damit wird eine Addition der Eingangsdaten zu einem Partialaddierer erreicht, unabhängig von einem Übertragseingang vom Partialaddierer der geringeren Ordnung, abhängig da<.on, ob der Operationsmodus der dezimale Additionsmodus ist oder nicht. Mit anderen Worten, beim Binärmodus gibt der Zwischenaddiererteil 3 eine Summe einer binären Addition eines Satzes von Eingangsdaten aus, die ihm zugeführt wurden, und im Dezimalmodus gibt er die Summe aus, so daß »6(0110)« nur zu den Ziffernstellen weiteraddiert wird, in denen der Term GG »1« ist. Der Volladdiererteil 4 erzeugt einen vollen Additionsausgang, nachdem die Zwischensumme vom obengenannten Zwischenaddierer-
teil 3 mit einem Übertragseingang korrigiert wurde, der der geringstwertigen Bitposition des Partialaddierers vom Übertragvorausschaukreis zugeführt wurde. Dies bedeutet, eine endgültige Summe wird vom Volladdicrerteil 4 ausgegeben. Obwohl dies in F i g. 7 nicht dargestellt ist, ist die Gesamtstruktur des erfindungsgemäßen Addiererkreises genau so, wie die in Fig. 5 abgebildete Struktur. Jeder dem Übertragvorausschaukreis (CLA) zugeführte Term, nicht dargestellt, wird gemeinsam für die Binärmoden und Dezimalmoden benutzt, und die Hardware des Übertragvorausschaukreises (siehe Fig. 12) wird gemeinsam für die Binärmoden und Dezimalmoden benutzt.
Die F ig. 8 bis 11 zeigen Beispiele von Schaltkreisen der jeweiligen Blöcke in F ig. 7. Fig. 12 zeigt ein Beispiel des Übertragvorausschaukreises für eine Verwendung mit einem binären und dezimalen Hochgeschwindig-
kcitsaddierermit4 Byte(8 Stellen^ der acht Partialaddierer benutzt. Auch wenn die Breite des Addierers 8 Byte (16stellig) ist, kann die Logik des Übertragvorausschaukreises mit zwei logischen Stufen ausgebildet werden. Dies ist leicht aus Fig. 12 ersichtlich.
Anhand der Fig. 7 bis !2 wird nun die Zahl der logischen Stufen des Addierers dieser Erfindung diskutiert. Der Partialaddierer hat drei logische Stufen zur Erzeugung der Tenne GG und GP, wie aus den Fig. 8 und 9 ersichtlich ist. Wie aus F i g. 12 hervorgeht, besitzt der Übertragvorausschaukreis zwei logische Stufen zur Erzeugung des Übertragseingangs für jeden Partialaddierer aus den Termen GG und GP. Damit werden fünf logische Stuien benötigt. Im Volladdiererteil, wie er in Fig. 11 gezeigt ist, werden zwei logische Stufen vom Übertrageingang bis zum Summenausgang benutzt. Dementsprechend werden insgesamt sieben logische Stufen benötigt. (Tatsächlich ist es notwendig, die Operatoren, wie UND, ODER und EOR, siebenmal zu benutzen.) Jede Kombination eines UND-Gatters und eines EOR-Gatters, wie durch gebrochene Linien ta F i g. 11 angezeigt isi, kann als ein logisches Element ausgebildet werden, und zwar in Serien-Gate-und-Kollektor-Punkttechnik, wobei ein emittergekoppeltes logisches Element (als ECL oder CML bezeichnet) in exakt dergleichen Weise wie ein elementares EOR-Gatter benutzt wird. Dementsprechend erfordert die obengenannte Kombination des UND-Gatters und des EOR-Gatters eine Verzögerungszeit von nur einer Stufe des EOR-Gatters. Fig. 13 zeigt Beispiele eines emittergekoppelten Schaltkreises und logische Symbole zur Erzeugung des Paares aus UND-Gatter und EOR-Gatter in der Form eines logischen Elementes. Die Beziehungen zwischen den Eingängen X, Y, Z und den Ausgängen H, H sind wie folgt:
H - (ΧΫ)®Ζ=ΧΫΖ + (Χ+Υ)·Ζ
H=X-Y@Z
Entsprechend den obigen Ausführungen benötigt der erfindungsgemäße Addierer höchstens sieben logische Stufen, jedoch ist er dafür geeignet, eine endgültige Summe mit einer Geschwindigkeit zu erzeugen, die sechs logischen Stufen entspricht.
Hierzu 10 Blatt Zeichnungen

Claims (1)

  1. Patentanspruch:
    Binärer und dezimaler Hochgeschwindigkeitsaddierer mit mehreren Partialaddierern und einem Übertragvorausschaukreis, wobei die Partialaddierer jeweils einen ersten Summanden und einen zweiten Sum-S manden mit einer vorgegebenen Bitanzahl und einen Übertrag erhalten, wobei der Übertragvorausschaukreis zumindest ein Gruppenerzeugungssignal und ein Gruppenausbreitungssignal erhält, und wobei jeder Partialaddierer zumindest einen Halbaddiererteil, der den ersten und den zweiten Summanden empfängt, und einen Volladdiererteil besitzt, und mit einem Binärmodus-Übertragvorausschau-Eingangssignal-Generatorkreisteil und einem Dezimahnodus-Übertragvorausscbau-Eingangssignal-Generatorkreisteil, die mit dem jeweiligen Halbaddiererteil verbunden sind, dadurch gekennzeichnet, daß ein Zwischenaddiererteil (3) mit dem jeweiligen Halbaddiererteil (1) und dem Dezimalmodus-Übertragvorausschau-Eingangssignal-Generatorkreisteil (2-1) verbunden ist,
    daß der Halbaddiererteil (1) ein Biterzeugungssignal (H) und ein Bitausbreitungssignal (G1) erzeugt, basierend auf jedem Bit des ersten und des zweiten, dem Halbaddiererteil (1) eingegebenen Summanden (Ah B1),
    is daß der Binärmodus-Übertragvorausschau-Eingangssignal-Generatorkreisteil (2-0) das Biterzeugungssignal (H1) und das Bitausbreitungss'gnal (G1) benutzt, um ein Binärmodus-Gruppenerzeugungssignal (BGGi) und ein Binärmodus-Gruppenausbreitungssignal (BGPD während eines Binärmodus einer Operation zu erzeugen,
    daß der Dezimalmodus-Übertragvorausschau-Eingangssignal-Generatorkreisteil (2-1) das Biterzeugungssignal (H) uid das Bitausbreitungssignal (G1) benutzt, um ein Dezimalmodus-Gruppenerzeugungssignal (DGGi) und ein Dezimalmodus-Gruppenausbreitungssignal (DGP1) während eines Dezimalmodus einer Operation 2:u erzeugen,
    daß der Zwischenaddiererteil (3) zumindest das Biterzeugungssignal (H1), das Bitausbreitungssignal (G1) und das Dezimalmodus-Gruppenerzeugungssignal (DGGi) benutzt, um eine binäre oder dezimale Addition der
    Partialaddierer-Eingangsdaten (A1, B) zu erhalten, unabhängig von den zugehörigen Übertragen, wobei eine Zwischensumme (JS) der Eingangsdaten erzeugt wird,
    daß der Volladdiererteil (4) die Zwischensumme (JS) mit dem Übertrag (CIN) korrigiert, der vom Übertragvorausschaukreis (CLA) an die geringstwertige Bitposition eines jeden Partialaddierers (1,2,3,4) entsprechend dem Übertrag und der Zwischensumme (JS) gegeben wird, und
    daß jeder Partialaddierer (1, 2,3, 4) als Gruppenerzeugungssignal (CG,) ein Signal gemäß dem logischen UND des Binärmodus-Gruppenerzeugungssignals (BGG) und des Dezimalmodus-Gruppenerzeugungssignals (DGG) an den Übertragvorausschaukreis (CLA) gibt und als Gruppenausbreitungssignal (GP,) ein Signal gemäß dem logischen UND des Binärmodus-Gruppenausbreitungssignals (BGP) und des Dezimalmodus-Gruppenausbreitungssignals (BGP) an den Übertragvorausschaukreis (CLA) gibt.
DE2758130A 1976-12-30 1977-12-24 Binärer und dezimaler Hochgeschwindigkeitsaddierer Expired DE2758130C2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP15921076A JPS5384647A (en) 1976-12-30 1976-12-30 High-speed adder for binary and decimal

Publications (2)

Publication Number Publication Date
DE2758130A1 DE2758130A1 (de) 1978-07-13
DE2758130C2 true DE2758130C2 (de) 1986-03-06

Family

ID=15688718

Family Applications (1)

Application Number Title Priority Date Filing Date
DE2758130A Expired DE2758130C2 (de) 1976-12-30 1977-12-24 Binärer und dezimaler Hochgeschwindigkeitsaddierer

Country Status (5)

Country Link
US (1) US4138731A (de)
JP (1) JPS5384647A (de)
CA (1) CA1101124A (de)
DE (1) DE2758130C2 (de)
ES (1) ES465443A1 (de)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4118786A (en) * 1977-01-10 1978-10-03 International Business Machines Corporation Integrated binary-BCD look-ahead adder
US4263660A (en) * 1979-06-20 1981-04-21 Motorola, Inc. Expandable arithmetic logic unit
DE3172895D1 (en) * 1980-07-10 1985-12-19 Int Computers Ltd Digital adder circuit
US4638300A (en) * 1982-05-10 1987-01-20 Advanced Micro Devices, Inc. Central processing unit having built-in BCD operation
US4700325A (en) * 1984-02-08 1987-10-13 Hewlett-Packard Company Binary tree calculations on monolithic integrated circuits
US4719590A (en) * 1984-08-14 1988-01-12 Aman James A Apparatus and method for performing addition and subtraction
JPS62500474A (ja) * 1985-01-31 1987-02-26 バロ−ス・コ−ポレ−シヨン 高速bcd/バイナリ加算器
US4866656A (en) * 1986-12-05 1989-09-12 American Telephone And Telegraph Company, At&T Bell Laboratories High-speed binary and decimal arithmetic logic unit
US4942548A (en) * 1987-06-25 1990-07-17 International Business Machines Corporation Parallel adder having removed dependencies
JPH01104169U (de) * 1987-12-30 1989-07-13
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
US7213043B2 (en) * 2003-01-21 2007-05-01 Lsi Logic Corporation Sparce-redundant fixed point arithmetic modules
US7299254B2 (en) * 2003-11-24 2007-11-20 International Business Machines Corporation Binary coded decimal addition
US7546328B2 (en) * 2004-08-31 2009-06-09 Wisconsin Alumni Research Foundation Decimal floating-point adder
US7743084B2 (en) * 2004-09-23 2010-06-22 Wisconsin Alumni Research Foundation Processing unit having multioperand decimal addition
US7519645B2 (en) * 2005-02-10 2009-04-14 International Business Machines Corporation System and method for performing decimal floating point addition

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3711693A (en) * 1971-06-30 1973-01-16 Honeywell Inf Systems Modular bcd and binary arithmetic and logical system
US3805045A (en) * 1972-10-30 1974-04-16 Amdahl Corp Binary carry lookahead adder using redundancy terms
US3925651A (en) * 1975-03-26 1975-12-09 Honeywell Inf Systems Current mode arithmetic logic array
US3925652A (en) * 1975-03-26 1975-12-09 Honeywell Inf Systems Current mode carry look-ahead array
US3958112A (en) * 1975-05-09 1976-05-18 Honeywell Information Systems, Inc. Current mode binary/bcd arithmetic array
US3991307A (en) * 1975-09-16 1976-11-09 Mos Technology, Inc. Integrated circuit microprocessor with parallel binary adder having on-the-fly correction to provide decimal results

Also Published As

Publication number Publication date
DE2758130A1 (de) 1978-07-13
CA1101124A (en) 1981-05-12
ES465443A1 (es) 1978-09-16
JPS561660B2 (de) 1981-01-14
US4138731A (en) 1979-02-06
JPS5384647A (en) 1978-07-26

Similar Documents

Publication Publication Date Title
DE2758130C2 (de) Binärer und dezimaler Hochgeschwindigkeitsaddierer
DE1549476C3 (de) Anordnung zur Ausführung von Divisionen
DE2712224A1 (de) Datenverarbeitungsanlage
DE2623986A1 (de) Parallelrechenwerk
DE2018452A1 (de) Arithmetische Einrichtung
DE1549477B1 (de) Einrichtung zur schnellen akkumulation einer anzahl mehr stelliger binaerer operanden
DE2626432A1 (de) Arithmetische einheit fuer automatische rechengeraete
DE3229452A1 (de) Arithmetiklogikeinheit
DE4101004A1 (de) Paralleler multiplizierer mit sprungfeld und modifiziertem wallac-baum
DE2063199B2 (de) Einrichtung zur Ausführung logischer Funktionen
DE1549508A1 (de) Logistische Anordnung zum Durchfuehren von arithmetischen Rechenoperationen,die zu einem positiven oder negativen UEbertrag fuehren
DE2730918A1 (de) Anordnung zum multiplizieren von binaerzahlen
DE3440680C2 (de)
DE4019646C2 (de) Vorrichtung und Verfahren zum Multiplizieren von Datenwörtern in Zweier-Komplement-Darstellung
EP0257362A1 (de) Addierer
DE3424078C2 (de)
DE2705989C2 (de) Schaltungsanordnung zum parallelen Addieren oder Subtrahieren von mindestens zwei Eingangszahlen
DE1449564C3 (de) Recheneinrichtung zur Subtraktion mehrerer Operanden oder zu deren Addition durch Verwendung von Komplementärwerten eines der Operanden
DE1774771A1 (de) Anordnung,um wechselweise eine Addition oder eine aus einer Anzahl logischer Funktionen zwischen den Inhalten einer Stelle zweier Binaerworte durchzufuehren
DE2800598A1 (de) Parallel-addierwerk
DE2855946A1 (de) Pla-addierschaltung
DE19847245C2 (de) Kombinierte Addierer- und Logik-Einheit
DE2140858C3 (de) Paritätsbit- Vorhersage schaltung für eine Stellenverschiebeeinrichtung
DE2708637C3 (de) Schaltungsanordnung zur Bildung einer BCD-Summe oder einer reinen Binär-Summe aus einem ersten und einem zweiten Operanden
DE3221819A1 (de) Vorrichtung zur simulation eines schaltwerks mit hilfe eines rechners

Legal Events

Date Code Title Description
OAP Request for examination filed
OD Request for examination
D2 Grant after examination
8364 No opposition during term of opposition