EP0136174B1 - Hardware für Arithmetik-Logikeinheitsprüfung - Google Patents

Hardware für Arithmetik-Logikeinheitsprüfung Download PDF

Info

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
Application number
EP84306547A
Other languages
English (en)
French (fr)
Other versions
EP0136174A2 (de
EP0136174A3 (en
Inventor
Robert Whiting Horst
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.)
Tandem Computers Inc
Original Assignee
Tandem Computers Inc
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 Tandem Computers Inc filed Critical Tandem Computers Inc
Publication of EP0136174A2 publication Critical patent/EP0136174A2/de
Publication of EP0136174A3 publication Critical patent/EP0136174A3/en
Application granted granted Critical
Publication of EP0136174B1 publication Critical patent/EP0136174B1/de
Expired legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/30021Compare instructions, e.g. Greater-Than, Equal-To, MINMAX
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2205Detection 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/2226Detection 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30094Condition 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)

1. Vorrichtung zur Durchführung einer oder mehrerer Prüfungen an Daten, die den Eingängen einer Arithmetik-Logikeinheit in einer zentralen Datenverarbeitungseinheit eines Datenverarbeitungssystems eingegeben werden, welche genannte Arithmetik-Logikeinheit zwei Eingänge aufweist, gekennzeichnet durch:
eine Einrichtung, die direkt mit den beiden Eingängen der genannten Arithmetik-Logikeinheit gekoppelt ist, um zu prüfen, ob die den beiden genannten Eingängen eingebenen genannten Daten gleich sind; und durch
eine Einrichtung, die direkt mit den beiden Eingängen der genannten Arithmetik-Logikeinheit gekoppelt ist, um zu prüfen, ob das logische UND-Produkt der genannten Daten, die den beiden genannten Eingängen eingegeben werden, gleich Null ist.
2. Vorrichtung nach Anspruch 1, worin die Prüfungen während der gleichen Taktzeit vorgenommen werden die der Betrieb der genannten Arithmetik-Logikeinheit der genannten zentralen Verarbeitungseinheit.
3. Vorrichtung nach Anspruch 2, worin die genannte Einrichtung, um zu prüfen, ob die genannten Daten an den beiden genannten Eingängen gleich sind, dazu ausgebildet ist, ein erstes Signal zu erzeugen, so daß das genannte erste Signal einen ersten Zustand annimmt, wenn die genannten Daten an den beiden genannten Eingängen gleich sind und einen zweiten Zustand annimmt, wenn die genannten Daten an den genannten beiden Eingängen nicht gleich sind.
4. Vorrichtung nach Anspruch 3, worin die genannte Einrichtung, um zu prüfen, ob das logische UND-Produkt der genannten Daten an den beiden genannten Eingängen gleich Null ist, dazu ausgebildet ist, ein zweites Signal zu erzeugen, sodaß das zweite Signal einen ersten Zustand annimmt, wenn das genannten UND-Produkt gleich Null ist und einen zweiten Zustand annimmt, wenn das genannten UND-Produkt ungleich Null ist.
5. Verfahren zum Betrieb eines Schleifenzählprogramms in einer zentralen Verarbeitungseinheit eines Digitalrechners, das Verfahren umfassend die Schritte:
a) Eingeben einer Dateneingabe, die einer ersten gewünschten Größe entspricht, einem ersten Eingang einer Arithmetik-Logikeinheit,
b) Eingeben einer Dateneingabe, die einer zweiten gewünschten Größe entspricht, einem zweiten Eingang der genannten Arithmetik-Logikeinheit,
c) Durchführen einer Subtraktionsoperation unter Verwendung der genannten Arithmetik-Logikeinheit während eines ersten Taktzeitraums;
dadurch gekennzeichnet, daß das Verfahren weiters die Schritte umfaßt:
d) Durchführung einer Äquivalenzprüfung an den genannten ersten und zweiten Eingängen der Arithmetik-Logikeinheit außerhalb der genannten Arithmetik-Logikeinheit während des genannten ersten Taktzeitraums und
e) Abbruch bzw. Beendigung des genannten Schleifenzählprogramms, falls das Ergebnis der genannten Äquivalenzprüfung anzeigt, daß der erste und zweite Eingang der Arithmetik-Logikeinheit gleich sind und Rückführung der Ergebnisse der genannten Subtraktionsoperation der genannten Arithmetik-Logikeinheit an den genannten ersten Eingang der genannten Arithmetik-Logikeinheit, wenn das Ergebnis der genannten Äquivalenzprüfung anzeigt, daß die genannten ersten und zweiten Eingänge der Arithmetik-Logikeinheit nicht gleich sind.
EP84306547A 1983-09-29 1984-09-26 Hardware für Arithmetik-Logikeinheitsprüfung Expired EP0136174B1 (de)

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)

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

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

* Cited by examiner, † Cited by third party
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 プログラムカウンタ制御装置

Cited By (6)

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