Apparatus and method for instruction queue scanning
AssigneeAdvanced Micro Devices, Inc.
InventorsNathan L. Yao, Michael D. Goddard
Life of this patent
Estimating the term…
Loading patent…
AssigneeAdvanced Micro Devices, Inc.
InventorsNathan L. Yao, Michael D. Goddard
Estimating the term…
A superscalar complex instruction set computer ("CISC") processor (100) having a reduced instruction set computer ("RISC") superscalar core (110) includes an instruction cache (104) which identifies and marks raw x86 instruction start and end points and encodes "pre-decode" information, a byte queue (106) which is a queue of aligned instruction and pre-decode information of the "predicted executed" state, and an instruction decoder (108) which generates type, opcode, and operand pointer values for RISC-like operations (ROPs) based on the aligned pre-decoded x86 instructions in the byte queue. The instruction decoder includes in each dispatch position a logic-based conversion path, a memory-based conversion path, and a common conversion path for converting CISC instructions to ROPs. An ROP multiplexer (400) directs x86 instructions from the byte queue to the conversion paths. The ROP multiplexer includes scan logic (690) which rapidly scans the byte queue to generate for each dispatch position an array of bits (ISELx) that identifies the location of the opcode, and ROP information signals (ROPxNUM, ROPxDIFF, PGNXT[x]). The scan logic is segregated into groups of bit processing logic (GP(x,y)) and includes a look-ahead capability (LAG(x)) between groups.
An apparatus for scanning an instruction queue of a superscalar processor having a plurality of dispatch positions, wherein the instruction queue includes instructions that map to mapped instructions, and wherein the instructions include opcodes at locations identified by respective identification elements, the apparatus comprising:
An apparatus for scanning primary instructions in an instruction queue of a superscalar processor having a plurality of dispatch positions, wherein each primary instruction includes an opcode and an opcode identifier to identifying the location of the opcode within the instruction queue, and wherein each primary instruction maps to a number of one or more secondary instructions, the apparatus having a plurality of stages corresponding to dispatch positions allocated to the primary instructions, each stage comprising:
An apparatus for scanning instructions in an instruction queue of a superscalar processor having a plurality of dispatch positions, wherein each instruction includes an opcode and an opcode identifier to identifying the location of the opcode within the instruction queue, and wherein each instruction maps to a number of one or more RISC-like operations ("ROPs"), the apparatus comprising:
An apparatus for scanning pre-decoded x86 instructions in an instruction queue of a superscalar processor having a plurality of dispatch positions, wherein each instruction includes an opcode and an opcode identifier bit to identifying the location of the opcode within the instruction queue, and wherein each instruction maps to a number of one or more RISC-like operations ("ROPs"), the apparatus comprising a first stage and a second stage, wherein the first stage comprises:
A method for scanning a queue of primary instructions in a superscalar processor, the queue of primary instructions having one or more opcodes at respective locations in the queue identified by a first set of opcode location identifiers ("OLI"), wherein each primary instruction maps to a sequence of a number of one or more secondary instructions, the method comprising:
A method for scanning a queue of primary instructions in a superscalar processor, the queue of primary instructions having one or more opcode bytes at respective locations in the queue respectively identified by asserted bits of a first array, wherein each primary instruction maps to a sequence of a number of one or more secondary instructions, the method comprising:
A method for scanning instructions in an instruction queue of a superscalar processor having a plurality of dispatch positions and a plurality of respective scanning stages, wherein each instruction includes an opcode and an opcode identifier to identifying the location of the opcode within the instruction queue, and wherein each instruction maps to a number of one or more RISC-like operations ("ROPs"), the method comprising:
Dependencies are inferred from the claim text.