← Back to Patent Explorer
US5251306A Expired / Lapsed US ⏱️ 0.0 years remaining

Apparatus for controlling execution of a program in a computing device

Assignee: Advanced Micro Devices Inc
•
Filing: 1990-01-16
•
Granted: 1993-10-05
•
Expires: 2010-01-16
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract An apparatus for controlling execution of a program of instructions in a computing device comprising an instruction fetching buffer-decoder for fetching the instructions in fetch batches and decoding the fetched instructions to generate a plurality of decoded instructions; an executing unit for executing the decoded instructions; and a storage unit including a plurality of registers for storing operand information. Each respective register includes at least one scoreboard bit indicating how the respective register is being used by the plurality of instructions; the execution unit effects execution of a specified instruction when a specified register containing operand information required by the specified instruction has a scoreboard bit having a specified value.

Inventors

  • 👤 Thang M. Tran

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-26 23:16
CPC Classifications
G; G06; G06F; G06F9/00; G06F9/06; G06F9/30; G06F9/38; G06F9/3818; G06F9/382; G06F9/3802; G06F9/3814; G06F9/3836; G06F9/3838; G06F9/3842; G06F9/3854; G06F9/3858

Claims Analysis

Total Claims: 8
Claim 1
Independent Claim 320 words
An apparatus for effecting a program in a computing device, said progarm being expressed as a plurality of instructions arranged for execution in a particular order; said plurality of instructions being stored in an instruction store; the apparatus comprising: an instruction fetching means for fetching said plurality of instructions from said instruction store in a plurality of fetch batches, each of said plurality of fetch batches including at least two instructions of said plurality of instructions; a register means for storing information; a decoding means for translating said plurality of instructions to a plurality of decoded instructions, said decoding means being operatively connected with said instruction fetching means and with said register means; and an executing means for executing said plurality of decoded instructions, said executing means being operatively connected with said register means and with said decoding maens, said executing emans including a plurality of functional units, each of said plurality of functional units being configured to perform a predetermined operation, said plurality of functional units being arrayed for receiving said plurality of decoded instructions in parallel, each respective decoded instruction of said plurality of decoded instructions being received by a specified functional unit of said plurality of functional units, said specified functional unit being configured to perform said predetermined operation required for executing said respective decoded instruction; said register means including a plurality of storage means for storing data dependency information for selected instructions of said plurality of instructions in a plurality of information packets, each respective information packet of said plurality of information packets being identifiably associated with a particular decoded instruction of said plurality of decoded instructions; each said respective information packet indicating availability of respective operand information required for execution of said associated particular decode dinstruction; said decoding means effecting provision of each said particular decoded instruction to said executing means according to predetermined arrangements depending upon information stored in said associated respective information packet.
Claim 2
Independent Claim 320 words
An apparatus for effecting a program in a computing device, said progarm being expressed as a plurality of instructions arranged for execution in a particular order; said plurality of instructions being stored in an instruction store; the apparatus comprising: an instruction fetching means for fetching said plurality of instructions from said instruction store in a plurality of fetch batches, each of said plurality of fetch batches including at least two instructions of said plurality of instructions; a register means for storing information; a decoding means for translating said plurality of instructions to a plurality of decoded instructions, said decoding means being operatively connected with said instruction fetching means and with said register means; and an executing means for executing said plurality of decoded instructions, said executing means being operatively connected with said register means and with said decoding maens, said executing emans including a plurality of functional units, each of said plurality of functional units being configured to perform a predetermined operation, said plurality of functional units being arrayed for receiving said plurality of decoded instructions in parallel, each respective decoded instruction of said plurality of decoded instructions being received by a specified functional unit of said plurality of functional units, said specified functional unit being configured to perform said predetermined operation required for executing said respective decoded instruction; said register means including a plurality of storage means for storing data dependency information for selected instructions of said plurality of instructions in a plurality of information packets, each respective information packet of said plurality of information packets being identifiably associated with a particular decoded instruction of said plurality of decoded instructions; each said respective information packet indicating availability of respective operand information required for execution of said associated particular decode dinstruction; said decoding means effecting provision of each said particular decoded instruction to said executing means according to predetermined arrangements depending upon information stored in said associated respective information packet.
Claim 3
Dependent Claim 61 words
An apparatus for effecting a program in a computing device as recited in claim 1 wherein each of said plurality of decoded instruction is comprised of a plurality of information bits, selected information bits of said plurality of information bits comprising an indicator of location within said register means of a rsepective information packet associated with each said respective decoded instruction.
Claim 4
Dependent Claim 47 words
An apparatus for effecting a program in a computing device as recited in claim 1 wherein the apparatus further comprises at least one temporary register means for temporarily storing at least one respective information packet until a location for storage space is available in said register means.
Claim 5
Dependent Claim 47 words
An apparatus for effecting a program in a computing device as recited in claim 2 wherein the apparatus further comprises at least one temporary regiseter means for temporarily storing at least one respetive information packet until a location for storage space is available in said register means.
Claim 6
Independent Claim 285 words
An apparatus for controlling executing of a program in a computing device, said program comprising an ordered plurality of instrucitons stored in an instrucion store; the apparatus comprising: an instruction fetching buffer-decoder means for fetching said plurality of instructions from said instruction store in a plurality of fetch batches, each of said plurality of fetch batches comprising at least two instructions of said plurality of instructions, said instruction fetching buffer-decoder means storing and decoding each of said plurality of fetch batches to generate a plurality of decoded instructions; an execution means for executing said plurality of decoded instructions, said executing means including a plurality of functional units, each of said plurality of functional units being configured to perform a predetermined operatino, said plurality of functional units being arrayed for receiving said plurality of decoded instructions in parallel, each respective decoded instruction of said plurality of decoded instructions being received by a specified functional unit of said plurality of functional units, said specified functional unit being configured to perform said predetermined operation required for executing said respective decoded instruction; and a storage means for storing information; said storage means, said instruction fetching buffer-decoder means, and said execution means being operatively connected; said storage means including a plurality of registers for storing operand inforamtion, each respective register of said plurality of registers including at least one scoreboard bit, said at least one scoreboard bit indicating how said respective register is being used by said plurality of instructions, said execution means effecting execution of a specified instruction when said at least one scoreboard bit for a specified register of said plurality of registers containing specified operand information required by said specified instruction for execution has a specified value.
Claim 7
Independent Claim 285 words
An apparatus for controlling executing of a program in a computing device, said program comprising an ordered plurality of instrucitons stored in an instrucion store; the apparatus comprising: an instruction fetching buffer-decoder means for fetching said plurality of instructions from said instruction store in a plurality of fetch batches, each of said plurality of fetch batches comprising at least two instructions of said plurality of instructions, said instruction fetching buffer-decoder means storing and decoding each of said plurality of fetch batches to generate a plurality of decoded instructions; an execution means for executing said plurality of decoded instructions, said executing means including a plurality of functional units, each of said plurality of functional units being configured to perform a predetermined operatino, said plurality of functional units being arrayed for receiving said plurality of decoded instructions in parallel, each respective decoded instruction of said plurality of decoded instructions being received by a specified functional unit of said plurality of functional units, said specified functional unit being configured to perform said predetermined operation required for executing said respective decoded instruction; and a storage means for storing information; said storage means, said instruction fetching buffer-decoder means, and said execution means being operatively connected; said storage means including a plurality of registers for storing operand inforamtion, each respective register of said plurality of registers including at least one scoreboard bit, said at least one scoreboard bit indicating how said respective register is being used by said plurality of instructions, said execution means effecting execution of a specified instruction when said at least one scoreboard bit for a specified register of said plurality of registers containing specified operand information required by said specified instruction for execution has a specified value.
Claim 8
Dependent Claim 50 words
An apparatus for controlling execution of a program in a computing device as recited in claim 5 wherein asid operand information includes resultant operand information generated by a respective instruction of said plurality of instructions and source operand information required for executing a given instruction of said plurality of instructions.

References Cited (Backward Citations)

US3875391A Cited
US3898626A Cited
US4112489A Cited
US4187539A Cited
US4338677A Cited
US4399507A Cited
US4583163A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1996-10-04 1997-04-05 1997-10-05 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2000-10-04 2001-04-05 2001-10-05 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2004-10-04 2005-04-05 2005-10-05 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag