Patent GB-1344474-A (GB)
Title: Fault detection and handling arrangements for use in data proces sing systems
IPC: G06F11/07
Filed: 1972-02-18
Abstract: 1344474 Data processing systems PLESSEY CO Ltd 18 Feb 1972 [4 March 1971] 5994/71 Heading G4A Information relating to application, supervisory and fault check-out programs are stored in memory and the or each processor module includes a fault detection and handling system which, upon detecting a fault condition, immediately restricts memory access by the associated processor to an area containing the fault check-out program. The system may include memory protection arrangements as in Specification 1,329,721 in which each processor includes a plurality of memory protection capability registers, each holding a memory segment descriptor defining the base and limit addresses and a permitted access code for a memory segment, and one of the capability registers holding a segment descriptor which defines a memory segment containing a master capability table providing the base and limit addresses for loading the other capability registers and having an entry for each memory segment. Each program has an associated reserved segment pointer table consisting of pointers which are used as offsets to the base address of the master capability table to access the descriptors for segments which that program is allowed to access. The segment descriptor for the reserved segment pointer table is held in a further capability register. Each segment pointer entry includes a permitted access code defining operations permitted to be performed on the corresponding segment by that program. Each processor includes a pair of registers storing machine condition indicators. The primary indicators show whether the output of the arithmetic unit is zero, greater than zero or in an overflow condition, that the following faults have occurred: (1) access field violation; (2) various parity and sum check faults; (3) capability base/limit violation; (4) excessive delay in response to storage access; (5) invalid operation; (6) power failure; (7) invalid store control signal. The primary indicator register also stores the identity of a selected one of the capability registers. The secondary indicator register stores indicators for use by the microprogram control (1) first (fault check-out) attempt; (2) fault administration; (3) second fault; (4) common fault and (5) internal parity indicator. Fault interrupt operation.-When any primary fault indicator is set, the common fault secondary indicator is also set. The internal parity indicator is then set to invalidate all data at present in the processor so that the current program can not be corrupted. The first attempt indicator is set to inhibit the processor interrupt system which may be as in Specification 1,332,797. Each processor has a special capability register which points to a special fault block in a particular memory segment. The fault block occurs in a number of storage modules and has a common base address in each of these modules. The fault block is loaded into the processor registers, a change process routine is initiated to dump the current value of the sequence control register and the primary indicators in a dump area pointed to by the fault block, and the fault check-out program is then extracted from a further dump area also pointed to by the fault block. The fault check-out program tests the functions of the processor and if the original fault was transient, the program may be performed successfully in which case the processor is returned to active processing. If a fault is detected during the check-out program, the processor returns to the start of the fault interrupt sequence but this time uses a fault block from a different storage module and a different copy of the check-out program so that the check-out program can be run following an abortive attempt with a faulty storage module. If the processor itself has a "solid" fault it is trapped in the check-out routine and sequentially accesses the storage modules in which the fault blocks are held.