Patent ID: 7752494
Filing Date: 2010-07-06
Classification: G06F

Abstract:
1. A system comprising: a first processor coupled to a first memory, the first processor operable to execute a user program; a first retired instruction counter associated with the first processor, the first retired instruction counter operable to change state at least at completion of substantially each user program instruction; a second processor coupled to a second memory, and the second processor operable to execute a duplicate copy of the user program; a second retired instruction counter associated with the second processor, the second retired instruction counter operable to change state at least at completion of substantially each duplicate copy user program instruction; said first processor operable to execute a predetermined number of instructions of the user program, and substantially simultaneously decode at least some instructions, determine inputs of the decoded instructions, and provide addresses of the decoded instructions and values indicative of the inputs to the second processor; said second processor is operable to execute a predetermined number of instructions of its respective user program, and substantially simultaneously decode at least some instructions, determine inputs of the decoded instructions, and provide addresses of the decoded instructions and values indicative of the inputs to the first processor; wherein, prior to when each processor executes the predetermined number of instructions, at least one processor is operable to execute instructions until the value of the first and second retired instruction counters are substantially equal; said first processor operable to match a plurality of executed instructions of its user program to a plurality of executed instructions of the user program of the second processor and to determine a number of instructions by which the first processor lags, and the first processor operable to execute forward until execution points of the duplicate copies of the user program are substantially the same.