Information handling system having a register remap structure using a content addressable table
First Claim
1. An information handling system, comprising:
- an instruction unit;
one or more execution units;
a memory management unit, connected to the instruction unit, and to a memory system;
one or more levels of cache memory associated with the one or more execution units;
a system bus connected to the execution units and to the memory system and to the cache memory;
one or more I/O controllers connected to the system bus for controlling I/O devices; and
a completion unit for tracking sequence of instruction dispatch and instruction completion, wherein speculatively assigned registers are released as soon as a branch instruction is found to be mispredicted.
1 Assignment
0 Petitions
Accused Products
Abstract
An information handling system includes an instruction unit, one or more execution units, a memory management unit, connected to the instruction unit, to a memory system, a cache management unit, one or more levels of cache memory associated with the one or more execution units, one or more I/O controllers connected to a bus which connects to the execution units and to the memory systems and to cache, and a completion unit for tracking sequence of instruction dispatch and instruction completion. The completion unit includes a Content Addressable Register Buffer Assignment Table, a Register Status Table, an Instruction Queue, and a Completion Table to control order of execution and completion of instructions in a sequence dependent on availability of operands.
25 Citations
8 Claims
-
1. An information handling system, comprising:
-
an instruction unit; one or more execution units; a memory management unit, connected to the instruction unit, and to a memory system; one or more levels of cache memory associated with the one or more execution units; a system bus connected to the execution units and to the memory system and to the cache memory; one or more I/O controllers connected to the system bus for controlling I/O devices; and a completion unit for tracking sequence of instruction dispatch and instruction completion, wherein speculatively assigned registers are released as soon as a branch instruction is found to be mispredicted. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A method for controlling completion of instructions executed in a random sequence, comprising the steps of:
-
storing a tag, associated with an instruction, in a completion table, indicating a position of the instruction in a sequence of completion of the instruction relative to other instructions; associatively comparing source address pointers with entries in a content addressable buffer assignment table to identify a register to be used in execution of an instruction; associatively comparing destination address pointers with entries in the content addressable buffer assignment table to reset indicators of register assignment; assigning a buffer address pointer to the destination address pointer; storing the assigned buffer address pointer in the content addressable buffer assignment table; storing each destination address pointer and each assigned buffer address pointer in an instruction queue; accessing an first operand for execution of an instruction by using the assigned buffer address pointer to address a buffer containing the first operand; executing an instruction when all operands required for execution of the instruction are available; reading the destination address pointer and the assigned buffer address pointer from the content addressable buffer assignment table; gating completed instruction data from the assigned buffer to a general purpose register associated with the destination address; gating results of completed instructions from the general purpose registers in a predetermined sequence determined by the tags stored in the completion table. - View Dependent Claims (8)
-
Specification