Self-checked, lock step processor pairs
First Claim
1. A central processor unit, comprising:
- a memory for storing instructions and data;
a pair of processors operating in lock-step synchronism with each other to execute each instruction of an instruction stream and to periodically write identical N-bit data words comprising first and second portions to the memory at substantially the same moment in time;
first and second interface elements receiving the N-bit data words from corresponding ones of the pair of processors for communication to the memory such that the first portion of the N-bit data word is written to the memory by the first interface element together with the second portion of the N-bit data from the second interface element;
the first interface element including first compare means for receiving and comparing the second portion of the N-bit data word from the second interface element with the second portion of the N-bit data word received from the corresponding one of the pair of processors to assert an first error signal if a miscompare is detected; and
the second interface element including means for receiving and comparing the first portion of the N-bit data word from the first interface element with the first portion of the N-bit data word received from the corresponding one of the pair of processors to assert a second error signal if a miscompare is detected.
5 Assignments
0 Petitions
Accused Products
Abstract
A multiprocessor system includes a number of sub-processor systems, each substantially identically constructed, and each comprising a central processing unit (CPU), and at least one I/O device, interconnected by routing apparatus that also interconnects the sub-processor systems. A CPU of any one of the sub-processor systems may communicate, through the routing elements, with any I/O device of the system, or with any CPU of the system.
Communications between I/O devices and CPUs is by packetized messages. Interrupts from I/O devices are communicated from the I/O devices to the CPUs (or from one CPU to another CPU) as message packets.
CPUs and I/O devices may write to, or read from, memory of a CPU of the system. Memory protection is provided by an access validation method maintained by each CPU in which CPUs and/or I/O devices are provided with a validation to read/write memory of that CPU, without which memory access is denied.
253 Citations
13 Claims
-
1. A central processor unit, comprising:
-
a memory for storing instructions and data;
a pair of processors operating in lock-step synchronism with each other to execute each instruction of an instruction stream and to periodically write identical N-bit data words comprising first and second portions to the memory at substantially the same moment in time;
first and second interface elements receiving the N-bit data words from corresponding ones of the pair of processors for communication to the memory such that the first portion of the N-bit data word is written to the memory by the first interface element together with the second portion of the N-bit data from the second interface element;
the first interface element including first compare means for receiving and comparing the second portion of the N-bit data word from the second interface element with the second portion of the N-bit data word received from the corresponding one of the pair of processors to assert an first error signal if a miscompare is detected; and
the second interface element including means for receiving and comparing the first portion of the N-bit data word from the first interface element with the first portion of the N-bit data word received from the corresponding one of the pair of processors to assert a second error signal if a miscompare is detected. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A processor unit, comprising:
-
first and second processor elements operating in lock-step synchronism with each other to execute each instruction of an instruction stream, and to periodically produce identical N-bit data words comprising first and second portions, at substantially the same moment in time;
a memory for storing the N-bit data words;
a first interface unit coupling the first processor element to the memory to create an M-bit error code from N-bit data words received from the first processor and to communicate the first portion for storage in the memory in associate with a first part of the M-bit error code;
a second interface unit coupling the second processor element to the memory to create the M-bit error code from N-bit data words received from the second processor to communicate the second portion for storage in the memory in associate with a second part of the M-bit error code; and
the first and second interface units each including an error circuit for receiving N-bit data words from memory together with the associated M-bit error code to check the N-bit data word for errors. - View Dependent Claims (10, 11)
-
-
12. In a data processing system having first and second data processor elements operating in substantially lock-step synchronism to sequential execute an identical series of instructions, instruction by instruction, to each periodically produce, at substantially the same time, N-bit data elements, each N-bit data element have first and second portions, the data processing system having a memory for storing the N-bit data elements;
- a method for checking operation of the first and second data processor elements, including the steps of;
communicating the first portion of the N-bit data element from the first data processor element to the memory for storage;
communicating the second portion of the N-bit data element from the second data processor element to the memory for storage in association with the corresponding first portion; and
comparing the first portion and second portions of each of the N-bit data words from the first data processor element with the first and second portions of the corresponding N-bit data words from the second data processor element; and
producing an error indication when a miscompare is detected. - View Dependent Claims (13)
- a method for checking operation of the first and second data processor elements, including the steps of;
Specification