DE3689636T2 - Gerät zur Feststellung von Bedingungen in einer Recheneinheit. - Google Patents

Gerät zur Feststellung von Bedingungen in einer Recheneinheit.

Info

Publication number
DE3689636T2
DE3689636T2 DE19863689636 DE3689636T DE3689636T2 DE 3689636 T2 DE3689636 T2 DE 3689636T2 DE 19863689636 DE19863689636 DE 19863689636 DE 3689636 T DE3689636 T DE 3689636T DE 3689636 T2 DE3689636 T2 DE 3689636T2
Authority
DE
Germany
Prior art keywords
register
operand
zero
bits
logic
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
Application number
DE19863689636
Other languages
English (en)
Other versions
DE3689636D1 (de
Inventor
Allen J Baum
William R Bryg
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.)
HP Inc
Original Assignee
Hewlett Packard Co
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 Hewlett Packard Co filed Critical Hewlett Packard Co
Application granted granted Critical
Publication of DE3689636D1 publication Critical patent/DE3689636D1/de
Publication of DE3689636T2 publication Critical patent/DE3689636T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/491Computations with decimal numbers radix 12 or 20.
    • G06F7/492Computations with decimal numbers radix 12 or 20. using a binary weighted representation within each denomination
    • G06F7/493Computations with decimal numbers radix 12 or 20. using a binary weighted representation within each denomination the representation being the natural binary coded representation, i.e. 8421-code
    • G06F7/494Adding; Subtracting
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/02Comparing digital values
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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 OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/38Indexing scheme relating to groups G06F7/38 - G06F7/575
    • G06F2207/3804Details
    • G06F2207/386Special constructional features
    • G06F2207/3896Bit slicing
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/492Indexing scheme relating to groups G06F7/492 - G06F7/496
    • G06F2207/4924Digit-parallel adding or subtracting
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/499Denomination or exception handling, e.g. rounding or overflow
    • G06F7/49905Exception handling
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/499Denomination or exception handling, e.g. rounding or overflow
    • G06F7/49905Exception handling
    • G06F7/4991Overflow or underflow

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Executing Machine-Instructions (AREA)

