Decoding conditional program instructions
First Claim
1. Apparatus for processing data comprising:
- instruction decoding circuitry configured to decode a program instruction to generate one or more micro-operation instructions;
processing circuitry configured to process said one or more micro-operation instructions, said processing circuitry including condition resolution circuitry configured to respond to a condition resolution micro-operation instruction to determine if a condition associated with said condition resolution micro-operation instruction is passed or failed;
whereinat least one conditional program instruction specifying a processing action to be performed by said processing circuitry if a condition associated with said conditional program instruction is passed is decoded by said instruction decoding circuitry in accordance with a condition prediction as one of;
(i) in accordance with said condition prediction being a condition pass prediction, one or more micro-operation instructions that control said processing circuitry to perform said processing action together with a condition resolution micro-operation instruction; and
(ii) in accordance with said condition prediction being a condition fail, at least said condition resolution micro-operation instruction; and
said condition resolution circuitry is configured to respond to said condition resolution micro-operation instruction to determine if said condition prediction is incorrect and if said condition prediction is determined to be incorrect then;
(a) to flush any micro-operation instructions for said conditional program instruction from said processing circuitry;
(b) to change said condition prediction for said conditional program instruction to a new condition prediction; and
(c) to trigger said instruction decoding circuitry to decode said conditional program instruction again using said new condition prediction.
1 Assignment
0 Petitions
Accused Products
Abstract
A processor 2 includes instruction decoding circuitry 8 and processing circuitry 16, 18, 20, 22, 24. The instruction decoding circuitry decodes at least one conditional program instruction in accordance with a conditional prediction as one of, in accordance with the condition prediction being a condition pass, one or more micro-operation instructions that control the processing circuitry to perform the processing action together with a condition resolution micro-operation instruction, or in accordance with the condition prediction being a condition fail, at least a condition resolution micro-operation instruction. Condition resolution circuitry 24 responds to the condition resolution micro-operation instruction to determine if the condition prediction is incorrect. If the condition prediction is incorrect, then the condition resolution circuitry flushes any micro-operation instructions associated with the conditional program instruction from the processing circuitry, changes the condition prediction to a new prediction and triggers the redecoding of the conditional program instruction in accordance with the new condition prediction.
-
Citations
23 Claims
-
1. Apparatus for processing data comprising:
-
instruction decoding circuitry configured to decode a program instruction to generate one or more micro-operation instructions; processing circuitry configured to process said one or more micro-operation instructions, said processing circuitry including condition resolution circuitry configured to respond to a condition resolution micro-operation instruction to determine if a condition associated with said condition resolution micro-operation instruction is passed or failed;
whereinat least one conditional program instruction specifying a processing action to be performed by said processing circuitry if a condition associated with said conditional program instruction is passed is decoded by said instruction decoding circuitry in accordance with a condition prediction as one of; (i) in accordance with said condition prediction being a condition pass prediction, one or more micro-operation instructions that control said processing circuitry to perform said processing action together with a condition resolution micro-operation instruction; and (ii) in accordance with said condition prediction being a condition fail, at least said condition resolution micro-operation instruction; and said condition resolution circuitry is configured to respond to said condition resolution micro-operation instruction to determine if said condition prediction is incorrect and if said condition prediction is determined to be incorrect then; (a) to flush any micro-operation instructions for said conditional program instruction from said processing circuitry; (b) to change said condition prediction for said conditional program instruction to a new condition prediction; and (c) to trigger said instruction decoding circuitry to decode said conditional program instruction again using said new condition prediction. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. Apparatus for processing data comprising:
-
instruction decoding means for decoding a program instruction to generate one or more micro-operation instructions; processing means for processing said one or more micro-operation instructions, said processing means including condition resolution means for responding to a condition resolution micro-operation instruction to determine if a condition associated with said condition resolution micro-operation instruction is passed or failed;
whereinat least one conditional program instruction specifying a processing action to be performed by said processing means if a condition associated with said conditional program instruction is passed is decoded by said instruction decoding means in accordance with a condition prediction as one of; (i) in accordance with said condition prediction being a condition pass prediction, one or more micro-operation instructions that control said processing means to perform said processing action together with a condition resolution micro-operation instruction; and (ii) in accordance with said condition prediction being a condition fail, at least said condition resolution micro-operation instruction; and said condition resolution means responds to said condition resolution micro-operation instruction to determine if said condition prediction is incorrect and if said condition prediction is determined to be incorrect then; (a) to flush any micro-operation instructions for said conditional program instruction from said processing means; (b) to change said condition prediction for said conditional program instruction to a new condition prediction; and (c) to trigger said instruction decoding means to decode said conditional program instruction again using said new condition prediction.
-
-
14. A method of processing data comprising the steps of:
-
decoding a program instruction to generate one or more micro-operation instructions; processing said one or more micro-operation instructions, said processing including condition resolution for responding to a condition resolution micro-operation instruction to determine if a condition associated with said condition resolution micro-operation instruction is passed or failed;
whereinat least one conditional program instruction specifying a processing action to be performed if a condition associated with said conditional program instruction is passed is decoded in accordance with a condition prediction as one of; (i) in accordance with said condition prediction being a condition pass prediction, one or more micro-operation instructions that control said processing action together with a condition resolution micro-operation instruction; and (ii) in accordance with said condition prediction being a condition fail, at least said condition resolution micro-operation instruction; and in response to said condition resolution micro-operation instruction, determining if said condition prediction is incorrect and if said condition prediction is determined to be incorrect then; (a) to flush any micro-operation instructions for said conditional program instruction; (b) to change said condition prediction for said conditional program instruction to a new condition prediction; and (c) to trigger decoding said conditional program instruction again using said new condition prediction. - View Dependent Claims (15, 16, 17, 18, 19, 20, 21, 22, 23)
-
Specification