Controlling out of order execution pipelines issue tagging
AssigneeInfineon Technologies AG
InventorNeil S. Hastie
Life of this patent
Estimating the term…
Abstract
A method and system of controlling out of order execution pipelines using issue tags is disclosed. The issue tags are used to dynamically calculate pipeline skew parameters that track the relative position of a load/store instruction in a load/store pipeline and a simultaneously issued integer instruction in a variable length integer pipeline. The issue tags and pipeline skew parameters are used to improve data hazard detection, pipeline stalling, and instruction cancellation.
Claims29
A method of operating a processor having a first-type pipeline and a second-type pipeline, wherein the first-type pipeline includes a plurality of first-type pipeline stages and the second-type pipeline includes a plurality of second-type pipeline stages, the method comprising:
- simultaneously issuing a first first-type instruction into a first first-type pipeline stage and a first second-type instruction into a first second-type pipeline stage;
- generating a first first-type issue tag for the first first-type instruction, wherein the first first-type issue tag is unique relative to other first-type issue tags in the first-type pipeline;
- generating a first second-type issue tag for the first second-type instruction, wherein the first second-type issue tag is unique relative to other second-type issue tags in the second-type pipeline;
- and
- comparing the first first-type issue tag with the first second-type issue tag to calculate a pipeline skew parameter.
A processor comprising:
- a first-type pipeline having a plurality of first-type pipeline stages;
- a second-type pipeline having a plurality of second-type pipeline stages;
- means for simultaneously issuing a first first-type instruction into a first first-type pipeline stage and a first second-type instruction into a first second-type pipeline stage;
- means for generating a first first-type issue tag for the first first-type instruction, wherein the first first-type issue tag is unique relative to other first-type issue tags in the first-type pipeline;
- means for generating a first second-type issue tag for the first second-type instruction, wherein the first second-type issue tag is unique relative to other second-type issue tags in the second-type pipeline;
- and
- means for comparing the first first-type issue tag with the first second-type issue tag to calculate a pipeline skew parameter.
A processor comprising:
- a variable length first-type pipeline having a first plurality of pipeline stages, wherein each pipeline stage in the first plurality of stages includes an issue tag register;
- and
- a second-type pipeline having a second plurality of pipeline stages, wherein each pipeline stage in the second plurality of stages includes an issue tag register,
- wherein each issue tag register stores an issue tag and the processor is configured to compare the issue tags to calculate a plurality of pipeline skew parameters.
A processor comprising:
- a first-type pipeline having a plurality of first-type pipeline stages;
- a second-type pipeline having a plurality of second-type pipeline stages;
- an issuer configured to issue a first first-type instruction into a first first-type pipeline stage and a first second-type instruction into a first second-type pipeline stage;
- a first generator configured to generate a first first-type issue tag for the first first-type instruction, wherein the first first-type issue tag is unique relative to other first-type issue tags in the first-type pipeline;
- and
- a second generator configured to generate a first second-type issue tag for the first second-type instruction, wherein the first second-type issue tag is unique relative to other second-type issue tags in the second-type pipeline;
- wherein the processor is configured to compare the first first-type issue tag with the first second-type issue tag to calculate a pipeline skew parameter.
Dependencies are inferred from the claim text.