CA1143069A - Microprocessor architecture for improved chip testability - Google Patents

Microprocessor architecture for improved chip testability

Info

Publication number
CA1143069A
CA1143069A CA000357319A CA357319A CA1143069A CA 1143069 A CA1143069 A CA 1143069A CA 000357319 A CA000357319 A CA 000357319A CA 357319 A CA357319 A CA 357319A CA 1143069 A CA1143069 A CA 1143069A
Authority
CA
Canada
Prior art keywords
input
signal
control
output
tristate
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
CA000357319A
Other languages
French (fr)
Inventor
Masakazu Shoji
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.)
AT&T Corp
Original Assignee
Western Electric Co 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 Western Electric Co Inc filed Critical Western Electric Co Inc
Application granted granted Critical
Publication of CA1143069A publication Critical patent/CA1143069A/en
Expired legal-status Critical Current

Links

Classifications

    • 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/2236Detection 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 CPU or processors

Abstract

MICROPROCESSOR ARCHITECTURE FOR
IMPROVED CHIP TESTABILITY

Abstract of the Disclosure An improved architecture for a single chip microprocessor CPU includes provision for directly observing at its terminals the control signals from its instruction decoder to facilitate functional testing of the chip. The CPU, upon receiving a command signal transfers the signals on the control lines (2091 409, 509) of its instruction decoder to its output terminals. In one embodiment of the invention the command signal is applied to the CPU chip at a designated input terminal. In another embodiment, the command signal is applied through a special instruction. The improvements permit increased functional test fault coverage and shorter test programs.

Description

Sl-IOJ I - 7 .

3~
1.
MICROPROCESSOR ARCHITEC~URE FOR
IMPROVED CHIP TESTABILITY

Background of the Invention This invention relates to an improvement in microprocessor architecture and more particularly to a single chip microprocessor central processing unit (CPU) in which the control signals from the instruction decoder may be directly observed at the terminals of the chip during 10 testing.
Microprocessor CPUs which are fabricated on a single integrated circuit chip are known in the art. Such CPU chips are designed to execute a program of instructions and typically include a plurality of input terminals, a 15 plurality of output terminals, instruction decoding means for receiving at least a portion of an instruction during an instruction cycle and for controlling the performance of one or more processor operations specified by the instruction, the instruction decoding means having a 20 multiplicity of control lines for providing during the instruction cycle control signals corresponding to the one or more processor operations specified by the instruction.
The input and output terminals may be bonding pads on the chip or package pins in the case of a packaged chip. The 25 instruction decoding means may be a programmable logic array (PLA) or a microprogrammed ~andom logic controller.

