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

Apparatus and method for resolving dependencies among a plurality of instructions within a storage device

Assignee: Advanced Micro Devices Inc
•
Filing: 1991-09-20
•
Granted: 1994-09-06
•
Expires: 2011-09-20
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract An apparatus and method for resolving data dependencies among a plurality of instructions within a storage device, such as a reorder buffer in a superscalar computing apparatus employing pipeline instruction processing. The storage device has a read pointer, indicating a most recently-stored instruction and has a write pointer, indicating a first-stored instruction of the plurality of instructions within the storage device. A compare-hit circuit generates a compare-hit signal upon each concurrence of the respective source indicator in a next-to-be-dispatched instruction with the destination indicator of an earlier-stored instruction within the storage device; a first enable circuit generates a first enable signal for a first packet of instructions defined by the read pointer and the write pointer; a first comparing circuit generates a hit-enable signal for each concurrence of the compare-hit signal and the first enable signal; a second enable circuit generates a second enable signal for a second packet of instructions defined by the read pointer and the hit-enable signal; and a second comparing circuit generates the output signal for each concurrence of the second enable signal and the hit-enable signal.

Inventors

  • 👤 Thang M. Tran

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-24 18:39
CPC Classifications
G; G06; G06F; G06F7/00; G06F7/74; G06F5/00; G06F5/06; G06F5/10; G06F5/12; G06F9/00; G06F9/06; G06F9/30; G06F9/38; G06F9/3836; G06F9/3838; G06F9/3854; G06F9/3856; G06F9/3858; G06F2205/00; G06F2205/12; G06F2205/123

Claims Analysis

