Embodiments include various methods, apparatuses, and systems in which a
processor includes an out of order issue engine and an in-order execution
pipeline. For some embodiments, the issue engine may be remote from the
execution pipeline and execution resources may be many clock cycles away
from the issue engine. The issue engine categorizes operations as at
least one of either a speculative operations, which perform computations,
or an architectural operation, which has potential to fault or cause an
exception. Potentially excepting operations may be decomposed into two
separate micro-operations: a speculative micro-operation, which is used
to generate data results speculatively so that operations dependent on
the results may be speculatively issued, and an architectural
micro-operation, which signals the faulting condition for the excepting
operation. A STORE operation becomes an architectural operation and all
previous faulting conditions may be guaranteed to have evaluated before a
STORE is issued.