One problem with the prio~ art microprocessor CPU
is the difficulty in performing functional tests on the CPU
chip. Unlike the case of a CPU in a minicomputer or a 30 ~lainframe computer, the functional parts of a single chip CPU such as the instruction decoder cannot be separately tested. This is because the internal nodes of an integrated circuit chip are not, as a practical matter, accessible for testing. ~unctional tests on single chip 35 CPUs are generally performed by applying a sequence o binary logic level patterns called test vectors to the input terminals of the chip and by observing the sequence ,~
~' S~43~
of binary logic level patterns called output patterns appearing at the output terminals of the chip in response to the applied test vectors. The observed output patterns are compared with the "correct" output patterns as would be expected from a functioning chip. If an output pattern from a chip under test is found to disagree with the "correct" output pattern, the chip has one or more logical faults in one or more of its functional parts. Functional testing which is used to detect logical faults in an integrated circuit is an important step in the manufacturing process for the chip. The sequence of test vectors is normally applied to the chip by automatic testing equipment.
In addition to detecting faulty chips, functional 15 testing may also provide information concerning identification of various faulty functional parts as well as the nature of the logical faultsO Such information is useful for diagnosing design problems in a newly designed CPU chip. A sequence of test vectors which is to be used 20 for diagnostics is normally designed, not only to produce specific output patte;-ns as a result of logical faults in the CPU chip, but also to permit the unambiguous identification of logical faults when an output pattern indicating a fault is detected.
However, owing to the complexity of a CPU chip and the fact that its functional parts are not testable separately but only collectively as parts of a particular signal path between input and output terminals, not all logical faults which may potentially exist in the chip can 30 be detected and not all detected logical faults can be unambiguously identified. Generally, a sequence of test vectors used for manufacture is designed to maximize the number of potential logical faults which can be detected with the sequence, whereas a diagnostic test vector 35 sequence is designed to maximize the number of potential logical faults which can be both detected and identified with the sequence. A figure of merit for a sequence of SllnJl-7 3.
test vectors is the percentage of all potential logical faults in the chip which are detectable with the sequence.
This figure of merit is commonly referred to as the fault coverage of the sequence. For reasons discussed above it 5 is generally not possible to achieve a 100 percent fault coverage in the functional testing of a prior art CPU chip.
A CPU chip having an undetectable logical fault would pass final testing as good product, and only later be identified as a failed device during actual operation in the field. Consequently, faults in chips which are not detected during functional testing can make the entire chip unreliable.
Applicant has discovered that most of the undetectable and unidentifiable potential logical faults 15 in a prior art CPU exist in the instruction decoder which generates the control signals governing all processor operations. These control signals, which are distributed to virtually all other functional parts of the CPU, are not directly accessible for testing but may only be 20 indirectly observed through the operation of the other functional parts which they control. Therefore, even though a logical fault in the instruction decoder causes an error in a control signal 7 the erroneous control signal may not always give rise to an erroneous output 25 pattern. For example, the erroneous control signal may, in a particular test,only affect a functional part which is not in the signal path of the output pattern, or another logical fault in the signal path may give rise to a compensating error in the output pattern. In some 30 cases, by adding more test vectors to the test program, the control signal error can be made to propagate to the output terminals, but not all potential logical fa~llts in the instruction decoder of a p;ior art CPU chip can be made detectable by presently known techniques. In 35 general, a long test program is necessary to achieve a relatively high fault coverage in the functional testing of a prior art CPU chip. In an example of a prior art ~3~9 4.

CPU chip, a fault coveraqe of 95% is achieved with a test program having 25,000 test vectors. However, a long test program leads to a high testing cost. As CPU chips of greater complexity are designed in accordance with the prior art, the problem of a long test program becomes more serious as the testing cost may become a major part of the cost of manufacturing a microprocessor chip.
Therefore, a need clearly exists for an improved ~PU architecture which would increase microprocessor chip reliability by improving the functional test fault coverage of the chip and/or which would reduce functional testing cost by permitting shorter test programs.
Summary of the Invention The present invention is an improvement over the prior art CPU architecture described above, characterized in that there are included first input means for receiving a ~irst command signal and gating means responslve to the first command signal for transferring the control signals on the control lines to the output terminals.
In accordance with an aspect of the invention there is provided a processing unit comprising: (a) an input latch having an input latch control terminal for receiving a first input latch control signal to activate the latch; (b) a tristate output driver having a tristate control terminal for receiving a first tristate driver control signal to place the tristate driver into its high impedance state; (c) input/output terminals for delivering input instruction and operand data signals to the input latch and for receiving output data signals from the tristate output driver; (d) an instruction decoder for producing a plurality of decoded control signals including a fetch status signal, a second tristate driver control signal, and a second input latch control signal; (e) an internal data bus arranged for delivering the output data signals to a second switch and for delivering the input instruction data signals from the input ]atch to the ~43~
4a.

instruction decoder; (f) a ~irst switch, controlled by a command signal, arranged ~or delivering the first tristate driver control signal to the tristate control terminal:
(1) in response to the second tristate driver control signal from the instruction decoder in the absence of the command signal, and (2) in response to the fetch status signal in the presence of the command signal; (g) the second switch, controlled by the command signal, arranged for delivering to the tristate output driver: (1) the output data signals from the internal data bus when the command signal is absent, and (2) the decoded control signals from the instruction decoder when the command signal is present; and (h) a third switch, controlled by the command signal, arranged for delivering the first input latch control signal to the input latch control terminal: (1) in response to the fetch status signal in the presence of the command signal, and (2) in response to the second input latch control signal from the instruction decoder in the absence of the command signal.
The objects of the invention are achieved in the illustrative embodiments described hereinafter. The novel features of the ;nvention, both as to structure and method of operation, together with the other objects and advantages thereof will be better understood from the following detailed description considered in connection with the accompanying drawing. It is to be expressly understood, however, that the drawing is solely for the purpose of illustration and description and is not intended to define any limits of the invention.
Brief Description of the Drawing FIG. 1 is a block diagram of a typical prior art microprocessor CPU.
FIG. 2 is a block diagram of one embodiment of a microprocessor CPU in accordance with the present invention.
FIG. 3 is a schematic diagram of a CMOS switch circuit useful in the invention.

