CA1119273A - Input/output data processing fault detection system - Google Patents

Input/output data processing fault detection system

Info

Publication number
CA1119273A
CA1119273A CA000288420A CA288420A CA1119273A CA 1119273 A CA1119273 A CA 1119273A CA 000288420 A CA000288420 A CA 000288420A CA 288420 A CA288420 A CA 288420A CA 1119273 A CA1119273 A CA 1119273A
Authority
CA
Canada
Prior art keywords
signals
control
register
command
transfer
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
CA000288420A
Other languages
French (fr)
Inventor
Earnest M. Monahan
Marion G. Porter
John M. Woods
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.)
Bull HN Information Systems Inc
Original Assignee
Honeywell Information Systems 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 Honeywell Information Systems Inc filed Critical Honeywell Information Systems Inc
Application granted granted Critical
Publication of CA1119273A publication Critical patent/CA1119273A/en
Expired legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing
    • G06F11/0772Means for error signaling, e.g. using interrupts, exception flags, dedicated error registers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0745Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in an input/output transactions management context
    • 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/2294Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing by remote test

Abstract

ABSTRACT OF THE DISCLOSURE

An input/output processing system comprises number of modules including at least a pair of processing units connected to operate as a logical pair and a system inter-face unit having a number of ports. Each port connects to a different one of the modules for interconnecting pairs of modules for communication over a number of switching circuit networks included in the system interface unit.
The system interface unit further includes control logic circuits for disconnecting each processor of the logical pair preventing the disconnected processing unit from communicating with other modules. The control logic cir-cuits further include circuits which in response to special commands from a good processor are operative to condition via a special liner circuits in the disconnected processing unit to apply status signals representative of the contents of a control register to the system interface unit. The other circuits within the system interface unit in response to a further command condition certain switching circuit.
networks for loading the status signals into one of the regis-ters included in the system interface unit for subsequent analysis by system routines.

Description

~t~73 BACKGROUND O~ THE INVBNTION
~ield of Use The present invention relates diagnostic apparatus and more specifically, apparatus for enabling diagnosis of a failed data processing unit.
Prior Art A number of data processing systems include apparatus w~Lich enables a "bad" unit or device to be deconfigured or logically disconnected from the system. When this occurs, the rest of the system is unable to communicate with the unit over any of the interfaces to which it connects. Hence, it is not possible to access any of the pertinent status regis-ters for determining the reason for failure.
One way of gaining access to the bad unit is to in-clude another path for accessing regi~ters. However, this has been found to be costly and to require that a certain mini~um amount of control logic circuits within the unit be opera-tive to enable the transfer of signals across the interface.
Another disadvantage of the above is that in access-ing internal information from the "bad" unit~ it is possible to alter the state of the unit. This is particularly true when the "bad" unit is a processor.
Accordingly, it is a primary object of the present inyention to provide apparatus for enabling access to internal information stored in a unit which has been logically dis-connected from a system.

It is a more specific object of the present inven-tion to provide an arrangement which provides internal information from a processing unit which has been logically disconnected from a sy~stem and inhibited from performing further operations.
~U~MARY 0~ THE INVENTION
The above objects are achieved in a preferred embodi-ment of the present invention which includes an input/output system comprising a plurality of modules including at least a pair of processing units connected to operate as a logical pair. A system interface unit has a plurality of ports, each of which connects to the interfaces of a different one of the modules for communication of information over a num-ber of switching circuit networks included herein.
The syste~ interface unit further includes control logic circuits for deconfiguring or disconnecting each pro-cessor of the logical pair, preventing the disconfigured processing unit from communicating with other modules. The control logic circuits include circuits which are connected to respond to special commands from the other processing units and apply signals to a predetermined line of one of the inter-faces for conditioning circuits in the deconfigured processing unit.
The conditioned processing unit circuits apply status signals representative of at least one program control register to another one of the interfaces. Other circuits within the systm interface unit in response to further com-mands condition certain ones of the switching circuit networks for loading the status signals into one of the registers ~9;2~3 of the system interface unit.
The above arrangement enables the operating system software to have access to pertinent status information notwithstanding the fact that it no longer has control over the operation of the deconfigured processing unit.
Moreover, the status signals are obtained without causing any alteration in the state of the deconfigured processing unit.
In accordance with the present invention, access to status informa-tion is permitted by the inclusion of a minimum of circuits. Of course this improves the reliability of the overall system and greatly facilitates diagno-sis of faults detected within any one of the processing units.
In accordance with the present invention, there is provided a data processing system including a plurality of modules, said plurality of modules including at lsast a pair of input/output processing units, each processing unit including a plurality of storage elements including a number of control registers for storing status and control information required for program pro-cessing, data output means operatively coupled to said number of control reg-isters for read out of the contents of said num~er of registers and clocking circuits for generating timing signals for enabling said input/output process-ing unit and a system interface unit having a plurality of interface ports and a number of transfer networks, each port connected to a different one of said modules and to said transfer networks, wherein said system interface unit controls the transfer of information between said ports, said system further including maintenance apparatus for facilitating diagnosis of fsilures within any one of said plurality of processing units detected as faulty comprising:
interface means included within the port of each input/output processing unit, said interface means being connected to said clocking circuits; command regis-ter means for storing commands, command decode circuit means, and a plurality of registers included ~n said system interface unit, said command register means being connected to receive commands from any one of said number of transfer networks, said command decode circuit means connected to said command register means and operative to generate control signals in response to said commands, a first one of sai~d registers being coupled to said interface means of each port for storing coded signals designating different configurations of at least a pair of said plurality of input/output processing units to be enabled for operation, said first register storing signals representative of an unlocked configuration bit pattern designating that only one of said pair is to be enabled and the other one of said pair disabled for being faulty, said signals conditioning said interface means to inhibit the operation of the clocking circuits of the other one of said pair of input/output processing units having been detected as being faulty; and, control circuit means includ-ed in each of said input/output processing units, said control circuit means being coupled to said data output means, said clocking circuits and to said interface means, said command decode circuit means being operative in response to a predetermined sequence of commands-from said one of said palr of input/
output processing units to generate a sequence of control signals, said inter-face means oE the port of said faulty processing unit in response to said con-trol signals conditioning said control circuit means to enable said data output means to apply the contents of a predetermined one of said number of control registers to the one of said number of transfer networks connected to said port thereby not altering the state of said faulty processing unit defined by the status~of said plurality of storage elements, and said one of said number of transfer networks being conditioned by said control signals to transfer said contents to one of said plurality of registers for use during subsequent fault analysis.
In accordance with the present invention, there is further provided a data processing system including a plurality of modules, said plurality of modules-including at least a pair of input/output processing units, each pro-cessing unit including a plurality of storage elements including at least one control regis*er for storing status and control information required for pro-gram processing and timing circuits for generating signals for enabling said processing unit and a system interface unit having a plurality of interface ports: and a.number of transfer networks, each port being connected to a differ-ent one of said modules and to said transfer networks:wherein said system interface unit controls the trans~er of information between said ports, said r~

- 6a -system further incluaing maintenance apparatus for facilitating the diagnosis of faults within an inactive processing unit comprising: interface means included within the port of each input/output processing unit, said interface means being connected to said timing circuits; command register means for storing commands, command decode circuit means, and a plurality of registers included in said system interface unit, said command register means being connected to receive commands from any one of said number of transfer networks, said command decode circuit means connected to said command register means and operative to generate control signals in response to said commands, a first one of said registers being coupled to said interface means of each port for storing coded signals designating different configurations of said pair of input/output processing units enab.led for operation, said first register stor-ing signals representative of an unlocked configuration bit pattern designat-ing that only one of said pair is to b.e enabled for operation, said interface means belng conditioned by said hit pattern to inhibit the operation of the timing circuits of the other one of said pair of input/output processing units rendering it inactive; and, control circuit means included in each of said input/output processing units, s~id control circuit means being coupled to said timing circuits and to said interface means, said command decode circuit means being operative in response to a first predetermined type of command from said one processing unit of said pair of input/output processing units to generate a first sequence of control signals, said interface means of said inactive processing unit being operative in response to said control signals to condition said control circuit means to apply the contents of said one control register to one of said numb.er of transfer networks for use during fault analysis thereby not altering the state of said inactive processing unit defined by the status of said plurality of storage elements.
In accordance with the present invention, there is further provided a data processing system comprising: a plurality of modules, said plurality 30. of modules.including a plurality of input!output processing units, each pro-cessing unit including: a number o~ control register for storing status and control information ~equired ~or program processing; data output means connect-- 6b -ed to said number of control registers for selection of any one of said number of registers; timing circuits for enabling the operation of said processing unit; interface means for transferring data and control signals to and from said processing unit, said interface means being connected to said timing circuits and to sai.d control circuit means, and control circuit means coupled to said data output means, said timing circuits and to said interface means, and a system interface unit for controlling the transfer of information be-tween said plurality of modules, said system interface unit including: a plurality of interface ports, each connected to a different one of said modules; a number of transPer networks connected to a different one of said plurality of input/output processing units; command register means, said com-mand register means being connected to receive commands from said number of transfer networks; command decode circuit means coupled to said command regis-ter means, said command decode circuit means being operative to generate con-trol signals in response to said commands, and a plurality of registers, a first one of said registers coupled to said interface means of each port and ~ storing bit pattern signals.codes for designating di$ferent operating config-~ urations of pairs of said plurality of input/output processing units defining : which processing units of said pairs are to be enabled for operation, said first register storing signals corresponding to a predetermined configuration, said signals conditioning said interface means to inhibit the operation of the timing circuits of a designated one processing unit of one of said pairs of input/output processing units rendering it inactive, and said command decode circuit means being operative in response to a first type of command from the other one of said one pair to generate a sequence of control signals, said interface means of the inactive processing unit in response to said control signals conditioning said control circuit means to cause said data output means to apply the contents of a selected one of said number of control regis-ters for subsequent examination for diagnosis of faults within said inactive process.ing unit to one of said number of transfer networks therehy not alter-ing the state of said inactive processing unit defined by the contents of said number of control re~isters.

- 6c -The novel features which are believed to be characteristic of the invention both as to its organization and method of operation, together with further objects and advantages will be better understood from the following description when considered in connection with the accompanying drawings. It is to be expressly understood, however, that each of the drawings is given for the purpose of illustration and description only and is not intended as a definition of the limits of the present invention.
Brief Description of the Drawings Figure 1 illustrates in block diagram form an input/output system employing the principles of the present invention.
Figure 2 shows in greater detail an input/output processing unit of a processor pair of Figure 1.

- 6d -~:~Z73 Figure 2a illustrates in greater detail portions of the circuits of Figure 2 in accordance with the present invention.
Figures 3a through 3c show in greater detail the system interface unit 100 of Figure 1.
Figure 4 illustrates in greater detall a portion of the circuits of Figures 3b and 3c in accordance with the present in~ention.
Figure 5a shows the lines which comprise a data inter-face o Figure 1.
Pigure 5h shows the lines which comprise programmable interfaces employed ~n the system of Figure 1.
Figure 5c discloses lines which comprise the interrupt interfaces included within the system of Figure 1.
Figure 5d shows the lines which comprise a local memory interface of Fi~gure 1.
Pigure 5e located on the same sheet as~Figure 2a shows the lines which compri$e an error notification interface of Figure 1.
Figure 6 illustrates the Qrmat o~ ~EX and R~EX pro-gram instructions.
i~igures 7a through 7c illustrate the formats of itner-face commands.
Figures 8a through 8d illustrate the formats of the contents o$ different registers included in the system interface unit lOQ of Figure 1.
Fi~gure 9 illustrates the signal sequence for processing an interrupt.
Figures lQa and lOb illustrate the signal s,equences for transferring à WREX command.

