Patent ID: 7966477

Claim:
An apparatus comprising: a queue system configured to issue a first instruction; and detection logic configured to, in response to detecting a blocking condition that prevents the first instruction from being completed, determine whether the blocking condition is a non-transient blocking condition or a transient blocking condition, wherein the blocking condition corresponds to a hazard in which the first instruction cannot execute until completion of a second instruction issued prior to the first instruction, wherein the transient blocking condition has a shorter duration relative to the non-transient blocking condition, and wherein the queue system comprises a recirculation queue configured to in response to the blocking condition being a non-transient blocking condition, (i) enqueue the first instruction, (ii) set a state of the first instruction to a blocked state to prevent the first instruction from being reissued from the recirculation queue, and (iii) in response to detecting that the non-transient blocking condition no longer exists, change the state of the first instruction in the recirculation queue to an unblocked state to permit the first instruction to be reissued from the recirculation queue; and in response to the blocking condition being a transient blocking condition, (i) enqueue the first instruction, and (ii) set the state of the first instruction to the unblocked state to permit the first instruction to be reissued from the recirculation queue.