Patent ID: 7802075

Claim:
A high-assurance system for processing information, the high-assurance system comprising: a first processor configured to receive a first task interrupt that identifies a first high-assurance software routine to be processed by the first processor; a second processor configured to receive a second task interrupt that identifies a second high-assurance software routine, corresponding to the first high-assurance software routine, to be processed on the second processor, and to add the second high-assurance software routine to a task queue of tasks to be processed by the second processor; a hardware task matching circuit configured to: receive a first task identifier from the first processor and determine, based on a value of the first task identifier, that the first high-assurance software routine is ready for execution on the first processor, receive a plurality of second task identifiers from the second processor, each of the plurality of second task identifiers indicating a next software routine in the task queue to be processed by the second processor, cause the second processor to cycle through at least one of the tasks in the task queue, without the second processor processing at least one of the software routines associated with at least one of the tasks in the task queue, until receiving one of the plurality of second task identifiers that corresponds to the second high-assurance software routine, and delay the first processor until receiving the second task identifier corresponding to the second high-assurance software routine from the second processor, indicating that the second processor is ready to execute the second high-assurance software routine; a first output of the first processor configured to produce a first result with the first high-assurance software routine; and a second output of the second processor configured to produce a second result with the second high-assurance software routine, wherein the first result is identical to the second result and the first and second processors are embodied in hardware.