Sll~)JI -7 3~
s.
FIG. 4 is a block diagram of another embodiment of a microprocessor CPU in accordance with the present invention, including provisions for multiplexing the control signals onto the output terminals of the chip.
FIG. 5 is a block diagram of still another embodiment of a microprocessor CPU in accordance with the present invention in which the command signal for transferring the control signals to the output terminals are carried by instructions of a special subset.
10 Detailed Descrip_ion Referring now to FIG. 1, there is shown a block diagram of a microprocessor CPU 100 known in the prior art and designed to be fabricated on a single integrated circuit chip. Only those functional parts and terminals of 15 the CPU which are essential for explaining its function are shown in FIG. 1. The CPU shown is designed to execute a program of binary instructions by receiving the instructions one at a time at its bidirectional input/output (I/O) terminals 101 and by performing one or 2Q more processor operations as specified by the instruction.
Where a particular processor operation requires operands, the CPU responds to the instruction specifying that operation and provides at the address output terminals 115 the addresses of external sources for the operands. The 25 external sources which are not shown in FIG. 1 may either be locations in a memory or peripheral input devices. ~n operand from an external source is provided to the CPU at the I/O terminals. If the processor operation yields resultant data which are to be stored at an external 30 destination, those data are provided at the I/O terminals and the address of its destination is provided at the address output terminals. The external destination may either be a location in a memory or a peripheral output device.
The instruction format for the CPU consists of an "op code" field which specifies the processor operation(s) to be performed, an address mode field which specifies the S~lnJI-7 ~4306~
6.
method for forming the source and destination addresses for data and an address field which provides address data for forming the source and destination addresses except in the "immediate data". For the case where the address mode 5 field specifies the so called "immediate data" mode, the address field carries the data itself, and no address formation is required.
The interval of time during which the CPU obtains an instruction and completes its execution is commonly 10 referred to as the instruction cycle. The instruction cycle consists of an instruction fetch phase during which the CPU receives an instruction typically from an external memory, a data fetch phase during which the CPU forms the source and destination addresses (except for the "immediate 15 data" mode) and retrieves one or more operands from external sources or internal registers, and a data execution phase during which one or more processox operations specified by the instruction are performed and the resultant data, if any, stored at a destination 20 location.
During the instruction fetch phase, the CPU
provides at the address output terminals an address of a location in an external memory (not shown) containing an instruction. The addressed instruction is received by the 25 CPU at its I/O terminals. The I/O terminals are coupled to an internal data bus 102 by tristate output drivers 104 and by input latches 103. For the input mode when instructions or data are transferred from the I/O terminals to the internal data bus, the output drivers under the control of 30 output driver control signals are in their high impedance state, while the input latches are activated by input latch control signals to transfer the signals on the I/O
terminals to the internal data bus. For the output mode when data on the internal data bus are transferred to the 35 I/O terminals, the output drivers are activated while the input latches are inactivated. The number of I/O
terminals, output drivers, and input latches are all equal S}IOJI-7 ~43~

to the number of data lines in the internal data bus. Also during the instruction fetch phase, the op-code field and the address mode field of the received instruction are transferred to the instruction register 105 while the 5address field is transferred to an address data register in the register stack 106. In addition to address data registers the register stack also includes general purpose data registers, data pointer registers, a stack pointer register, and a program counter. The contents of the lOinstruction register are decoded by the instruction decoder which provides a sequence of control signals on its control lines 109. The control lines distribute the control signals to the various functional parts of the CPU.
~uring the data fetch phase the address(es) of 150perand(s) are formed in accordance with the address mode field of the instruction. Address formation occurs in the address arithmetic unit (AAU) 110. Address data are first transferred from the register stack via the internal address bus 107 to the temporary registers 111 and 112.
20The result of the AAU operation is stored in temporary register 113 and subsequently transferred to the address output terminals via the internal address bus and the address output drivers 114. The operand from the e~ternal source addressed by the CPU is received by the CPU at the 25 I/O terminals and transferred to the internal data bus for use in a processor operation.
Those processor operations which involve arithmetical or logical manipulations of operands are performed in the arithmetic and logic unit (ALU) 116. ~or 30 ALU operations, an operand provided to the CPU is first transferred to one of the temporary data registers 117 and 118. The ALU under the control of control signals from the instruction decoder performs a specified operation on the operand(s) stored in the temporary data registers. The 35 result from the ALU operation is first stored in another temporary data register 119 and is subsequently transferred to either the I/O terminals or an internal data register.

