US5710902A
Expired / Lapsed
US
⏱️ 0.0 years remaining
Instruction dependency chain indentifier
Assignee: Micron Technology Inc
•
Filing: 1995-09-06
•
Granted: 1998-01-20
•
Expires: 2015-09-06
Abstract
Abstract A method and apparatus for identifying a sequence of instructions that generate data used by an instruction in a programmed flow of instructions includes a bit array of i lines, where i is an integer, each line representing an instruction in an ordered sequence of instructions. A line in the bit array is made up of a string of bits in which a bit position is set corresponding to a preceding instruction that the instruction is dependent upon. Logic coupled to the bit array generates the string of bits for the next instruction by setting bit positions which correspond to directly dependent instructions and additional bit positions corresponding to the predecessor instructions.
Inventors
- 👤 Gad S. Sheaffer
- 👤 Robert Valentine
Bibliographic Details
Application Number
—
Jurisdiction
US
Data Source
google_patents
Last Synchronized
2026-11-07 03:29
CPC Classifications
G; G06; G06F; G06F9/00; G06F9/06; G06F9/30; G06F9/38; G06F9/3836; G06F9/3838; G06F9/384
Claims Analysis
Total Claims: 12
Claim 1
Independent Claim
199 words
Apparatus for identifying instruction dependencies comprising: a bit array of i lines, where i is an integer, each line representing an instruction in a sequence of instructions and comprising a string of bits in which a bit position is set corresponding to a preceding instruction on which the instruction is dependent, and wherein the bit array is triangular with a first line having a single bit position in the ith line having l bit positions; logic means coupled to the bit array for generating the string of bits for a next instruction stored in the ith line of the bit array, the logic means shifting the string of bits in each line of the bit array by one line and by one bit position, and generating the string of bits for the next instruction by setting bit positions which correspond to directly dependent instructions as well as additional bit positions corresponding to indirectly dependent instructions, the logic means including means for performing a logical bitwise OR operation between the string of bits of the lines corresponding to the directly dependent instructions, a result of the logical bitwise OR operation being written to corresponding bit positions of the ith line.
Claim 2
Dependent Claim
199 words
Apparatus for identifying instruction dependencies comprising: a bit array of i lines, where i is an integer, each line representing an instruction in a sequence of instructions and comprising a string of bits in which a bit position is set corresponding to a preceding instruction on which the instruction is dependent, and wherein the bit array is triangular with a first line having a single bit position in the ith line having l bit positions; logic means coupled to the bit array for generating the string of bits for a next instruction stored in the ith line of the bit array, the logic means shifting the string of bits in each line of the bit array by one line and by one bit position, and generating the string of bits for the next instruction by setting bit positions which correspond to directly dependent instructions as well as additional bit positions corresponding to indirectly dependent instructions, the logic means including means for performing a logical bitwise OR operation between the string of bits of the lines corresponding to the directly dependent instructions, a result of the logical bitwise OR operation being written to corresponding bit positions of the ith line.
Claim 3
Dependent Claim
20 words
The apparatus of claim 1 wherein the means for performing the logical bitwise OR operation comprises an AND/OR logic structure.
Claim 4
Dependent Claim
275 words
In an out-of-order computing system, a method of operation comprising the steps of: (a) decoding an in-order sequence of instructions; (b) checking data dependencies for each instruction of the in-order sequence; (c) generating an instruction dependency matrix which identifies both direct and indirect dependencies for a set of instructions of the in-order sequence, the set of instructions including l instructions and where the matrix includes a triangular storage structure having l lines, an ith line corresponding to an ith instruction of the in-order sequence, the ith line having l bit positions in which a jth bit position is set corresponding to the jth instruction on which the ith instruction is dependent, where l and j are integers, for an ith instruction of the in-order sequence, the generating step further including the steps of: shifting the bit positions in each line of the matrix up by one line, and to the left by one bit position, thereby vacating the ith line; setting, in the ith line, bit positions corresponding to instructions on which the ith instruction is directly dependent, thereby producing a first string of bits for the ith line; performing a logical bitwise OR operation on the lines that correspond to the directly dependent instructions to produce a second string of bits; performing a logical bitwise OR operation on the first and second string of bits, the results for each bit position being stored in the corresponding bit position of the ith line; (d) scheduling execution of each instruction of the sequence in an optimum order based, at least in part, on the instruction dependency matrix wherein the optimum order differs from the in-order sequence.
Claim 5
Dependent Claim
275 words
In an out-of-order computing system, a method of operation comprising the steps of: (a) decoding an in-order sequence of instructions; (b) checking data dependencies for each instruction of the in-order sequence; (c) generating an instruction dependency matrix which identifies both direct and indirect dependencies for a set of instructions of the in-order sequence, the set of instructions including l instructions and where the matrix includes a triangular storage structure having l lines, an ith line corresponding to an ith instruction of the in-order sequence, the ith line having l bit positions in which a jth bit position is set corresponding to the jth instruction on which the ith instruction is dependent, where l and j are integers, for an ith instruction of the in-order sequence, the generating step further including the steps of: shifting the bit positions in each line of the matrix up by one line, and to the left by one bit position, thereby vacating the ith line; setting, in the ith line, bit positions corresponding to instructions on which the ith instruction is directly dependent, thereby producing a first string of bits for the ith line; performing a logical bitwise OR operation on the lines that correspond to the directly dependent instructions to produce a second string of bits; performing a logical bitwise OR operation on the first and second string of bits, the results for each bit position being stored in the corresponding bit position of the ith line; (d) scheduling execution of each instruction of the sequence in an optimum order based, at least in part, on the instruction dependency matrix wherein the optimum order differs from the in-order sequence.
Claim 6
Dependent Claim
17 words
The method of claim 3 wherein the set of instructions includes all instructions in the in-order sequence.
Claim 7
Dependent Claim
17 words
The method of claim 3 wherein the set of instructions comprises a subset of the in-order sequence.
Claim 8
Independent Claim
100 words
A method of identifying instruction dependencies for an ordered set of instructions comprising the steps of: (a) setting bit positions for a jth instruction of the sequence in an ith line of a storage structure having i bits, where i and j are integers, the bit positions corresponding to instructions upon which the ith instruction directly depends; (b) setting additional bit positions in the ith line corresponding to instructions upon which the ith instruction indirectly depends by performing a logical bitwise OR operation of lines in the storage structure corresponding to the instructions upon which the ith instruction directly depends.
Claim 9
Independent Claim
100 words
A method of identifying instruction dependencies for an ordered set of instructions comprising the steps of: (a) setting bit positions for a jth instruction of the sequence in an ith line of a storage structure having i bits, where i and j are integers, the bit positions corresponding to instructions upon which the ith instruction directly depends; (b) setting additional bit positions in the ith line corresponding to instructions upon which the ith instruction indirectly depends by performing a logical bitwise OR operation of lines in the storage structure corresponding to the instructions upon which the ith instruction directly depends.
Claim 10
Dependent Claim
29 words
The method of claim 6 wherein the storage structure has i lines, a kth line having k bit positions where k is an integer ranging from 1 to i.
Claim 11
Dependent Claim
30 words
The method of claim 7 wherein the ith line is at the bottom of the storage structure and the jth bit in the ith line corresponds to the (j-1)th instruction.
Claim 12
Independent Claim
57 words
The method of claims 6, 7 or 8 further comprising the steps for a (j+1)th instruction in the sequence of: shifting each line in the storage structure up by one line, and to the left by one bit position, thereby vacating the ith line; repeating steps (a) and (b) substituting the (j+1)th instruction for the jth instruction.
References Cited (Backward Citations)
USPTO Annuity & Maintenance Windows
| Annuity Stage | Window Opens | Payment Deadline | Surcharge Period Until | Estimated Fee | Status |
|---|---|---|---|---|---|
| 3.5 Years (Year 4) | 2001-01-19 | 2001-07-21 | 2002-01-20 | $2000.00 | Window Closed / Lapsed |
| 7.5 Years (Year 8) | 2005-01-19 | 2005-07-21 | 2006-01-20 | $3760.00 | Window Closed / Lapsed |
| 11.5 Years (Year 12) | 2009-01-19 | 2009-07-21 | 2010-01-20 | $7700.00 | Window Closed / Lapsed |