A method and system of executing duplicate copies of a program in lock
step. Some illustrative embodiments are a computer system comprising a
first processor executing a program, a second processor executing a
duplicate copy of the program (the first processor and second processor
executing their respective programs in lock step), a logic device coupled
to the processors, and a shared device coupled to the processors through
the logic device. The first processor presents to the logic device a
first operation involving the shared device, and the second processor
does not present an operation, or presents an operation that does not
match the first operation. The logic device obtains a second operation
from the second processor that matches the first operation, and wherein a
single operation that matches the first and second operations is
presented to the shared device.