9Z`73 Table of Contents Description of the Preferred Embodiment General Description The Port Interfaces Data Interface Lines Program~able Interface Lines Interrupt Interface Lines Local Memory Interface Lines Error ~otification Interface Lines Detailed Description of Input/Ourput Processor 200 Control Store Section 201 Instruction Buffer Section 202 Storage Section 203 Processing Section 2Q4 Error Detection Circuits 20.1-32 - Figure 2 Counter and Detector Circuits Control Logic Circuits 201-30 Detailed Des;cription of System Interface Unit 100 Interrupt Section 101 Data Trans~fer Section 102 Control Section lQ3 Description of Operation - 7a -DESCRIPTION OF THE PREFERRED EMBODIMENT
Ge al Description As seen from Figure 1, the system which incorporates the prin-ciples of the present invention includes two input/output processor (IOPP) pairs 200-0 and 200-1, a system interface unit (SIU) 100, a high speed multiplexer (IISMX) 300, a low speed multiplexer (LSMX) 400, a host processor 700, a local memory module 500, and a main memory module 800.
Different ones of these modules connect to one of a number of ports of the system interface unit 100 through a plurality of lines of different ones of different types of interfaces 600 through 603. More specifically, the two input/output processors of logical pair 200-0 and 200-1, the host processor 70Q, and high speed multiplexer 300 connect to ports G, H, E, F, D, and A, respectively, while the low speed multiplexer 400, memory modules 500 and 800 connect to ports J. LMO, and RMO, respectively.
The input/output system of ~igure 1 can be viewed as including a number of ~Iactive modules", "passive modules", and "memory modules". The IOP processor 200, host processor 70Q, and high speed multiplexer 300 serve ; as active modules in that each has the ability to issue memory commands.The active modules normally connect to ports A through H. A plurality of passive modules are connected to three ports J, K, and L. These modules correspond to the lo~ speed multiplexer 400 and the system interface unit 100 and are units capable of interpreting and executing commands applied to the lines of interface 601 as described herein. The last group of modules constitutes local memory modules and remote memory modules (not shown) such as th~se of the main system (not shown~ which are capable of executing two different types of commands applied to the lines of interface 603.
The input/output system of Figure 1 normally functions as an input/output subsystem responsive to input/output instructions issued by host processor 700 which normally connects to port D via the interface 600, 601, and 602 which correspond to a data interface, a programmable interface, ~3 and an interrupt interface, respectively, described in greater detail herein.
Ports F and E include interfaces for enabling connection of either multi-plexer or processor modules of Figure 1.
For the purpose of the present invention, processor 700 is conven-tional in design and may tak0 the form of those units described in Patent 3,413,613. In the preferred embodiment, the input/output processor 200 initiates and terminates channel programs required for the execution of input/output instructions, processes interrupt requests received from the system interace unit lQ0 and directly controls unit record peripheral devices coupled to low speed multiplexer 4Q0. The processor pair 200-0 con-nects to ports e and H Yia the data interface 6QQ and interrupt interface 602.
The low speed multiplexer 400 which for the purposes of the present invention can be considered conventional in design, provides for attachment of low speed peripheral deyices via peripheral adapters, each of uhich couples to the lines of a device adapter interface (DAI~. The inter-face and adapter may take the form of those units described in Patent 3,742,457, which ~s assigned to the assignee of the present invention. The low speed device$ include card readers, card punches, printers, and consoles.
As seen from Fi~gure 1, the multiplexer 4Q0 connects to port J via the programmable interface 6Ql.
The high speed multiplexer 3Q0 directly controls transers between the groups of d~sk deyices and tape deYices 309 through 312 which connect to different ones of the channel adapters 3Q2 to 305. Each of the channel controller adapters 3Q3 through 306 which connects to a maximum of 16 devices, in turn, connects to a different one of the ports or channels~ Q through 3 via the interface lines of a channel ~dapter interface ~CAL~ 301-1. The high speed multiplexer 3Q0 connects to port A corresponding to a data interface 60Q, a programmable interface 601, and an interrup~ interface 602.

For the purposes of the present invention, each of the channel _ g _ controller adapters 302 through 305 may be considered conventional in design and take the form of controller adapters described in the aforemen-tioned Patent 3,742,457.
As mentioned previously, each of the modules connects to different ports of the system interface unit 100. The unit 100 controls the connection of the different modules to each other via transfer paths enabling the transfer of data and control information between pairs of modules. For the purpose of the present invention, the system interface unit 100 can be Yiewed as a switching network enabllng each of the t'active" modules to transfer data to and from local memory module 50Q when the requesting module has the highest priority and is granted the next available memory cycle.
That is, as explained herein, the unit lQa includes priority logic circuits which determine the relative priority of requests from each of the active ~ modules and grants the next available memory cycle to the highest priority ; request recei~ed.
Additionally, the unit lQQ includes interrUpt priority logic circuits which determine the relative priority~of interrupt requests received from each of the modules and selects the highest priority request received and passes the request to processor 2QO ~ia a switching network as explained 2Q herein.
; THE PORT INTERFAC~S
Before descrihing in greater detail different ones of the modules of Figure 1, each of the interfaces 60D through ~Q3 referred to pre~iously will now ~e described with reference to ~i~gures 5a through 5d.
Referring first to Fi`gure 5a, it is seen that this figure dis-closes the lines which constitute the data interface which is one of the interfaces which provides for exchange of information between an active module and the system interface unit laa. Exchange is accomplished by controlling the logical states of various signal lines in accordance with 3a pre-established rules implemented through a sequence of signals termed a - lQ ~

"dialog".
As seen from Figure 5a, the interface includes an active output port request line (AOPR), a plurality of data to SIU lines (DTS OO-DTS 35, PO-P3), a plurality of steering data to SIU lines (SDTS 0-6, P), a plurality of multiport identified to SIU lines (MITS ~-3, P), an active request accepted line (ARA), an accept read data line (ARDA), a plurality of data $rom SIU bus lines (DFS 00-35, PO-P3), a plurality of multiport identifier $rom SIU lines (MIFS 0-3, P), a double precision from SIU line (DPFS), and an accept status line (AST). The description of the interface lines is lQ given in greater detail in the section to follow.
DATA INT~RFACE LINES
Designation Description AOPR Th.e active output port request line is a uni-directional l;ne which extends from each of the active modules to the SIU lOa. When set, this line signals the SIU that the module requests a transfer path over which a com-mand or a command and data is to be trans-$erred.
20DTS QO-35, PO~P3 The data to SIU lines are a four byte wide unidirectlonal path. (four lQ bit bytes) that extend between each of the active modules and the SIU and are used for transferring com~ands or data from each active module to the SIU lQQ.

. ,~'~'~' .

Designation Description SDTS 0-6, P The steering data to SIU lines extend from each active module to the SIU 100. These lines are used to apply steering control in-formation to the SIU 100 when the line AOPR
is set. Steering control information con-sists of seven kits and a parity bit which are coded as follows;
a~ The state of bit O - The type of command applied to the DTS lines ~whether the command is a programmable interface command or a memory command~.
bl Bits 1-4 are coded to indicate which one of the modules is to receive and inter-pret the command ~memory or ZAC commands are interpreted only by memory modules and programmable interface commands shall be interpreted by all modules except in-put/output processors 200-0).
cl The state of bit 5 indicates whether one or two words of the command information is to be transferred between the request-ing active module and the designated receiving module Cone word specifies a single prec~sion transfer and two words specifies a double precision transfer).
d) The state of bit 6 indicates the direction of transfer between the requesting module and the designated receiver module.

~ 12 -~.

~9~3 Designation Description e) Bit P is a parity bit generated by the requesting active module which is checked by apparatus included within the SIU 100.
MITS Q-3, P The four multiport identifier to SIU lines extend from the active module to the SIU 100.
These llnes are coded to indicate which sub-channel or port within an active module caused the setting of line AOPR.
lQ AR~ The active request accepted line extends from the SIU lQ0 to each of the active modules.
This line is set to indicate that the designated receiving module has accepted the active module's request which allows the ~odule to remove the requested information from the data interface lines.
ARDA The accept read data line extends from the SIU to each of the active modules. This line is set by the SIU lQO to indicate to the ac-2Q tive module that it ls to accept the pre-viously requested data from a designated module~
DFS ~0-35, PO~P3 The data from SIU lines are another set of data path lines which are a four byte wide uni-directional path ~four 10 bit bytes) which extends rom the SIU to each active module.
This set of lines is caused by the SIU 100 to convey read type data to a designated one of the active modules.

~ L3 --- ' Designation Description MIFS 0-3, P The four multiport identifier from SIU lines plus odd parity line extend from the SIU 100 to each of the active modules. These lines are coded to indicate which port or subchannel on the active module is to accept the data of a previous read operation from the SIU 100.
DPFS The double precision from SIU line extends from the SIU to each of the active modules. The state lQ of this line indicates ~hether one or two words of read data are to be accepted by the active module to complete a transfer ~read command).
AST The accept status line extends from the SIU 100 to each active module. The state of this line whlch is mutually exclusiye of line ARDA signals the active module that it should accept status information applied to the DFS lines.
The lines of the programmable interface601 shown in Figure 5b provide for transfer of command information from an active module and a designated module. The transfer is accomplished by controlling the logic of status of the various signal lines in accordance with pre-established rules implemented through a sequence of signals termed ~'dialog". The pro-grammable interface includes an accept programmable interface command line (APC~, a plurality of programmable interface data from SIU lines ~PD~S 00-35, ~Q-P-3~, a programmable interface ready line CPIR), a read data trans$er request line ~RDTR~, a plurality of programmable interface data to SIU lines ~PDTS Q0-35, P0-P3~ and a read data accepted line ~RDM). The description of the interface lines are given in greater detail herein.
':
~ 14 _ PROGRAMMABLE INTERFACE LINES
Designation Description APC The accept programmable interface command line extends from the SIU l00 to each receiving module. When set, this line signals the module that command information has been applied to the PDFS lines of the interface by the SIU and is to be accepted by the module.
PDFS Q0-35, P0-P3 The programmable interface data from SIU lines are a our byte wide unidirectional path ~four l0 bit bytes~, that extends from the SIU
l00 to each module. These lines apply pro-grammable interface information from the ; system interface unit to a designated receiv-ing module.
PIR The programmable interface ready line extends rom each module to the SIU. When set or high, this line indicates that the module is ready to accept a command to be applied to line PDFS.
PDTS Q-351 PQ-P-3 The programmable interface data to the SIU
lines are a four byte wide unidirectional path Cfour l0 bit bytesl that extend from each module to the SIU l00. These lines are used to transfer programmable interface information to the SIU.

~ 15 - -.

Designation Description RDTR The read data transfer request lin0 extends from each module connected to the programmable inter-face to the SI~ 100. When set or high, this line indicates that the previously requested read data is available or transfer to a module and has been applied to the lines PDTS by the module.
RDM The read data accepted line extends from the SIU
100 to each ~odule. When set or high, the line indicates to the module that the data applied to the lines PDTS has been accepted and that the module may remove the information from these lines.
A further interface is the interrupt interface 602 of Figure 5c which provides or interrupt processing ~y the input/output processor pairs 2Q0-0 and 200-1. T~at is, the interface enables the transfer of interrupt infor~ation b~ a module to the SIU l~Q as ~ell as the transfer of interrupt information ~y the SIU 100 to the input/output processor 20Q for processing.
S~milar to the other interfaces, the transfer of interrupt requests is accom-plished by controlling the logical states of the various signal lines in accordance with pre-established rules implemented through a sequence of signals termed ~dialog", The interface includes an intcrrupt request line ~IR), a plurality of interrupt data lines ~IDA 00-11, P0-Pll, and a plurality of interrupt multiport identifier lines ~IMID 00-03) for modules connected to ports A
through L. For modules connected to ports ~ and H, the interrupt interface further includes a level zero present line ~LZP), a higher level interrupt present line ~HLIP), an interrupt data request line (IDR), a release line (RLS), and a plurality of active interrupt level lines (AIL0-2). As seen from ~igure Sc, the interrupt interface ports G and H do not include an interrupt multiport identifier line. The description of the interrupt lines ~ 16 -~9;2~

is given in greater detail herein.
INTERRUPT INTERFACE LINES
Designation Description IR The interrupt request line extends from each module to the SIU 100. When set or high, this line indicates to the SIU that it requires ser-vice.
IDA Q-3, PO The interrupt data lines extend from a IDA 4-11, Pl module to the SIU 100. These lines are coded to contain control information required to be trans-ferred to the input/output processor. These bits are coded as follows:
a~ The state of bit O specifies to the SIU 100 which of the two processors (i.e., processor number~ is to process the interrupt request.
b~ Bits 1-3 are coded to indicate the priority or level number of the interrupt request to the SIU lOQ.
c~ Bit PO is a parity bit for bits 0-3.
d~ Bits 4-8 are coded to provide a portion of an an address required to be generated by an input/output processor for referencing the correct procedure for processing the inter-rupt (i.e., an interrupt control block number ICBN~.
e~ Bit ~1 is a parity bit for bits 4-11.
I~IDOQ-03 The interrupt multiport identifier lines extend from each active module to the SIU 100. These lines are coded to identify which specific su~channel of the active module has requested interrupt service.

~9~73 Designation DescriE~
LZP The level zero present line extends from the SIU
100 to the input/output processor. ~hen set or high, this line indicates that there is a highest priority ~level O interrupt) request being directed to a processor by the SIU 100.
HLIP The higher level interrupt present line extends from the SIU to each input/output processor.
When set or high~ this line indicates that there is an interrupt request having a higher level or priority than the procedure or process being executed by the processor.
IDR The interrupt data request line extends from the input/output processor to the SIU 100. ~hen set or high, this line indicates that interrupt data i5 to be sent to the processor on lines DFS by the SIU 100.
RLS The release line extends from each input/output processor to the SIU 100. This line, when set 2Q or high, indicates that the processor has com-pleted execution of the current procedure.
AIL Q-2 The active interrupt level lines extend from the ~IU to the input/output processor. These lines are coded to designate the interrupt level number of t~e procedure being executed by the processor.
A $urther set of interface lines utilized by certain ones of the modules of pigure 1 corresponds to the local memory interface lines of Figure 5d. The local memory interface 6Q3 provides for exchanging information between local memory 500 and the modules of the system. The exchange is accomplished by controlling logical states of the various signal interface lines in accordance with pre-established rules implemented through a sequence of signals termed a "dialog". The local memory interface includes a plurality of data to memory lines (DTM 00-35, PO-P3), a plurality of request identifier to memory lines IRITM 0-7, PO-Pl), a plurality of specification lines to memory lines (SLTM 0-3, P), an accept PI command line (APC) J an accept ZAC
command line (AZC), a PI interface ready line (PIR), a ZAC interface ready line (ZIR), a read data transfer request line (RDTR), a plurality of data from memory lines (DFM 00-35~ PO-P3), a plurality of request identifier from memory lines ~RIFM 0-7, PO-Pl), a double precision from memory line (DPFM, a QUAD line, a read data eccepted line (RD M) and a system clock line (SYS-CLK). A similar interface is used for connecting the main memory mod-ule 800 to the SIU 100.
Memory and programmable interface commands are transferred out of the same phy$îcal data lines of the interface. The interface does not include a set of lines for processing interrupt requests and therefore the modules connected to the local memory by the SIU lQO cannot directly cause a memory interrupt. The description of the local memory interface lines is given in greater detail herein.
LOCAL ~E~OR~ INTERFACE LINES
Designation Description DTM 00-35~ PO-P3 The data path lines constitute a four byte wide unidirectional path 136 information lines and four odd parity lines) that extends from the SIU
lQO to the local memory 500. These lines are used to transfer memory or programmable interface co~mands and data to the local memory 500.
RITM 0-3, RO The requester identifier to memory lines RITM 4-7, Pl constitutes two groups of four lines which ex-tend from the SIU 100 to the local memory 500.
These lines are coded to convey information to the local memory identifying the module which initiated the command and are used to return the data requested to the proper module.