Description

  • Die Erfindung betrifft eine Vorrichtung zum Anwenden von Operationen auf mehr als einen Operanden und zum Erzeugen eines Ergebnisses der Operation sowie eines Zustandsergebnisses.
  • Eine Vorrichtung dieser Art ist zum Beispiel in Electronic Design, Band 29, Nr. 25, 1981, S. 104 bis 112, IBM Field Engineering Theory of Operation, 5. Auflage, 1965, Poughkeepsie, S. 35 bis 41 und IBM Technical Disclosure Bulletin, Band 18, Nr. 9, 1976, S. 3099 bis 3104 offenbart. Die in diesen Druckschriften offenbarten Systeme umfassen eine erste und eine zweite Einheit zum Durchführen der gewünschten Aufgaben.
  • Die vorliegende Erfindung schafft eine Vorrichtung zum Anwenden von Operationen auf einen ersten Operanden und einen zweiten Operanden, welche die Merkmale des Anspruchs 1 enthält.
  • Gemäß der bevorzugten Ausführungsform der vorliegenden Erfindung wird eine Vorrichtung vorgestellt, welche Zustandssignale erzeugt, die auf Teilen des Ergebnisses einer Berechnung basieren, die mit einem oder mehreren Operanden durch ein Rechenwerk (ALU) durchgeführt wurde. Operationen wie "Addiere und Überprüfe Überlauf" oder "Addiere zu Komplement und Überprüfe Überlauf" oder "Ausschließliches ODER (XOR) und Überprüfe auf Null" können auf der Grundlage der Teile des Ergebnisses durchgeführt werden.
  • Kurze Beschreibung der Zeichnungen
  • Fig. 1 zeigt ein Rechenwerk (ALU), welches zwei Operanden empfängt und ein Ergebnis erzeugt,
  • Fig. 2 ist eine detailliertere Zeichnung der ALU, die in Fig. 1 gezeigt ist,
  • Fig. 3 zeigt die logische Implementierung einer Schaltung innerhalb der in Fig. 1 gezeigten ALU, welche auf eine Null einer Einheit in einer ALU-Resultanten überprüft,
  • Fig. 4 zeigt die logische Implementierung einer Schaltung innerhalb der in Fig. 1 gezeigten ALU, welche auf einen Übertrag von Einheiten überprüft, der aus einer Operation zwischen den zwei Operanden resultiert.
  • Beschreibung der bevorzugten Ausführungsform
  • Fig. 1 zeigt ein Rechenwerk (ALU) 10, welches einen Operanden von einem Register 11, einen Operanden von einem Register 12 und eine Eingabe von Steuerleitungen 14 empfängt. Die ALU erzeugt eine Resultante, welche in Register 13 abgelegt wird, und verschiedene Zustandsausgaben auf Zustandsleitungen 15.
  • Fig. 2 zeigt die ALU 10, welche in acht Einheiten 210, 220, 230, 240, 250, 260, 270 und 280 unterteilt ist. Jede Einheit aus den Einheiten 210, 220, 230, 240, 250, 260, 270 und 280 empfängt vier Bit von Register 11 und vier Bit von Register 12. Jede Einheit aus den Einheiten 210, 220, 230, 240, 250, 260, 270 und 280 erzeugt weiterhin einen Ausgang auf einer Übertragsleitung und einen Ausgang auf vier Ausgangsleitungen, welche mit dem Register 13 verbunden werden. Die Leitungen, welche mit 211, 221, 231, 241, 251, 261, 271 und 281 bezeichnet sind, übertragen jeweils vier Bit von dem Register 11. Die Leitungen, welche mit 212, 222, 232, 242, 252, 262, 272 und 282 bezeichnet sind, übertragen jeweils vier Bit von dem Register 12. Die Leitungen 217, 227, 237, 247, 257, 267, 277 und 287 sind Übertragsleitungen von den Einheiten 210, 220, 230, 240, 250, 260, 270 und 280, wie gezeigt. Die Leitungen 213- 216, 223-226, 233-236, 243-246, 253-256, 263-266, 273-276 und 283-286 sind jeweils Ausgangsleitungen und gehen wie gezeigt von den Einheiten 210, 220, 230, 240, 250, 260, 270 und 280 aus.
  • Wenn die ALU 10, wie in Fig. 2 gezeigt, in acht Einheiten unterteilt ist, kann der Ausgang dieser Einheiten verwendet werden, um einen Vergleich von Character-Werten durchzuführen. Man nehme z. B. an, daß es gewünscht ist, den Buchstaben "S" zu suchen, der in einem 8-Bit-ASCII-Code codiert ist. In das Register 11 werden vier Byte Daten geladen, in welchen gesucht werden soll. In das Register 12 wird die Darstellung von "SSSS" im ASCII-Code geladen. Die ALU 10 führt dann ein Boolesches "ausschließliches ODER" (XOR) zwischen einem Operanden in dem Register 11 und einem Operanden in dem Register 12 durch. Die Ausgabe dieser Daten von der ALU 10 wird auf eine 8-Bit-Zeichenfolge überprüft, welche vollständig gleich der logischen Null ist. Wenn alle Bits in einer 8-Bit- Zeichenfolge logisch null sind, wurde ein Buchstabe "S" in den Daten gefunden, die sich ursprünglich in Register 11 befanden.
  • Fig. 3 zeigt eine Implementierung einer Schaltung, welche das Überprüfen auf Null für die Ausgabe der ALU 10 durchführt. Die logischen Gatter 301-308, welche jeweils eine Boolesche ODER (OR)-Operation durchführen, besitzen Eingänge, welche an die Leitungen 213-216, 223-226, 233-236, 243-246, 253-256, 263-266, 273-276 und 283-286 gekoppelt sind, die von den Einheiten 210, 220, 230, 240, 250, 260, 270 und 280 ausgehen, die in Fig. 2 gezeigt sind. Die Ausgänge von den logischen Gattern 301-308 sind mit den logischen Gattern 311-314 wie gezeigt verbunden. Die logischen Gatter 311-314 führen jeweils eine Boolesche ODER-NICHT (NOR)-Operation durch. Die Ausgänge der logischen Gatter 311-314 sind an das logische Gatter 331 angeschlossen. Das logische Gatter 331 führt eine ODER-Operation durch.
  • Wie man aus der Schaltung in Fig. 3 erkennt, werden Bits in vier 8-Bit-Abschnitten überprüft. Wenn alle Bits in einem der 8-Bit-Abschnitte logisch null sind, wird eine logische Eins am Ausgang 352 des logischen Gatters 331 erscheinen.
  • Ein ähnliches Überprüfen auf Null kann für 16-Bit-Abschnitte geschehen. Dies wird durch die Schaltung in Fig. 3 mit Hilfe der logischen Gatter 321 und 322, welche jeweils eine ODER- NICHT (NOR)-Funktion erfüllen, und durch ein logisches Gatter 341 implementiert, welches eine ODER-Funktion erfüllt. Wenn alle Bits in einem der zwei 16-Bit-Abschnitte logisch null sind, wird eine logische Eins an einem Ausgang 351 des logischen Gatters 341 erscheinen.
  • Eine weitere Verwendung des Ausgangs der acht in Fig. 2 gezeigten Unterabschnitte ist die Bereichsprüfung. Wenn zum Beispiel Zahlen als binär codierte Dezimalzahlen (BCD) codiert werden, sollte jede 4-Bit-Einheit eine Zahl im Bereich von Null (0000 Basis 2) bis 9 (1001 Basis 2) enthalten. Um den Bereich der acht 4-Bit-BCD-Ziffern zu überprüfen, können diese Ziffern in das Register 11 geladen werden. In das Register 12 werden ebenfalls acht 4-Bit-BCD-Ziffern geladen, welche alle gleich sechs sind, d. h. "66666666". Die ALU führt eine Additionsoperation zwischen dem Operanden in dem Register 11 und dem Operanden im Register 12 durch und legt die Antwort in dem Register 13 ab. Die Übertragsleitungen 217, 227, 237, 247, 257, 267, 277 und 287 von den Einheiten 210, 220, 230, 240, 250, 260, 270 und 280 werden auf eine logische Eins überprüft. Wenn eine dieser Übertragsleitungen eine logische Eins aufweist, hat es einen Überlauf gegeben, was anzeigt, daß eine der acht Ziffern nicht richtig BCD-codiert ist.
  • Fig. 4 zeigt eine Schaltung, welche die Logik implementiert, die nötig ist, um die Übertragsleitungen 217, 227, 237, 247, 257, 267, 277 und 287 zu überprüfen. Für das BCD-Testen werden die Übertragsleitungen 217, 227, 237, 247, 257, 267, 277 und 287 an das logische Gatter 401 gekoppelt, welches eine ODER- Funktion erfüllt. Wenn es einen Überlauf bei einer der Einheiten aus den Einheiten 210, 220, 230, 240, 250, 260, 270 und 280 gibt, wird der Ausgang 411 des logischen Gatters 401 eine logische Eins sein.
  • In ähnlicher Weise kann die Bereichsprüfung für 8-Bit-Abschnitte durchgeführt werden, indem der Ausgang 412 des logischen Gatters 402 überprüft wird, welches eine ODER-Funktion erfüllt. Weiterhin kann die Bereichsprüfung für 16-Bit-Abschnitte durchgeführt werden, indem der Ausgang 413 des logischen Gatters 413 überprüft wird, welches ebenfalls eine ODER- Funktion erfüllt.
  • Eine Reihe anderer ALU-Anweisungen kann für die Bereichsprüfung verwendet werden. Zum Beispiel könnte statt einem "Addiere und Überprüfe auf Übertrag" die ALU das Komplement des Operanden in dem Register 12 zu dem Operanden in Register 11 addieren. In diesem Fall würden acht 4-Bit-BCD-Ziffern in das Register 12 geladen werden, welche den Wert "99999999" hätten.