~43Q~

To perform functional tests on the CPU of FIG. 1 in accordance with the prior art, test vectors are applied to the I/O terminals when the CPU is in its input mode and to all other input terminals which are not shown in FIG. 1. The output patterns from the CPU are observed at the I/O terminals when the CPU is in its output mode, at the address output terminalsr and at other output terminals which are not shown in FIG. 1. Because a microprocessor CPU is fabricated on a single integrated circuit chip in which the dimensions of components and signal conductors are extremely small, it is impractical to directly access the functional parts of the CPU.
Therefore, the functional parts cannot be tested separately, but may only be tested collectively as one of 15 several component parts along a particular signal path between the input and output terminals of the chip.
For example, suppose an applied test vector includes a bit pattern equivalent to an instruction to perform a particular ALU operation on two 20 specified operandsO During the instruction fetch phase the portion of the test vector corresponding to the op~code field and the address mode field are transferred to the instruction decoder. During the operand fetch and data execution phases, the instruction decoder responsive 25 to the contents of the instruction register generates a sequence of four sets of control signal patterns.
Because these control signal patterns are not directly observable at the terminals of the CPU chip, the response of the instruction decoder to the particular op-code 30 field and address mode field can only be indirectly observed through the resultant data from the ALU
operation itself. The first set of control signal patterns causes the retrieval of a first operand provided to the CPU at its I/O terminals and transfers the first 35 operand to temporary data register 117. The second control signal pattern causes the retrieval of a second operand which is transferred to temporary data register slm~Jl-7 9~
118. The third control signal pattern causes the ALU to perform the operation specified by the op-code and to transfer the result of the operation to temporary data register 119. The fourth control signal pattern transfers 5 the result to the I/O terminals where it can be observed as an output pattern and compared with a "correct" output pattern.
If a particular logical fault in the instruction decoder in response to the above test vector causes an error in one of the aforementioned control signal patterns and the error affects a functional part (e.g., a general purpose register in the register stack) which is not in the signal path of the operand fetches or the ALU operation, that fault would not produce an erroneous output pattern 15 (i.e., an erroneous result for the ALU operation)~ In some cases an additional test vector may be found which when subsequently applied would cause the functional part affected by the erroneous control signals to produce an erroneous output pattern, but many potential logical faults 20 in the instruction decoder remain undetectable by present techniques despite additional test vectors. Thus the nonobservability of the control signals in prior art CPUs limits fault coverage and lengthens the sequence of test vectors required to achieve a given fault coverage.
Functional test fault coverage in a CPU chip can be improved and the length of the test program reduced if the CPU includes provisions for making the control signals from the instruction decoder directly observable at the output terminals of the chip. Such provision would permit 30 the instruction decoder to be tested independently of the other functional parts.
Referring now to FIG. 2, there is shown a microprocessor CPU similar in some aspects to the CPU of FIG. 1 but including improvements which permit the control 35 signals on the control lines 209 to be directly observable at the I/0 terminals 201. Component parts such as the register stack, the ALU, the AAU, the temporary registers, , _~
~' 10 .
the internal address bus, etc. which are not essential for explaining the improvements have been omitted from FIG. 2. The improvements include switch 222 which, under the control of a command signal applied at the external 5 command input 220,alternatively connects either the internal data bus 202 or the control lines 209 to output drivers 204. The internal data bus is normally connected to the output drivers, but when the command signal is true, the control lines instead are connected to the 10 output drivers. (As used herein, "true~ and "false"
refer to the two states of a binary logic system.) FIG. 2 illustrates the case where the number of control lines and the number of I/O terminals are equal. For the case , where the number of control lines exceeds the number of 15 I/O terminals, the excess control lines may, under the control of the command signal, be connected to the address output terminals by including another switch similar to switch 222 between the internal address bus and the address output drivers. The address output 20 terminals, the internal address bus, and the address output buffers which are identical to those shown in FIG.
l have been omitted in FIG. 2.
Also under the control of the command signal is switch 221 which alternatively provides either the output 25 driver control signals or a fetch status signal to the control input 224 of the output drivers 204. Normally, the control input receives the output driver control signal.
However, when the command signal is true, the control input receives a fetch status signal from -the instruction ' 30 decoder. The fetch status signal remains true only during the interval when the contents of the instruction register 205 are being updated. Thus, while the command signal is true, the logic state of the control lines are observable at the I/O terminals throughout the instruction '1 35 cycle except during the interval when the contents of the instruction register is being updated and the output drivers are in their high impedance state.
~;~
,1 /; , , . ~
, ~ ~ ; , . . .
~ .
`~'~` ~ ,'- ' .

