Patent US5850533A successfully refreshed from Google Patents.
← Back to Patent Explorer
US5850533A Expired / Lapsed US ⏱️ 0.0 years remaining

Method for enforcing true dependencies in an out-of-order processor

Assignee: Oracle America Inc
•
Filing: 1997-06-25
•
Granted: 1998-12-15
•
Expires: 2017-06-25
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

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.

Inventors

  • 👤 Ramesh Panwar
  • 👤 Dani Y. Dakhil

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-07 13:20
CPC Classifications
G; G06; G06F; G06F9/00; G06F9/06; G06F9/30; G06F9/38; G06F9/3836; G06F9/3838; G06F9/384; G06F9/3854; G06F9/3856; G06F9/3858

Claims Analysis

Total Claims: 9
Claim 1
Independent Claim 170 words
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.
Claim 2
Independent Claim 170 words
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.
Claim 3
Dependent Claim 44 words
The method of claim 1, wherein said providing step further comprises: providing a youngest identifier indicating said first instruction is the youngest instruction most recently stored in the table which will produce a result into the destination register identified by said destination register identifier.
Claim 4
Dependent Claim 27 words
The method of claim 1, wherein said providing step further comprises: providing a valid identifier indicating that said first instruction is a valid entry in the table.
Claim 5
Dependent Claim 63 words
The method of claim 1, wherein said comparing step further comprises: first comparing said destination register identifier of said first instruction to said first source register of said second instruction; and in response to said first comparing step, indicating a dependency of said second instruction upon said first instruction if said destination register identifier corresponds to first source register of said second instruction.
Claim 6
Dependent Claim 65 words
The method of claim 4, wherein said comparing step further comprises: second comparing said destination register identifier of said first instruction to a said second source register of said second instruction; and in response to said second comparing step, indicating a dependency of said second instruction upon said first instruction if said destination register identifier corresponds to said second source register of said second instruction.
Claim 7
Dependent Claim 60 words
The method of claim 1, further comprising the steps of: second comparing said destination register identifier of said first instruction to said destination register of said second instruction; and in response to said second comparing step, indicating that said second instruction is the younger instruction which will produce a result into the destination register identified by said destination register identifier.
Claim 8
Dependent Claim 77 words
The method of claim 1, further comprising the steps of: determining an intra-bundle dependency by comparing said first and second source registers of said second instruction to a destination register of a preceding instruction in a bundle of instructions; and in response to said determining step, indicating a dependency of said second instruction upon said preceding instruction if said destination register of said preceding instruction corresponds to said first or second source registers of said second instruction.
Claim 9
Dependent Claim 126 words
The method of claim 1 further comprising the steps of: second comparing said destination register identifier of said first instruction to said destination register of said second instruction; in response to said second comparing step, indicating that said second instruction is the younger instruction which will produce a result into the destination register identified by said destination register identifier; determining an intra-bundle dependency by comparing said first and second source registers of said second instruction to a destination register of a preceding instruction in a bundle of instructions; and in response to said determining step, indicating a dependency of said second instruction upon said preceding instruction if said destination register of said preceding instruction corresponds to said first or second source registers of said second instruction.

References Cited (Backward Citations)

US5134561A Cited
US5487156A Cited
US5561776A Cited
US5625837A Cited
US5560032A Cited
US5751984A Cited
US5546597A Cited
US5625789A Cited
US5745726A Cited
US5745780A Cited
US5748934A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2001-12-14 2002-06-15 2002-12-15 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2005-12-14 2006-06-15 2006-12-15 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2009-12-14 2010-06-15 2010-12-15 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag