1. A processor comprising: a front end that obtains instructions; and a back end that provides speculative execution of the instructions; wherein the processor has an instruction set architecture including speculative execution control circuitry that handles at least one machine instruction that facilitates synchronization between parallel processes by exposing the processor speculation to program control.