DE19847245A1 - Kombinierte Addierer- und Logik-Einheit - Google Patents

Kombinierte Addierer- und Logik-Einheit

Info

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
Application number
DE19847245A
Other languages
English (en)
Other versions
DE19847245C2 (de
Inventor
Juergen Haas
Wilhelm Dr Haller
Ulrich Krauch
Thomas Ludwig
Holger Wetter
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE19847245A1 publication Critical patent/DE19847245A1/de
Application granted granted Critical
Publication of DE19847245C2 publication Critical patent/DE19847245C2/de
Anticipated expiration legal-status Critical
Expired - Fee Related 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/57Arithmetic 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/575Basic 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
    • 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/507Adding; 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
    • 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

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

Gebiet der Erfindung
Die Erfindung betrifft eine kombinierte Addierer-Logik-Einheit zum Ausführen schneller arithmetischer und logischer Operatio­ nen mit Operanden, die eine Vielzahl Bytepositionen aufweisen.
Hintergrund der Erfindung
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.
Zusammenfassung der Erfindung
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.
Kurze Beschreibung der Zeichnungen
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.
Detaillierte Beschreibung einer bevorzugten Ausführungsform der Erfindung
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
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.
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
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.
DE19847245A 1997-11-07 1998-10-14 Kombinierte Addierer- und Logik-Einheit Expired - Fee Related DE19847245C2 (de)

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)

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

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

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
DE2900324C2 (de)
DE2616717C2 (de) Digitales Addierwerk
DE69632978T2 (de) Multi-Operand-Addierer, der Parallelzähler benutzt
DE3700991C2 (de) Digitaler Übertragsvorgriffsaddierer
DE2712224A1 (de) Datenverarbeitungsanlage
DE3840969A1 (de) Integrierte halbleiter-schaltungsvorrichtung
DE2758130C2 (de) Binärer und dezimaler Hochgeschwindigkeitsaddierer
DE3700323C2 (de)
DE1197650B (de) Parallel-Addierer
DE69434806T2 (de) Verfahren, System und Vorrichtung zum automatischen Entwurf einer Multiplikatorschaltung und durch die Durchführung dieses Verfahrens entworfene Multiplikatorschaltung
DE2230188C2 (de) Arithmetisch-logische Einheit für einen Digitalprozessor für variable Wortlängen
CH644461A5 (de) Digitale multipliziereinrichtung.
DE1549508C3 (de) Anordnung zur Übertragsberechnung mit kurzer Signallaufzeit
DE2405858A1 (de) Normalisierendes verschiebezaehlernetzwerk
DE3434777C2 (de)
DE2830334A1 (de) Multipliziereinrichtung
DE19847245C2 (de) Kombinierte Addierer- und Logik-Einheit
DE1187403B (de) Verfahren und Einrichtung zur logischen Verknuepfung zweier Operanden
DE3828290A1 (de) Addierer und addierschaltung zur verwendung des addierers
DE19846828B4 (de) Kombinierter Binär-/Dezimal-Addierer
DE3933172A1 (de) Akkumulator fuer komplexe zahlen
DE1774771B2 (de) Anordnung, um wechselweise eine addition oder eine aus einer anzahl logischer funktionen zwischen den stellenwerten zweier binaerwoerter durchzufuehren
DE1184122B (de) Addiervorrichtung
DE1499227C3 (de) Schaltungsanordnung für arithmetische und logische Grundoperationen

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