Method and apparatus for restoring registers after cancelling a multi-cycle instruction
First Claim
Patent Images
1. A method comprising:
- introducing a multi-cycle instruction including two or more sub-instructions into a pipeline;
writing a result generated in response to a sub-instruction in a speculative commit register; and
writing a value in the speculative commit register to an architectural register in response to the multi-cycle instruction committing.
3 Assignments
0 Petitions
Accused Products
Abstract
In an embodiment, a pipelined processor may be adapted to process multi-cycle instructions (MCIs). Results generated in response to non-terminal sub-instructions may be written to a speculative commit register. When the MCI commits, i.e., a terminal sub-instruction reaches the WB stage, the value in the speculative commit register may be written to the architectural register.
54 Citations
24 Claims
-
1. A method comprising:
-
introducing a multi-cycle instruction including two or more sub-instructions into a pipeline;
writing a result generated in response to a sub-instruction in a speculative commit register; and
writing a value in the speculative commit register to an architectural register in response to the multi-cycle instruction committing. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. An article comprising a machine-readable medium which stores machine-executable instructions, the instructions causing a machine to:
-
introduce a multi-cycle instruction including two or more sub-instructions into a pipeline;
write a result generated in response to a sub-instruction in a speculative commit register; and
write a value in the speculative commit register to an architectural register in response to the multi-cycle instruction committing. - View Dependent Claims (8, 9, 10, 11, 12, 14, 15, 16, 17, 18, 19, 20, 21)
-
-
13. A processor comprising:
-
a pipeline operative to execute a multi-cycle instruction including a terminal sub-instruction and a non-terminal sub-instruction;
an architectural register;
a speculative commit register operative to store results generated in response to the sub-instructions; and
a controller operative to control writing a result from the speculative commit register to the architectural register in response to the terminal sub-instruction committing.
-
-
22. A system comprising:
-
a static random address memory; and
a processor coupled to the static random access memory, said processor comprising;
a pipeline operative to execute a multi-cycle instruction including a terminal sub-instruction and a non-terminal sub-instruction;
an architectural register;
a speculative commit register operative to store results generated in response to the sub-instructions; and
a controller operative to control writing a result from the speculative commit register to the architectural register in response to the terminal sub-instruction committing. - View Dependent Claims (23, 24)
-
Specification