Method for enforcing true dependencies in an out-of-order processor
AssigneeSun Microsystems, Inc.
InventorsRamesh Panwar, Dani Y. Dakhil
Life of this patent
Estimating the term…
Abstract
In a processor executing instructions speculatively or out-of-order, a dependency table tracks instruction dependencies between a current instruction and a live instruction. The table contains an instruction identifier and the destination register specified by the live instruction. The table can also contain information about the age of the entry, the validity of the entry, and the process which the entry is associated. A dependency between instructions is determined by one or more comparators comparing the destination register to the source registers of the current instruction. True dependencies are distinguished from false dependencies using the age information, the validity information, and the process information.
Claims8
A method for detecting dependencies between a first instruction and a second instruction operating in a processor, said first instruction specifying at least a destination register, said second instruction specifying a first source register, a second source register, and a destination register, the method comprising the steps of:
- providing a table for storing dependency information regarding live instructions in a processor, said dependency information comprising an instruction identifier identifying said first instruction, and a destination register identifier identifying said destination register of said first instruction;
- associating a process identifier with said first instruction indicating which of a number of independent processes generated said first instruction;
- storing dependency information regarding said first instruction in said table;
- comparing said destination register identifier of said first instruction to said first and second source registers of said second instruction;
- and
- in response to said comparing step, indicating a dependency of said second instruction upon said first instruction if said destination register identifier corresponds to said first or second source registers of said second instruction.
Dependencies are inferred from the claim text.