System and method for assigning tags to control instruction processing in a superscalar processor
First Claim
1. A non-transitory computer-readable storage medium having instructions stored thereon, the instructions being configured when executed to design a system configured to track instructions in a variable advance instruction window, the instructions comprising:
- a storage medium instruction embodied in a behavioral description, the instruction converting the behavioral description to a chip design with an instruction source of the system, the instruction source being configured to provide a plurality of items of instruction information, wherein each of the plurality of items of instruction information pertain to an instruction to be executed;
a storage medium instruction embodied in a behavioral description, the instruction converting the behavioral description to a chip design with a plurality of register files of the system, the plurality of register files being coupled to the instruction source; and
a storage medium instruction embodied in a behavioral description, the instruction converting the behavioral description to a chip design with control logic of the system, the control logic being configured to couple the instruction source and the plurality of register files, the control logic adapted to selectively route each of the plurality of information items for storage in one or more of the plurality of register files, wherein each of the plurality of register files stores at least one of the plurality of items of instruction information and wherein each of the plurality of items of instruction information is stored in a location in a register file that is uniquely addressable by a unique identifier assigned to the instruction to be executed.
1 Assignment
0 Petitions
Accused Products
Abstract
A tag monitoring system for assigning tags to instructions embodied in software on a tangible computer-readable storage medium. A source supplies instructions to be executed by a functional unit. A queue having a plurality of slots containing tags which are used for tagging instructions. A register file stores information required for the execution of each instruction at a location in the register file defined by the tag assigned to that instruction. A control unit monitors the completion of executed instructions and advances the tags in the queue upon completion of an executed 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, the information for each instruction can be read out of the register file in program order.
345 Citations
18 Claims
-
1. A non-transitory computer-readable storage medium having instructions stored thereon, the instructions being configured when executed to design a system configured to track instructions in a variable advance instruction window, the instructions comprising:
-
a storage medium instruction embodied in a behavioral description, the instruction converting the behavioral description to a chip design with an instruction source of the system, the instruction source being configured to provide a plurality of items of instruction information, wherein each of the plurality of items of instruction information pertain to an instruction to be executed; a storage medium instruction embodied in a behavioral description, the instruction converting the behavioral description to a chip design with a plurality of register files of the system, the plurality of register files being coupled to the instruction source; and a storage medium instruction embodied in a behavioral description, the instruction converting the behavioral description to a chip design with control logic of the system, the control logic being configured to couple the instruction source and the plurality of register files, the control logic adapted to selectively route each of the plurality of information items for storage in one or more of the plurality of register files, wherein each of the plurality of register files stores at least one of the plurality of items of instruction information and wherein each of the plurality of items of instruction information is stored in a location in a register file that is uniquely addressable by a unique identifier assigned to the instruction to be executed. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A non-transitory computer-readable storage medium that includes instructions configured when executed to generate a model of a system configured to control instruction processing in a superscaler processor, the instructions comprising:
-
a storage medium instruction embodied in a behavioral description, the instruction converting the behavioral description to a chip design with an instruction source in the system, the instruction source configured to supply instructions to be executed by the superscaler processor; a storage medium instruction embodied in a behavioral description, the instruction converting the behavioral description to a chip design with a register file in the system, the register file comprising a plurality of buffer locations and a plurality of output ports; and a storage medium instruction embodied in a behavioral description, the instruction converting the behavioral description to a chip design with a queue in the system, the queue comprising a plurality of slots, each of said plurality of slots storing a tag, wherein each tag stored in said queue identifies a unique one of said plurality of buffer locations, wherein each instruction supplied by said instruction store is associated with one of said tags until said instruction retires, and wherein at least a part of said instruction is stored in the buffer location identified by the tag to which said instruction is associated. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18)
-
Specification