~- lg -Designation Description SLTM 0-3, P The specification lines to memory extend from the SIU 100 to the local memory 500 and include two port number selection lines, a read/write to memory line, a double precision to memory line and a parity line. The information signals applied to these lines are coded as follows.
a) Bits 0-1 are port number selection bits coded to specify which port or subchannel within the attached module is to receive or interpret the memory command sent to the module.
b~ Bit 2 is a read/write to memory bit which is included in the steering control information received from the active module which is for-warded by thç SIU to the local memorr 500 when a new command is sent to the memory by the SIU 100. The state of this bit indicates the direction of data transfer.
c~ B~t 3 i5 a double precision to memory bit coded 2Q to specify the amount of data to be transferred.
It is also included in the steering control information provided by the active module which is forwarded to the local memory module 500 by the SIU 100 when a new command ls sent to the memory module.
~' AZC The accept ZAC command line extends from the SIU
100 to the local memory module 500. Nhen set or high, this line signals the local memory module 50Q to accept the ZAC command and control informa-tion applied to the other lines by the SIU 100.

The setting of this interface line is mutually ex-clusive with the accept PI command interface line.
_ 20 -,.

~1~9~3 Designation Description APC The accept programmable interface command line, as described in connection with the programmable inter-face, extends from the SIU 100 to the local memory module 500. When set or high, this line indicates the command information applied to the lines DTM is to be accepted by the local memory module 500.
PIR/ The programmable interface ready line and ZAC
ZIR
interface ready line extends from the local memory module 500 to the SIU 100. When set or high, each line signals; the SIU 100 that the local memory module 500 is capable of accepting a programmable interface ~PI~ or memory (ZAC~ command.
RDTR Th.e read data transfer request line extends from the local memory module 5QQ to the SIU 100. This line, when set or high, ind;cates that the read type data previously reques*ed b~ a ZAC or PI command is available along with th.e necessary control informa-: tion to be sent to the module requesting the data.
2Q DFM O.Q--35, PO~P-3 The data from memory lines are a four byte wide uni-directional bus which extends from the local module 5Q0 to the SIU lOQ. These lines are used to return read requested type data to an active module via the SIU 100.
~IF~ 0 3, P0, The twogroupsof requester identi$ier from memory RIFM 4-7, Pl lines extend from the local memory module 500 to the SIU 100. These lines are coded for directing the read data from module 500 back to the request-ing module.

~ 21 -Designation l)cscril)tioll DP FM and QUA~ 'I`he doul)lc precision from Inelllory linc ~nd QUAD linc cxtend from tl-c Iocal memory mo~lule 500 to thc SIU
100. Thcse lincs arc codc~ to indicatc thc number of ~ords to be transfcrrcd via the SIU 100 to the rc~uestin~ modulc cluring read data transfcr request time intorval. These lincs arc coded as follows:
QUAD DPI~I
O O one word single precision 0 1 two words, double precision X
(don't care) four ~ords DSD The read data/status identifier line extends from the local memory module 500 to the SIU. The state of this line signals the SIU 100 whether the infor-mation applied to the lines DF~l is read data or status information when line RDTR is set to a bin-~ .
ary one. !~en set, the line indicates status ``~ - information of one or two words ~QUAD=O) is being o transferred. When reset to a binary ZERO, the line signals that up to four words of data are being ' transferred, the number being specified by the coding of lines QUAD and DP~l.
RDM The read data accepted line, as melltioned in con-nection with the programmable interface, e~tends from the SIU 100 to the local memory module. When , I,f`~ set, this line signals the memory module that the 'j" data applied on the interface lines by the local memory module has bcen accepted and that the local mcmory modulc may removc data from thesc lincs.

- 22 ~
~;

~3 Designation Description -SYS-CLK The system clock line is a line which extends from the SIU 100 to each module of the system.
This line is connected to a clock source included within the input/output processor to synchronize the operations of each memory module from a common system clock source.
last set of interfaoe linésis shown in ~igure 5e. In accordance ~ith the present invention, several of these lines signal certain conditions as for example error conditions and operational conditions. More important-1~, these lines enable the SIU 100 to control the operation of the processor pair in accordance with the present inyention.
As seen from Figure 5e, the interface includes a display PCR line (DPCR), a parity error detected line ~PED~, a trou~le line ~TBL), a STOP
line, an initialize llne (INIT), and an operational in line (QPI~.
The description of the interface lines is given herein in greater detail;
;~ ERROR NOTI~IC~TION INTERFACE LINES
Desi nation De5cri~ption ,: g
2~ DPCR The display process control register (DPCR~ line is a line ~rom the SIU 100 to the attached input/
~ `
output processor whose state indlcates that the ; contents of the PCR register of the input/output processor should be gated onto the data lines to the SIU lOQ. This line is activated in response ~` to a WREX ~nstructian to SIU 100 and deactivated in response to any RDEX instruction directed to SIU lnQ.

Designation Description PED The parity error detected line is a single line which is coded to indicate to the SIU 100 the logical "OR" of all the parity error detector circuits internal to the attached I/O processor.
Tfiis line is used by the SIU 100 as an indication t~at a level zero interrupt is to be issued to t~e processor.
TBL ~he trouhle line, when set by the processor, notifies the SIU lQQ that it has encountered an exception condition ~ile in levcl zero or a time-out during the sel test.
STOP ~ line from the SIU 100 to a module which, when set, indicates that the module should cease all activity.
INIT ~ line from SIU lQO to a module which, when set~
causes the module to assume the initialized state.
OPI A $et/complement pair of lines to the SIU 100 ! from a m~dule. T~e pair is coded to indicate when,~ 20 the madule is- active, is powered up, and is ready to generate or accept commands.
~aving described t~e different types of interfaces utilized by the modules of ~igure 1, each of the modules pertinent to the understanding of the present invention will now be described in greater detail.
Detailed Description of Input/Output Processor 2QQ
Referring to Figure 2, it is seen that thç processor 20Q comprises a microprogrammed control section 201 operative to generate control signals in response to microinstructions stored in a control store 201-10 for executing instructions, an instruction buffer section 202 for storing in-structions fetched from the local ~emory module 5QQ, a storage section 203 11~9273 and a processing section 204 for performing arithmetic and logic operations under the control of microprograms stored in control store 201-10.
Control Store Section 201 -Considering each section in greater detail, the control store 201-10 is constructed of fixed sections which use for example a read only memory (ROM). The store 201-10 is addressable via signals from any one of the eight address sources applied to a selector switch 201-14. The contents of the addressed locations are read out into an output register 201-15 and decoded ~y decoder circuits included within a block 201-16.
Additionally, as shown, signals from one of the fields of the microinstruction contents of register 2Ql--15 are applied as an input to the switch 201-14 for selecting which one of the eight input sources is to apply an address to control store 2Ql-10. The microinstructions read out to register 201-15 include address constants for ~ranching the control store : 2Ql-10 to appropriate microprogram routines.
As seen from ~igure 2, the eight control store address sources include- lnterrupt/exception signals derived from signals applied by the system interface unit 10.a and circuits included within processor 200; a next address register position which receives next address information stored in a register 2Ql-22 via an adder circuit 201-24; a return address register position which receives the return addres~ contents of a return register 201-20; an execution address register position which receives an address from a pathfinder memory 201-2 via memory output register 2Ql-4; a sequence address register position which also receives an address from register 201-4;
and a constant position which receives a constant value from the output register 2Ql-15.
T~e appropriate next address is generated ~y adder circuit 201-24 which receives as one operand input, address signals from one of the sources $elected by switch 201-14 and as the other operand input, signals from skip control circuits of a block 201-26. The skip control circuits are conditioned by constant signals stored in control store register 201-15 which in turn provide an appropriate value as one of the operand inputs to the adder 201-24. The resultant address generated by adder circuit 201-24 represents the sum of the addresses applied by switch 201-14 and constant signals pro-vided b~ skip control circuits of block 201-26 Briefly, the different positions of switch 201-14 are selected in response to microinstructions read from control store 201-10 to provide appropriate addresses for microprograms stored in control store 201-10 required for the execution of an operation specified by the op code of a program instruction. The instruction op code is applied to the pathfinder memory 2al-2 via path 2Ql-~ as shown. The return address register position of switch 201-14 is selected during program sequencing as a consequence of a branch operation while the constant register position i5 selected to provide for a branch to a predetermined location in the control store 201-10 defined ~y the constant field of the microinstruction stored in register 201-15.
Interrupts are processed at the completion of execution of a program instruction. It is seen in Fi~gure 2 that a higher level interrupt present (HLIP) and level zero interrupt CLZP~ lines apply signals to switch 2Ql-14. The signal applied to the ~LIP line is ~'ANDed'l with interrupt inhibit signals from a process control register 204-22 and the result is QRed ~ith the signal applied to the LZP line. When the higher level inter-rupt present signal is not inhi~ited or there is a signal applied to the LZP
line, signals from circuits, not shown connected to switch 201-14 select the exception/interrupt position. The signal lInes indicative of the presence of an interrupt (LZP and HIPL) cause the selection of an interrupt sequence of microins*ructions to ~e referenced in lIeu of referencing the micro-instruction sequence for executing the next program instruction.
Signal lines indicative of ~'exceptionsl' are applied to control circuits-, not shown, associated with switch 201-14 and cause the selection of the exception/interrupt position. This provides an address for referencing ~9Z7~

an exception sequence of microinstructions. Depending upon the type of execution, the exception may be processed immediately hecause continuing pro-gram instruction execution must be prevented or it is not possible (e.g.
faults, illegal instructions). The exception is processed upon the com-pletion of execution of the program instruction where the condition does not require immediate attention ~e.g. time out, overflow, etc.~. As explained herein, the occurrence of exceptions cause the exception/interrupt position of 201-14 to be selected and the setting of an appropriate bit position in process control register 204-22.
Timing signals, designated as pDA in Figure 2, required for estab-lishing appropriate memory cycles of operation for control section as well as timing signals or operating other sections of processor 200 and the other modules of the system of ~igure 1 are provided ~r clock circuits included within a block 201-30. The clock circuits: receive as an input the STOP line ~hich, when in a ~inary ONE state, inhibits further operation of control section 201. The block 201-30 includes circuits for signalling the SIU 100 via the OPI line that the processor 20Q is operational. For the purposes of the present invention, the clock circuits as ~ell as the other circuits of ~igure 2 can be considered conventional in design and can, for example, 2Q take the form of circuits disclosed in the publication titled "The Integrated Circuits Catalog for Design Engineers~', by Te~as Instruments Inc. J printed 1972, ~ore specifically, the clock circuits-can co~prise a crystal controlled oscillator and counter circuits while the switch 2Ql-14 can comprise a plurality of data selector/multiplexer circuits.
From the ahove, it is seen that, as in most microprogram controlled machines, the control store 201-10 provides the necessary control for each processor cycle of operation. That is, each microinstruction ~ord read out from control store 201-10 during a cycle of operation is diYided into a number of separate control fields which provide the necessary input signals to the YariOUs selector switches of Figure 2 for addressing of the different ~,,~' 1~7`~

scratch pad memories and selection for branching, signals for controlling the operation of an adder/shifter unit of section 204 and signals for provid-ing control information necessary for generating commands. For more detail-ed information regarding the operation of control section 201~ reference may be made to the copending application titled "Pathfinder Microprogram Control Systeml' invented by G. ~esley Patterson et al., issued as United States Patent No. 4,001,788 on January 4, 1977 and which is assign-ed to the assignee of the present invention. Reference may also be made to other ones of the documents referenced in the introductory portion of the specification.
Instruction Buffer Section 202 This section includes a plurality of registers 202-2 for storing up to four words of instructions fetched from local memory module 500 and applied via a data in register 2Q4-18. The group of registers 202-2 are con-nected to a two position instruction register switch 202-4 which is arranged to provide two outputs, a current instruction read output (CIR) and a next instruction read output ~NIR). The selection of instruction words on a half of full word basis is made in accordance with the states of bit positions of the current instruction counter CrC) normally stored in a first of the working registers of block 2Q4-12. For the purpose of the present invention, the arrangement can be considered conventional in design.
Storage Section 203 ~s seen from Figure 2, this section comprises a scratch pad memory containing eight sets or groups or registers associated with eight priority levels. The highest priority level is level 0 and the lowest priority level is level 7. Each group or level includes 16 registers used as described herein.
~he scratch pad memory 2Q3-lQ is addressed via an eight position data selector switch 2Q3-14 which selectively applies a seven bit address from any one of eight sources to address inputs 203-12. The three most signi-ficant bit positions of address inputs 203-12 select one of the eight sets of ~1~9~73 registers (i.e. the level) while the remaining four bits select one of the sixteen registers. Signals applied to the active interrupt level (AIL) lines by the SIU 100 provide the three most significant bits to the scratch pad address inputs 203-12. The remaining signals are provided by control store register 201-15 or fields from the instruction applied via the IRSW.
The write address register 203-22 is loaded via switch 202-4 to store signals corresponding to either bits 9-12 or bits 14-17 of the current program instruction as designated by one of the fields of the microinstruction contained in register 201-15. Accordingl~, the write address register provides address storage for loading or returning a result to one of the general registers of scratch pad memory 203-10. The write operation occurs upon the generation of a write clock signal which occurs either in response to switch-ing to a binary ONE a clocked write flip-flop not shown, or in response to a field of a microinstruction loaded into register 201-15. W~en generated by the write flip-flop, the write clock signal occurs when the write flip-flop is reset to a binary ZERO upon the occurrence of a next PDA clock pulse.
This allows a write operation relating to a program ins*ruction to occur during the start of processing the next instruction.
It will be noted that the contents of th~ write address register 2~3-22 are applied to a decoder network 2Q3-28 via selector switch 203-14 which is operative to generate a signal on an output line each time register 203-22 stores an address of 0, 1 or 15. This signal inhibits the generation of a write clock pulse by gating circuits, not shown, when write flip-flop i5 in a binary ONE state. Additionallyj the decoder network 203-28 receives a mode signal from the process state register 204-20. The state of the signal which indicates whether the processor 200 is in a master or slave mode of operation is l'AND~D" with the output signal and is used to generate an exception signal on another output line which is applied as an input to process control register 204-22 and to one causes selection of the exception-interrupt position of switch 201-14. As explained herein, this prevents - 2~ ~

