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

System and method for assigning tags to instructions to control instruction execution

Assignee: Samsung Electronics Co Ltd
•
Filing: 1992-12-31
•
Granted: 1997-02-18
•
Expires: 2012-12-31
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract Tag monitoring system for assigning tags to instructions. A memory unit stores instructions to be executed by an execution unit. Before execution an instruction fetch unit decodes the instructions. A register file stores the decoded instructions. A queue having a plurality of slots containing tags which are used for tagging the decoded instructions. A control unit assigns the tags to decoded instructions, monitors the completion of executed instructions, and advances the tags in the queue upon completion of an executed instruction. The register stores a given decoded instruction at an address location in the register file defined by the tag assigned to that instruction. The register file also contains a plurality of read address enable ports and corresponding read output ports. Each of the slots from the queue is coupled to a corresponding one of the read address enable ports. Thus, a a decoded instruction is read out of a read output port enabled by the tag assigned to that decoded instruction in program order.

Inventors

  • 👤 Kevin R. Iadonato
  • 👤 Trevor A. Deosaran
  • 👤 Sanjiv Garg

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-06 03:27
CPC Classifications
G; G06; G06F; G06F9/00; G06F9/06; G06F9/30; G06F9/38; G06F9/3854; G06F9/3856; G06F9/30098; G06F9/30141; G06F9/3836; G06F9/3885

Claims Analysis

