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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/491—Computations with decimal numbers radix 12 or 20.
- G06F7/492—Computations with decimal numbers radix 12 or 20. using a binary weighted representation within each denomination
- G06F7/493—Computations 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/494—Adding; Subtracting
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/02—Comparing digital values
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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 OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2207/00—Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F2207/38—Indexing scheme relating to groups G06F7/38 - G06F7/575
- G06F2207/3804—Details
- G06F2207/386—Special constructional features
- G06F2207/3896—Bit slicing
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2207/00—Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F2207/492—Indexing scheme relating to groups G06F7/492 - G06F7/496
- G06F2207/4924—Digit-parallel adding or subtracting
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/499—Denomination or exception handling, e.g. rounding or overflow
- G06F7/49905—Exception handling
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/499—Denomination or exception handling, e.g. rounding or overflow
- G06F7/49905—Exception handling
- G06F7/4991—Overflow 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.
- 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.
- 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.
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)
| 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)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS5833572B2 (ja) * | 1977-10-21 | 1983-07-20 | 株式会社東芝 | 情報処理方式 |
-
1986
- 1986-05-06 JP JP61103722A patent/JPS61275936A/ja active Pending
- 1986-05-28 DE DE19863689636 patent/DE3689636T2/de not_active Expired - Fee Related
- 1986-05-28 EP EP19860107277 patent/EP0203599B1/de not_active Expired - Lifetime
- 1986-05-29 CA CA000510270A patent/CA1250369A/en not_active Expired
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 |