~11;1~73 alteration of the contents of the process state register location (GR0) of scratch pad memory 203-10.
The contents of an addressed register location are read out into a scratch buffer register 203-16 via a first two position data selector switch 203-18. The contents of the buffer register 203-16 are then selectively applied to processing section 204 via a further two position data selector switch 203-20. The different positions of each of the data selector switches 203-14, 203-18, and 203-20 are selectable by different fields contained in the microinstructions read out into register 2Ql-15. The scratch pad memory 203-10 receives data signals applied from one of a pair of output buses s-electively connected to any one of four working regis*ers of block 204-12.
Each set of 16 registers includes a process stata register ~PSR) location (general register Q) for storing information essential to control-ling the current process. The first eight bit positions of the register stores steering information coded to identify the interrupting module. The next position is a privilege bit position coded to identify the mode of operation (i.e. ~aster or slave). The register also includes an external register bit position coded to indicate whet~er the register contents can be altered, an address mode bit position, two condition code bit positions, a carry bit position and 22 bit positions for storing a count which is periodically decremented while the associated process is active (i,e. serves as a "process timer"~. ~ecause of the requency of access to the contents of the process state register required for modification or reference, signals representative of the contents of this register are stored in one of the registers of the processing section 204 (i.e. register 204-20~ Thus, the general register storage location for storing the contents of the process state register serves to store the current ~alue of the process state regis*er of section 204 upon the occurrence of an interrupt.
Each group of registers further includes an instruction counter ~general register 1~ for storing the address of the current instruction of the process associated therewith. Additionall~, each group of registers in-clude a page table base register (general register 15), and a number of general registers ~general registers 2-14~ for providing temporary storage for operands and address information. The scratch pad memory 203-10 also includes a control block base ~CBB) register location which stores an absolute address pointing to the base of an exception control ~lock and inter-rupt control block tables stored in local memor~ mQdule 500. The first register CR0 of the highest priority set of registers ~level 0) which is neyer altered, stores the control block base information. The ~nterrupt control block ~ICB) tahles include 256 groups of storage locations which store information for processing the type of interrupt. The exception control block ~ECB) tables include 16 groups ~f storage locations which store infor-mation for processing the type of exception.
Exceptions are processor de*ected c~nditions which cause the pro-cessor 20a to enter automatically one of the 16 exception processing routines.
The exception conditions are identified by a ~our bit exception num~er which corresponds to bits 10-13 of the program instruction when the processor enters master mode. In all other instances, the exception numher ~s ZER0 The exception number ~ECB#) is used to identi$y one of the four word exception control blocks CECB~ which points to an exception process~ng routine. The hyte address of an ECB equals the control block ~ase CCBB) - 16 (ECB #~1).
Each ECB includes values or loading the PSR, IC, and pTBR registers in addi-tion to a saYing area pointer in ECB#~ which points to a stack area for stor-ing information pertinent to the current process ~efore the processQr 200 enters the exception routine.
The address of an interrupt control hlock ~ICB~ 2quals~the control hlock base (CBB) + 16~ICB#). T~e ICB# is ~btained from the ~nterrupt word as explained ~erein. Similarly, the ~CB is a four word ~lock and it contains yalues for the PSR, IC, GR14, and PTBR registers.

_ 31 ~

32'73 Processing Section 204 This section performs all of the arithmetic and logic operations required to process program instructions. The section 204 includes an adder/shifter unit 204-1 capable of performing arithmetic, shift, and logic operations upon a pair of 36 bit operands. The results produced hy either an adder portion or shifter portion of unit 2Q4-1 are selected in response to microinstructions and thereafter selectively transferred via a four posi-tion data selector switch 204-8 on a pair o OlltpUt lines to any one of the working registers of block 204-12 and to a data output register 204-14.
The data output register 2Q4-14 connects to the lines of the processor data interface 600.
For the purposes of the present invention, the adder/shifter unit 204-1 can be considered conventional in design. Also, the unit 204-1 may in-clude either circuits such as those disclosed in Patent 3,811,039 to John P. Stafford or circuits disclosed in other documents referenced in the introductory portion of the present specification.
The block 2a4-12 includes four working registers R0 through R3 which provide temporar~ storage or the instruction counter and for addresses during instruction execution. The registers can be loaded from any one of the sources connected to switch 2Q4-8 ~i.e. adder/shifter 204-1, address switch 204-6, PSR~PCR switch 2a4-24 and scratch pad buffer input switch 203-18). The register to be loaded and the write signal required for loadin~
the register is established by fields included within the microinstruction read out to register 201-15.
As seen from ~igure 2, the registers are cQnnected to a pair of output buses WRP and WRR. The ~RP bus connects to address inputs 204-5, to switch 203-18 and to scratch pad memory 203-10. The WRR bus connects to A
operand switch 2Q3-20, to B operand switch 2Q4-~1, to register 204-20 and to register 204-22. The registers selected fQr connection to the WRR and WRP
huses are designated by a pair of fields included within the microinstruction ~ 32 -read out to register 201-15.
As seen from Figure 2, the processing section 204 includes process state register 204-20 and a process control register 204-22. The process state register 2Q4-20, as mentioned, is loaded from scratch pad memory 203-10 via output bus NRR. The process control register 204-22 is a 36 bit register co~mon to all eight interrupt levels.
The hit positions of the process control register 204-22 contain the following information. Bit positions 0-8 designate different types of exceptions which include the follo~ing.

Q Operation not complete; no response from SIU on lines ARA or ARDA.
1 Page address bounds fault (key check).
2 Page access fault.
3 Page not resident in memory.
4 Illegal operation (in~alid instruction, illegal slave ins*ruct~on, or illegal slaye operation).
Process timer run out.
Oyerflow.
7 Lockup fault.
8 Address misalignment.
The term "fault" does not necessarily mean the occurrence of a hardware failure, but includes programming errors, etc.
Bit positions 9-12 store the parity errors detected per data path substrate. Bit position 13 indicates when a parity error is detected in the Data In register~ Bit positions 14-15 store indications of parity errors detected per control store and pathfinder memory. Bit 15 signals no response to the le~el zero interrupt present. Bit positions 23-26 identify the pro-cessor num~er and le~el received from the PNID and AIL lines. Bit position ~ 33 -Z~3 27 is an interrupt inhibit bit position while bit positions 28-35 store interrupt request bits which, when set to a binary ONE, indicate an interrupt request to a level corresponding to the bit position (i.e., bit 28 = level 0).
The bit positions 27-35 are loaded by program instruction from the bank of registers of block 204-12 via output bus WRR. Bit position 35 is always set to a binary ONE.
The contents of each of the registers 204-20 and 204-22 are selec-tively applied as an input to another one o~ the positions of the four position data selector switch 204-8 via a two pos;ition data selector switch 204-24. The register 204-20 also connects to the PI positions of a two position steering selector switch 204-10 and a four position address selector switch 204-6.
Ths steering switch 2Q4-10 provides steering information to the SIU 100 which is used to transfer the co~mand to the correct module. One of the fields contained in the microinstructions read out to register 201-15 selects the appropriate position for either a memory command or PI command.
The steering information for a memory command is generated from fields in-cluded within the microinstruction and with paged address information from scratch pad memory 204-4 or absolute address information from bus WRP.
In the case of a PI command, the steering information is generated as follows: bit O is forced to a binary ONE for a PI command; bits 1-4 correspond to bits 0-3 of register 2Q4-2n; and bits 5-6 correspond to bits of one of the fields of the microinstructions which are coded to designate whether it is a single or double word transfer and whether it is a read or write cycle of operation. ~pon the start of a memory cycle or initiation of a command, the signals from the steering switch 204-10 are loaded into a steering register 2Q4-16 which applies the signals to the appropriate lines of the data interface 600 o processor 200. As explained herein, the command including additional steering information is provided by position 2 of address switch 2n4-6 in the case of a Pl command.

As also seen from Figure 2, processing section 204 includes a scratch pad memory 204-4 addressable via address inputs 204-5 which receives address signals from one of the registers connected to the WRP bus. The scratch pad memory 204-4 provides page table word storage for each of the eight interrupt levels used in generating absolute addresses for addressing local memory module 500. When addressed, the contents of the storage location of scratch pad memory 2Q4-4 are read out to two of the four posi-tions of the address switch 2Q4-6. These two positions are used for page referencing of local memory module 50Q. Since the paging operations of scratch pad memory 2Q4-4 are not particularly pertinent to the present in-vention, no detailed discussion is included herein. For further information regarding the use of paged addressing, reference may be made to the documents cited at the introductory portion of the specification.
The other two positions of the address selector switch 204-6 are used to provide the memory or PI command. More specifically, positions 0 and 1 of address switch 2Q4-6, when selected ~y an address control field of a microinstruction word stored in register 201-15, generates the R/W
memory co~mand information which includes bits 0-8 coded in accordance with predetermined fields of the microinstruction word and bits 9-35 coded to correspond to either paged address information $rom memory 204-4 Iposition 0) or absolute address bits applied to output bus WRP by the working registers of block 204-12 ~positiQn 1). When the PI position of switch 204-6 is selected, the switch generates a programmable interface command word wherein bit 0 is a binary ZER0, bit 1 is supplied by a field of the microinstruction word stored in register 201-15, bit 2 is supplied by bit 9 of PSR register 2Q4-20 and defines whether the current process can alter certain external registers, bits 5-8 are equal to bits 4-7 of register 204-20 and define the port or sub-channel within the module, bit 3 is coded to specify the processor pair number supplied by the SIU lQ0, bit 4 is a ZERO
and bits 9-35 equal bits 9-35 of bus WRP which correspond to the absolute ~35 -~.

address of the PI command.
Error Detection Circuits 201-32 - Figure 2 _ In addition to the above described circuits, each IOP processor includes error detection circuits conventional in design, such as parity check circuits, which perform checks on the various storage sections of each input/output processor as explained herein. The block 210-32 also sup-plies signals to the various lines of interface 6Q4 as explained herein.
Although shown as a single block, it will be appreciated that the parity generation and check circuits are located at various points through-out the processor 200. For example, the four parity bits for data stored in general register locations of scratch pad 203-lQ are generated by circuits connected to the input bus to the scratch pad 2Q3-lQ. Parity circuits connected to SPB register output check the output signals for correct parity.
Similarly, parity generation circuits generate parity for signals at the ~ output of B operand switch 204-1 to be written into the PTW scratch pad- 204-4. The parit~ of each byte read out from PTW scratch pad 2Q4-4 is checked by parity check circuits located at the input to address s~itch 204-6.
Additionally, the control store 2nl-lQ and pathfinder memory 201-2 include parity check circuits for detecting the presence of single bit failures in memory locations. The occurrence of an error sets the c~rres-ponding control store bit (i.e., bit poSitiQns 14-15~ of PCR register 204-22.
Further, parity circuits connected to the Data In register 204-18 check all data and instructions clocked in the Data In register 2Q4-18. A parity error detected on data from the SIU lOQ sets the corresponding substrate parity error bit (i.e., bit positions ~-12~ for the bad byte and the Data In bit position 13 of pCR register 204-22.
The block 201-32 includes QR logic circuits which are connected to receive signal indications of the parity error bits stored in pCR register 204-22. ~ne group of these circuits provides a resultant signal to line PED

,~

~:~73 which corresponds to the logical OR of the parity error signals.
Counter and Detector Circuits Another group of circuits includes the circuits of blocks 201-34, 201-36, and 201-38. Block 201-34 includes a nine stage counter, conven-tional in design, controlled by the circuits of block 201-36. The counter seryes as a "level zero'l timer which detects when processor 200 does not respond to an interrupt request within a period equal to twice the "operation-complete" time interYal.
In greater detail, the counter is initialized to a zero s*ate by the circuits of block 201-36 as long as the LZP line remains at a binary ZERO. When the LZP line switches to a binary ONE, the circuits of block 201-36 remove the initialize signal and the counter starts running or in-creases ~ts count by one in response to each PDA signal from the circuits of block 201-30. When it reaches a maximum counter ~all binary ONES) and the AIL lines still have not been switched to a ZERO state, the counter generates an output which forces bit position 16 of the pCR register 204-22 to a binary ONE.
The inc~ementing of the counte.r of block.2Ql-34 is stopped hy the circuits of block 201-36 when either the AIL lines are switched to ZERO or the LZP line i5 switched to ZERO by SIU lQO. The signals also initialize the counter. Las~tly, the circuits 2Ql-36 apply the signals on the INIT line as an input to switch.2Ql-14. When the SIU 100 forces the INIT line to a binary ONE, this initializes or clears the contents of the various registers within the processor 2QO ~l:.e., PCR register 204-22~. When reset, the processor 200 begins execution of an initialization routine in control store 2Ql-lQ.
Th.e circuits of block 2Ql-38 include several OR and AND gates.
These circuits are used to force the TBL line to a binar~ ONE. The TBL line is forced on when bit position 16 o~ the PCR register 204-22 has been set 3Q as a result of a "time out~' prior to the SIU switching of the processor 200 ;, ~

~3 into ]evel zero. That is, signals corresponding to ~it position 16 and the level bit positions 24-26 are "ANDed" such that the TBL line is switched on when bit position 16 is a binary ONE and the PCR bits indicate that the processor is not in level zero. Another group of circuits provide a logical OR of the exception bit signals stored inPCRregister 204-22 (i.e., bit positions 0-8~, The output is then ANDed with the level bits 24-26 of the PCR register 204-22. Thus, when the processor has been switched to level 0, any one of the exception signals forces the TBL line to a binary ONE. How-ever, prior to the processor 200 being switched to level zero, exception signals are inhibited from switching the TBL line to a binary ONE. The reason for this is that during an initial self test operation, the time that an error occurs there could alread~ be an exception signal stored in the PCR register 204-22 and it is desirable that this not be detected as a trouble indication. That is, a specific test ~self test) is used to estab-lish trouble indicationsJ as explained herein.
Control Logic Circuits 201-3Q
Figure 2a illustrates in greater detail those circuits of block 201-30 of Figure 2 ~hich condition processor 2QO to display the contents of process control register 204-22 in accordance with the present invention.
~eferring to Figure 2a, it is seen that as NAND/AND gate 201-301 receives as inputs, the signal PTXDPCRlOQ from the DPCR line, the binary ZERO output from a run flip-flop 201-33Q and a simulate Q0 signal from test circuits, not shown. It can be assum~ed that signal SI~ULATE 00 is a binary ONE
The AND QUtpUt signal SBBPCRlQQ is applied as an input to switch 204-8. This signal establishes the state of the mos* significant bit of the control signals applied to switch 204-8. The NAND output signal SIM CSR30000 is applied as an input to a pair of NAND~AND gates 201-3Q3 and 201-304.
The gate 201-3Q3 also receives signal CS~30 PCRQ02 from register 201-15.
The output signal CSR 30PCR110 is applied as an input to PSR/PCR switch - 38 ~