Total Claims: 15
Claim 1
Independent Claim 324 words
An apparatus for resolving dependencies among a plurality of instructions within a storage device, said storage device having a plurality of memory cells and sequentially storing said plurality of instructions in selected memory cells of said plurality of memory cells, said storage device having a read pointer indicating a next-empty memory cell of said plurality of memory cells, and a write pointer indicating an earliest-stored instruction of said plurality of instructions; each of said plurality of instructions effecting operational combination of a plurality of operands to determine a result, each of said plurality of operands being identified by a source indicator, said result being identified by a destination indicator; the apparatus generating an output signal, said output signal identifying the most-recently stored instruction of said plurality of instructions having said destination indicator matching a respective said source indicator of a next-to-be-dispatched instruction, the apparatus comprising: a compare-hit means for comparing said source indicators with said destination indicators; said compare-hit means generating a compare-hit signal upon each concurrence of said respective source indicator in said next-to-be-dispatched instruction with said destination indicator of an earlier-stored instruction of said plurality of instructions; a first enable means responsive to said read pointer and to said write pointer for generating a first enable signal for a first packet of instructions of said plurality of instructions, said first packet of instructions being defined by said read pointer and said write pointer; a first comparing means for generating a hit-enable signal for each concurrence of said compare-hit signal and said first enable signal; a second enable means responsive to said read pointer and to said hit-enable signal for generating a second enable signal for a second packet of instructions of said plurality of instructions, said second packet of instructions being defined by said read pointer and said hit-enable signal; and a second comparing means for generating said output signal for each concurrence of said second enable signal and said hit-enable signal.
Claim 2
Independent Claim 324 words
An apparatus for resolving dependencies among a plurality of instructions within a storage device, said storage device having a plurality of memory cells and sequentially storing said plurality of instructions in selected memory cells of said plurality of memory cells, said storage device having a read pointer indicating a next-empty memory cell of said plurality of memory cells, and a write pointer indicating an earliest-stored instruction of said plurality of instructions; each of said plurality of instructions effecting operational combination of a plurality of operands to determine a result, each of said plurality of operands being identified by a source indicator, said result being identified by a destination indicator; the apparatus generating an output signal, said output signal identifying the most-recently stored instruction of said plurality of instructions having said destination indicator matching a respective said source indicator of a next-to-be-dispatched instruction, the apparatus comprising: a compare-hit means for comparing said source indicators with said destination indicators; said compare-hit means generating a compare-hit signal upon each concurrence of said respective source indicator in said next-to-be-dispatched instruction with said destination indicator of an earlier-stored instruction of said plurality of instructions; a first enable means responsive to said read pointer and to said write pointer for generating a first enable signal for a first packet of instructions of said plurality of instructions, said first packet of instructions being defined by said read pointer and said write pointer; a first comparing means for generating a hit-enable signal for each concurrence of said compare-hit signal and said first enable signal; a second enable means responsive to said read pointer and to said hit-enable signal for generating a second enable signal for a second packet of instructions of said plurality of instructions, said second packet of instructions being defined by said read pointer and said hit-enable signal; and a second comparing means for generating said output signal for each concurrence of said second enable signal and said hit-enable signal.
Claim 3
Dependent Claim 25 words
An apparatus for resolving dependencies among a plurality of instructions as recited in claim 1 wherein said sequential storing is effected as a first-in-first-out storage.
Claim 4
Dependent Claim 31 words
An apparatus for resolving dependencies among a plurality of instructions as recited in claim 2 wherein said first enable means and said second enable means are of substantially the same configuration.
Claim 5
Dependent Claim 31 words
An apparatus for resolving dependencies among a plurality of instructions as recited in claim 3 wherein said first comparing means and said second comparing means are of substantially the same configuration.
Claim 6
Dependent Claim 31 words
An apparatus for resolving dependencies among a plurality of instructions as recited in claim 1 wherein said first enable means and said second enable means are of substantially the same configuration.
Claim 7
Dependent Claim 31 words
An apparatus for resolving dependencies among a plurality of instructions are recited in claim 5 wherein said first comparing means and said second comparing means are of substantially the same configuration.
Claim 8
Dependent Claim 23 words
An apparatus for resolving dependencies among a plurality of instructions as recited in claim 1 wherein said plurality of operands is two operands.
Claim 9
Dependent Claim 31 words
An apparatus for resolving dependencies among a plurality of instructions as recited in claim 1 wherein said first comparing means and said second comparing means are of substantially the same configuration.
Claim 10
Independent Claim 434 words
An apparatus for resolving dependencies among a plurality of instructions within a storage device, said storage device having a plurality of memory cells and sequentially storing said plurality of instructions in selected memory cells of said plurality of memory cells, each of said plurality of memory cells including a plurality of tags, each of said plurality of tags having a first value indicating enablement and a second value indicating non-enablement; said storage device having a read pointer indicating a next-empty memory cell of said plurality of memory cells, an a write pointer indicating an earliest-stored instruction of said plurality of instructions; each of said plurality of instructions effecting operational combination of a plurality of operands to determine a result, each of said plurality of operands being identified by a source indicator, said result being identified by a destination indicator; the apparatus setting an identification tag, said identification tag identifying the most-recently stored instruction of said plurality of instructions having said destination indicator matching a respective said source indicator of a next-to-be-dispatched instruction, the apparatus comprising: a compare-hit means for comparing said source indicators with said destination indicators; said compare-hit means setting a compare-hit tag at said first value for a respective earlier-stored instruction of said plurality of instructions when there exists concurrence of said respective source indicator in said next-to-be-dispatched instruction with said destination indicator of said respective earlier-stored instruction; a first enable means responsive to said read pointer and to said write pointer for setting a first enable tag at said first value for each instruction in a first packet of instructions of said plurality of instructions, said first packet of instructions comprising all instructions of said plurality of instructions stored intermediate said read pointer and said write pointer; a first comparing means for setting a hit-enable tag at said first value for each said instruction of said first packet of instructions for which said compare-hit tag and said first enable tag are set at said first value; a second enable means responsive to said read pointer and to said hit-enable tag for setting a second enable tag at said first value for each instruction in a second packet of instructions of said plurality of instructions, said second packet of instructions comprising all instructions of said first packet of instructions stored intermediate said read pointer and the earliest-stored instruction of said first packet of instructions having said hit-enable tag set at said first value; and a second comparing means for setting said identification tag for each instruction for which said second enable tag and said hit-enable tag are set at said first value.
Claim 11
Independent Claim 434 words
An apparatus for resolving dependencies among a plurality of instructions within a storage device, said storage device having a plurality of memory cells and sequentially storing said plurality of instructions in selected memory cells of said plurality of memory cells, each of said plurality of memory cells including a plurality of tags, each of said plurality of tags having a first value indicating enablement and a second value indicating non-enablement; said storage device having a read pointer indicating a next-empty memory cell of said plurality of memory cells, an a write pointer indicating an earliest-stored instruction of said plurality of instructions; each of said plurality of instructions effecting operational combination of a plurality of operands to determine a result, each of said plurality of operands being identified by a source indicator, said result being identified by a destination indicator; the apparatus setting an identification tag, said identification tag identifying the most-recently stored instruction of said plurality of instructions having said destination indicator matching a respective said source indicator of a next-to-be-dispatched instruction, the apparatus comprising: a compare-hit means for comparing said source indicators with said destination indicators; said compare-hit means setting a compare-hit tag at said first value for a respective earlier-stored instruction of said plurality of instructions when there exists concurrence of said respective source indicator in said next-to-be-dispatched instruction with said destination indicator of said respective earlier-stored instruction; a first enable means responsive to said read pointer and to said write pointer for setting a first enable tag at said first value for each instruction in a first packet of instructions of said plurality of instructions, said first packet of instructions comprising all instructions of said plurality of instructions stored intermediate said read pointer and said write pointer; a first comparing means for setting a hit-enable tag at said first value for each said instruction of said first packet of instructions for which said compare-hit tag and said first enable tag are set at said first value; a second enable means responsive to said read pointer and to said hit-enable tag for setting a second enable tag at said first value for each instruction in a second packet of instructions of said plurality of instructions, said second packet of instructions comprising all instructions of said first packet of instructions stored intermediate said read pointer and the earliest-stored instruction of said first packet of instructions having said hit-enable tag set at said first value; and a second comparing means for setting said identification tag for each instruction for which said second enable tag and said hit-enable tag are set at said first value.
Claim 12
Independent Claim 361 words
A method for resolving dependencies among a plurality of instructions within a storage device, said storage device having a plurality of memory cells and sequentially storing said plurality of instruction in selected memory cells of said plurality of memory cells, said storage device having a read pointer indicating a next-empty memory cell of said plurality of memory cells, and a write pointer indicating an earliest-stored instruction of said plurality of instructions; each of said plurality of instructions effecting operational combination of a plurality of operands to determine a result, each of said plurality of operands being identified by a source indicator, said result being identified by a destination indicator; the method identifying the most-recently stored instruction of said plurality of instructions having said destination indicator matching a respective said source indicator of a next-to-be-dispatched instruction, the method comprising the steps of: (1) comparing each said respective source indicator in said next-to-be-dispatched instruction with said destination indicator of each earlier-stored instruction of said plurality of instructions; (2) generating a compare-hit signal upon each concurrence of said respective source indicator in said next-to-be-dispatched instruction with said destination indicator of an earlier-stored instruction of said plurality of instructions; (3) generating a first enable signal responsive to said read pointer and to said write pointer for a first packet of instructions of said plurality of instructions, said first packet of instructions being defined by said read pointer and said write pointer; (4) comparing said compare-hit signal with said first enable signal; (5) generating a hit-enable signal for each concurrence of said compare-hit signal and said first enable signal; (6) generating a second enable signal responsive to said read pointer and to said hit-enable signal for a second packet of instructions of said plurality of instructions, said second packet of instructions being defined by said read pointer and said hit-enable signal; (7) comparing said second enable signal with said hit-enable signal; and (8) generating an output signal for each concurrence of said second enable signal and said hit-enable signal, said output signal identifying the most-recently stored instruction of said plurality of instructions having said destination indicator matching a respective said source indicator of said next-to-be-dispatched instruction.
Claim 13
Independent Claim 361 words
A method for resolving dependencies among a plurality of instructions within a storage device, said storage device having a plurality of memory cells and sequentially storing said plurality of instruction in selected memory cells of said plurality of memory cells, said storage device having a read pointer indicating a next-empty memory cell of said plurality of memory cells, and a write pointer indicating an earliest-stored instruction of said plurality of instructions; each of said plurality of instructions effecting operational combination of a plurality of operands to determine a result, each of said plurality of operands being identified by a source indicator, said result being identified by a destination indicator; the method identifying the most-recently stored instruction of said plurality of instructions having said destination indicator matching a respective said source indicator of a next-to-be-dispatched instruction, the method comprising the steps of: (1) comparing each said respective source indicator in said next-to-be-dispatched instruction with said destination indicator of each earlier-stored instruction of said plurality of instructions; (2) generating a compare-hit signal upon each concurrence of said respective source indicator in said next-to-be-dispatched instruction with said destination indicator of an earlier-stored instruction of said plurality of instructions; (3) generating a first enable signal responsive to said read pointer and to said write pointer for a first packet of instructions of said plurality of instructions, said first packet of instructions being defined by said read pointer and said write pointer; (4) comparing said compare-hit signal with said first enable signal; (5) generating a hit-enable signal for each concurrence of said compare-hit signal and said first enable signal; (6) generating a second enable signal responsive to said read pointer and to said hit-enable signal for a second packet of instructions of said plurality of instructions, said second packet of instructions being defined by said read pointer and said hit-enable signal; (7) comparing said second enable signal with said hit-enable signal; and (8) generating an output signal for each concurrence of said second enable signal and said hit-enable signal, said output signal identifying the most-recently stored instruction of said plurality of instructions having said destination indicator matching a respective said source indicator of said next-to-be-dispatched instruction.
Claim 14
Dependent Claim 25 words
A method for resolving dependencies among a plurality of instructions as recited in claim 10 wherein said sequential storing is effected as a first-in-first-out storage.
Claim 15
Dependent Claim 23 words
A method for resolving dependencies among a plurality of instructions as recited in claim 10 wherein said plurality of operands is two operands.

References Cited (Backward Citations)

US4714994A Cited
US4879646A Cited
US5226126A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1997-09-05 1998-03-07 1998-09-06 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2001-09-05 2002-03-07 2002-09-06 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2005-09-05 2006-03-07 2006-09-06 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag