Method and apparatus for speculative microinstruction pairing
AssigneeIP-First, LLC
InventorsRodney E. Hooker, Dinesh K. Jain, Terry Parks
Life of this patent
Estimating the term…
Loading patent…
AssigneeIP-First, LLC
InventorsRodney E. Hooker, Dinesh K. Jain, Terry Parks
Estimating the term…
An apparatus and method are provided for speculatively pairing micro instructions for parallel execution within a single pipeline of a microprocessor and subsequently splitting the paired micro instructions in the same clock cycle as the pairing if a resource conflict or operand dependency is detected. The apparatus includes multiplexing logic that feeds back a second of a pair of micro instructions stored in an instruction register back into the instruction register for sequential execution after the first micro instruction if a translator detects late in the clock cycle that a resource conflict or operand dependency exists. An instruction pair indicator is provided along with the pair of micro instructions down to the execution stages to inform the execution stages whether the second micro instruction is valid for parallel execution with the first micro instruction. The method may also be used in conjunction with a micro instruction queue. In one embodiment, an additional MMX adder is provided such that PADD instructions may be translated and paired for parallel execution within the single pipeline of the microprocessor.
A microprocessor for speculatively pairing micro instructions for parallel execution within a single pipeline, the micro instructions paired within the single pipeline when they utilize non-conflicting resources, the microprocessor comprising:
A microprocessor for speculatively pairing micro instructions for parallel execution within a single pipeline, the micro instructions paired within the single pipeline when they utilize non-conflicting resources, the microprocessor comprising:
A microprocessor for speculatively pairing micro instructions for parallel execution within a single pipeline, the micro instructions paired within the single pipeline when they utilize non-conflicting resources, the microprocessor comprising:
A microprocessor for speculatively pairing micro instructions for parallel execution within a single pipeline, the micro instructions paired within the single pipeline when they utilize non-conflicting resources, the microprocessor comprising:
A microprocessor for speculatively pairing micro instructions for parallel execution within a single pipeline, the micro instructions paired within the single pipeline when they utilize non-conflicting resources, the microprocessor comprising:
A microprocessor for speculatively pairing micro instructions for parallel execution within a single pipeline, the micro instructions paired within the single pipeline when they utilize non-conflicting resources, the microprocessor comprising:
A microprocessor for speculatively pairing micro instructions for parallel execution within a single pipeline, the micro instructions paired within the single pipeline when they utilize non-conflicting resources, the microprocessor comprising:
A microprocessor for speculatively pairing micro instructions for parallel execution within a single pipeline, the micro instructions paired within the single pipeline when they utilize non-conflicting resources, the microprocessor comprising:
A microprocessor for speculatively pairing micro instructions for parallel execution within a single pipeline, the micro instructions paired within the single pipeline when they utilize non-conflicting resources, the microprocessor comprising:
A microprocessor for speculatively pairing micro instructions for parallel execution within a single pipeline, the micro instructions paired within the single pipeline when they utilize non-conflicting resources, the microprocessor comprising:
An apparatus for selectively unpairing speculatively paired first and second micro instructions for parallel execution within a single pipeline of a microprocessor, the speculative pairing performed by a translator of the microprocessor, the unpairing performed when the micro instructions utilize a conflicting resource, the microprocessor also having an instruction register for storing the first and second micro instructions, the apparatus comprising:
An apparatus for selectively unpairing speculatively paired micro instructions for parallel execution within a single pipeline of a microprocessor by a translator of the microprocessor, the unpairing performed when the paired micro instructions utilize a conflicting resource, the microprocessor having an instruction register for storing the paired micro instructions, the apparatus comprising:
A microprocessor for speculatively pairing micro instructions for parallel execution within a single pipeline, comprising:
A method for speculatively pairing micro instructions for parallel execution within a single pipeline of a microprocessor, the method comprising:
A method for speculatively pairing micro instructions for parallel execution within a single pipeline of a microprocessor, the method comprising:
A method for speculatively pairing micro instructions for parallel execution within a single pipeline of a microprocessor, the method comprising:
A method for speculatively pairing micro instructions for parallel execution within a single pipeline of a microprocessor, the method comprising:
A method for speculatively pairing micro instructions for parallel execution within a single pipeline of a microprocessor, the method comprising:
A method for speculatively pairing micro instructions for parallel execution within a single pipeline of a microprocessor, the method comprising:
Dependencies are inferred from the claim text.