9.~3 204-24 and establishes which position of the switch is to be selected as an input to switch 204-8.
The gate 201-304 receives the binary ZERO output of the RUN flip-flop 201-330 which it combines with signal SIM CSR30000 to produce a data out clock enable signal ODRCE100. This signal is applied via a gate buffer circuit 201-306 to the gate input of data out register 204-1~. It will be appreciated that the data out register 201-14 receives a clocking signal DTS020 from a free running clock circuit, not sho~l. However, it is the state of the control signal WRITE DTSRG100 which establishes when data sig-nals are to be clocked or loaded into the register.
Another pair of NAND/AND gates 201-310 and 201-312 combine signal SI~ CSR3000 with control signal CSR15REQ002 from register 201-15 and request signal REQ3000 from SIU 100 to produce control signal CNTLXBB100. This signal is applied to switch 204-~ and establishes whether the PSR/PCR position is to be selected.
A last group of NAND~AND gates 201-314 through 201-324 receive signal PTXSTOPlQ0 from line STOP. When the processor 200 is not in a single cycle mode ~i.e., signal SINGLEMODEQ00=1l, gate 201-320 switches signal EPSTOPlO0 to a binary ZER0. This in turn causes gate 201-324 to force signal RESETRUN000 to a binary ZFRO which resets the run flip-flop 201-330 to a binary ZERO~ This causes the system clock to stop. That is, it prevents dis*ribution of clock pulse signals via driver circuits 201-332 and 201-334 to the various logic c~rcuits and registers within processor 200.
The run flip-flop 2Ql-330 is switched to a binary ONE via a NAND/
AND gate 2Ql-328 in response to signals SIURUN00 and STARTCLK000. The flip-~lop 201-33Q is a checked D type flip-flop having set cmd reset enable inputs as shown. The input section includes a pair of AND gates whose out-puts connect in a ~'wired O~'.

Interrupt Section 101 The System Interface Unit 100~ as mentioned, provides for communication between modules of the system of ~igure 1 via a plurality of crossbar switches. Separate crossbar switches are used to collect signals from the lines of each of the different interfaces of the modules. Figure 3a shows the switches and circuits of interrupt section 101 for handling the module interrupt interfaces. In the system of Figure 1J there are modules which connect to ports LM0, A, E, G, and J, each of which applies signals to the SIU 100 via different ones of the lines of its interrupt interface 602. Additionally, SIU 100 also provides signals via an interrupt interface associated with port L of Figure 1.
As seen from Figure 3a, each of the modules when requesting service applies a signal on its interrupt request (I~) line together with appropriate interrupt identifier information on its IDA lines ~hich are applied to the circuits o an interrupt priority and control block 101-2. The circuits of block 101-2 monitor all interrupt interfaces and signals the appropriate processor pair 200-0 referred to herein as processor 200 when there is a request having a priority higher than that of the process being executed.
When processor 2Q0 signals that it is able to accept the request, the SIU 100 gates the identifier information associated ~ith the highest priority request to the processor. The identifier information includes an eight bit inter-rupt control block number including a parity bit, a three bit interrupt level number and a one bit processor number with a parity bit and a four bit channel number.
Considering interrupt section 101 in greater detail, the circuits of block Q10-2 include decoder circuits which decode the processor number and interrupt request signals. Providing that there is no parity error, the output s-ignals from the decoder circuits are applied to priority logic circuits of the designated processor logic circuits. The priority logic circuits decode the interrupt level signals and determine the highest prior-ity level and then determine the port priority so that the module having the highest priority level and highest port priority is selected. The _ ~Q _ 9~

interrupt port priority within any given level is as follows:
Old; port L; port A, port B, port C; port D; port E; port F, port ~; port ~l; port J and port K.
This means that in the system of Figure 1 the port of the current process has the highest priority followed by the SIU 100, the high speed multiplexer 300, the host processor 700, the processor 2QQ, and the low speed multi-plexer 400.
The priority circuits of block 101-2 are operative to generate an output signal on one of n number of output lines, n corresponds to the number of interrupting modules within the system. The n output lines are applied to an eight position data selector switch 101-4 which selects the interrupt level signals of a level of interrupt having a priority higher than the level currently in progress to be loaded into a register 101-6.
The output signals from register lQl-6 are applied to the AIL lines when processor 200 forces the IDR line to a binary ONE in response to the SIU lQO
having forced prior to the higher level interrupt present (HLIP) line or the level ~ero present ~LZP) line to a binary ONE~ When the current process is not inhibited from being interrupted, an interrupt request causes the pro-cessor 200 to suspend the current process and to accept an interrupt word rom the SIU 100 including the identifier information mentioned previously.
~ore specif~cally, the interrupt word is formatted as follows.
Bit 0 is a new interrupt bit position. When set to a binary ONE indicates that the interrupt i5 a new one and when set to a binary ZERO Indicates that the interrupt is that of a previously interrupted process that is to be resumed.
Bits 1~17 are unused and are binary ZEROS
Bits 18-27 define the interrupt control block number with bits 18 and 27 being set to binary ZEROS.
Bits 28-31 are generated by the SIU 100 and identify the :. .

source module as explained herein in accordance with the present invention.
Bits 32-35 are generated by the modules having multiple ports and identify the subchannel or port within the source module as explained herein in accordance with the present invention.
For more detailed information regarding the implementation of the circuits of block lQl-2, reerence ma~ be made to the copending patent application titled "Priority Interrupt Hardware" referenced in the intro-ductory portion of the specification.
It is also seen that the output lines $rom interrupt priority cir-cuits 101-2 are applied to a urtheT data selector switch circuit 101-8.
Since only the requesting madule having the highest priority will apply a signal to selector circuit 101-8, the selector circuit is connected to pro-vide a predetermined wired-in set of coded steering signals which identify ~ the physical port to which the requesting module granted priority connects ; (i.e. bits 28-31 of the interrupt word).
rn the present embodiment, the following steering codes are generated for identifying the modulesi of Figure 1.
CODE SIU PORT_~ODULE) IDENTIFIED
0000 Local memory module ~ port LMO
QOOl port K
nOla SIU laQ ~ port L
0101 LQw speed ~ultiplexer 4ao port J
0110 processor 200 - port C
1101 high speed multiplexer 300 - port A
1110 host processor 7aa - port E.
The four bit code generated by the selector circuit 101-8 is in turn applied to a group of conventional AND gating circuits included within a gating networ~ 101-12. The other identifier information provided by the different source system modules are also applied to other gating cir-cuits of network 101-12. Specifically, each module applies an interrupt control block number ~ICBN) via its IDA lines to a different one of the posi-tions of an eight position data selector switch circuit 101-14. Additionally, each module provides the information identifying the requesting su~channel or port of the source module to other ones of the gating circuits of network 101-12 via the IMID lines of the interrupt interface. ~hen the processor 20Q forces its interrupt data request (IDR) line to a binary ONEJ the SIU 100 applies the signals from gating network 101-12 to the data from SIU (DFS) bus lines of the processor data interface 60Q yia ~ne of the positions of a four position data selector switch circuit 101-20. The other positions of switch 101-20 are not shown since they are not pertinent to an understanding of the present invention.
Data Transfer Section 102 ~igure 3b shows the data transfer section 102 of the system inter-face unit 100. This section includes priority circuits which establishes which source module is to tran~fer commands to the high speed multiplexer 30Q on its~ progra~mable interface 6Ql and which source module is to transfer data to the multiplexer 300 on its data interface 600. Additionally, section 102 includes priority circuits which determine which source module is going to transfer either data or commands to local memQry module 500.
It will be appreciated that transfers between a pair of modules QCCUrS when one module has generated a request to the other module and that the request has been accepted by the other module. In order for a request to be accepted, the requesting module must have the highest priority, both modules must ~e in a state to receive information and that the transfer path oYer which the transfer is to take place must be available (i.e. not busy).
As concerns the signals applied to section 102 by processor 200, the generation of these signals is to a large extent controlled by the dif-~ 43 -~

ferent: fields of the microinstructions read out into processor register 201-15 of Pigure 2. For example, the active output port request (AOPR) line from processor 200 applied to the circuits of block 102-4 is enabled in accordance with a SIU request type control bit field of each microinstruc-tion read out to register 201-15 which is coded to define a transfer of a read/write memory or programmable interface command. The data to SIU lines (DTS) of the processor data interface 600 applied to a two position data selector switch lQ2-2 constitute command information generated under micro-program control which is loaded into the processor data output register 204-lQ 14 of Figure 2. The steering data to SIU ~SDTS) lines receive signals generated under microprogram control which are loaded into the processor steering register 204-16 of Figure 2.
For the system of ~igure 1, only I!0 processors transfer commands to the multiplexer 500 only and processor 20Q applies signals to network 102-4. The network 102-4 therefore includes decoder circuits which decode the steering information from the processor module to establish when the module desires to transfer commands to the multiplexer 30Q. In the case of more than one I/0 processor ~hen more than one module desires to transfer during the same cycle, a priority network included in network 102-4 selects 2Q the module assigned the highest priority and enables the transfer of a command by that module to tho multiplexer 300 on the PDFS lines of its pro-grammable interface 6Ql. ~ore specifically, the network 102-4 applies signals to the two position selector s~itch lQ2-2 which selects signals from the appropriate module. This occurs ~hen the multiplexer 300 signals the SIU
100 that it is ready to accept a command by forcing the PIR line to a binary ONE. At the same time, net~ork lQ2-4 orces the APC line to a binary ONE
signalling the multiplexer 300 to accept the command applied to the PDFS lines.
When the processor 200 executes an instruction causing it to send a program-mable interface (PI~ command to the multiplexer 300, the processor 200 places the processor number identification into bit 3 of the command. The multi-_ 44 ~

9~3 plexer 300 stores the processor number contained in the command until it wants to lssue an interrupt request at which time the processor number is included as part of the interrupt data as explained herein. When the PI
command is forwarded to multiplexer 300, the steering information identify-ing processor 200 as the requester is stored in a register 102-6 associated with multiplexer 300 (port A). As explained herein, when multiplexer 300 responds by generating a read data transfer request to SIU lQO, the contents of register 102-6 is used to identify processor 200 as the actual module to receive the data.
A similar arrangement is employed for transerring data signals to multiplexer 300. In Fi~gure 1I memory module 500 is the only module which transfers data to multiplexer 300. ~uch transfer occurs in response to a read memory command (ZAC) forwarded to the memory module 500 by multiplexer 300 via network 102-20 as explained herein When multiplexer 300 forwards the command, the SIU lQQ generates the appropriate 4 bit requester identi-fier code (steerlng code) which it appends to the multiport identifier infor-mation received from multiplexer 3QO. The information is stored by the ~emory module 5QO and returned to the SIU 100 ~hen the module 500 generates a read data transfer request to designate that multiplexer 300 is to receive the data. Also, when the SIU 100 accepts the request, it noti~ies the multi-plexer 300 by forcing line ARDA to a binary ONE.
The read data transfer request (RDT~) line when set by memory module 50Q signals the network lQ2-14 that it is-ready to transfer informa-tion read out during a cycle of operation. The local memory module 500 also supplies signals to the requestor identifier from memory ~RIF~) lines to identify the requesting module to which the information is to be transferred.
~ore speclfically, circuits within a decoder network 102-14 decode the identify signals applied to the RIF~ lines and when the signals indicate that the local ~emory module 500 is ready to transfer information to the multiplexer 300 tassumed the multiplexer 300 is ready to receive the ~ 45 2~3 information), the decoder network 102-14 applies the appropriate signals to the selector switch 102-12 and circuits within a gating network 102-16.
Additionally, decoder network 102-14 applies a signal to the accept read data (ARDA) line of the data interface signalling the multiplexer 300 that it is to accept the data from SIU ~D~S) lines of its interface 600.
The circuits of block 102-16 apply the appropriate multiport identifier in-formation to multiport identifier from SIU (MIFS~ lines identifying the requesting subchannel which is obtained from the RIFM lines. When the transfer has taken place, the network 102-14 forces the RDAA line to a bin-ary ONE signalling the requesting module that the data has been accepted by memory module 500.
An arrangement similar to network 102-14 is used by SIU 100 to transfer PI and memory commands from any one of the modules of Figure 1 to local memory module 500. The module 500 is operative to force either the programmable interface request ~PIR~ line or ZAC interface request (ZIR) line applied to a decoder network lQ2-20 to a binary ONE when it is ready to accept either a programmable interface or memory command. Additionally, the processor 200, the processor 7nO, and multiplexer 3QO apply a network 102-20 signals to the active output port request (AOPR) line and steering data to SIU lines of their respective data interfaces. The network 102-20 upon decoding the steering information applied by each of the modules is operative to generate the appropriate signals to a three position selector switch 102-24 for enabling the module having the highest prîority to apply signals to the data transfer to SIU lines of memory module data interface 603.
It is also seen that network 102-20 applies signals to either the accept pro-grammable command ~APC) line or accept ZAC command mode ~AZC) together with the appropriate requester identification signals on the request identifier to memory (RIT~) lines of the local memory module interface 603 via a gating net-work 102~26.

The last two networks 102-30 and lQ2-40 are used to transfer memory ~ 46 .

