DE19847245A1 - Kombinierte Addierer- und Logik-Einheit - Google Patents
Kombinierte Addierer- und Logik-EinheitInfo
- Publication number
- DE19847245A1 DE19847245A1 DE19847245A DE19847245A DE19847245A1 DE 19847245 A1 DE19847245 A1 DE 19847245A1 DE 19847245 A DE19847245 A DE 19847245A DE 19847245 A DE19847245 A DE 19847245A DE 19847245 A1 DE19847245 A1 DE 19847245A1
- Authority
- DE
- Germany
- Prior art keywords
- logic
- unit
- sum
- carry
- functions
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 101150112492 SUM-1 gene Proteins 0.000 claims description 11
- 101150096255 SUMO1 gene Proteins 0.000 claims description 11
- 230000000295 complement effect Effects 0.000 claims description 7
- 238000012546 transfer Methods 0.000 claims description 3
- 238000012545 processing Methods 0.000 description 4
- 238000007792 addition Methods 0.000 description 3
- 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
- 238000000034 method Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 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 Erfindung betrifft eine kombinierte Addierer-Logik-Einheit
zum Ausführen schneller arithmetischer und logischer Operatio
nen mit Operanden, die eine Vielzahl Bytepositionen aufweisen.
Arithmetische und logische Operationen gehören zu den Grund
operationen von Informationsprozessoren. Die bevorzugten Opera
tionen sind Additionen und Subtraktionen sowie die logischen
Funktionen UND, ODER und Antivalenz. Bekannte Prozessoren er
halten eine Arithmetik-Logik-Einheit, welche eine binäre Addie
rereinheit und eine separate Logikeinheit zur Ausführung logi
scher 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, Englewood Cliffs, USA, 1996, Seiten 383 bis 408 beschrie
ben worden.
Die bekannten Addierer- und Logikeinheiten werden ebenfalls
verwendet, um spezielle Funktionen wie beispielsweise die Ver
arbeitung von Zeichenketten veränderlicher Länge auszuführen,
wie dies für Anwendungen bei Datenbanken und der Textverarbei
tung erforderlich ist. Das Patent DE 43 34 294 offenbart ein
Gerät dieses Typs, welches eine Addierereinheit, eine Logik
einheit und eine zusätzliche Komparatoreinheit umfaßt, von de
nen jede ihre eigenen Operandeneingangs- und Ausgangsleitungen
besitzt. Mit zunehmender Schaltungsdichte werden die Leitungs
verbindungen 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 eine Aufgabe der Erfindung, die Ausführungszeit arithme
tischer und logischer Operationen in einer kombinierten
Addierer- und Logikeinheit zu verringern und die Ausführung von
Zeichenkettenoperationen zu verbessern. Eine andere Aufgabe der
Erfindung ist es, die Anzahl der Eingangs- und Ausgangsleitun
gen der Addierer- und Logikbaugruppe eines Prozessors zu ver
ringern. Noch eine andere Aufgabe der Erfindung ist es, die
Eingangsbelastung zu verbessern und die Leitungsverzögerungen
und die Kapazität der Arithmetik- und Logikbaugruppe eines Mi
kroprozessorchips zu verringern. Die Erfindung wird in den An
sprüchen definiert.
Gemäß der Erfindung umfaßt die kombinierte Addierer- und Logik
einheit ein Netzwerk für die Übertragsverarbeitung, welches mit
den Operandeneingängen verbunden ist, um Übertragsausgangssig
nale für die Bytepositionen zu erzeugen, und sie enthält des
weiteren eine Vorsummenlogik, die einen Bitfunktionsgenerator
und einen Summengenerator umfaßt. Der Bitfunktionsgenerator
leitet aus den Operanden Ai und Bi die Bitfunktionen Gi, Pi ab,
welche als logisches Funktionsausgangssignal der Einheit und
als Eingangssignal für den Summengenerator bereitgestellt wer
den, um vorläufige arithmetische Funktionen (SUM0, SUM1) zu
bilden, um das Auftreten von Übertragseingangssignalen von eins
oder null vorwegzunehmen. Eine Ergebnisauswahleinrichtung wird
von einem Byte-Übertragsausgangssignal (Cy55) des Übertrags
netzwerkes 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 Ai 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
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
.
.
.
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
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
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 Ope
rationen 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-Über
tragsausgangssignal 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.
Wenn die Erfindung auch unter Bezugnahme auf eine bevorzugte
Ausführungsform beschrieben worden ist, so liegen doch
Veränderungen, Modifikationen und andere Ausführungsformen der
Erfindung innerhalb des Gebietes der Erfindung, wie es in den
anhängenden Ansprüchen definiert wird.
Claims (18)
1. Kombinierte Addierer- und Logikeinheit (10), Mittel zum
Erzeugen arithmetischer Ergebnisse von Operanden und Mit
tel zum Ausführen logischer Funktionen von Operanden um
fassend, wobei jeder der Operanden eine Vielzahl Byteposi
tionen besitzt,
gekennzeichnet durch:
- (a) ein Übertragsnetzwerkmittel (30), das zum Erzeugen von Übertragsausgangssignalen der Bytepositionen (By) mit dem Operandeneingang verbunden ist,
- (b) ein Vorsummenlogikmittel (32), ein Bitfunktionsgene ratormittel (42) und Summengeneratormittel (45, 46, 48, 51, 52) umfassend, wobei das Bitfunktionsmittel aus den Operanden (A, B) Bitfunktionen (Gi, Pi) ab leitet, welche als logische Funktionen der Operanden an den Ausgang des Vorsummenlogikmittels und zum Er zeugen vorläufiger arithmetischer Funktionen (SUM0, SUM1), die Übertragseingangssignale von eins oder null vorwegnehmen, als Eingangssignal an die Summen generatormittel angelegt werden;
- (c) ein Ergebnisauswahlmittel (70), das auf ein Bytepositions-Übertragsausgangssignal (Cy55) des Übertragsnetzwerkmittels und auf Operationssteuersignale (80) reagiert, um von den Ausgangssignalen des Vorsummenmittels eine der arithmetischen Funktionen (SUM0, SUM1) oder eine der logischen Funktionen als Ergebnis einer Operationsausführung der Einheit auszuwä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ÜBEREINSTIMMUNG zu erzeugen.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP97119502 | 1997-11-07 |
Publications (2)
Publication Number | Publication Date |
---|---|
DE19847245A1 true DE19847245A1 (de) | 1999-07-22 |
DE19847245C2 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 | Татьяна Алексеевна Малышева | Способы выполнения вычислительных операций (во) и устройство их реализации |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0450751B1 (de) * | 1990-04-02 | 1998-12-16 | Advanced Micro Devices, Inc. | Schneller digitaler Dividierer |
JPH07122846B2 (ja) * | 1990-04-04 | 1995-12-25 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 3―1alu装置 |
DE4334294C1 (de) * | 1993-10-08 | 1995-04-20 | Ibm | Prozessor für Zeichenketten variabler Länge |
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
Also Published As
Publication number | Publication date |
---|---|
DE19847245C2 (de) | 2003-06-18 |
US5944772A (en) | 1999-08-31 |
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 | |
DE3788965T2 (de) | Steuerungsschaltung für Zweirichtungsverschiebung mit variabler Anzahl. | |
DE2900324C2 (de) | ||
DE69130640T2 (de) | Arithmetische Operationseinheit mit Bit-Invertierungsfunktion | |
DE3840969A1 (de) | Integrierte halbleiter-schaltungsvorrichtung | |
DE2758130C2 (de) | Binärer und dezimaler Hochgeschwindigkeitsaddierer | |
DE1197650B (de) | Parallel-Addierer | |
DE3689356T2 (de) | Verfahren und Schaltung zum Generieren von binären Signalen und modifizierter Bitfolge. | |
DE1549508C3 (de) | Anordnung zur Übertragsberechnung mit kurzer Signallaufzeit | |
DE3852576T2 (de) | Einrichtung und Verfahren für eine erweiterte Arithmetik-Logik-Einheit zur Beschleunigung der ausgewählten Operationen. | |
DE3788290T2 (de) | Arithmetische Schaltung, welche Gleitkommaoperationen und Festkommaoperationen ausführen kann. | |
DE69519448T2 (de) | Digitale Verarbeitungsanlage mit Befehlen zum Suchen des Minimums und Maximums | |
DE2405858A1 (de) | Normalisierendes verschiebezaehlernetzwerk | |
DE69229325T2 (de) | Schaltung zur Detektierung der Position eines äussersten "1"-Bits in eine Binärzahl | |
DE69521464T2 (de) | Paralleler Prozessor | |
DE3434777C2 (de) | ||
DE2830334A1 (de) | Multipliziereinrichtung | |
DE19847245C2 (de) | Kombinierte Addierer- und Logik-Einheit | |
DE3828290A1 (de) | Addierer und addierschaltung zur verwendung des addierers | |
DE69225638T2 (de) | Abrundungsschaltung in einem Gleitkommamultiplizierer | |
DE19846828B4 (de) | Kombinierter Binär-/Dezimal-Addierer | |
DE69327421T2 (de) | Anordnung und Verfahren zum parallelisierten Grössenvergleich von digitalen Daten | |
DE3933172A1 (de) | Akkumulator fuer komplexe zahlen | |
DE3785624T2 (de) | Digitaler signalprozessor mit dividierfunktion. | |
DE1774771B2 (de) | Anordnung, um wechselweise eine addition oder eine aus einer anzahl logischer funktionen zwischen den stellenwerten zweier binaerwoerter durchzufuehren |
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 |