The patent badge is an abbreviated version of the USPTO patent document. The patent badge does contain a link to the full patent document.
The patent badge is an abbreviated version of the USPTO patent document. The patent badge covers the following: Patent number, Date patent was issued, Date patent was filed, Title of the patent, Applicant, Inventor, Assignee, Attorney firm, Primary examiner, Assistant examiner, CPCs, and Abstract. The patent badge does contain a link to the full patent document (in Adobe Acrobat format, aka pdf). To download or print any patent click here.
Patent No.:
Date of Patent:
Oct. 08, 2002
Filed:
Jul. 29, 1999
Richard Eugene Kessler, Shrewsbury, MA (US);
Rahul Razdan, Princeton, MA (US);
Edward John Mclellan, Holliston, MA (US);
Compaq Information Technologies Group, L.P., Houston, TX (US);
Abstract
Load/store execution order violations in an out-of-order processor are reduced by determining whether a source address of a load instruction is the same as a destination address of a store instruction on which execution the load instruction depends. If they are the same, then execution of the load instruction is delayed until execution of the store instruction. In an system where virtual registers are mapped to a physical register, the physical registers mapped by the store and load instructions are compared. A table has entries corresponding to instructions in an instruction queue. In each table entry corresponding to a store instruction, the store instruction's destination address offset and physical register reference are saved. A load instruction's source address offset and physical reference are compared with each of the table entries corresponding to store instructions to determine whether a dependency exists. Furthermore, a matrix also has row entries corresponding to instruction queue entries. In addition, each matrix row has a separate indicator for each instruction queue entry. Upon determining that a load instruction is dependent upon a store instruction, the indicator corresponding to the store instruction in the matrix row corresponding to the load instruction is marked, while an indicator is “unmarked” when the corresponding store instruction issues. Execution of any load instruction is delayed while any indicator in the load instruction's corresponding matrix row is marked. When a store instruction executes, all indicators in the column corresponding to the store instruction are unmarked.