data and programmable interface data to processor 200 in response to memory commands and PI commands respectively previously generated by the processor 200. As seen from Figure 3b, the priority decoder network 102-30 has the same input lines as network 102-14 and operates in the same manner to for-ward the requested memory data to processor 200 via a data selector switch lQ2-32 and the four position selector switch 101-20 of Figure 3a. It will be appreciated that since processor 200 processes a single command at a time, there can be no conflict between the modules applying data to selector switch 101-20 for transfer to the processor DFS lines in response to processor requests. That is, after the processor 200 sends a command to one of the modules of Figure 1, its operation is stalled pending receipt of the request-ed data. The SIU 100 upon accepting the processor's request forces the processor's ARA line which causes the processor to delay operations.
The separate network 102-40 processes return data requests from those modules respond~ng to Pl commands. The network 102-40 decodes the signals applied to the RDTR lines and from register 102-6 together with registers of the other ~odules, not shown~ When the SIU 100 detects that module is trying to return requested data to processor 200 (i.e. requestor identifier stored in multiplexer 300 register 102-6), the net~ork 102-40 generates signals which conditions a three position data selector circuit lQ2-42 to apply the signals from the pDTS lines of the PI interface of the module trying to return reques*ed data to processor 200. These signals are in turn applied to the processor's DFS lines via selector switch 101-20 of Figure 3a ~hich is conditioned ~y the module request signal. During a next cycle of operation, the network 102-40 forces the RDAA line to a binary ONE
signalling the module that the data applied to the PDTS lines has been accept-ed and that the module can now remove such data ~i.e., clear its output register~t ThusJ it is seen that switch 101-20 selectively applies any one of three types of data to the DFS lines of the processor's data interface 600.
For the purpose of the present invention, the circuits included - 47 ~

within different ones of the blocks of Figure 3b may be consideTed conven-tional in design and include logic circuits found in the aforementioned publication by Texas Instruments Inc. Also, for the purposes of the present invention, the switching networks can comprise conventional crossbar switches.
Control Section 103 Figure 3c shows in block diagram form section 103 of the system interface unit 100. This section includes compare and control logic circuits 103-10 and lQ3-11 or logical processor pairs 200-0 and 200-1. Since these circuits are duplicated ~or each processor pair, only one is shown in detail herein (i.e., Pigure 3d~. Also included are the circuits of blocks 103-20, 103-24, and 103-25 which connect to a PI interface 603 and interpret and execute PI commands directed to the SIU internal logic circuits through port L.
As seen rom ~igure 3c, the internal logic circuits in addition to the circuits which process PI command~ include an internal interrupt control regis~ter 1~3-30 ~hich eeds internal interrupt logic circuits 103-28. These circuits ~n construction are similar to the priority interrupt logic circuits 101 shown ln Pigure-3a. The internal interrupt logic circuits 103-28 generate eight types o interrupts. The interrupt types pertinent to the present invention are as ollows~
1 - interval timer exhaust generated by the interval timer counting through zero;
4 ~ pracessor error, detected with no mis-compare;
5 ~ mis-compare error detected along with a processor error; and, ~ = mis-campare error with no other errors existing.
The ~ntarrupt priority within port L is based on type number and the priority is as ~ollows;

~ 48 ~3 Type 4 -- highest 3 -- lo~est The înterrupt types 4-7 are hardwired to level 0 while the interrupt levels for other types ~i.e., 0, 1, 2, and 3~ are programmable using the coded level signals stored ~n interrupt control register 103-30. The circuits 103-28 establish the interrupt having the highest priority and generate appro-priate request signals which are applied to the interrupt logic circuits 101.
~or information regarding the format of the request, consult the first referenced application. As mentioned, the circuits 101 report the interrupts to the designated input/output processor pair.
The sru i~nternal log~c circuits, in response to an RDEX instruction to po~t L, enable the contents of different ones of the regist0rs 103-12 2Q through lQ3-17, register lQ3-3Q, and timer 103-40 to be read ~ia a multi-pQsition selection ~s~itch 103-40. The configuration register 103-15, assigned octal address Q, stores identifier information and the operational status of all SIU ports. It is formatted as shown in Figure 8a. The interval timer 103-4Q which, for the purpose of the present invention, can be considered ; conventional in des-ign includes a 24 bit register assigned octal address 2 for storing a count defining a particular time interval. The wraparound regis*er lQ3-17, assigned octal address 3, is a working register used by test and diagno~tic routines.
The initialize register 103-16, assigned octal address 4, stores indications for selectively initializing and masking SIU ports. Initializing ~ 49 takes place in response to signals generated by initialize control logic circuits of block 103-18. That is, the register 103-16 is loaded via a WREX
instruction and the initialize bit positions are reset by the circuits 103-1~, as explained herein. The masking operations take place in a similar fashion and are not pertinent to the present invention. The format of the register is shown in Figure 8b.
The fault status registers 103-12 and 103-14 are assigned octal addresses 10 and 7, respectively. Fault status register #1 is a 36 bit register used to signal all errors detected by SIU 100 with the exception of processor or memory reported errors. The storage of information relating to an error condition t'locks" the register to the first detected error until it is cleared via an RDEX instruction (PI command). It is formatted as shown in Figure 8c. Fault status register #2 is also a 36 bit register used to signal all processor miscompare errors and any other faults not stored in fault status register ~1. rt is formatted as shown in Figure 8d.
As seen from ~igure 3c, section lQ3 also includes parity genera-tion and checking circuits of block 103-35. These circuits, for the purpose of the present invention, may be considered conventional in design. They generate parity check bits for the signals applied to different processor interfaces by each processor and check them against the parity check bit signals furnished hy the processor pairs. The results of the parity check are applied as inputs to the compare and control logic circuits associated ~ith the processor pair. Although not shown, the parity circuits 103-35 also receive signal$ from the processor pair 200-1 and furnish result signals to the circuits lQ3-11.
For further detailed information regarding Figure 3c, reference may be ~ade to the copending application "Input/Output Processing System Utilizing Locked Processorsl~ issued as United States Patent No. 4,099,234 on July 4, 1978 and assigned to the same assignee as named herein.
Figure 4 illustrates in greater detail, the circuits within SIU 100 ~ 5Q -.flll.9:;~73 which respond to processor commands and control the switching of the crossbar circuits of Figure 3b in accordance with the present invention.
Referring to Figure 4, it is seen that a pair of NAND/AND gates 103-201 and lQ3-203 generate signals DCDPCR100 and RSTDPCR100 respectively which are applied to a 4 bit register 103-205.
The gate 103-2Ql in response to an enable control signal ENBLDCNT10Q and bit 34 of a PI command being set to a binary ONE correspond-ing to signal PIC~DT341QQ forces set signal DCDDPCR100 to a binary ONE.
Gate 103-203 in response to a read register command signalled by signal REQPXBARQ00 being forced to a binary ONE, in the absence of a clear signal (i.e., s-ignal CLEARa0_1~, forces reset signal RSTDPCR100 to a binary ONE.
The set signal DCDDPCRlQ0 enables the register 103-205 to be loaded with signals which decode steering signals received via SDTS lines from the circuits of Figure 3b. These signals lXA2140 and lXM 140 define which pro-cessor of a processor pair has issued a load control command to SIU 100 to set the DPCR line of the ~nactive processor to a binary ONE.
As seen from ~igure 4, the signals lXA2140 and lXA4140 are loaded into a register 2Q3-2Q4. The hinary ONE and binary ZERO output signals from the twb flip-flop register stages are combined as shown. The resulting 20, combinations are applied to the set and reset inputs of the flip-flop stages o register lQ3-205. It will be noted that the result is such that the pro-cessor of a pair ~hich generates the command can force the DPCR line of the other proces,~sor of the pair to a binary ONE.
The binary ONE output of register 103-2Q5 connects via driver circuits lQ3-208 through 103-222 to different ones of the DPCR lines and to register 103-12. A NANDfAND gate 103-224 receives the binary ZERO output signals from each stage of register 103-205. The gate 103-224 forces signal ANYDPCRlQ0 to a binary ONE when any of of the ~PCR lines is forced to a binary ONE~ A further NANDfAND gate 103-226 decodes the various PI command bit signals and force~ signal PCRC0~PlQ0 to a binary ONE in response to a PI

~ - 51 ~

command specifying the loading of wrap register 103-17 when signal ANYMCR100 is a binary ONE.
A NAND/AND gate 103-230 and flip-flop 103-232 are used to reset the DPCR line follo~ing receipt of a next read register command by the SIU
100. ~ore specifically, signal PTLRDM 010 is forced to a binary ONE in res-ponse to a read register command. This causes gate 103-230 to force signal RSTREQPXBARO0 to a binary ZERO (i.e., signal PXBARERROOO is normally a binary ONE~no error~. The signal RSTREQPXBARa0 causes flip-flop 103-232 to switch to a binary ZERO. When signal EXPDEXCMD00 is forced to a binary ONE in response to an external register command, this switches flip-flop 103-232 to a binary ONE. This in turn causes an AND gate 103-234 to switch signal PLLIRDTRlQQ to a binary ONE when signal REG13100 is a binary ONE.
The next group of circuits are included within block 102-4 of Figure 3b. These circuits control the operation of the crossbar switching circuits 102-2 of ~igure-3b. However, it will be appreciated that the PDFS
lines are being forwarded to SIU 100 rather than multiplexer 300.
Referring to ~igure 4, it is seen that the request lines AOPR from each port are applied to a priority network 102-400. The priority network 102-4QQ may be considered conventional in design and generates output signals 2Q ~ITOPABQlQ through XITOPB010 indicating which port has the highest priority request. The port priority is as mentioned previously. The priority signals are applied to the control logic circuits of the crossbar switching networks.
More specifically, the NAND~AND gates 102-402 through 102-8 illus-trate the control logic circuits pertaining to crossbar network 102-2. The signal PCRCO~PlQQ when orced to a binary ONE in turn selectively forces signal X14Q10 to a binar~ ONE or ZERO. The signals X14020 and X14160 repre-sent the bu~y s*atus of the crossbar network and establish the state of signal ~1401~.
The NAND!AND gates 102-410 through 102-414 together with the other circuîts discussed above encode the 8 port priority signals into a 3 bit code ~ 52 -~ ~ 3 which is applied to the crossbar network for selecting the data out lines of the appropriate processor. The two least significant bits of the code are applied to register 103-204. Since the processors connect only to ports E, F, G and H and these ports correspond to octal codes 4 through 7, thereby requiring use of only the two least significant bits to establish the source of the command. As seen from Figure 4, the two least significant bit signals correspond to signals X14140 and X12140.
The signal ~14000 is applied to a further NAND gate 102-420 which in turn forwards the signal to the return steering lines RITM where appro-priate. The $ignals X11130, X12120 and X14120 are applied via the driver circuits lQ2-422 through 102-428 to the crossbar networks and to the register 103-204 as mentioned previously.
DESCRIPTION OF OPERATION
T~e preferred embodiment of the present invention with reference to Figures 1 through lOb.
As discussed previQusly, the compare logic circuits 103-100 and lQ3-1 compare the sets of signals applied as outputs on each of the interface lines of proce$~sors ~ and H and E and $. ~or ease of explanation, the opera-tion of one paix 2QO-O or Po will be discussed herein.
During normal operation, the configuration register 103-15 has bits 33-34 bot~ set to ~inary~ONES indicating that both processors are operating in a "locked~' Qr a compare mode for purposes of error detection (see Figure 8a2. The states of bits 33-34 of register 103-15 in turn place the STOP
lines in a binary ZERO s*ate. Hence, as seen from Pigure 2a, the RUN flip-flop 201-33Q is set to a binary ONE enabling the clock circuits via signals RUNCLKlQO and RUNCLK101 and cycling of control section 201 of each processor.
When a mis:compare is detected, the SIU 100 operates to deconfigure or unlock the fault~ or bad processor. This is done by loading the desired bit pattern into b~it positions 33 and 34 of the configuration register 103-15.
This in turn causes the STOP line of the bad processor to be forced to a ~ 53 _ ~9~7~

binary ZERO. As seen from Figure 2a, this switches the RUN flip-flop 201-330 to a binary ZERO which "freezes" the state of the processor by stopping the operation of the clock circuits and control section 201. This occurs when signals RUNCLK100 and RUNCLK101 are forced to binary ZEROS.
It is seen from the above that the "bad" processor is rendered totally inactive since it is essential that its state be preserved. How-eyer, as mentioned previously, the inactive bad processor contains informa-tion which will facilitate greatly diagnosis of the reason for failure. For further information regarding the unlocking of processor pairs, reference should be made to the application t'Input/Output Processing System Utilizing Locked Processors`'.
The apparatus of the present inYention enables a good processor to haye access to such information without causing any change in the state of the bad processor. The good processor of a logical processor pair in accordance with the present invention is able to gain access to internal status s*ored ~n the bad processor by first generating a load control com-mand to the SIU lOQ (i.e., port L~. This command has the format of Figure 7b wherein bit 34 of the command word is set to a binary ONE.
The PI command is applied Yia the network 102-2 of Figure 3b to the PI command register lQ3-25 of Figure 3c. As seen from ~igure 4, the s~gnal PIC~DT3410Q is forced to a binary ONE. This enables register 103-205 to be loaded with a ~it pattern designating the inactive processor as established the states of signals lXA2140 and lXA4140. These signals, as mentioned previously, are obtained from the circuits of block 102-4 and in-dicate the processor by its port presenting the command. For example, when the processor connected to port C sends the command, signals l~A2140 and lXA4140 are forced to ~10~'. This results in signal PTHDPCR110 being forced to a binary ~NE. Alternatively, when processor H connected to port H sends the command, this results in signal PTGDPCRllO being forced to a binary ONE.
A similar occurrence takes place with the processors connected to ports E

~9273 and F. The signals from register 103-205 are also applied to SIU status register #2 and force the appropriate one of the bit positions 9-12 to a binary ONE (see Figure 8d).
It will be noted that signal PCRCOMP100 is a binary ZERO since signal PEGO3100 is a binary ZERO. This forces signal X14010 to a binary ONE
which forces signal X14120 to a binary ZERO since the remaining signals are binary ONES when the processor connected to port G is the source of the command.
When one the of the DPCR lines is forced to a binary ONE, this forces signal PTXDPCRlQ0 to a binary ONE~ As seen from Figure 2a, this forces signal XBBPCRlQ0 ~most significant bit control~ to a binary ONE and signal CNTLXBB100 (least significant bit control) to a binary ZERO. The two signals condition switch 204-8 to select the PSR/PCR position 2. At the same time, signal CSR3QPCR100 is forced to a binary ZERO ~hich conditions switch 204-4 to select the PCR position. Accordingly, the contents of the PCR register 204-22 are applied via switches 204-24 and 2Q4-8 as input signals XBB00100 through XBB081a0 to data out register 204-14. The data out clock enable signal ODRCE100 when switched to a binary ONE conditions circuit 201-306 to force signal WRITEDTSRG100 to a binary ONE which gates the PCR contents into 20 z data out register 204-14 in response to clocking signal DTS020.
At this time, the contents of PCR register 204-22 are stored in data out register 204-14 and are being applied to the DTS lines of the in-active processor.
Next, the active processor is operative to issue a load wrap register command to SIU 100. This command has the format illustrated in Figure 7a wherein bit 30 is set to a binary ONE. Referring to Figure 4, it is seen that this bit togetber with other signals force signal PCRCOMP100 to a binary 0NE~ The signal PCRC0MP100 forces signal X14010 to a binary ONE
or binary ZERO as a function of the states of complementary signals X14160 ~14020 (i.e., signal X14160 =l=cmd from processor F or H; signal X14160=0=cmd ~1~9Z7~

from processor E or G). The result is that the NAND gate 102-414 signal X14120 is complemented in order to select the DTS lines from the inactive processor in lieu of the DTS lines of the active processor. It will be appreciated that since the above mentioned commands are only issued during test operations, only one processor will be active in the system. Hence, the state of signal X14010 is effective to complement the state of the least significant bit signal X14120.
The PCR contents applied via the PD~S lines and data register 103-24 are loaded into wrap register 103-17. The sequence of signals are illustrated in ~igure 10a. It will be noted that the source of the command word is the active processor while the source of the data word is the in-active processor.
The DPCR lines are reset to binary ZEROS when the stages of register lQ3-205 are reset to binary ZEROS. This occurs when a read register command is directed to SIU 100. More specifically, the command resets flip-flop 103-232 to a binary ZERO which forces signal RSTDPCR100 to a binary ONE.
This switches regis*er 103-2Q5 to all ZEROS in response to the next clock pulse.
FrQ~ the above, it is seen how the arrangement of the present inYention with a minimum of additional circuits is able to permit access to the internal information of a bad processor without altering the state of ; such processor.
It will be appreciated that man~ modifications may be made to the preferred embodiment. For example, the number of registers may be expanded to enable access to additional internal information in accordance with the present invention.
While in accordance ~ith the provisions and statutes there has been illustrated and described the best forms of the invention known, certain changes may be made to the system described ~ithout departing from the spirit Qf the invention as set forth in the appended claims and, in some cases, ~, I

certain features of the invention may be used to advantage without a corres-ponding use of other features.
What is claimed is:

, :
.: .

Claims (30)

THE EMBODIMENTS OF THE INVENTION IN WHICH AN EXCLUSIVE
PROPERTY OR PRIVILEGE IS CLAIMED ARE DEFINED AS FOLLOWS:
1. A data processing system including a plurality of modules, said plurality of modules including at least a pair of input/output processing units, each processing unit including a plurality of storage elements in-cluding a number of control registers for storing status and control infor-mation required for program processing, data output means operatively coupled to said number of control registers for read out of the contents of said number of registers and clocking circuits for generating timing signals for enabling said input/output processing unit and a system interface unit having a plurality of interface ports and a number of transfer networks, each port connected to a different one of said modules and to said transfer net-works, wherein said system interface unit controls the transfer of information between said ports, said system further including maintenance apparatus for facilitating diagnosis of failures within any one of said plurality of processing unit detected as faulty comprising;
interface means included within the port of each input/output processing unit, said interface means being connected to said clocking circuits;
command register means for storing commands, command decode circuit means, and a plurality of registers included in said system interface unit, said command register means being connected to receive commands from any one of said number of transfer networks, said command decode circuit means connected to said command register means and operative to generate control signals in response to said commands, a first one of said registers being coupled to said interface means of each port for storing coded signals designating different configurations of at least a pair of said plurality of input/output processing units to be enabled for operation, said first register storing signals representative of an unlocked configuration bit pattern designating that only one of said pair is to be enabled and the other one of said pair of disabled for being faulty, said signals condition-ing said interface means to inhibit the operation of the clocking circuits of the other one of said pair of input/output processing units having been detected as being faulty; and, control circuit means included in each of said input/output processing units, said control circuit means being coupled to said data output means, said clocking circuits and to said interface means, said command decode circuit means being operative in response to a predetermined sequence of commands from said one of said pair of input/
output processing units to generate a sequence of control signals, said interface means of the port of said faulty processing unit in response to said control signals conditioning said control circuit means to enable said data output means to apply the contents of a predetermined one of said number of control registers to the one of said number of transfer networks connected to said port thereby not altering the state of said faulty pro-cessing unit defined by the status of said plurality of storage elements, and said one of said number of transfer networks being conditioned by said control signals to transfer said contents to one of said plurality of registers for use during subsequent fault analysis.
2. The system of claim 1 wherein each of said interfaces includes a plurality of control lines, a first one of said lines being switched to a first state to inhibit said operation of said clocking circuits in response to said coded signals stored in said first register, and a second one of said lines being connected to said control circuit means, and said second one of said lines being switched to a first state in response to said certain ones of said control signals conditioning said control circuit means to enable said data output means.
3. The system of claim 2 wherein each input/output processing unit further includes a microprogrammed control unit connected to said clocking circuits, said microprogrammed control unit storing sequences of micro-instruction words for generating control signals for directing said operation of said input/output processing unit, said first line when switched to said first state inhibiting the operation of said clocking circuits preventing further operation of said microprogrammed control unit and freez-ing said state of said faulty input/output processing unit, and said second line when switched to said first state enabling said data output means for readout of said contents of one of said number of control registers without altering said state.
4. The system of claim 3 wherein the microprogrammed control unit of each input/output processing unit includes microinstruction words coded for generating said sequence of said commands.
5. The system of claim 2 wherein said system interface unit further includes a port priority network coupled to each of said ports, said priority network being operative to generate signals indicating which port has the highest priority request, and transfer control means for controlling the transfer of information between ports, said transfer control means being connected to the transfer networks of each of said input/output processing units, to said port priority network and to said command decode circuit means, said transfer control means in response to said signals from said priority network generating a number of coded signals for selecting one of said transfer networks corresponding to the input/output processing unit which generated a first one of said commands, said command decode circuit means in response to said number of coded signals switching said second line of the interface of said faulty processing unit to said first state to enable said control circuit means to apply said contents of said one transfer network.
6. The system of claim 5 wherein said command decode circuit means includes:
a first register coupled to said transfer control means, said register being conditioned by the signals of said sequence generated in res-ponse to a first one of said sequence of commands to store indications of said coded signals specifying which one of said plurality of input/output pro-cessing units generated said first one of said commands; and, decoder circuit means connected to said first register means, said decoder circuit means being operative in response to said indications to generate signals for switching said second line of said interface of the input/output processing unit of said pair of which did not generate said first one of said commands.
7. The system of claim 6 wherein said command decode means further includes;
a second register connected to said decoder circuit means, said second register being conditioned by signals of said first command from said command register means to store indications of said signals generated by said decoder circuit means, said second register including a plurality of bistable bit positions corresponding in number to said plurality of input/output processing units;
circuit means connecting each bistable bit position to said sec-ond line of a different one of said interfaces; and, gating means connected to said command register means and to said second register, said gating means being operative in response to a second command in said sequence to cause said transfer control means to condition said contents to said one of said plurality of registers.
8. The system of claim 7 wherein said number of said plurality of input/output processing units includes first and second pairs designated as processing units G, H and E, F and wherein first and second pairs of said plurality of bistable bit positions are assigned to processing units F, E and H, G respectively, said decoder circuit means including conductor means for connect-ing different combinations of the outputs of said first register to the set and reset inputs of each of said bistable bit positions for switching one of the bit positions of a pair to a first state identifying said processing unit of said pair which did not generate said first one of said commands.
9. The system of claim 7 wherein said first one of said commands is of a first type coded to specify read out of a predetermined one of said number of control registers of said faulty processing unit and wherein said second one of said commands is of a second type coded to specify loading of a predetermined one of said plurality of registers of said system interface unit with said contents.
10. The system of claim 9 wherein said command decode means further includes reset circuit means connected to said command register means and to said second register means, said reset circuit means being operative in response to the next first type of command to reset said bistable bit positions of said second register means to binary ZEROS.
11. The system of claim 5 wherein said transfer control means includes:
first gating means connected to said command decode means;
second gating means connected to said first gating means and to transfer networks for receiving signals indicating the status; and, output gating means connected to said second gating means and to said port priority network, said output gating means generating a predeter-mined one of said number of coded signals during a first one of said commands and said output gating means being conditioned by a second one of said commands to complement the state of a predetermined one of said number of coded signals for enabling the transfer of said contents from the transfer network of said faulty processing unit of said pair rather than the process-ing unit of said pair which generated said first command.
12. The system of claim 11 wherein said first gating means, said second gating means and said output gating means each include NAND gating circuits and wherein said predetermined one of said number of coded signals corresponds to the least significant bit.
13. The system of claim 11 wherein said output gating means includes:
circuit gating means connected to said port priority network, said circuit gating means generating the remaining ones of said number of coded signals for enabling said transfer network.
14. The system of claim 3 wherein said data output means includes switching means connected to each of said number of control registers and to said control circuit means, and wherein said control circuit means includes means for generating signals in response to the switching of said second line for selecting the contents of a predetermined one of said number of control registers for application to said one of said number of transfer networks.
15. A data processing system including a plurality of modules, said plurality of modules including at least a pair of input/output processing units, each processing unit including a plurality of storage elements in-cluding at least one control register for storing status and control informa-tion required for program processing and timing circuits for generating signals for enabling said processing unit and a system interface unit having a plurality of interface ports and a number of transfer networks, each port being connected to a different one of said modules and to said transfer net-works wherein said system interface unit controls the transfer of information between said ports, said system further including maintenance apparatus for facilitating the diagnosis of faults within an inactive processing unit comprising:
interface means included within the port of each input/output processing unit, said interface means being connected to said timing circuits;
command register means for storing commands, command decode circuit means, and a plurality of registers included in said system interface unit, said command register means being connected to receive commands from any one of said number of transfer networks, said command decode circuit means connected to said command register means and operative to generate control signals in response to said commands, a first one of said registers being coupled to said interface means of each port and for storing coded signals designating different configurations of said air of input/output processing units enabled for operation, said first register storing signals representa-tive of an unlocked configuration bit pattern designating that only one of said pair is to be enabled for operation, said interface means being con-ditioned by said bit pattern to inhibit the operation of the timing circuits of the other one of said pair of input/output processing units rendering it inactive; and, control circuit means included in each of said input/output processing units, said control circuit means being coupled to said timing circuits and to said interface means, said command decode circuit means being operative in response to a first predetermined type of command from said one processing unit of said pair of input/output processing units to generate a first sequence of control signals, said interface means of said inactive processing unit being opera-tive in response to said control signals to condition said control circuit means to apply the contents of said one control register to one of said number of transfer networks for use during fault analysis thereby not alter-ing the state of said inactive processing unit defined by the status of said plurality of storage elements.
16. The system of claim 15 wherein said apparatus further includes transfer control means connected to the transfer networks of each of said processing units for controlling the transfer of information between ports, said command decode circuit means being operative in response to a second predetermined type of command from said one processing unit to a second sequence of control signals, said transfer control means being conditioned by said control signals to transfer said contents from said one transfer network to one of said plurality of registers of said system interface unit.
17. The system of claim 15 wherein each processing unit further includes data output means operatively coupled to said control register and each of said interfaces including a plurality of control lines, a first one of said lines being switched to a first state to inhibit said operation of said clock-ing circuits in response to said coded signals stored in said first register, and a second one of said lines being connected to said control circuit means, said second one of said lines being switched to a first state in response to said certain ones of said control signals conditioning said control circuit means to enable said data output means for readout of said contents without altering said state.
18. The system of claim 17 wherein each input/output processing unit further includes a microprogrammed control unit connected to said clocking circuits, said microprogrammed control unit storing sequences of micro-instruction words for generating control signals for directing said operation of said input/output processing unit, said first line when switched to said first state inhibiting the operation of said clocking circuits preventing further operation of said microprogrammed control unit and freezing said state of said inactive input/output processing unit, and said second line when switched to said first state enabling said data output means for readout of said contents of said one control register without altering said state.
19. The system of claim 18 wherein said system interface unit further includes a port priority network coupled to each of said ports, said priority network being operative to generate signals indicating which port has the highest priority request, and said transfer control means being connected to said port priority network and to said command decode circuit means, said transfer control means in response to said signals from said priority network generating a number of coded signals for selecting one of said transfer networks corresponding to the input/output processing unit which generated said first command, said command decode circuit means in response to said number of coded signals switching said second line of the interface of said inactive processing unit to said first state to enable said control circuit means to apply said contents from said data output means to said one transfer network.
20. The system of claim 19 wherein said command decode circuit means includes:
a first register coupled to said transfer control means, said first register being conditioned by the signals of said sequence generated in response to said first command to store indications of said coded signals specifying which one of said plurality of input/output processing units generated said first command; and, decoder circuit means connected to said first register means, said decoder circuit means being operative in response to said indications to generate signals for switching said second line of said interface of the input/output processing unit of said pair which did not generate said first command.
21. The system of claim 20 wherein said command decode means further includes:
a second register connected to said decoder circuit means, said second register being conditioned by signals of said first command from said command register means to store indications of said signals generated by, said decoder circuit means, said register means including a plurality of bistable bit positions corresponding in number to said pair of input/output processing units; and, circuit means connecting said bistable bit position to said second line of a different one of said interfaces, gating means connected to said command register means and to said second register, said gating means being operative in response to a second command to cause said transfer control means to condition said one of said number of transfer networks to transfer said contents to said one of said plurality of registers.
22. The system of claim 21 wherein said transfer control means in-cludes:
first gating means connected to said command decode means;
second gating means connected to said first gating means and to transfer networks for receiving signals indicating the status; and, output gating means connected to said second gating means and to said port priority network, said output gating means generating a predeter-mined one of said number of coded signals during said first command and said output gating means being conditioned by said second command to complement the state of a predetermined one of said number of coded signals for enabling the transfer of said contents from the transfer network of said inactive processing unit of said pair rather than the processing unit of said pair which generated said first command.
23. A data processing system comprising;
a plurality of modules said plurality of modules including a plurality of input/output processing units, each processing unit including:
a number of control register for storing status and control infor-mation required for program processing;
data output means connected to said number of control registers for selection of any one of said number of registers;
timing circuits for enabling the operation of said processing unit;
interface means for transferring data and control signals to and from said processing unit, said interface means being connected to said tim-ing circuits and to said control circuit means, and control circuit means coupled to said data output means, said timing circuits and to said interface means, and a system interface unit for controlling the transfer of information between said plurality of modules, said system interface unit including:
a plurality of interface ports, each connected to a different one of said modules;
a number of transfer networks connected to a different one of said plurality of input/output processing units;
command register means, said command register means being connected to receive commands from said number of transfer networks;
command decode circuit means coupled to said command register means, said command decode circuit means being operative to generate control signals in response to said commands, and a plurality of registers, a first one of said registers coupled to said interface means of each port and storing bit pattern signals codes for generating different operating configurations of pairs of said plurality of input/output processing units defining which processing units of said pairs are to be enabled for operation, said first register storing signals corresponding to a predetermined configuration, said signals conditioning said interface means to inhibit the operation of the timing circuits of a designated one processing unit of one of said pairs of input/output pro-cessing units rendering it inactive, and said command decode circuit means being operative in response to a first type of command from the other one of said one pair to generate sequence of control signals, said interface means of the inactive processing unit in response to said control signals conditioning said control circuit means to cause said data output means to apply the contents of a selected one of said number of control registers for subsequent examination for diagnosis of faults within said inactive processing unit to one of said number of transfer networks thereby not altering the state of said inactive processing unit defined by the contents of said number of control registers.
24. The system of claim 23 wherein said system interface unit further includes transfer control means connected to the transfer networks of each of said processing units for controlling the transfer of information between ports, said command decode circuit means being operative in response to a second predetermined type of command from said other processing unit to a second sequence of control signals, said transfer control means being con-ditioned by said control signals to transfer said contents from said one transfer network to one of said plurality of registers of said system inter-face unit.
25. The system of claim 24 wherein each of said interfaces includes a plurality of control lines, a first one of said lines being switched to a first state to inhibit said operation of said clocking circuits in response to said coded signals stored in said first register, and a second one of said lines being connected to said control circuit means, said second one of said lines being switched to a first state in response to said control signals conditioning said control circuit means to enable said data output means for readout of said contents.
26. The system of claim 25 wherein each input/output processing unit further includes a microprogrammed control unit connected to said clocking circuits, said microprogrammed control unit storing sequences of micro-instruction words for generating control signals for directing said operation for said input/output processing unit, said first line when switched to said first state inhibiting the operation of said clocking circuits preventing further operation of said microprogammed control unit and freezing said state of said inactive input/output processing unit, and said second line when switched to said first state enabling said data output means for readout of said contents of one of said number of registers without altering said state.
27. The system of claim 25 wherein said system interface unit further includes a port priority network coupled to each of said ports, said priority network being operative to generate signals indicating which port has the highest priority request, and wherein said transfer control means is connected to said port priority network and to said command decode circuit means, said transfer control means in response to said signals from said priority network generating a number of coded signals for selecting one of said transfer networks corresponding to the input/output processing unit which generated said first command, said command decode circuit means in response to said number of coded signals switching said second line of the interface of said inactive processing unit to said first state to enable said control circuit means to apply said contents to said one transfer network.
28. The system of claim 27 wherein said command decode circuit means includes:
a first register coupled to said transfer control means, said first register being conditioned by the signals of said sequence generated in response to said first command to store indications of said coded signals specifying which one of said plurality of input/output processing units generated said first command; and, decoder circuit means connected to said first register means, said decoder circuit means being operative in response to said indications to generate signals for switching said second line of said interface of the pro-cessing unit of said pair which did not generate said first command.
29. The system of claim 28 wherein said command decode means further includes:
a second register connected to said decoder circuit means, said second register being conditioned by signals of said first command from said command register means to store indications of said signals generated by said decoder circuit means, said register means including a plurality of bistable bit positions corresponding in number to said plurality of input/output pro-cessing units;
circuit means connecting each bistable bit position to said second line of a different one of said interfaces; and, gating means connected to said command register means and to said second register, said gating means being operative in response to a second command in said sequence to cause said transfer control means to condition the transfer networks of said pair of processing units for enabling the transfer of said contents to said one of said plurality of registers.
30. The system of claim 29 wherein said transfer control means includes:
first gating means connected to said command decode means;
second gating means connected to said first gating means to trans-fer networks; and, output gating means connected to said second gating means and to said port priority network, said output gating means generating a predeter-mined one of said number of coded signals during a first one of said commands and said output gating means being conditioned by said second command to complement the state of a predetermined one of said number of coded signals for conditioning said transfer networks to enable the transfer of signals from the transfer network of said inactive processing unit of said pair rather than the transfer network of processing unit of said pair which generated said first command.
CA000288420A 1976-12-20 1977-10-11 Input/output data processing fault detection system Expired CA1119273A (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US05/752,345 US4091455A (en) 1976-12-20 1976-12-20 Input/output maintenance access apparatus
US752,345 1976-12-20

Publications (1)

Publication Number Publication Date
CA1119273A true CA1119273A (en) 1982-03-02

Family

ID=25025922

Family Applications (1)

Application Number Title Priority Date Filing Date
CA000288420A Expired CA1119273A (en) 1976-12-20 1977-10-11 Input/output data processing fault detection system

Country Status (7)

Country Link
US (1) US4091455A (en)
JP (1) JPS5394746A (en)
AU (1) AU510380B2 (en)
CA (1) CA1119273A (en)
DE (1) DE2755608A1 (en)
FR (1) FR2374687A1 (en)
GB (1) GB1595970A (en)

Families Citing this family (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4205374A (en) * 1978-10-19 1980-05-27 International Business Machines Corporation Method and means for CPU recovery of non-logged data from a storage subsystem subject to selective resets
US4258417A (en) * 1978-10-23 1981-03-24 International Business Machines Corporation System for interfacing between main store memory and a central processor
US4467421A (en) * 1979-10-18 1984-08-21 Storage Technology Corporation Virtual storage system and method
USRE36989E (en) * 1979-10-18 2000-12-12 Storage Technology Corporation Virtual storage system and method
US4320450A (en) * 1979-10-30 1982-03-16 Honeywell Inc. Protection apparatus for multiple processor systems
US4271468A (en) * 1979-11-06 1981-06-02 International Business Machines Corp. Multiprocessor mechanism for handling channel interrupts
US4443850A (en) * 1981-12-01 1984-04-17 Burroughs Corporation Interface circuit for subsystem controller
US4562533A (en) * 1981-12-03 1985-12-31 Ncr Corporation Data communications system to system adapter
US4476560A (en) * 1982-09-21 1984-10-09 Advanced Micro Devices, Inc. Diagnostic circuit for digital systems
DE3241376A1 (en) * 1982-11-09 1984-05-10 Siemens AG, 1000 Berlin und 8000 München DMA CONTROL DEVICE FOR TRANSMITTING DATA BETWEEN A DATA TRANSMITTER AND A DATA RECEIVER
US4773000A (en) * 1984-01-23 1988-09-20 Raytheon Company DMA for digital computer system
US4870566A (en) * 1984-08-27 1989-09-26 International Business Machines Corp. Scannerless message concentrator and communications multiplexer
US4627054A (en) * 1984-08-27 1986-12-02 International Business Machines Corporation Multiprocessor array error detection and recovery apparatus
US4701845A (en) * 1984-10-25 1987-10-20 Unisys Corporation User interface processor for computer network with maintenance and programmable interrupt capability
US4885683A (en) * 1985-09-27 1989-12-05 Unisys Corporation Self-testing peripheral-controller system
US4760515A (en) * 1985-10-28 1988-07-26 International Business Machines Corporation Arbitration apparatus for determining priority of access to a shared bus on a rotating priority basis
US4788640A (en) * 1986-01-17 1988-11-29 Intel Corporation Priority logic system
US5146565A (en) * 1986-07-18 1992-09-08 Intel Corporation I/O Control system having a plurality of access enabling bits for controlling access to selective ports of an I/O device
JPH0752420B2 (en) * 1986-09-10 1995-06-05 株式会社日立製作所 I / O device address method
JPH029063A (en) * 1988-06-28 1990-01-12 Nec Corp Disk controller
US4964033A (en) * 1989-01-03 1990-10-16 Honeywell Inc. Microprocessor controlled interconnection apparatus for very high speed integrated circuits
JPH02297228A (en) * 1989-05-11 1990-12-07 Fujitsu Ltd Fault information storing system
US5313590A (en) * 1990-01-05 1994-05-17 Maspar Computer Corporation System having fixedly priorized and grouped by positions I/O lines for interconnecting router elements in plurality of stages within parrallel computer
JP3684590B2 (en) * 1994-04-25 2005-08-17 カシオ計算機株式会社 Reset control device and reset control method
US5784612A (en) * 1995-05-03 1998-07-21 International Business Machines Corporation Configuration and unconfiguration of distributed computing environment components
US6094605A (en) * 1998-07-06 2000-07-25 Storage Technology Corporation Virtual automated cartridge system
US7376864B1 (en) * 1998-12-30 2008-05-20 Oracle International Corporation Method and system for diagnostic preservation of the state of a computer system
US6834324B1 (en) 2000-04-10 2004-12-21 Storage Technology Corporation System and method for virtual tape volumes
US20030126132A1 (en) * 2001-12-27 2003-07-03 Kavuri Ravi K. Virtual volume management system and method
US20050239434A1 (en) * 2002-12-11 2005-10-27 Marlowe Ira M Multimedia device integration system
US7489786B2 (en) * 2002-12-11 2009-02-10 Ira Marlowe Audio device integration system
US20070293183A1 (en) * 2002-12-11 2007-12-20 Ira Marlowe Multimedia device integration system
US20040151327A1 (en) * 2002-12-11 2004-08-05 Ira Marlow Audio device integration system
US8155342B2 (en) * 2002-12-11 2012-04-10 Ira Marlowe Multimedia device integration system
US9766965B2 (en) * 2015-11-25 2017-09-19 Salesforce.Com, Inc. System and method for monitoring and detecting faulty storage devices
WO2021092257A1 (en) * 2019-11-05 2021-05-14 Opteon Corporation Input/output apparatus and methods for monitoring and/or controlling dynamic environments

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
NL153059B (en) * 1967-01-23 1977-04-15 Bell Telephone Mfg AUTOMATIC TELECOMMUNICATION SWITCHING SYSTEM.
US3641505A (en) * 1969-06-25 1972-02-08 Bell Telephone Labor Inc Multiprocessor computer adapted for partitioning into a plurality of independently operating systems
US3864670A (en) * 1970-09-30 1975-02-04 Yokogawa Electric Works Ltd Dual computer system with signal exchange system
US3678467A (en) * 1970-10-20 1972-07-18 Bell Telephone Labor Inc Multiprocessor with cooperative program execution
BE789512A (en) * 1971-09-30 1973-03-29 Siemens Ag PROCESS AND INSTALLATION FOR HANDLING ERRORS IN A DATA PROCESSING SYSTEM COMPOSED OF SEPARATE UNITS
US3805038A (en) * 1972-07-12 1974-04-16 Gte Automatic Electric Lab Inc Data handling system maintenance arrangement for processing system fault conditions
DE2248451C3 (en) * 1972-10-03 1979-11-22 Ibm Deutschland Gmbh, 7000 Stuttgart Test method and circuit arrangement in data processing systems
US3806887A (en) * 1973-01-02 1974-04-23 Fte Automatic Electric Labor I Access circuit for central processors of digital communication system
US3828321A (en) * 1973-03-15 1974-08-06 Gte Automatic Electric Lab Inc System for reconfiguring central processor and instruction storage combinations
US3898621A (en) * 1973-04-06 1975-08-05 Gte Automatic Electric Lab Inc Data processor system diagnostic arrangement
US3921141A (en) * 1973-09-14 1975-11-18 Gte Automatic Electric Lab Inc Malfunction monitor control circuitry for central data processor of digital communication system
US3838261A (en) * 1973-09-14 1974-09-24 Gte Automatic Electric Lab Inc Interrupt control circuit for central processor of digital communication system
US4000487A (en) * 1975-03-26 1976-12-28 Honeywell Information Systems, Inc. Steering code generating apparatus for use in an input/output processing system

Also Published As

Publication number Publication date
FR2374687B1 (en) 1984-12-14
GB1595970A (en) 1981-08-19
DE2755608A1 (en) 1978-06-22
AU3100777A (en) 1979-06-07
US4091455A (en) 1978-05-23
AU510380B2 (en) 1980-06-19
FR2374687A1 (en) 1978-07-13
JPS5394746A (en) 1978-08-19

Similar Documents

Publication Publication Date Title
CA1119273A (en) Input/output data processing fault detection system
US4099234A (en) Input/output processing system utilizing locked processors
US4124891A (en) Memory access system
US4000487A (en) Steering code generating apparatus for use in an input/output processing system
CA1176337A (en) Distributed signal processing system
US4080649A (en) Balancing the utilization of I/O system processors
US4084236A (en) Error detection and correction capability for a memory system
US4084234A (en) Cache write capacity
CA1121481A (en) Multiprocessor system
US4017839A (en) Input/output multiplexer security system
US4006466A (en) Programmable interface apparatus and method
US4075686A (en) Input/output cache system including bypass capability
US4090239A (en) Interval timer for use in an input/output system
US5146605A (en) Direct control facility for multiprocessor network
US4084232A (en) Power confidence system
CA1147474A (en) Memory system in a multiprocessor system
CA1135809A (en) Multiprocessor system
JPS6168663A (en) Input/output controlling device

Legal Events

Date Code Title Description
MKEX Expiry