Sl~OJ[-7 11 .
The CPU of FIG. 2 also includes switch 223 which, under the control of the command signal, provides either the normal input latch control signal or the fetch status signal to the control input 225 of the input latch 223.
5 The input latches are normally activated by the input latch control signal. But when the command signal is true, the input latches are activated by the fetch status signal when a new instruction is received at the I/O terminals, and the contents of the instruction register are updated.
Referring now to FIG. 3, there is shown a schematic diagram 300 of a suitable form for the switch circuit used in 221, 222t and 223 of the CPU of FIG. 2.
When the switch control terminal 301 is at a voltage near the VSS supply voltage (i.e., the "low" logic state) the 15 datal terminal 302 is effectively connected to the output terminal 304, but when the switch control terminal is at a voltage near the VDD supply voltage (i.e., the "high" logic state) the datal terminal is effectively disconnected from the output terminal, and the data2 303 terminal is 20 effectively connected to the output terminal. Although the switch circuit as shown in FIG. 3 is implemented in complementary metal-oxide~semiconductor (CMOS) technology, equivalent switching means implemented in other integrated circuit technologies and with other circuit configurations 25 may also be used.
Referring now to FIG. 4, there is shown another embodiment of a microprocessor CPU in accordance with the instant invention. ~I'he CPU shown includes provisions for d irectly observing the control signals on the control 30 lines 409 at the I/O terminals 401 for the case where the number of control lines (in this case, 32) exceeds the combined number of I/O terminals (8) and address output terminals (16). The address formation circuitry for the CPU of E'IG. 4 is the same as for the CPU of FIG. 1 and 35 is, for simplicity, omitted in FIG. 4. In the CPU of FIG. 4, the internal address bus is 16-bits wide and is coupled to 16 address output terminals via 16 address ~SIIO.JI ~7 output buffers. A multiplexer (MUX) 422 is used to permit the control lines tG be coupled to the output terminals eight at a time. The MUX is controlled by a command signal applied to an external command input 420 and by a 2-bit ~UX control signal applied to MUX control inputs 425. When the command signal is false, the MUX
connects the eight lines of the internal data bus 402 to the output drivers 404. The MUX connects eight of the thirty-two control lines to the output drivers when the lO command signal is true. The 2-bit MUX control signal selects one of four groups of eight cont~ol lines for observation at the I/0 terminals. Details of the design of a MUX circuit to perform the above-described function would be obvious to one skilled in the art of digital integrated circuit design and therefore need not be further described. The functions of the other parts of the CPU of FIG. 4 are the same as for the corresponding parts of the CPU of FIG. 2.
Referring now to FIG. 5, there is shown another 20 microprocessor CPU in accordance with the instant invention. The CPU shown is similar to that shown in FIG. 4 e~cept that the command signal and the MUX control signals, instead of being supplied externally, are generated by the instruction decoder 508 in response to the 25 binary state of a designated bit position in the instruction register. When that designated bit position is true, the signal on the C2 control line, which serves the same function as the command signal in the CPU of FIG. 4, is also true. At the same time, the instruction decoder 30 generates in sequence the four possible binary states of control lines C0 and Cl which serve the same function as the MUX control signal in the CPU of FIG. 4. Therefore, a logical "l" in the designated bit position in the instructions for the CPU of FIG. 5 serves as an indicia for a special subset of instructions to be used for testing purposes. When an instruction of the special subset is executed by the CPU, the MUX 522 couples control lines C3 Sll0~ 7 13.
to C34 to the output drivers 504 eight at a time in sequence. The indicia for the special subset of instructions may also be a specific prefix to the instruction or a designated group of bit positions in the 5 instruction having a particular binary value. The portion of the instruction decoder which decodes the indicia bit or bits is assumed to be fault free. Since that portion of the instruction decoder performs only a simple function, the chip area occupied by that portion is relatively small.
lO Therefore, the probability of a logic fault caused by a processing defect occurring in that portion is also relatively small~

Claims (6)

Claims:
1. A single-chip processor comprising:
a plurality of input/output terminals;
an internal data bus;
input latch means operatively coupled to the input/output terminals and to the internal bus, said input latch means having an input latch control terminal, whereby said input latch means delivers input data to the internal bus from said input/output terminals when said input latch control terminal receives a positive signal;
tristate output driver means operatively coupled to the input/output terminals and having a plurality of input terminals and a control terminal;
instruction decoding means for fetching at least a portion of an instruction during an instruction cycle and for controlling the execution of one or more processor operations specified by the instruction, the instruction decoder means having a multiplicity of control lines, for providing control signals, including an output driver control line for providing an output driver control signal, an input latch control line for providing an input latch control signal, and a fetch status signal line for providing a fetch status signal when the instruction decoding means is fetching said at least a portion of an instruction;
test input means for delivering a command signal;
first switching means responsive to the external command signal and operatively coupled to the fetch status signal line, to the output driver control line, and to the output control terminal of the tristate output driver means, said First switching means being arranged for delivering the fetch status signal to said output control terminal of the tristate driver means in response to the presence of the command signal but otherwise for delivering the output driver control signal to the control terminal of the tristate driver means;
second switching means operatively coupled to the control lines, the internal bus, and the input terminals of the output driver means, said second switching means being responsive to the command signal and arranged for delivering the control signals from the instruction decoder to the plurality of input terminals of the output driver means when the command signal is present but otherwise for delivering bus data from the internal data bus to the said plurality of input terminals of the output driver means, whereby said tristate driver delivers the bus data from the second switching means to the input/output terminals when the command signal is absent provided that the output driver control signal is present, and whereby when the command signal is present said tristate driver means delivers the control signals from the second switching means to said input/output terminals provided that the fetch status signal is then absent but puts said tristate driver into its high impednace state with respect to said input/output terminals provided that the fetch status signal is then present; and third switching means operatively coupled to the fetch status signal line, to the input latch control line, and to the input latch control terminal of the input latch means, said third switching means being responsive to the command signal and arranged for delivering the fetch status signal to said input latch control terminal when said command signal is present and otherwise for delivering the input latch control signal to the input latch control terminal, whereby the input latch control terminal receives said positive signal from said switching means when the command signal is absent provided that the input latch control signal is then present and also receives said positive signal when the command signal is present provided that the fetch status signal is then present.
2. The processor recited in claim 1 wherein the number of the multiplicity of control lines exceeds the number of the plurality of input terminals of the tristate output driver means and wherein the second switching means comprises multiplex means for multiplexing the control signals on the control lines onto the plurality of input terminals of the tristate output driver means.
3. A single-chip processor comprising:
a plurality of input/output terminals;
an internal data bus;
input latch means operatively coupled to the input/output terminals and to the internal bus, said input latch means having an input latch control terminal whereby said input latch means delivers input data to the internal bus from said input/output terminals when said input latch control terminal receives a positive signal;
tristate output driver means operatively coupled to the input/output terminals and having a plurality of input terminals and a control terminal;
instruction decoding means for fetching at least a portion of an instruction during an instruction cycle and for controlling the execution of one or more processor operations specified by the instruction, the instruction decoder means having a multiplicity of control lines emanating therefrom for providing control signals including an output driver control line for providing an output driver control signal, an input latch control line for providing a second input latch control signal, a fetch status signal line for providing a fetch status signal when the instruction decoding means is fetching said portion of an instruction, and a command control line for providing a command control signal when any one of a particular subset of instructions is fetched by the instruction decoding means;
first switching means responsive to the command signal and operatively coupled to the fetch status signal line, to the output driver control line, and to the output control terminal of the output means, said first switching means arranged for delivering the fetch status signal to the input latch control terminal when the command signal is present and otherwise for delivering the output driver control signal to the control terminal of the tristate driver means;

second switching means operatively coupled to the control lines, the internal bus, and the input terminals of the output driver means, said second switching means being responsive to the command control signal and arranged for delivering the other control signals from the instruc-tion decoder to the plurality of terminals of the output driver means when the command signal is present hut for delivering bus data from the internal data bus to the said plurality of input terminals of the output driver means when the command signal is absent, whereby said tristate driver delivers the bus data from the second switching means to the input/output terminals when the command control signal is absent in the presence of the driver control signal, and whereby in response to the presence of the command control signal said tristate output driver means delivers said other control signals from the second switching means to said input/output terminals provided that the fetch status signal is then absent but puts said tristate driver into its high impedance state with respect to said input/output terminals provided that the fetch status signal is then present; and third switching means operatively coupled to the fetch status signal line, to the input latch control line, and to the input latch control terminal of the input latch means, said third switching means being responsive to the command signal and arranged for delivering the fetch status signal to said input latch control terminal when the command signal is present hut otherwise for delivering the input latch control signal to the input control terminal whereby the input latch terminal receives said positive signal from said third switching means when the command signal is absent provided that the input latch control signal is then present and also receives said positive signal when the command signal is present provided that the fetch status signal is then present.
4. The processor recited in claim 3 wherein the number of the multiplicity control. lines exceeds the number of the plurality of input terminal of the tristate output driver means and wherein the second switching means includes means for multiplexing said other control signals on the control lines onto the plurality of input terminals of the tristate output driver means.
5. A processing unit comprising:
(a) an input latch having an input latch control terminal for receiving a first input latch control signal to activate the latch;
(b) a tristate output driver having a tristate control terminal for receiving a first tristate driver control signal to place the tristate driver into its high impedance state;
(c) input/output terminals for delivering input instruction and operand data signals to the input latch and for receiving output data signals from the tristate output driver;
(d) an instruction decoder for producing a plurality of decoded control signals including a fetch status signal, a second tristate driver control signal, and a second input latch control signal;
(e) an internal data bus arranged for delivering the output data signals to a second switch and for delivering the input instruction data signals from the input latch to the instruction decoder;
(f) a first switch, controlled by a command signal, arranged for delivering the first tristate driver control signal to the tristate control terminal: (1) in response to the second tristate driver control signal from the instruction decoder in the absence of the command signal, and (2) in response to the fetch status signal in the presence of the command signal;
(g) the second switch, controlled by the command signal, arranged for delivering to the tristate output driver: (1) the output data signals from the internal data bus when the command signal is absent, and (2) the decoded control signals from the instruction decoder when the command signal is present; and (h) a third switch, controlled by the command signal, arranged for delivering the first input latch control signal to the input latch control terminal: (1) in response to the fetch status signal in the presence of the command signal, and (2) in response to the second input latch control signal from the instruction decoder in the absence of the command signal.
6. The processing unit of claim 5 in which the instruction decoder is arranged for producing the command signal.
CA000357319A 1979-07-30 1980-07-30 Microprocessor architecture for improved chip testability Expired CA1143069A (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US06/061,741 US4422141A (en) 1979-07-30 1979-07-30 Microprocessor architecture for improved chip testability
US061,741 1979-07-30

Publications (1)

Publication Number Publication Date
CA1143069A true CA1143069A (en) 1983-03-15

Family

ID=22037828

Family Applications (1)

Application Number Title Priority Date Filing Date
CA000357319A Expired CA1143069A (en) 1979-07-30 1980-07-30 Microprocessor architecture for improved chip testability

Country Status (5)

Country Link
US (1) US4422141A (en)
EP (1) EP0023413B1 (en)
JP (1) JPS5624642A (en)
CA (1) CA1143069A (en)
DE (1) DE3069550D1 (en)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5814265A (en) * 1981-07-16 1983-01-27 Matsushita Electronics Corp One chip microcomputer
US4403287A (en) * 1981-08-24 1983-09-06 Bell Telephone Laboratories, Incorporated Microprocessor architecture having internal access means
GB8602964D0 (en) * 1986-02-06 1986-03-12 Metaforth Computer Systems Ltd Computer architecture
DE3740762A1 (en) * 1987-01-22 1988-08-04 Nat Semiconductor Corp DATA PROCESSING SYSTEM WITH AN EXTERNAL INTERFACE
JP2510591B2 (en) * 1987-06-12 1996-06-26 株式会社日立製作所 Instruction processor
JPH0312742A (en) * 1989-06-09 1991-01-21 Ricoh Co Ltd Central processing unit
GB2266606B (en) * 1992-04-27 1996-02-14 Intel Corp A microprocessor with an external command mode
GB2282244B (en) * 1993-09-23 1998-01-14 Advanced Risc Mach Ltd Integrated circuit
AU5550194A (en) * 1993-09-27 1995-04-18 Giga Operations Corporation Implementation of a selected instruction set cpu in programmable hardware
JPH086918A (en) * 1994-06-15 1996-01-12 Nec Corp Microcomputer
JPH08320808A (en) * 1995-05-24 1996-12-03 Nec Corp Emulation system
JP3676882B2 (en) 1996-06-12 2005-07-27 株式会社リコー Microprocessor and its peripheral devices
TW424177B (en) * 1999-02-26 2001-03-01 Via Tech Inc Debugging pad for directing internal signals of a chip to the pins of an IC
EP3657340A1 (en) * 2017-05-23 2020-05-27 Shanghai Cambricon Information Technology Co., Ltd Processing method and accelerating device

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB1131085A (en) * 1966-03-25 1968-10-23 Secr Defence Improvements in or relating to the testing and repair of electronic digital computers
US3585599A (en) * 1968-07-09 1971-06-15 Ibm Universal system service adapter
US3825901A (en) * 1972-11-09 1974-07-23 Ibm Integrated diagnostic tool
JPS52116131A (en) * 1976-03-26 1977-09-29 Toshiba Corp Microprogram instruction control unit
JPS5341952A (en) * 1976-09-29 1978-04-15 Fujitsu Ltd Two-way transmission system
JPS5352029A (en) * 1976-10-22 1978-05-12 Fujitsu Ltd Arithmetic circuit unit
US4128873A (en) * 1977-09-20 1978-12-05 Burroughs Corporation Structure for an easily testable single chip calculator/controller

Also Published As

Publication number Publication date
US4422141A (en) 1983-12-20
DE3069550D1 (en) 1984-12-06
JPS5624642A (en) 1981-03-09
EP0023413B1 (en) 1984-10-31
JPS6211734B2 (en) 1987-03-14
EP0023413A1 (en) 1981-02-04

Similar Documents

Publication Publication Date Title
CA1143069A (en) Microprocessor architecture for improved chip testability
US7398419B2 (en) Method and apparatus for seeding differences in lock-stepped processors
US6041406A (en) Parallel and serial debug port on a processor
US6175914B1 (en) Processor including a combined parallel debug and trace port and a serial port
EP0380858B1 (en) Method and apparatus for detecting and correcting errors in a pipelined computer system
US4658354A (en) Pipeline processing apparatus having a test function
US5951696A (en) Debug system with hardware breakpoint trap
US4488259A (en) On chip monitor
US6145100A (en) Debug interface including timing synchronization logic
US7657807B1 (en) Integrated circuit with embedded test functionality
US6154856A (en) Debug interface including state machines for timing synchronization and communication
US6370661B1 (en) Apparatus for testing memory in a microprocessor
JP4298960B2 (en) Trigger signal generation method in algorithmically programmable memory tester
US4493078A (en) Method and apparatus for testing a digital computer
US5677913A (en) Method and apparatus for efficient self testing of on-chip memory
US5812830A (en) Debug system with raw mode trigger capability
US4403287A (en) Microprocessor architecture having internal access means
JP2003007089A (en) Method for restoring the state of the algorithm control when error occurs during testing device to be tested
JP2001154876A (en) Microcomputer debug architecture and method
US6862704B1 (en) Apparatus and method for testing memory in a microprocessor
JP2001154875A (en) Microcomputer debug architecture and method
KR100442306B1 (en) Pipeline microprocessor test apparatus
JP4317338B2 (en) Memory tester with advanced post-decoding
US5675749A (en) Method and apparatus for controlling show cycles in a data processing system
US6836757B1 (en) Emulation system employing serial test port and alternative data transfer protocol

Legal Events

Date Code Title Description
MKEX Expiry