DE19847245C2 - Kombinierte Addierer- und Logik-Einheit - Google Patents
Kombinierte Addierer- und Logik-EinheitInfo
- Publication number
- DE19847245C2 DE19847245C2 DE19847245A DE19847245A DE19847245C2 DE 19847245 C2 DE19847245 C2 DE 19847245C2 DE 19847245 A DE19847245 A DE 19847245A DE 19847245 A DE19847245 A DE 19847245A DE 19847245 C2 DE19847245 C2 DE 19847245C2
- Authority
- DE
- Germany
- Prior art keywords
- logic
- unit
- carry
- functions
- sum
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 101150112492 SUM-1 gene Proteins 0.000 claims description 10
- 101150096255 SUMO1 gene Proteins 0.000 claims description 10
- 230000000295 complement effect Effects 0.000 claims description 7
- 238000012546 transfer Methods 0.000 claims description 5
- 238000007792 addition Methods 0.000 description 7
- 238000012545 processing Methods 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 4
- 230000001934 delay Effects 0.000 description 3
- 239000000872 buffer Substances 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000000034 method Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000012549 training Methods 0.000 description 1
- 239000002023 wood Substances 0.000 description 1
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/57—Arithmetic logic units [ALU], i.e. arrangements or devices for performing two or more of the operations covered by groups G06F7/483 – G06F7/556 or for performing logical operations
- G06F7/575—Basic arithmetic logic units, i.e. devices selectable to perform either addition, subtraction or one of several logical operations, using, at least partially, the same circuitry
-
- 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/506—Adding; 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/507—Adding; 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 selection between two conditionally calculated carry or sum values
-
- 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/506—Adding; 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/508—Adding; 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
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Pure & Applied Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Optimization (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Executing Machine-Instructions (AREA)
Description
Die vorliegende Erfindung betrifft eine kombinierte Addierer-
und Logikeinheit, die Mittel zum Erzeugen arithmetischer Ergeb
nisse von Operanden und Mittel zum Ausführen logischer Funktio
nen von Operanden umfaßt, wobei jeder der Operanden eine Viel
zahl Bytepositionen besitzt. Des weiteren umfaßt die kombinierte
Addier- und Logikeinheit innerhalb jeder Byteposition ein Über
tragsnetzwerkmittel, das zum Erzeugen von Übertragsausgangssig
nalen der Bytepositionen mit dem Operandeneingang verbunden ist,
und ein Vorsummenlogikmittel, welches ein Bitfunktionsgenerator
mittel und ein Summengeneratormittel aufweist.
Arithmetische und logische Operationen gehören zu den Grundope
rationen von Informationsprozessoren. Die bevorzugten Operatio
nen sind Additionen und Subtraktionen sowie die logischen Funk
tionen UND, ODER und Antivalenz. Bekannte Prozessoren erhalten
eine Arithmetik-Logik-Einheit, welche eine binäre Addiererein
heit und eine separate Logikeinheit zur Ausführung logischer
Funktionen umfaßt (Fig. 1). Der Entwurf der Arithmetik-Logik-
Einheiten als integrierte Schaltungen ist von Rabaey, "Digital
Integrated Circuits, A Design Perspective", Prentice Hall, En
glewood Cliffs, USA, 1996, Seiten 383 bis 408 beschrieben wor
den.
Aus TIETZE, Ulrich, SCHENK, Christoph: Halbleiter-Schaltungs
technik. 9. Auflage. Berlin [u. a.]: Springer, 1990, S. 605-609
sind Binäraddierer bekannt, die eine parallele Übertragungslogik
aufweisen. Bei solchen Binäraddierern werden alle Überträge di
rekt aus den Eingangsvariablen berechnet. Um die parallele Über
tragungslogik bei einem Binäraddierer zu realisieren, sind meh
rere Volladdierern mit einem Übertragungsblock zusammen geschal
tet. Die Volladdierer können jeweils zwei einstellige binäre
Eingangsgrößen und einen Übertrag addieren, während der Über
tragungsblock die komplette Schaltung der Übertragungslogik be
inhaltet. Im Zuge der Übertragsberechnung treten bei den Voll
addierern Zwischenergebnisse auf, mit denen parallel die Über
träge berechnet werden. Mehrere dieser Anordnungen aneinander
gereiht können beispielsweise ein 16 bit-Addierwerk bilden.
Aus der EP 450 751 A2 ist ein CSA (carry save adder) für inter
aktive Hochgeschwindigkeitsdivision bekannt. Der CSA umfaßt Mit
tel zum Durchführen von mehreren Additionen, allgemeine Eingabe
mittel für die Mittel zum Durchführen der Additionen und einen
Multiplexer zum Auswählen des gewünschten Ergebnisses der Addi
tionen.
Die bekannten Schaltungsanordnungen sind auf ganz bestimmte An
wendungsgebiete spezialisiert. Die vorstehend beschriebenen
Schaltungen beispielsweise auf eine Addition mit paralleler
Übertragungslogik bzw. auf Hochgeschwindigkeitsdivision. Werden
unterschiedliche solcher Schaltungen in einer Anwendung be
nötigt, so können diese auf einem einzigen integrierten Schalt
kreis angeordnet werden und dadurch eine neue integrierte Schal
tung bilden. Dabei ist bekannt, eine Addierereinheit, eine Logikeinheit
und eine zusätzliche Komparatoreinheit miteinander zu
kombinieren, von denen jede ihre eigenen Operandeneingangs- und
Ausgangsleitungen besitzt.
Die bekannten Addierer- und Logikeinheiten werden ebenfalls ver
wendet, um spezielle Funktionen wie beispielsweise die Verarbei
tung von Zeichenketten veränderlicher Länge auszuführen, wie
dies für Anwendungen bei Datenbanken und der Textverarbeitung
erforderlich ist. Das Patent DE 43 34 294 offenbart ein Gerät
dieses Typs, welches eine Addierereinheit, eine Logikeinheit und
eine zusätzliche Komparatoreinheit umfaßt, von denen jede ihre
eigenen Operandeneingangs - und Ausgangsleitungen besitzt. Mit
zunehmender Schaltungsdichte werden die Leitungsverbindungen und
die Leitungsverzögerungen mehr und mehr zu
einem ernsten Problem. Die große Anzahl Eingangs- und Ausgangs
leitungen vergrößert die RC-Verzögerungen sowie die Kapazität
der Verdrahtung und verringert somit die Operationsgeschwindig
keit des Prozessors. Zusätzlich stellen die Eingangsleitungen
eine große Eingangsbelastung dar, welche die Synchronisation der
Schaltungen verschlechtert.
Es ist daher Aufgabe der Erfindung, die Addierer- und Logikein
heit der eingangs genannten Art derart weiterzubilden, dass sie
eine geringere Ausführungszeit arithmetischer und logischer Ope
rationen aufweist.
Die Aufgabe wird erfindungsgemäß durch die in Anspruch 1 genann
ten Merkmale gelöst.
Die mit der Erfindung erzielten Vorteile bestehen insbesondere
darin, dass die Anzahl der Eingangs- und Ausgangsleitungen der
Addierer- und Logikbaugruppe verringert werden. Des weiteren
wird die Eingangsbelastung positiv beeinflußt und es werden die
Leitungsverzögerungen und die Kapazität der Arithmetik- und Lo
gikbaugruppe eines Mikroprozessorchips verringert.
Gemäß der Erfindung umfaßt die kombinierte Addierer- und Logik
einheit in bevorzugten Ausführungsformen ein Netzwerk für die
Übertragsverarbeitung, welches mit den Operandeneingängen ver
bunden ist, um Übertragsausgangssignale für die Bytepositionen
zu erzeugen, und sie enthält desweiteren eine Vorsummenlogik,
die einen Bitfunktionsgenerator und einen Summengenerator umfasst.
Der Bitfunktionsgenerator leitet aus den Operanden Ai und
Bi die Bitfunktionen Gi, Pi ab, welche als logisches Funktions
ausgangssignal der Einheit und als Eingangssignal für den Sum
mengenerator bereitgestellt werden, um vorläufige arithmetische
Funktionen (SUM0, SUM1) zu bilden, um das Auftreten von Über
tragseingangssignalen von eins oder null vorwegzunehmen. Eine
Ergebnisauswahleinrichtung wird von einem Byte-Übertragsaus
gangssignal (Cy55) des Übertragsnetzwerkes
und von Operationssteuersignalen gesteuert, um aus
den Ausgangssignalen der Vorsummenlogik eine der arithmetischen
Funktionen (SUM0, SUM1) als Ergebnis der Operation der Einheit
auszuwählen.
Im folgenden wird eine bevorzugte Ausführungsform einer kombi
nierten Addierer- und Logikeinheit gemäß der Erfindung unter
Bezugnahme auf die begleitenden Zeichnungen beschrieben, wobei
die Figuren zeigen:
Fig. 1 eine Arithmetik-Logik-Einheit gemäß dem Stand der
Technik;
Fig. 2 die allgemeine Struktur einer Addierer-/Logikeinheit
gemäß der Erfindung;
Fig. 3 die allgemeine Struktur einer modifizierten Addierer-
/Logikeinheit gemäß der Erfindung zur Ausführung von
Zeichenkettenoperationen;
Fig. 4 ein schematisches Blockschaltbild der Byteabschnitte
der Addierereinheit gemäß der Fig. 2 und 3;
Fig. 5 die Realisierung eines Byteabschnittes der Addierer-/
Logikeinheit der Fig. 2 bis 4;
Fig. 6 einen Operationsdecoder, wie er in der Addierer-/Lo
gikeinheit von Fig. 5 verwendet wird; und
Fig. 7 eine Vorsummenlogik, wie sie in der Addierer-/Logik
einheit von Fig. 5 verwendet wird.
Fig. 1 zeigt eine bekannte Arithmetik-Logik-Einheit, welche
aus einer Addierereinheit und einer separaten Logikeinheit be
steht. Jede dieser Einheiten enthält zwei Sätze Eingangsleitun
gen, welche mit Operandenregistern verbunden sind, die die Ope
randen A und B speichern. Jede dieser Einheiten enthält eben
falls einen Satz Ausgangsleitungen, welche über einen Ausgangs
multiplexer mit den Ergebnisausgangsleitungen verbunden sind.
Gemäß einem der Aspekte der Erfindung wird die große Anzahl der
Eingangs- und Ausgangsleitungen verringert, indem die beiden
Einheiten zu einer gemeinsamen Einheit zusammengefaßt werden,
welche einen kombinierten Operandeneingang und einen kombinier
ten Operandenausgang umfaßt.
Eine Arithmetikeinheit, welche die Fähigkeit mit einschließt,
logische Operationen auszuführen, wird in Fig. 2 dargestellt.
Diese Einheit umfaßt eine Addierereinheit 10 mit vorzugsweise
64 Bitpositionen. Jede Bitposition besitzt zwei Eingangsleitun
gen, welche mit den Operandenregistern 12, 14 verbunden sind,
die Teiloperanden A, B zu 64 Bit oder jeweils 8 Byte enthalten.
Die Steuersignale an einem Eingang 16 legen die arithmetischen
oder logischen Funktionen des Addierers fest. Die Ausgangssig
nale, die von den arithmetischen und logischen Funktionen er
zeugt werden, erscheinen auf den kombinierten Ausgangsleitungen
18. Die Einheit 10 kann verwendet werden, um Operanden verän
derlicher Länge zu verarbeiten, die binäre Operanden oder binär
codierte Dezimaloperanden, Bitkettenoperanden oder Zeichenket
tenoperanden, die von einem Ende-Zeichen abgeschlossen werden,
darstellen. Für den letztgenannten Operationstyp zeigt Fig. 3
eine modifizierte Ausführung der Erfindung, wobei parallel zu
der Addierereinheit 10 eine Komparatoreinheit 11 angeordnet
ist. Die Komparatoreinheit 11 empfängt aus den Registern 12 und
14 dieselben Operanden A, B und führt einen Vergleich dieser
Operanden mit einem Ende-Zeichen aus, das in dem Register 15
gespeichert ist. Wenn der Vergleich eine Übereinstimmung er
gibt, wird auf der Ausgangsleitung 17 ein Signal "Ende-Zeichen
gefunden" erzeugt. Die Addierereinheit 10 umfaßt eine zusätzli
che Ausgangsleitung 19, welche eine Nichtübereinstimmung der
Operanden A und B anzeigt.
Wie in Fig. 4 dargestellt, werden die 64 Bitpositionen der
Addierereinheit 10 in Byteabschnitte BY0 bis By7 unterteilt,
wobei By7 das niedrigstwertige Byte und By0 das höchstwertige
Byte sind. In jedem Byteabschnitt werden Byte-
Übertragsausgangssignale Cy erzeugt und von der höchstwertigen
Bitposition jedes Bytes zur niedrigstwertigen Bitposition des
nächsten Bytes übertragen. In Fig. 4 werden die Bitpositionen
der Übertragsausgangssignale durch Nummern gekennzeichnet. Vom
niedrigstwertigen Byte By7 wird ein Anfangs-Übertragseingangs
signal INIT_Cy-IN empfangen, und das höchstwertige Byte By0
erzeugt ein Übertragsausgangssignal Cy_out.
Die Addierereinheit umfaßt innerhalb jeder Byteposition ein
Übertragsnetzwerk 30 und eine Vorsummenlogik 32, wie dies in
Fig. 5 dargestellt ist, welche den Byteabschnitt By6 der Ein
heit 10 zeigt. Somit besteht jeder Eingang des Übertragsnetz
werkes 30 und der Vorsummenlogik 32 aus 8 Leitungen, wobei jede
Leitung einem Operandenbit zugeordnet ist. Die Bits A1 des Ope
randen A werden von einer ersten Gruppe Zwischenspeicher 20
empfangen, welche ein Teil des Operandenregisters 12 sind, und
die Bits Bi des Operanden B werden von einer zweiten Gruppe
Zwischenspeicher 22 empfangen, welche ein Teil des Operanden
registers 14 sind. Jede der Zwischenspeichergruppen 20 und 22
enthält die Bits von zwei Bytes By6 und By7 der Operanden. In
Fig. 5 werden die Bitpositionen i der Operanden und der Opera
tionsergebnisse durch entsprechende Nummern gekennzeichnet. Die
wahren Ausgangssignale der Zwischenspeicher 20 sind direkt mit
dem Übertragsnetzwerk 30 und der Vorsummenlogik 32 verbunden,
wobei die Bits von Byte By7 zum Übertragsnetzwerk 30 übertragen
werden, und die Bits des Bytes By6 werden zur Vorsummenlogik 32
übertragen. Die wahren und komplementären Ausgangssignale der
Zwischenspeicher 22 sind mit einem Multiplexer M1 verbunden,
welcher die wahren oder komplementären Ausgangssignale der Zwi
schenspeicher 22 auf das Übertragsnetzwerk 30 und die Vorsum
menlogik 32 schaltet, wobei die abgeleiteten Bits des Bytes By7
zum Übertragsnetzwerk 30 übertragen werden, und die abgeleite
ten Bits des Bytes By6 werden zur Vorsummenlogik 32 übertragen.
Der Multiplexer M1 wird von einem Operationssteuersignal
ANY_SUB gesteuert, das von einem Operationsdecoder 34
entsprechend einem Subtraktionsbefehl geliefert wird, der in
einem Befehlsregister 36 (Fig. 6) enthalten ist. Das
Steuersignal ANY_SUB schaltet über die UND-Schaltung 24 und die
ODER-Schaltung 25 das Komplement von Bi auf das
Übertragsnetzwerk 30 und die Vorsummenlogik 32. Wenn das
Befehlsregister 36 einen anderen Befehl, wie beispielsweise
einen Additionsbefehl oder einen logischen Befehl, enthält, ist
das Steuersignal ANY_SUB nicht vorhanden, und die wahren Bits
von Bi werden über den Inverter 26, die UND-Schaltung 27 und
die ODER-Schaltung 25 auf das Übertragsnetzwerk 30 und die
Vorsummenlogik 32 geschaltet. Das Übertragsnetzwerk 30 empfängt
auf Leitung 31 ebenfalls ein Anfangs-Übertragseingangssignal
INIT_Cy. Im Fall einer Subtraktionsoperation ist das Signal
INIT_Cy eins, in anderen Fällen, wie beispielsweise bei
Zeichenkettenoperationen, stellt das Signal INIT_Cy das
Übertragsausgangssignal der vorhergehend verarbeiteten 8-
Bytegruppe dar.
Das Übertragsnetzwerk 30 ist die zeitkritischste Schaltung der
Einheit 10. Sie erzeugt die "eiligen" Übertragsausgangssignale
jedes Bytes durch Anwendung des Parallelübertragsprinzips.
Dementsprechend wird das Übertragsausgangssignal von Byte By7
folgendermaßen gebildet:
Cy_out = G0 + G1.P0 + G2.P0.P1 + G3.P0.P1.P2 + G4.P1.P2.P3
+ G5.P1.P2.P3.P4 + G6.P1.P2.P3.P4.P5
+ G7.P0.P1.P2.P3.P4.P5.P6
+ P0.P1.P2.P3.P4.P5.P6.P7.InitCy_in
+ G5.P1.P2.P3.P4 + G6.P1.P2.P3.P4.P5
+ G7.P0.P1.P2.P3.P4.P5.P6
+ P0.P1.P2.P3.P4.P5.P6.P7.InitCy_in
wobei InitCy_in das Übertragseingangssignal der niedrigstwerti
gen Bitposition ist.
Die Vorsummenlogik 32 arbeitet parallel und unabhängig vom
Übertragsnetzwerk, um gleichzeitig die arithmetischen Summen
und logischen Verknüpfungen der Operanden Ai und Bi zu
erzeugen. Fig. 7 zeigt eine Ausführung der Vorsummenlogik 32
von Fig. 2. Über 8-Draht-Eingangsleitungen 40, 41 empfängt die
Schaltung der Vorsummenlogik 32, wie oben beschrieben, die
Operanden Ai und Bi, d. h. die Bits Ai des Operanden A und die
wahren oder komplementären Bits des Operanden B. Aus diesen
Eingangssignalen erzeugt ein Bitfunktionsgenerator 42 die
Generierungsfunktionen Gi = Ai.Bi mittels der UND-Schaltungen
43 und die Weitergabefunktionen Pi = Ai + Bi mittels einer
ODER-Schaltung 44. Beide Funktionen werden für die
Übertragslogikschaltungen 45 und 46 und für eine Rohsummenlogik
48 bereitgestellt. Die Übertragslogikschaltung 45 führt die
Übertragsverarbeitung auf der dargestellten Ziffernstelle unter
der Voraussetzung aus, daß das Signal Cy_in null ist, wobei
unter Verwendung der Generierungs- und Weitergabefunktionen Gi
und Pi, wie sie vom Bitfunktionsgenerator 42 bereitgestellt
werden, die folgenden Operationen ausgeführt werden:
Cy7 = 0
Cy6 = G7
Cy5 = G6 + G7.P6
Cy4 = G5 + G6.P5 + G7.P6.P5
.
.
.
Cy6 = G7
Cy5 = G6 + G7.P6
Cy4 = G5 + G6.P5 + G7.P6.P5
.
.
.
Cy0 = G1 + G2.P1 + G3.P1.P2 + G4.P1.P2.P3 + G5.P1.P2.P3.P4
+ G6.P1.P2.P3.P4.P5 + G7.P1.P2.P3.P4.P3.P4.P5.P6
+ G6.P1.P2.P3.P4.P5 + G7.P1.P2.P3.P4.P3.P4.P5.P6
wobei für ein einzelnes Byte i = 0 . . . 7 gilt oder für einen 8-
Byte-Operanden ist i = 0 . . . 7, 8 . . . 15, 16 . . . 23, 24 . . . 31 usw.
Dementsprechend führt die Übertragslogikschaltung 46 die Über
tragssignalverarbeitung unter der Voraussetzung, daß das Signal
Cy_in eins ist, durch Realisierung der folgenden Operationen
aus:
Cy7 = 1
Cy6 = P7
Cy5 = G6 + G7.P6
Cy4 = G5 + G6.P5 + G7.P6.P5
.
.
.
Cy0 = G1 + G2.P1 + G3.P1.P2 + G4.P1.P2.P3 + G5.P1.P2.P3.P4
+ G6.P1.P2.P3.P4.P5 + P1.P2.P3.P4.P3.P4.P5.P6
Cy6 = P7
Cy5 = G6 + G7.P6
Cy4 = G5 + G6.P5 + G7.P6.P5
.
.
.
Cy0 = G1 + G2.P1 + G3.P1.P2 + G4.P1.P2.P3 + G5.P1.P2.P3.P4
+ G6.P1.P2.P3.P4.P5 + P1.P2.P3.P4.P3.P4.P5.P6
Die Rohsummenlogik 48 führt die Antivalenzverknüpfung der Ope
randen A und B mittels Inverterschaltungen 49 und UND-Schaltun
gen 50 aus, um die Generierungsfunktionen Gi zu invertieren und
eine UND-Verknüpfung der Pi-Funktionen und der invertierten Gi-
Funktionen folgendermaßen zu bilden:
ROHSUMMEi = Ai XOR Bi
= Ai.Bi' + Ai'.Bi
= (Ai.Bi)'.(Ai + Bi)
= Gi'.Pi
= Ai.Bi' + Ai'.Bi
= (Ai.Bi)'.(Ai + Bi)
= Gi'.Pi
worin i die Bits des zu verarbeitenden Bytes und ' das Komple
ment des entsprechenden Terms kennzeichnet.
Zwei Antivalenzschaltungen 51, 52 verknüpfen die Ausgangssigna
le der Übertragslogikschaltungen 45, 46 und die Ausgangssignale
der Rohsummenlogik 48, um auf den Leitungen die Summen SUM0 und
SUM1 des zu verarbeitenden Bytes zu erzeugen, wobei SUM0 auf
der Voraussetzung beruht, daß das Signal Cy_in null ist, und
SUM1 beruht auf der Voraussetzung, daß das Signal Cy_in eins
ist.
Die Vorsummenlogik 32 benutzt die in den Operanden Ai und Bi
enthaltenen logischen Funktionen gemeinsam dazu, um auf den
Ausgangsleitungen 58, 60, 62 und 64 logische Funktionen als
Ergebnisausgangssignal der Vorsummenlogik 32 zu erzeugen. Die
Ausgangsleitungen 58 sind mit den Ausgängen der UND-Schaltung
43 verbunden, um die UND-Funktion der Operanden Ai und Bi zu
erzeugen. Die Ausgangsleitungen 60 sind mit den Ausgängen der
ODER-Schaltung 44 verbunden, um die ODER-Funktion der Operanden
Ai und Bi zu erzeugen. Die Ausgangsleitungen 62 sind mit den
Ausgängen der Rohsummenlogik 48 verbunden, um die Antivalenz
funktion der Operanden Ai und Bi zu erzeugen. Die Ausgänge der
Rohsummenlogik 48 sind über die Inverterschaltungen 66 eben
falls mit einer ODER-Schaltung 68 verbunden, welche auf der
Ausgangsleitung 64 ein Signal NICHTÜBEREINSTIMMUNG By6 erzeugt.
Dieses Signal zeigt an, daß die Operandenbytes Ai und Bi un
gleich sind.
Die Vorsummenlogik 32 erzeugt die logischen Funktionen gleich
zeitig und parallel zu jeder anderen und ebenfalls gleichzeitig
und parallel zur Erzeugung der Summen SUM0 und SUM1. Es ist
somit möglich, eine Addition A + B, und eine der logischen Operationen
A UND, A ODER, A ANTIVALENT B parallel auszuführen.
Eine Ergebnisauswahleinrichtung 70 wird bereitgestellt, um das
richtige Ergebnis der Einheit 10 zu bestimmen und dieses auf
die kombinierten Ausgangsleitungen 18 zu schalten. Die Ergeb
nisauswahleinrichtung 70 umfaßt die Multiplexer M2, M3 und M4,
von denen der Multiplexer M2 mit den Summenausgangsleitungen
53, 54 der Vorsummenlogik 32 verbunden ist. Ein Byte-
Übertragsausgangssignal Cy55 von eins der Byteposition By7 des
Übertragsnetzwerkes 30 steuert den Multiplexer M2 so, daß die
SUM1-Signale über die UND-Schaltung 72 und die ODER-Schaltung
74 und über die Leitungen 75 auf den Multiplexer M4 geschaltet
werden. Ein Byte-Übertragsausgangssignal Cy55 von null, was
durch den Inverter 76 angezeigt wird, steuert den Multiplexer
M2 so, daß die SUM0-Signale über die UND-Schaltung 78 und die
ODER-Schaltung 74 auf den Multiplexer M4 geschaltet werden.
Der Multiplexer M3 ist mit den logischen Ausgängen 58, 60, 62
der Rohsummenlogik 48 verbunden und wird durch die Steuerlei
tungen 80 für die logischen Operationen vom Operationsdecoder
so angesteuert, daß eine ausgewählte logische Funktion auf den
Multiplexer M4 geschaltet wird. Der Multiplexer M3 umfaßt die
UND-Schaltungen 81, 82, 83, welche von den Steuersignalen UND,
ODER, ANTIVALENZ so gesteuert werden, daß die entsprechende
logische Funktion ausgewählt wird, wobei diesen UND-Schaltungen
die ODER-Schaltung 84 folgt, deren Ausgang die Ausgangsleitung
86 für das logische Ergebnis ist. Durch gleichzeitiges Anlegen
eines Subtraktionssteuersignals ANY_SUB an den Multiplexer M1
und eines Logiksteuersignals ANTIVALENZ an den Multiplexer M3
erzeugt die Rohsummenlogik 48 die invertierte Äquivalenzfunkti
on und der Multiplexer M3 schaltet die invertierte Äquivalenz
funktion auf die Ausgangsleitungen 86 für das logische Ergeb
nis.
Der Multiplexer M4 unterscheidet zwischen den arithmetischen
Ergebnissen auf den Leitungen 75 und den logischen Ergebnissen
auf Leitung 86. Der Multiplexer M4 wird durch ein Operations
steuersignal ANY_LOG gesteuert, welches die logischen Ergeb
nisbits von den Leitungen 86 über die UND-Schaltung 87 und die
ODER-Schaltung 88 auf die Ergebnisleitungen 92 des Bytes By6
schaltet. Wenn das Operationssteuersignal ANY_LOG nicht vorhan
den ist, was durch den Inverter 89 angezeigt wird, werden die
Summenbits von den Leitungen 75 über die UND-Schaltung 90 und
die ODER-Schaltung 88 auf die Ergebnisleitungen 92 des Bytes
By6 geschaltet.
Wie in Fig. 3 dargestellt, kann die erfindungsgemäße Addierer
einheit verwendet werden, um Operationen mit Zeichenketten ver
änderlicher Länge zu unterstützen, wie dies in der DE 43 34 294
beschrieben wird. Das Ende einer Zeichenkette kann durch ein
spezielles Zeichen oder durch eine Längenanzeige markiert wer
den. Gewöhnliche Zeichenkettenoperationen sind ein logischer
Vergleich von zwei Zeichenketten, die Suche nach einem speziel
len Zeichen innerhalb einer Zeichenkette oder das Verschieben
von Zeichenketten. Die Operationen werden solange ausgeführt,
bis das Ende-Zeichen gefunden oder eine andere Bedingung, wie
beispielsweise 'die Zeichen der Zeichenkette sind verschieden
von null' erfüllt wird. Vergleichsoperationen für Zeichenketten
erfordern arithmetische Operationen für das Setzen von Bedin
gungscodes, um beispielsweise anzuzeigen, welches der nicht
übereinstimmenden Zeichen das größere ist.
In der modifizierten Ausführung von Fig. 3 führt die Addierer
einheit 10 den logischen Vergleich von zwei Zeichen der Operan
denzeichenketten A und B durch Benutzung der logischen Funktio
nen der Einheit 10 sowie die Bestimmung des größeren der nicht
übereinstimmenden Zeichen durch. Eine Nichtübereinstimmung wird
durch ein Signal auf Leitung 19 angezeigt, welche der Ausgangs
leitung 64 der Vorsummenlogik 32 von Fig. 5 entspricht. Dieses
Signal wird erzeugt, wenn mindestens eines der Operandenbit
paare des Bytes eine Ungleichbedingung zeigt, was durch die
Antivalenzverknüpfung dieses Operandenbits angezeigt wird.
Gleichzeitig veranlaßt ein Operationssteuersignal ANY_SUB vom
Operationsdecoder 34 die Ausführung der Subtraktion A - B
derselben Operanden, deren Ergebnis auf den Ergebnisleitungen
18 erscheint, welche den Ergebnisleitungen 92 von Fig. 5
entsprechen. Im Rahmen dieses Ergebnisses zeigt das Byte-
Übertragsausgangssignal des Bytes By0 an, welcher Operand der
größere ist. Wenn das Übertragsausgangssignal eins ist, ist A
der größere Operand, und wenn das Übertragsausgangssignal null
ist, ist B der größere Operand. Das Ergebnis der Subtraktion
auf den Leitungen 92 und das Ergebnissignal
'Nichtübereinstimmung' auf Leitung 64 werden parallel erzeugt,
so daß sie gleichzeitig verfügbar sind. Zusätzlich zeigt die
Komparatoreinheit 11 (Fig. 3), welche parallel zur
Addierereinheit 11 arbeitet, durch ein Signal auf ihrer
Ausgangsleitung 17 an, ob einer der Operanden A oder B ein
Ende-Zeichen der zu verarbeitenden Zeichenkette enthält.
Claims (18)
1. Kombinierte Addierer- und Logikeinheit (10), die
Mittel zum Erzeugen arithmetischer Ergebnisse von Operanden und
Mittel zum Ausführen logischer Funktionen von Operanden umfasst, wobei jeder der Operanden eine Vielzahl Byteposi tionen besitzt, und die des weiteren innerhalb jeder Byte position
ein Übertragsnetzwerkmittel (30), das zum Erzeugen von Übertragsausgangssignalen der Bytepositionen (By) mit dem Operandeneingang verbunden ist, und
ein Vorsummenlogikmittel (32)umfasst, welches ein Bit funktionsgeneratormittel (42) und ein Summengeneratormittel (45, 46, 48, 51, 52) aufweist,
dadurch gekennzeichnet, dass
das Bitfunktionsgeneratormittel (42) aus den Operanden (A, B) Bitfunktionen (Gi, Pi) ableitet, welche als logische Funktionen der Operanden (A, B) an den Ausgang des Vorsum menlogikmittels (32) und zum Erzeugen vorläufiger arithme tischer Funktionen (SUM0, SUM1), die Übertragseingangs signale von eins oder null vorwegnehmen, als Eingangssignal an die Summengeneratormittel (45, 46, 48, 51, 52) angelegt werden und
in jeder Byteposition ein Ergebnisauswahlmittel (70) vor gesehen ist, das auf ein Bytepositions-Übertragsausgangs signal (Cy55) des Übertragsnetzwerkmittels (30) und auf Operationssteuersignale (86) reagiert, um von den Ausgangs signalen des Vorsummenmittels eine der arithmetischen Funktionen (SUM0, SW1) oder eine der logischen Funktionen als Ergebnis einer Operationsausführung der Einheit auszu wählen.
Mittel zum Erzeugen arithmetischer Ergebnisse von Operanden und
Mittel zum Ausführen logischer Funktionen von Operanden umfasst, wobei jeder der Operanden eine Vielzahl Byteposi tionen besitzt, und die des weiteren innerhalb jeder Byte position
ein Übertragsnetzwerkmittel (30), das zum Erzeugen von Übertragsausgangssignalen der Bytepositionen (By) mit dem Operandeneingang verbunden ist, und
ein Vorsummenlogikmittel (32)umfasst, welches ein Bit funktionsgeneratormittel (42) und ein Summengeneratormittel (45, 46, 48, 51, 52) aufweist,
dadurch gekennzeichnet, dass
das Bitfunktionsgeneratormittel (42) aus den Operanden (A, B) Bitfunktionen (Gi, Pi) ableitet, welche als logische Funktionen der Operanden (A, B) an den Ausgang des Vorsum menlogikmittels (32) und zum Erzeugen vorläufiger arithme tischer Funktionen (SUM0, SUM1), die Übertragseingangs signale von eins oder null vorwegnehmen, als Eingangssignal an die Summengeneratormittel (45, 46, 48, 51, 52) angelegt werden und
in jeder Byteposition ein Ergebnisauswahlmittel (70) vor gesehen ist, das auf ein Bytepositions-Übertragsausgangs signal (Cy55) des Übertragsnetzwerkmittels (30) und auf Operationssteuersignale (86) reagiert, um von den Ausgangs signalen des Vorsummenmittels eine der arithmetischen Funktionen (SUM0, SW1) oder eine der logischen Funktionen als Ergebnis einer Operationsausführung der Einheit auszu wählen.
2. Einheit gemäß Anspruch 1, wobei das Vorsummenlogikmittel
ein erstes Übertragslogikmittel (45) umfaßt, welches aus
den Bitfunktionen (Gi, Pi) Bitübertragssignale erzeugt,
die ein Übertragseingangssignal in die Byteposition von
null voraussetzen, und ein zweites Übertragslogikmittel
(46), welches aus den Bitfunktionen Bitübertragssignale
erzeugt, die ein Übertragseingangssignal in die
Byteposition von eins voraussetzen.
3. Einheit gemäß den Ansprüchen 1 und 2, wobei das
Vorsummenlogikmittel ein Rohsummenmittel (48) umfaßt, das
aus den Bitfunktionen eine Rohsumme erzeugt, sowie
Antivalenzschaltungsmittel (51, 52), die aus den
Ausgangssignalen des ersten und zweiten
Übertragslogikmittels (45, 46) und des Rohsummenmittels
vorläufige Summen (SUM0, SUM1) erzeugen.
4. Einheit gemäß einem der Ansprüche 1 bis 3, wobei die
Bitfunktionen die Generierungsfunktionen (Gi) und die
Weitergabefunktionen (Pi) sind.
5. Einheit gemäß den Ansprüchen 3 und 4, wobei das
Rohsummenmittel (48) eine Schaltung (49, 50) zum Ausführen
von Antivalenzverknüpfungen der Weitergabefunktionen (Pi)
und der komplementären Generierungsfunktionen (Gi)
enthält.
6. Einheit gemäß Anspruch 1, wobei das Vorsummenlogikmittel
(32) parallel zu dem Übertragsnetzwerk (30) angeordnet ist
und seine Ausgangssignale gleichzeitig mit dem
Übertragsnetzwerk bereitstellt.
7. Einheit gemäß Anspruch 1, wobei das Vorsummenlogikmittel
(32) einen Ausgang (64) für eine logische Funktion umfaßt,
welcher parallel zu dem arithmetischen Funktionsausgang
(SUM) der Einheit arbeitet.
8. Einheit gemäß Anspruch 5, Mittel umfassend, um gleichzei
tig sowohl den Ausgang (64) für eine logische Funktion zur
Anzeige einer Nichtübereinstimmung der Operandenbytes und
den arithmetischen Funktionsausgang (SUM) zur Anzeige des
größeren der beiden Operanden zu benutzen.
9. Einheit gemäß Anspruch 1, ein wahr/komplementär-Mittel
(M1) umfassend, das einem der Operandeneingänge (Bi) zu
geordnet ist und von einem Operationssteuersignal (ANY_
SUB) gesteuert wird, um zur Ausführung von Subtraktions
operationen das Komplement des Operanden für das
Übertragsnetzwerk (30) und die Vorsummenlogik (32)
bereitzustellen.
10. Einheit gemäß Anspruch 1, wobei die logischen Funktionen
die UND-Funktion enthalten.
11. Einheit gemäß Anspruch 1, wobei die logischen Funktionen
die ODER-Funktion enthalten.
12. Einheit gemäß Anspruch 1, wobei die logischen Funktionen
die Antivalenzfunktion (XOR) enthalten, welche aus dem
Ausgangssignal des Rohsummenmittels (48) abgeleitet wird.
13. Einheit gemäß Anspruch 1, wobei die logischen Funktionen
die Äquivalenzfunktion (XNOR) enthalten, welche durch ein
Subtraktionsoperations-Steuersignal (SUB) und durch
Invertieren des Ausgangssignals des Rohsummenmittels (48)
abgeleitet wird.
14. Einheit gemäß Anspruch 1, wobei die logischen Funktionen
die NICHTÜBEREINSTIMMUNG-Funktion enthalten.
15. Einheit gemäß Anspruch 1, wobei das Ergebnisauswahlmittel
(70) einen ersten Multiplexer (M2) umfaßt, der von dem
Übertragsausgangssignal (Cy55) des Übertragsnetzwerkes
(30) gesteuert wird, um eine der Summen (SUM0 oder SUM1)
auf den Ausgang der Einheit zu schalten.
16. Einheit gemäß Anspruch 1, wobei das Ergebnisauswahlmittel
(70) einen zweiten Multiplexer (M3) umfaßt, der von Opera
tionssteuersignalen für logische Operationen gesteuert
wird, um eine der logischen Funktionen der Operanden auf
den Ausgang der Einheit zu schalten.
17. Einheit gemäß Anspruch 1, wobei das Ergebnisauswahlmittel
(70) einen dritten Multiplexer (M4) umfaßt, der von einem
Operationssteuersignal (ANY_LOG) gesteuert wird, um zwi
schen arithmetischen und logischen Operationen zu unter
scheiden, indem entweder die vorgewählte Summe (SUM0 oder
SUM1) oder die vorgewählte logische Funktion auf den Aus
gang der Einheit geschaltet wird.
18. Einheit gemäß Anspruch 1, ein ODER-Schaltungsmittel (68)
umfassend, welches die invertierte Äquivalenzfunktion al
ler Bits der Byteposition von dem Rohsummenmittel (48)
empfängt, um eine logische Bytefunktion NICHTÜBEREINSTIM
MUNG zu erzeugen.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP97119502 | 1997-11-07 |
Publications (2)
Publication Number | Publication Date |
---|---|
DE19847245A1 DE19847245A1 (de) | 1999-07-22 |
DE19847245C2 true DE19847245C2 (de) | 2003-06-18 |
Family
ID=8227589
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19847245A Expired - Fee Related DE19847245C2 (de) | 1997-11-07 | 1998-10-14 | Kombinierte Addierer- und Logik-Einheit |
Country Status (2)
Country | Link |
---|---|
US (1) | US5944772A (de) |
DE (1) | DE19847245C2 (de) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7206802B2 (en) * | 2002-10-10 | 2007-04-17 | International Business Machines Corporation | Hybrid carry look ahead/carry select adder including carry logic generating complementary hot carry signals, and method for producing the carry logic |
US8612500B2 (en) * | 2007-01-18 | 2013-12-17 | International Business Machines Corporation | Method and decimal arithmetic logic unit structure to generate a magnitude result of a mathematic |
JP5115307B2 (ja) * | 2008-04-25 | 2013-01-09 | 富士通セミコンダクター株式会社 | 半導体集積回路 |
RU2641218C1 (ru) * | 2016-12-02 | 2018-01-16 | Татьяна Алексеевна Малышева | Способы выполнения вычислительных операций (во) и устройство их реализации |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0450751A2 (de) * | 1990-04-02 | 1991-10-09 | Advanced Micro Devices, Inc. | Carry-Save-Addierer für schnelle iterative Division |
DE4334294C1 (de) * | 1993-10-08 | 1995-04-20 | Ibm | Prozessor für Zeichenketten variabler Länge |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0478731A4 (en) * | 1990-04-04 | 1993-09-22 | International Business Machines Corporation | Early scism alu status determination apparatus |
US5487025A (en) * | 1993-11-15 | 1996-01-23 | Intergraph Corporation | Carry chain adder using regenerative push-pull differential logic |
US5764550A (en) * | 1996-07-22 | 1998-06-09 | Sun Microsystems, Inc. | Arithmetic logic unit with improved critical path performance |
-
1997
- 1997-11-13 US US08/970,076 patent/US5944772A/en not_active Expired - Fee Related
-
1998
- 1998-10-14 DE DE19847245A patent/DE19847245C2/de not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0450751A2 (de) * | 1990-04-02 | 1991-10-09 | Advanced Micro Devices, Inc. | Carry-Save-Addierer für schnelle iterative Division |
DE4334294C1 (de) * | 1993-10-08 | 1995-04-20 | Ibm | Prozessor für Zeichenketten variabler Länge |
Non-Patent Citations (1)
Title |
---|
TIETZE, Ulrich, SCHENK, Christoph: Halbleiter- Schaltungstechnik, 9. Aufl., Berlin (u.a.): Springer, 1990, S. 605-609 * |
Also Published As
Publication number | Publication date |
---|---|
US5944772A (en) | 1999-08-31 |
DE19847245A1 (de) | 1999-07-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE10085322B4 (de) | Schaltungsanordnung, Verfahren und Datenverarbeitungs-Einrichtung zum Durchführen einer Ein-Zyklus-Addition oder -Subtraktion und eines Vergleichs bei einer Arithmetik redundanter Form | |
DE3306084C2 (de) | ||
DE69632978T2 (de) | Multi-Operand-Addierer, der Parallelzähler benutzt | |
DE3486211T2 (de) | Kodebestimmung mit einem auf Halbaddierer basierten Operandenvergleicher. | |
DE3700991C2 (de) | Digitaler Übertragsvorgriffsaddierer | |
DE3686828T2 (de) | Hochleistungsparalleler vektorprozessor mit modifizierter register/elementprozessor konfiguration. | |
DE2421130C2 (de) | ||
DE3840969A1 (de) | Integrierte halbleiter-schaltungsvorrichtung | |
DE2758130C2 (de) | Binärer und dezimaler Hochgeschwindigkeitsaddierer | |
DE1197650B (de) | Parallel-Addierer | |
DE4403917A1 (de) | Vorrichtung zum Berechnen einer Besetzungszählung | |
DE1549508C3 (de) | Anordnung zur Übertragsberechnung mit kurzer Signallaufzeit | |
DE3688806T2 (de) | Instruktionsprozessor. | |
DE3852576T2 (de) | Einrichtung und Verfahren für eine erweiterte Arithmetik-Logik-Einheit zur Beschleunigung der ausgewählten Operationen. | |
DE69629646T2 (de) | Verfahren zur durchführung einer "rotate through carry" operatiion | |
DE19847245C2 (de) | Kombinierte Addierer- und Logik-Einheit | |
DE3447634C2 (de) | ||
DE3424078A1 (de) | Dezimalmultiplikations-einrichtung | |
DE19846828B4 (de) | Kombinierter Binär-/Dezimal-Addierer | |
DE3688434T2 (de) | Schneller bcd/binaer-addierer. | |
DE3323607A1 (de) | Digitales rechenwerk | |
DE1449564C3 (de) | Recheneinrichtung zur Subtraktion mehrerer Operanden oder zu deren Addition durch Verwendung von Komplementärwerten eines der Operanden | |
DE19644688B4 (de) | Schaltungsanordnung einer digitalen Multiplizierer-Baugruppe, zur Verarbeitung von Binärzahlen sowie Elementen aus GF(2m) | |
DE1774771B2 (de) | Anordnung, um wechselweise eine addition oder eine aus einer anzahl logischer funktionen zwischen den stellenwerten zweier binaerwoerter durchzufuehren | |
DE10206830B4 (de) | Verfahren und Anordnung zur Zusammenführung von Daten aus parallelen Datenpfaden |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OP8 | Request for examination as to paragraph 44 patent law | ||
8304 | Grant after examination procedure | ||
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |