Out-or-order execution and branch prediction are two mechanisms that can
be used profitably in the design of supercomputers to increase
performance. Proper exception handling and branch prediction miss
handling in an out-of-order execution machine do require some kind of
repair mechanism which can restore the machine to a known previous
state. In this paper we present a class of repair mechanisms using the
concept of checkpointing. We derive several properties of checkpoint
repair mechanisms. In addition, we provide algorithms for performing
checkpoint repair that incur little overhead in time and modest cost in
hardware. We also note that our algorithms require no additional
complexity or time for use with write-back cache memory systems than
they do with write-through cache memory systems, contrary to statements
made by previous researchers.