Claims (2)

1. Vorrichtung zum Anwenden von Operationen auf einen ersten Operanden (11) und einen zweiten Operanden (12), welche umfaßt:
eine Recheneinrichtung (10) zum Empfangen des ersten Operanden (11) und des zweiten Operanden (12) und zum Erzeugen einer Vielzahl von Resultatbits (213-216, 223-226, 233-236, 243-246, 253-256, 263-266, 273-276, 283-286),
eine erste Bedingungseinrichtung (301-308, 321, 322, 341), welche mit der Recheneinrichtung verbunden ist, um eine erste Vielzahl von Untergruppen, welche jeweils eine erste Anzahl von zusammenhängenden Resultatbits umfassen, daraufhin zu überprüfen, ob alle Resultatbits in einer der Untergruppen gleich Null sind, und
eine zweite Bedingungseinrichtung (301-308, 311-314, 331), welche mit der Recheneinrichtung verbunden ist, um eine zweite Vielzahl von Untergruppen, welche jeweils eine zweite Anzahl von zusammenhängenden Resultatbits umfassen, daraufhin zu überprüfen, ob alle Resultatbits innerhalb einer der Untergruppen gleich Null sind,
wobei die erste Anzahl nicht gleich der zweiten Anzahl ist.
2. Vorrichtung nach Anspruch 1, bei welcher die Recheneinrichtung eine Vielzahl von Einheiten (210, 220, 230, 240, 250, 260, 270, 280) umfaßt wobei jede Einheit ein Übertragsbit (211, 221, 231, 241, 25,1, 261, 271, 281) besitzt, und wobei die Vorrichtung weiterhin enthält:
eine erste Übertrags-Bedingungseinrichtung (402), welche mit der Vielzahl von Einheiten verbunden ist, zum Überprüfen, ob eine erste Untergruppe von Übertragsbits vollständig gleich Null ist, und
eine zweite Übertrags-Bedingungseinrichtung (401), welche mit der Vielzahl von Einheiten verbunden ist, zum Überprüfen, ob eine zweite Untergruppe von Übertragsbits vollständig gleich Null ist, wobei die erste Untergruppe nicht gleich der zweiten Untergruppe ist.
DE19863689636 1985-05-30 1986-05-28 Gerät zur Feststellung von Bedingungen in einer Recheneinheit. Expired - Fee Related DE3689636T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US74165285A 1985-05-30 1985-05-30

