Efficient Fault Tolerance For Pipelined Structures And Its Application To Superscalar And Dataflow Machines