Processing Vector Instructions
OwnerPeter Vrabelinventor
Life of this patent
Estimating the term…
Abstract
When an instruction is received, the instruction checks against older “in-flight” instructions for hazards, and stores a hazard flag in a control storage entry. An instruction will not start executing while the hazard flag is set. When the older instruction executes and produces a result to a register, it clears the hazard for the current instruction. The current instruction can start executing when no hazards remain.
Claims20
A computer-implemented method of processing instructions by a vector processing unit, wherein the vector processing unit comprises control storage, wherein the control storage comprises a plurality of entries, and wherein each entry is configured to store state and/or logic associated with a respective instruction, the method comprising:
- receiving a current instruction, wherein the current instruction is configured to consume from a set of target registers;
- determining that there is at least one respective earlier instruction that is configured to produce to one or more of the target registers;
- and
- setting, in a respective entry of the control storage, a hazard indication indicating that there is respective earlier instruction configured to produce to one or more of the target registers, wherein the current instruction is prevented from consuming from the set of target registers whilst the respective entry comprises the hazard indication.
A processing system configured to perform a method of processing instructions by a vector processing unit, wherein the vector processing unit comprises control storage, wherein the control storage comprises a plurality of entries, and wherein each entry is configured to store state and/or logic associated with a respective instruction, wherein the method comprises:
- receiving a current instruction, wherein the current instruction is configured to consume from a set of target registers;
- determining that there is at least one respective earlier instruction that is configured to produce to one or more of the target registers;
- and
- setting, in a respective entry of the control storage, a hazard indication indicating that there is respective earlier instruction configured to produce to one or more of the target registers, wherein the current instruction is prevented from consuming from the set of target registers whilst the respective entry comprises the hazard indication.
A vector processing unit comprising:
- a plurality of registers configured to store data;
- and
- control storage comprising a plurality of entries, wherein each entry is configured to store state and/or logic associated with a respective instruction;
- wherein the vector processing unit is configured to:
- receive a current instruction, wherein the current instruction is configured to consume from a set of target registers of the plurality of registers;
- determine that there is at least one respective earlier instruction that is configured to produce to one or more of the target registers;
- set, in a respective entry of the control storage, hazarding information indicating the at least one respective earlier instruction is configured to produce to one or more of the target registers;
- and
- prevent the current instruction from consuming from the set of target registers whilst the respective entry comprises the hazard indication.
Dependencies are inferred from the claim text.