Total Claims: 46
Claim 1
Independent Claim 149 words
A system for tracking instructions in a variable advance instruction window of a predetermined size, comprising: control logic that identifies an increment of advancement in the variable advance instruction window, requests an instruction source to send, to a register file, decoded instruction information for a set of instructions equal in number to said increment of advancement, and assigns a tag to each new instruction that enters the variable advance instruction window, wherein said tag comprises a unique address in said register file where said decoded instruction information is to be stored; and a recycling queue comprising a plurality of slots equal in number to the predetermined size of the instruction window, each of said plurality of slots containing one of said tags, wherein an order defined by a position of said assigned tags in said recycling queue corresponds to the order of instructions in the variable advance instruction window.
Claim 2
Independent Claim 149 words
A system for tracking instructions in a variable advance instruction window of a predetermined size, comprising: control logic that identifies an increment of advancement in the variable advance instruction window, requests an instruction source to send, to a register file, decoded instruction information for a set of instructions equal in number to said increment of advancement, and assigns a tag to each new instruction that enters the variable advance instruction window, wherein said tag comprises a unique address in said register file where said decoded instruction information is to be stored; and a recycling queue comprising a plurality of slots equal in number to the predetermined size of the instruction window, each of said plurality of slots containing one of said tags, wherein an order defined by a position of said assigned tags in said recycling queue corresponds to the order of instructions in the variable advance instruction window.
Claim 3
Dependent Claim 27 words
The system of claim 1, wherein said tags in each of said plurality of slots of said recycling queue are used to output said decoded instruction information.
Claim 4
Dependent Claim 47 words
The system of claim 2, wherein said tags in each of said plurality of slots of said recycling queue are applied to read address ports of said register file to output said decoded instruction information, in program order, at corresponding read data ports of said register file.
Claim 5
Dependent Claim 14 words
The system of claim 1, wherein said decoded instruction information specifies functional unit requirements.
Claim 6
Dependent Claim 17 words
The system of claim 1, wherein said decoded instruction information specifies types of operations to be performed.
Claim 7
Dependent Claim 20 words
The system of claim 1, wherein said decoded instruction information specifies storage locations where instruction results are to be stored.
Claim 8
Dependent Claim 18 words
The system of claim 1, wherein said decoded instruction information specifies storage locations where instruction operands are stored.
Claim 9
Independent Claim 178 words
A system for tracking instructions in a variable advance instruction window of a predetermined size, comprising: control logic that identifies an increment of advancement in the variable advance instruction window, requests an instruction source to send, to a register file, decoded instruction information for a set of instructions equal in number to said increment of advancement, and assigns a tag to each new instruction that enters the variable advance instruction window, wherein said tag comprises a unique address in said register file where said decoded instruction information is to be stored; and a recycling queue comprising a plurality of slots, each of said plurality of slots containing one of said tags, wherein an order defined by a position of said assigned tags in said recycling queue corresponds to the order of instructions in the variable advance instruction window, wherein said tags in said plurality of slots of said recycling queue are applied to read address ports of said register file to output said decoded instruction information, in program order, at corresponding read data ports of said register file.
Claim 10
Independent Claim 178 words
A system for tracking instructions in a variable advance instruction window of a predetermined size, comprising: control logic that identifies an increment of advancement in the variable advance instruction window, requests an instruction source to send, to a register file, decoded instruction information for a set of instructions equal in number to said increment of advancement, and assigns a tag to each new instruction that enters the variable advance instruction window, wherein said tag comprises a unique address in said register file where said decoded instruction information is to be stored; and a recycling queue comprising a plurality of slots, each of said plurality of slots containing one of said tags, wherein an order defined by a position of said assigned tags in said recycling queue corresponds to the order of instructions in the variable advance instruction window, wherein said tags in said plurality of slots of said recycling queue are applied to read address ports of said register file to output said decoded instruction information, in program order, at corresponding read data ports of said register file.
Claim 11
Dependent Claim 25 words
The system of claim 8, wherein said recycling queue comprises a plurality of slots equal in number to the predetermined size of the instruction window.
Claim 12
Dependent Claim 14 words
The system of claim 8, wherein said decoded instruction information specifies functional unit requirements.
Claim 13
Dependent Claim 17 words
The system of claim 8, wherein said decoded instruction information specifies types of operations to be performed.
Claim 14
Dependent Claim 20 words
The system of claim 8, wherein said decoded instruction information specifies storage locations where instruction results are to be stored.
Claim 15
Dependent Claim 18 words
The system of claim 8, wherein said decoded instruction information specifies storage locations where instruction operands are stored.
Claim 16
Dependent Claim 229 words
A computer system, comprising: a memory unit for storing program instructions; a bus coupled to said memory for retrieving said program instructions; and a processor coupled to said bus, wherein said processor comprises a tag monitoring system for tracking instructions in a variable advance instruction window of a predetermined size, wherein said tag monitoring system comprises: control logic that identifies an increment of advancement in the variable advance instruction window, requests an instruction source to send, to a register file, decoded instruction information for a set of instructions equal in number to said increment of advancement, and assigns a tag to each new instruction that enters the variable advance instruction window, wherein said tag comprises a unique address in said register file where said decoded instruction information is to be stored; and a recycling queue comprising a plurality of slots equal in number to the predetermined size of the instruction window, each of said plurality of slots containing one of said tags, wherein an order defined by a position of said assigned tags in said recycling queue corresponds to the order of instructions in the variable advance instruction window wherein said tags in said plurality of slots of said recycling queue are applied to read address ports of said register file to output said decoded instruction information, in program order, at corresponding read data ports of said register file.
Claim 17
Dependent Claim 229 words
A computer system, comprising: a memory unit for storing program instructions; a bus coupled to said memory for retrieving said program instructions; and a processor coupled to said bus, wherein said processor comprises a tag monitoring system for tracking instructions in a variable advance instruction window of a predetermined size, wherein said tag monitoring system comprises: control logic that identifies an increment of advancement in the variable advance instruction window, requests an instruction source to send, to a register file, decoded instruction information for a set of instructions equal in number to said increment of advancement, and assigns a tag to each new instruction that enters the variable advance instruction window, wherein said tag comprises a unique address in said register file where said decoded instruction information is to be stored; and a recycling queue comprising a plurality of slots equal in number to the predetermined size of the instruction window, each of said plurality of slots containing one of said tags, wherein an order defined by a position of said assigned tags in said recycling queue corresponds to the order of instructions in the variable advance instruction window wherein said tags in said plurality of slots of said recycling queue are applied to read address ports of said register file to output said decoded instruction information, in program order, at corresponding read data ports of said register file.
Claim 18
Independent Claim 126 words
A method for tracking instructions in a variable advance instruction window of a predetermined size, comprising the steps of: (a) assigning a tag to each new instruction that enters the variable advance instruction window, wherein said tag comprises a unique address within a register file; (b) storing decoded instruction information related to each instruction in said register file in a location specified by the tag assigned to that instruction; and (c) storing each tag in a slot of a recycling queue, said recycling queue comprising a number of slots equal to the predetermined size of the variable advance instruction window, wherein an order defined by a position of said tags in said recycling queue corresponds to the order of instructions in the variable advance instruction window.
Claim 19
Independent Claim 126 words
A method for tracking instructions in a variable advance instruction window of a predetermined size, comprising the steps of: (a) assigning a tag to each new instruction that enters the variable advance instruction window, wherein said tag comprises a unique address within a register file; (b) storing decoded instruction information related to each instruction in said register file in a location specified by the tag assigned to that instruction; and (c) storing each tag in a slot of a recycling queue, said recycling queue comprising a number of slots equal to the predetermined size of the variable advance instruction window, wherein an order defined by a position of said tags in said recycling queue corresponds to the order of instructions in the variable advance instruction window.
Claim 20
Dependent Claim 30 words
The method of claim 15, further comprising the step of: (d) using said tags stored in said slots of said queue to output said decoded instruction information in program order.
Claim 21
Dependent Claim 59 words
The method of claim 16, wherein step (d) comprises the step of passing said tags stored in said slots of said recycling queue to a plurality of read address ports of said register file to cause said register file to output said decoded instruction information, in program order, at a plurality of read data ports of said register file.
Claim 22
Dependent Claim 21 words
The method of claim 15, wherein said step for storing the decoded instruction information comprises storing information specifying functional unit requirements.
Claim 23
Dependent Claim 25 words
The method of claim 15, wherein said step for storing the decoded instruction information comprises storing information specifying a type of operation to be performed.
Claim 24
Dependent Claim 28 words
The method of claim 15, wherein said step for storing the decoded instruction information comprises storing information specifying a storage location where instruction results are to be stored.
Claim 25
Dependent Claim 26 words
The method of claim 15, wherein said step for storing the decoded instruction information comprises storing information specifying a storage location where instruction operands are stored.
Claim 26
Dependent Claim 26 words
The computer system of claim 14, wherein said recycling queue comprises a plurality of slots equal in number to the predetermined size of the instruction window.
Claim 27
Dependent Claim 15 words
The computer system of claim 14, wherein said decoded instruction information specifies functional unit requirements.
Claim 28
Dependent Claim 18 words
The computer system of claim 14, wherein said decoded instruction information specifies types of operations to be performed.
Claim 29
Dependent Claim 21 words
The computer system of claim 14, wherein said decoded instruction information specifies storage locations where instruction results are to be stored.
Claim 30
Dependent Claim 19 words
The computer system of claim 14, wherein said decoded instruction information specifies storage locations where instruction operands are stored.
Claim 31
Dependent Claim 189 words
A computer system, comprising: a memory unit for storing program instructions; a bus coupled to said memory for retrieving said program instructions; and a processor coupled to said bus, wherein said processor comprises a tag monitoring system for tracking instructions in a variable advance instruction window of a predetermined size, wherein said tag monitoring system comprises: control logic that identifies an increment of advancement in the variable advance instruction window, requests an instruction source to send, to a register file, decoded instruction information for a set of instructions equal in number to said increment of advancement, and assigns a tag to each new instruction that enters the variable advance instruction window, wherein said tag comprises a unique address in said register file where said decoded instruction information is to be stored; and a recycling queue comprising a plurality of slots equal in number to the predetermined size of the instruction window, each of said plurality of slots containing one of said tags, wherein an order defined by a position of said assigned tags in said recycling queue corresponds to the order of instructions in the variable advance instruction window.
Claim 32
Dependent Claim 189 words
A computer system, comprising: a memory unit for storing program instructions; a bus coupled to said memory for retrieving said program instructions; and a processor coupled to said bus, wherein said processor comprises a tag monitoring system for tracking instructions in a variable advance instruction window of a predetermined size, wherein said tag monitoring system comprises: control logic that identifies an increment of advancement in the variable advance instruction window, requests an instruction source to send, to a register file, decoded instruction information for a set of instructions equal in number to said increment of advancement, and assigns a tag to each new instruction that enters the variable advance instruction window, wherein said tag comprises a unique address in said register file where said decoded instruction information is to be stored; and a recycling queue comprising a plurality of slots equal in number to the predetermined size of the instruction window, each of said plurality of slots containing one of said tags, wherein an order defined by a position of said assigned tags in said recycling queue corresponds to the order of instructions in the variable advance instruction window.
Claim 33
Dependent Claim 28 words
The computer system of claim 27, wherein said tags in each of said plurality of slots of said recycling queue are used to output said decoded instruction information.
Claim 34
Dependent Claim 48 words
The computer system of claim 28, wherein said tags in each of said plurality of slots of said recycling queue are applied to read address ports of said register file to output said decoded instruction information, in program order, at corresponding read data ports of said register file.
Claim 35
Dependent Claim 15 words
The computer system of claim 27, wherein said decoded instruction information specifies functional unit requirements.
Claim 36
Dependent Claim 18 words
The computer system of claim 27, wherein said decoded instruction information specifies types of operations to be performed.
Claim 37
Dependent Claim 21 words
The computer system of claim 27, wherein said decoded instruction information specifies storage locations where instruction results are to be stored.
Claim 38
Dependent Claim 19 words
The computer system of claim 27, wherein said decoded instruction information specifies storage locations where instruction operands are stored.
Claim 39
Independent Claim 143 words
A method for tracking instructions in a variable advance instruction window of a predetermined size, comprising the steps of: (a) assigning a tag to each new instruction that enters the variable advance instruction window, wherein said tag comprises a unique address within a register file; (b) storing decoded instruction information related to each instruction in said register file in a location specified by the tag assigned to that instruction; (c) storing each tag in a slot of a recycling queue, wherein an order defined by a position of said tags in said recycling queue corresponds to the order of instructions in the variable advance instruction window; and (d) applying said tags in said plurality of slots of said recycling queue to read address ports of said register file to output said decoded instruction information at corresponding read data ports of said register file.
Claim 40
Independent Claim 143 words
A method for tracking instructions in a variable advance instruction window of a predetermined size, comprising the steps of: (a) assigning a tag to each new instruction that enters the variable advance instruction window, wherein said tag comprises a unique address within a register file; (b) storing decoded instruction information related to each instruction in said register file in a location specified by the tag assigned to that instruction; (c) storing each tag in a slot of a recycling queue, wherein an order defined by a position of said tags in said recycling queue corresponds to the order of instructions in the variable advance instruction window; and (d) applying said tags in said plurality of slots of said recycling queue to read address ports of said register file to output said decoded instruction information at corresponding read data ports of said register file.
Claim 41
Dependent Claim 42 words
The method of claim 34, wherein said step (c) comprises the step of storing each tag in a slot of a recycling queue, said recycling queue comprising a plurality of slots equal in number to the predetermined size of the instruction window.
Claim 42
Dependent Claim 21 words
The method of claim 15, wherein said step for storing the decoded instruction information comprises storing information specifying functional unit requirements.
Claim 43
Dependent Claim 25 words
The method of claim 34, wherein said step for storing the decoded instruction information comprises storing information specifying a type of operation to be performed.
Claim 44
Dependent Claim 28 words
The method of claim 34, wherein said step for storing the decoded instruction information comprises storing information specifying a storage location where instruction results are to be stored.
Claim 45
Dependent Claim 26 words
The method of claim 34, wherein said step for storing the decoded instruction information comprises storing information specifying a storage location where instruction operands are stored.
Claim 46
Dependent Claim 42 words
The method of claim 34, wherein said step (d) comprises the step of applying said tags to read address ports of said register file to output said decoded instruction information, in program order, at corresponding read data ports of said register file.

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2000-02-18 2000-08-19 2001-02-18 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2004-02-18 2004-08-19 2005-02-18 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2008-02-18 2008-08-19 2009-02-18 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag