EP0136174B1 - Hardware für Arithmetik-Logikeinheitsprüfung - Google Patents
Hardware für Arithmetik-Logikeinheitsprüfung Download PDFInfo
- Publication number
- EP0136174B1 EP0136174B1 EP84306547A EP84306547A EP0136174B1 EP 0136174 B1 EP0136174 B1 EP 0136174B1 EP 84306547 A EP84306547 A EP 84306547A EP 84306547 A EP84306547 A EP 84306547A EP 0136174 B1 EP0136174 B1 EP 0136174B1
- Authority
- EP
- European Patent Office
- Prior art keywords
- inputs
- input
- arithmetic logic
- alu
- logic unit
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/30021—Compare instructions, e.g. Greater-Than, Equal-To, MINMAX
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/2205—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
- G06F11/2226—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested to test ALU
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30094—Condition code generation, e.g. Carry, Zero flag
Definitions
- the present invention relates to central processing units (CPUs) in data processing systems. More particularly, the invention relates to the arithmetic logic units (ALUs) contained within CPUs in data processing systems and conditions which may be tested for by software with respect to the data presented to ALUs.
- CPUs central processing units
- ALUs arithmetic logic units
- ALU typically has two inputs to which operands are presensed and upon which the ALU performs one of several arithmetic or logical functions.
- the ALU "result" is the quantity which is presented at the output of the ALU as a result of the particular arithmetic or logical function which the ALU has been instructed by software to perform on the input operands.
- This test examines the output of the ALU to determine whether in fact the ALU output is equal to zero.
- This test has assumed more than one form.
- the test allows masking of a subset of the bits forming one input to the ALU to ascertain whether a given bit field portion appearing on the other ALU input is equal to zero.
- a chosen portion of one input to the ALU is set with all logical "ones" while all other portions of the bit field of that input are "masked” or set to logical "zero".
- Another common use of this test is a loop counter routine wherein one input to the ALU is a value which is decremented in a subtract operation by the value placed on the other input to the ALU. After each decrement operation, the ALU result is tested to see if it is equal to zero. When the result is equal to zero, the loop counter routine is terminated.
- IBM Technical Disclosure Bulletin, Vol. 24, No. 8, of January 1982; p. 4410 discusses a system in which there is a test capability outside the data flow.
- the test for the condition code is performed at the input, and therefore this document discloses an apparatus for performing one or more tests on data presented to the inputs of an arithmetic logic unit in a central processing unit of a data processing system, with the arithmetic logic having two inputs.
- Data inputs, representative of first and second desired quantities, are provided to first and second inputs, and a subtract operation performed. This document thus discloses the features of the pre-characterising part of claims 1 and 5.
- the present invention therefore seeks to provide the CPU user with a set of tests which are in most cases the functional equivalent of the currently employed ALU result test but which do not require a time delay while the ALU performs its function and a further time delay while the test is performed on the ALU result.
- the present invention also seeks to provide testing for the equivalent of the results of an ALU operation which does not require the use of hardware on the output of an ALU.
- the present invention further seeks to provide testing for the equivalent of the results of an ALU operation which leaves the ALU free to perform a different operation on the same operands.
- the apparatus has:
- the method of operating includes the steps of:
- a comparator connected to both inputs of the ALU performs a bit-for-bit comparison of the values placed on the inputs to the ALU to determine if the value on input A is equal to the value on input B.
- a microcode mask is placed on one of the inputs to the ALU and the entire contents of that input are ANDed with the entire contents of the other input on a bit-for-bit basis.
- the bit-for-bit results are presented to an NOR gate whose output indicates whether the one bus ANDed with the other bus gives a zero result.
- Arithmetic logic unit (ALU) 10 is shown having two inputs, A input 12 and B input 14.
- ALU 10 also has output lines 16 on which the results of the arithmetic or logical operation performed on A and B are presented. It will be understood by those of ordinary skill in the art, that both inputs A and B and output 16 may comprise N lines, where N is the word size operated on by the processor.
- a input 12 and B input 14 to the ALU are also connected as inputs to compare circuit 18.
- Compare circuit 18 performs a bit-by-bit comparison of the corresponding bits on input line A 12 and input line B 14.
- Compare circuit 18 delivers a logical one output on output line 20 if all the bits of A input 12 equal all the bits of B input 14.
- Mask and zero detect unit 22 is also connected to A input 12 and B input 14 of ALU 10.
- the function of mask and zero detect unit 22 is to determine whether the contents of A input 12 and B input 14, when logically ANDed together, equal zero. Selective bit field masking may be performed on either all or part of the contents of either A input 12 or B input 14 by microcode as is known in the art. If the logical AND product of A input 12 and B input 14 is zero, a logic one will appear at the output 24 of mask and zero detect unit 22.
- Another ALU output test which is replaced by the tests disclosed herein involves masking a subset of bits on one ALU input to determine if a chosen partial bit field of that input is equal to zero.
- a mask was placed on one ALU input the data to be tested was placed on the other input, and the ALU was instructed to perform a logical AND operation. The ALU result was then tested to see if it equalled zero.
- the same bits are masked on one ALU input and the zero detecting unit 22 performs the functional equivalent of this test on the ALU input, thus making the result available for use earlier in the CPU cycle.
- Exclusive OR gate 50 has one of its inputs 52 connected to the least significant bit AO of the A input 12 to ALU 10, and its other input 54 connected to the least significant bit of the B input 14 to ALU 10. Its output 56 is presented to NOR gate 58.
- exclusive OR gate 60 has its one input 62 connected to the most significant bit of A input 12 of ALU 10 and its other input 64 connected to the most significant bit Bn of B input 14 to ALU 10. Its output 66 is likewise connected to an input of NOR gate 58.
- the other corresponding bits of both A input 12'and B input 14 to ALU 10 are connected to exclusive OR gates (not shown) whose outputs are connected to other inputs to NOR gate 58. These inputs are shown generally at 68.
- AND gate 100 has one of its inputs 102 connected to least significant bitAO of A input 12 to ALU 10. Its other input 104 is connected to least significant bit BO of B input 14to ALU 12. The output of AND gate 100 at 106 is presented to NOR gate 108.
- AND gate 110 has one of its inputs 112 connected to most significant bit An of A input 12 to ALU 10 its other input 114 connected to most significant bit Bn of B input 14to ALU 10. The output 116 of AND gate 110 is also connected to an input of NOR gate 108.
- corresponding A and B bits are presented to the inputs of other AND gates (not shown) whose outputs are also connected to the inputs of NOR gate 108. These inputs are shown generally at 118.
- output 120 of NOR gate 108 will only be at a logic one if all of its inputs are zero, i.e., if none of the AND gates 100 or 110, have both of their inputs at a logic one level.
Claims (5)
dadurch gekennzeichnet, daß das Verfahren weiters die Schritte umfaßt:
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US06/537,041 US4618956A (en) | 1983-09-29 | 1983-09-29 | Method of operating enhanced alu test hardware |
US537041 | 1983-09-29 |
Publications (3)
Publication Number | Publication Date |
---|---|
EP0136174A2 EP0136174A2 (de) | 1985-04-03 |
EP0136174A3 EP0136174A3 (en) | 1987-07-01 |
EP0136174B1 true EP0136174B1 (de) | 1989-12-13 |
Family
ID=24140928
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
EP84306547A Expired EP0136174B1 (de) | 1983-09-29 | 1984-09-26 | Hardware für Arithmetik-Logikeinheitsprüfung |
Country Status (7)
Country | Link |
---|---|
US (1) | US4618956A (de) |
EP (1) | EP0136174B1 (de) |
JP (1) | JPS60168243A (de) |
AU (1) | AU566813B2 (de) |
CA (1) | CA1216070A (de) |
DE (1) | DE3480743D1 (de) |
NO (1) | NO843897L (de) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6611934B2 (en) | 1988-09-07 | 2003-08-26 | Texas Instruments Incorporated | Boundary scan test cell circuit |
US6728915B2 (en) | 2000-01-10 | 2004-04-27 | Texas Instruments Incorporated | IC with shared scan cells selectively connected in scan path |
US6727722B2 (en) | 1995-10-31 | 2004-04-27 | Texas Instruments Incorporated | Process of testing a semiconductor wafer of IC dies |
US6763485B2 (en) | 1998-02-25 | 2004-07-13 | Texas Instruments Incorporated | Position independent testing of circuits |
US6769080B2 (en) | 2000-03-09 | 2004-07-27 | Texas Instruments Incorporated | Scan circuit low power adapter with counter |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4800486A (en) * | 1983-09-29 | 1989-01-24 | Tandem Computers Incorporated | Multiple data patch CPU architecture |
US4747046A (en) * | 1985-06-28 | 1988-05-24 | Hewlett-Packard Company | Mechanism for comparing two registers and storing the result in a general purpose register without requiring a branch |
EP0358371B1 (de) * | 1988-09-07 | 1998-03-11 | Texas Instruments Incorporated | Erweiterte Prüfschaltung |
JP3005250B2 (ja) | 1989-06-30 | 2000-01-31 | テキサス インスツルメンツ インコーポレイテツド | バスモニター集積回路 |
US6675333B1 (en) | 1990-03-30 | 2004-01-06 | Texas Instruments Incorporated | Integrated circuit with serial I/O controller |
DE4334294C1 (de) * | 1993-10-08 | 1995-04-20 | Ibm | Prozessor für Zeichenketten variabler Länge |
JPH09231896A (ja) * | 1996-02-20 | 1997-09-05 | Nec Corp | シーソー式電磁継電器 |
US6035390A (en) * | 1998-01-12 | 2000-03-07 | International Business Machines Corporation | Method and apparatus for generating and logically combining less than (LT), greater than (GT), and equal to (EQ) condition code bits concurrently with the execution of an arithmetic or logical operation |
US6408413B1 (en) | 1998-02-18 | 2002-06-18 | Texas Instruments Incorporated | Hierarchical access of test access ports in embedded core integrated circuits |
GB2342729B (en) * | 1998-06-10 | 2003-03-12 | Lsi Logic Corp | Zero detection in digital processing |
US7058862B2 (en) | 2000-05-26 | 2006-06-06 | Texas Instruments Incorporated | Selecting different 1149.1 TAP domains from update-IR state |
US7600161B2 (en) * | 2004-08-13 | 2009-10-06 | Gm Global Technology Operations, Inc. | Method of verifying integrity of control module arithmetic logic unit (ALU) |
CN103513177B (zh) * | 2012-06-29 | 2018-05-01 | 上海芯豪微电子有限公司 | 运算器测试系统及测试方法 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3614608A (en) * | 1969-05-19 | 1971-10-19 | Ibm | Random number statistical logic test system |
JPS513904B2 (de) * | 1972-02-25 | 1976-02-06 | ||
US3931505A (en) * | 1974-03-13 | 1976-01-06 | Bell Telephone Laboratories, Incorporated | Program controlled data processor |
US3988670A (en) * | 1975-04-15 | 1976-10-26 | The United States Of America As Represented By The Secretary Of The Navy | Automatic testing of digital logic systems |
JPS5839337B2 (ja) * | 1975-07-29 | 1983-08-29 | 日本電気株式会社 | 逆数算出回路 |
JPS5267537A (en) * | 1975-12-02 | 1977-06-04 | Mitsubishi Electric Corp | Bit process method of digital electronic computer |
US4286176A (en) * | 1979-04-16 | 1981-08-25 | Motorola, Inc. | Comparator with hysteresis for interfacing with a ground-referenced A.C. sensor |
JPS5652440A (en) * | 1979-10-02 | 1981-05-11 | Nec Corp | Arithmetic unit |
US4369511A (en) * | 1979-11-21 | 1983-01-18 | Nippon Telegraph & Telephone Public Corp. | Semiconductor memory test equipment |
JPS58163045A (ja) * | 1982-03-23 | 1983-09-27 | Fujitsu Ltd | プログラムカウンタ制御装置 |
-
1983
- 1983-09-29 US US06/537,041 patent/US4618956A/en not_active Expired - Lifetime
-
1984
- 1984-09-26 DE DE8484306547T patent/DE3480743D1/de not_active Expired - Fee Related
- 1984-09-26 EP EP84306547A patent/EP0136174B1/de not_active Expired
- 1984-09-27 AU AU33590/84A patent/AU566813B2/en not_active Ceased
- 1984-09-28 CA CA000464280A patent/CA1216070A/en not_active Expired
- 1984-09-28 JP JP59203900A patent/JPS60168243A/ja active Pending
- 1984-09-28 NO NO843897A patent/NO843897L/no unknown
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6611934B2 (en) | 1988-09-07 | 2003-08-26 | Texas Instruments Incorporated | Boundary scan test cell circuit |
US6813738B2 (en) | 1988-09-07 | 2004-11-02 | Texas Instruments Incorporated | IC test cell with memory output connected to input multiplexer |
US6727722B2 (en) | 1995-10-31 | 2004-04-27 | Texas Instruments Incorporated | Process of testing a semiconductor wafer of IC dies |
US6763485B2 (en) | 1998-02-25 | 2004-07-13 | Texas Instruments Incorporated | Position independent testing of circuits |
US6728915B2 (en) | 2000-01-10 | 2004-04-27 | Texas Instruments Incorporated | IC with shared scan cells selectively connected in scan path |
US6769080B2 (en) | 2000-03-09 | 2004-07-27 | Texas Instruments Incorporated | Scan circuit low power adapter with counter |
Also Published As
Publication number | Publication date |
---|---|
DE3480743D1 (de) | 1990-01-18 |
AU566813B2 (en) | 1987-10-29 |
AU3359084A (en) | 1985-04-04 |
CA1216070A (en) | 1986-12-30 |
JPS60168243A (ja) | 1985-08-31 |
US4618956A (en) | 1986-10-21 |
EP0136174A2 (de) | 1985-04-03 |
EP0136174A3 (en) | 1987-07-01 |
NO843897L (no) | 1985-04-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0136174B1 (de) | Hardware für Arithmetik-Logikeinheitsprüfung | |
US5508950A (en) | Circuit and method for detecting if a sum of two multibit numbers equals a third multibit constant number prior to availability of the sum | |
US6009451A (en) | Method for generating barrel shifter result flags directly from input data | |
US5604689A (en) | Arithmetic logic unit with zero-result prediction | |
US6099158A (en) | Apparatus and methods for execution of computer instructions | |
KR100315407B1 (ko) | 제2입력과제3입력의제1부울조합과제2입력과제3입력의제2부울조합의논리곱인제1입력의합을형성하는3입력산술논리유닛 | |
US4903228A (en) | Single cycle merge/logic unit | |
US5561619A (en) | Arithmetic logic unit provided with combinational circuit and zero value detector connected in parallel | |
US4924422A (en) | Method and apparatus for modified carry-save determination of arithmetic/logic zero results | |
US4320464A (en) | Binary divider with carry-save adders | |
US5704052A (en) | Bit processing unit for performing complex logical operations within a single clock cycle | |
US4454589A (en) | Programmable arithmetic logic unit | |
US6378067B1 (en) | Exception reporting architecture for SIMD-FP instructions | |
US4947359A (en) | Apparatus and method for prediction of zero arithmetic/logic results | |
US6499046B1 (en) | Saturation detection apparatus and method therefor | |
US6629118B1 (en) | Zero result prediction | |
US5454018A (en) | Counter circuit with automatic reset | |
US4815019A (en) | Fast ALU equals zero circuit | |
US5920493A (en) | Apparatus and method to determine a most significant bit | |
US5635858A (en) | Zero-stopping incrementers | |
US5777906A (en) | Left shift overflow detection | |
US6122651A (en) | Method and apparatus for performing overshifted rotate through carry instructions by shifting in opposite directions | |
US20040073593A1 (en) | Hybrid carry look ahead/carry select adder including carry logic generating complementary hot carry signals, and method for producing the carry logic | |
EP0438126A2 (de) | Digitales Pipeline-Signalverarbeitungsgerät | |
EP0313817B1 (de) | Verfahren und Vorrichtung zur eindeutigen Schätzung von Bedingungen in einem Datenprozessor |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PUAI | Public reference made under article 153(3) epc to a published international application that has entered the european phase |
Free format text: ORIGINAL CODE: 0009012 |
|
AK | Designated contracting states |
Designated state(s): AT BE CH DE FR GB IT LI NL SE |
|
PUAL | Search report despatched |
Free format text: ORIGINAL CODE: 0009013 |
|
RHK1 | Main classification (correction) |
Ipc: G06F 9/30 |
|
AK | Designated contracting states |
Kind code of ref document: A3 Designated state(s): AT BE CH DE FR GB IT LI NL SE |
|
17P | Request for examination filed |
Effective date: 19870727 |
|
17Q | First examination report despatched |
Effective date: 19880802 |
|
GRAA | (expected) grant |
Free format text: ORIGINAL CODE: 0009210 |
|
AK | Designated contracting states |
Kind code of ref document: B1 Designated state(s): DE FR GB IT SE |
|
REF | Corresponds to: |
Ref document number: 3480743 Country of ref document: DE Date of ref document: 19900118 |
|
ET | Fr: translation filed | ||
ITF | It: translation for a ep patent filed |
Owner name: MODIANO & ASSOCIATI S.R.L. |
|
PLBE | No opposition filed within time limit |
Free format text: ORIGINAL CODE: 0009261 |
|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: NO OPPOSITION FILED WITHIN TIME LIMIT |
|
26N | No opposition filed | ||
ITTA | It: last paid annual fee | ||
EAL | Se: european patent in force in sweden |
Ref document number: 84306547.5 |
|
PGFP | Annual fee paid to national office [announced via postgrant information from national office to epo] |
Ref country code: FR Payment date: 19980619 Year of fee payment: 15 |
|
PGFP | Annual fee paid to national office [announced via postgrant information from national office to epo] |
Ref country code: SE Payment date: 19980624 Year of fee payment: 15 |
|
PGFP | Annual fee paid to national office [announced via postgrant information from national office to epo] |
Ref country code: GB Payment date: 19980626 Year of fee payment: 15 |
|
PGFP | Annual fee paid to national office [announced via postgrant information from national office to epo] |
Ref country code: DE Payment date: 19980930 Year of fee payment: 15 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: GB Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 19990926 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: SE Free format text: THE PATENT HAS BEEN ANNULLED BY A DECISION OF A NATIONAL AUTHORITY Effective date: 19990929 |
|
EUG | Se: european patent has lapsed |
Ref document number: 84306547.5 |
|
GBPC | Gb: european patent ceased through non-payment of renewal fee |
Effective date: 19990926 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: FR Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20000531 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: DE Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20000701 |
|
REG | Reference to a national code |
Ref country code: FR Ref legal event code: ST |