Publications (2)

Publication Number Publication Date
DE3689636D1 DE3689636D1 (de) 1994-03-24
DE3689636T2 true DE3689636T2 (de) 1994-06-01

Family

ID=24981609

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19863689636 Expired - Fee Related DE3689636T2 (de) 1985-05-30 1986-05-28 Gerät zur Feststellung von Bedingungen in einer Recheneinheit.

Country Status (4)

Country Link
EP (1) EP0203599B1 (de)
JP (1) JPS61275936A (de)
CA (1) CA1250369A (de)
DE (1) DE3689636T2 (de)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4890253A (en) * 1988-12-28 1989-12-26 International Business Machines Corporation Predetermination of result conditions of decimal operations
CA2045773A1 (en) * 1990-06-29 1991-12-30 Compaq Computer Corporation Byte-compare operation for high-performance processor

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5833572B2 (ja) * 1977-10-21 1983-07-20 株式会社東芝 情報処理方式

Also Published As

Publication number Publication date
CA1250369A (en) 1989-02-21
EP0203599A3 (en) 1990-03-14
EP0203599A2 (de) 1986-12-03
DE3689636D1 (de) 1994-03-24
EP0203599B1 (de) 1994-02-16
JPS61275936A (ja) 1986-12-06

Similar Documents

Publication Publication Date Title
DE3788965T2 (de) Steuerungsschaltung für Zweirichtungsverschiebung mit variabler Anzahl.
DE2900324C2 (de)
DE68924477T2 (de) Gleitkommaeinheit mit gleichzeitiger Multiplikation und Addition.
DE68926330T2 (de) Antizipator für die Anzahl vorhergehender Nullen/Einsen
DE69632978T2 (de) Multi-Operand-Addierer, der Parallelzähler benutzt
DE2524046C2 (de) Elektronische Datenverarbeitungsanlage
DE3886194T2 (de) Vorrichtung und verfahren zum verwenden einer einzelübertragskette für führende "eins"-detektierung und für "sticky" bit-berechnung.
DE4403917C2 (de) Vorrichtung zum Berechnen einer Bit-Besetzungszählung
DE2440389A1 (de) Vorrichtung zum verschieben von digitalen informationen in datenverarbeitungsgeraeten
DE1162111B (de) Gleitkomma-Recheneinrichtung
DE2623986A1 (de) Parallelrechenwerk
DE1549508C3 (de) Anordnung zur Übertragsberechnung mit kurzer Signallaufzeit
DE2405858A1 (de) Normalisierendes verschiebezaehlernetzwerk
DE69519448T2 (de) Digitale Verarbeitungsanlage mit Befehlen zum Suchen des Minimums und Maximums
DE3434777C2 (de)
DE69230520T2 (de) Verfahren und Anordung zur Erzeugung von Summeinformation-/Rundungskontrolle-Signal
DE295464T1 (de) Filter n-ten ranges.
DE3689636T2 (de) Gerät zur Feststellung von Bedingungen in einer Recheneinheit.
DE69225638T2 (de) Abrundungsschaltung in einem Gleitkommamultiplizierer
DE68921083T2 (de) Operationsschaltung für auf die Fliesskommadarstellung basierenden Operanden.
DE3855066T2 (de) Operationsvorrichtung zur Verarbeitung von Daten willkürlicher Länge
DE2952072A1 (de) Einrichtung zur verarbeitung binaer codierter dezimalzahlen
DE3785624T2 (de) Digitaler signalprozessor mit dividierfunktion.
DE1915493C3 (de) Schaltung für Multiplikation nach dem Prinzip der fortgesetzten, stellenversetzten Addition
DE69423715T2 (de) Zur gleichzeitigen Ausführung von mehreren Operationen fähige ALE

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee