Pipelined processor with register renaming hardware to accommodate multiple size registers
AssigneeCyrix Corporation
InventorMark Bluhm
Life of this patent
Estimating the term…
Abstract
A microprocessor comprises one or more instruction pipelines having a plurality of stages for processing a stream of instructions, wherein one or more of the instructions reference a defined set of logical registers having multiple addressable sizes as sources and destinations of operands for the instruction. A plurality of physical registers are provided in excess of the number of defined set of logical registers. Physical registers are selectively allocated to one of said defined set of logical registers responsive to an instruction for writing to said one of said logical registers and the size associated with the logical register.
Claims16
A microprocessor including register renaming apparatus, the microprocessor having at least one instruction pipeline with a plurality of stages for processing a stream of instructions, and having a plurality of logical registers, the stream of instructions including write instructions that when processed addressably write to a logical register having multiple addressable portions, comprising:
- a plurality of physical registers exceeding in number the plurality of logical registers, and
- register translation circuitry coupled to said at least one instruction pipeline and to said physical registers, said register translation circuitry being operable to allocate, for each of at least some of said write instructions processed, a physical register to said logical register based at least in part on which of said addressable portions of said logical register is addressed by said write instruction;
- wherein, for a current write instruction that is processed when a write is pending to said logical register in response to a previous write instruction, said register translation circuitry selectively allocates a new physical register to said logical register based on which of said addressable portions of said logical register are addressed by said previous and current instructions.
A method of allocating registers in a microprocessor having at least one instruction pipeline with a plurality of stages for processing a stream of instructions, and having a plurality of logical registers, the stream of instructions including write instructions that when processed addressably write to a logical register having multiple addressable portions, comprising the steps of:
- allocating, for each of at least some of said write instructions processed, one of a plurality of physical registers to said logical register based at least in part on which of said addressable portions of said logical register is addressed by said write instruction;
- and
- selectively allocating, for a write instruction that is processed when a write is pending to said logical register in response to a previous write instruction, a new physical register to said logical register based on which of said addressable portions of said logical register are addressed by said previous and current instructions.
Dependencies are inferred from the claim text.