ABSTRACT

Modern processors often employ speculation to improve instruction level and thread level parallelism. They predict the outcome of data and control decisions, and speculatively execute the operations and commit results only if the original predictions were correct. Mis-speculation usually causes expensive recovery overhead, and therefore processors will need some form of guidance to maximize the benefits of speculation against recovery overhead.