Conditional data-dependency resolution in vector processors
AssigneeApple Inc.
InventorsJeffry E. Gonion, Keith E. Diefendorff
Life of this patent
Estimating the term…
Abstract
Embodiments of a method for performing parallel operations in a computer system when one or more conditional dependencies may be present, where a given conditional dependency includes a dependency associated with at least two data elements based on a pair of conditions. During operation, a processor receives instructions for generating a vector of tracked positions of actual dependencies, where a given tracked position indicates the position of a given actual dependency, and where the given actual dependency occurs when the pair of condition matches one or more criteria. Then, the processor executes the instructions for generating the vector of tracked positions.
Claims24
A method for performing parallel operations in a computer system when one or more conditional dependencies may be present, wherein a given conditional dependency includes a dependency associated with at least two data elements based on a pair of conditions, comprising:
- receiving instructions for generating a vector of tracked positions of actual dependencies, wherein a given tracked position indicates the position of a given actual dependency, and wherein the given actual dependency occurs when the pair of conditions matches one or more criteria;
- and
- executing the instructions for generating the vector of tracked positions.
A compiler configured to generate instructions based on a feature set of a processor to perform parallel operations when one or more conditional dependencies may be present, wherein a given conditional dependency includes a dependency associated with at least two data elements based on a pair of conditions, and wherein, during operation, the processor is configured to operate by:
- receiving instructions for generating a vector of tracked positions of actual dependencies, wherein a given tracked position indicates the position of a given actual dependency, and wherein the given actual dependency occurs when the pair of conditions matches one or more criteria;
- and
- executing the instructions for generating the vector of tracked positions.
A computer system configured to execute instructions to perform parallel operations when one or more conditional dependencies may be present, wherein a given conditional dependency includes a dependency associated with at least two data elements based on a pair of conditions, comprising:
- a processor;
- a memory;
- an instruction fetch unit within the processor configured to fetch:
- instructions for receiving instructions for generating a vector of tracked positions of actual dependencies, wherein a given tracked position indicates the position of a given actual dependency, and wherein the given actual dependency occurs when the pair of conditions matches one or more criteria;
- and
- instructions for executing the instructions for generating the vector of tracked positions.
Dependencies are inferred from the claim text.