Scheduling tasks using targeted pipelines

US12020067B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-12020067-B2
Application numberUS-202217746862-A
CountryUS
Kind codeB2
Filing dateMay 17, 2022
Priority dateJun 16, 2017
Publication dateJun 25, 2024
Grant dateJun 25, 2024

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

A method of scheduling instructions within a parallel processing unit is described. The method comprises decoding, in an instruction decoder, an instruction in a scheduled task in an active state, and checking, by an instruction controller, if an ALU targeted by the decoded instruction is a primary instruction pipeline. If the targeted ALU is a primary instruction pipeline, a list associated with the primary instruction pipeline is checked to determine whether the scheduled task is already included in the list. If the scheduled task is already included in the list, the decoded instruction is sent to the primary instruction pipeline.

First claim

Opening claim text (preview).

What is claimed is: 1. A method of scheduling instructions within a parallel processing unit, comprising: decoding, in an instruction decoder, an instruction in a scheduled task for a targeted ALU (Arithmetic Logic Unit); if the targeted ALU is identified as a primary instruction pipeline, determining whether the scheduled task is already associated with the primary instruction pipeline from data associated with the primary instruction pipeline and sending the decoded instruction to the primary instruction pipeline; and if the targeted ALU is not identified as a primary instruction pipeline, sending the decoded instruction to the pipeline associated with the targeted ALU. 2. The method according to claim 1 , further comprising: if the scheduled task is not already included in the data, determining if the data is full; and triggering the scheduler to de-activate the scheduled task by changing the scheduled task from the active state to a non-active state; and if the scheduled task is not already included in the data and that the data is not full, adding the scheduled task to the data and sending the decoded instruction to the primary instruction pipeline. 3. The method according to claim 1 , further comprising: if the targeted ALU is not a primary instruction pipeline, checking the data to determine whether the scheduled task is already included in the data; removing the scheduled task from the data; and sending the decoded instruction to the targeted ALU. 4. The method according to claim 1 , further comprising: if the primary instruction pipeline is full; and if the data has changed from being full to not being full, triggering the scheduler to re-activate an oldest scheduled task waiting for the primary instruction pipeline by removing the oldest scheduled task from the waiting state. 5. The method according to claim 1 , further comprising: if a particular scheduled task has been de-activated, checking if the particular scheduled task is included in the data and in response to determining that the particular scheduled task is included in the data, removing the particular scheduled task from the data associated with the primary instruction pipeline. 6. The method according to claim 1 , further comprising: when a particular scheduled task completes, checking if the particular scheduled task is included in the data and in response to determining that the particular scheduled task is included in the data, removing the particular scheduled task from the data. 7. An instruction controller comprising: an input for receiving an instruction in a scheduled task for a targeted ALU (Arithmetic Logic Unit); an instruction decoder arranged to decode the received instruction; a memory element arranged to store data associating scheduled tasks with a primary instruction pipeline in a parallel processing unit; and hardware logic arranged to determine: if the targeted ALU is identified as a primary instruction pipeline, whether the scheduled task is already associated with the primary instruction pipeline based on the data and to send the decoded instruction to the primary instruction pipeline; and if the targeted ALU is not identified as a primary instruction pipeline, to send the decoded instruction to the pipeline associated with the targeted ALU. 8. The instruction controller according to claim 7 , wherein the data comprises the data associating the scheduled tasks with the primary instruction pipeline. 9. The instruction controller according to claim 8 , further comprising: hardware logic arranged, if scheduled task is not already included in the data and if the data is full, to trigger de-activating hardware logic in the scheduler to de-activate the scheduled task by changing the scheduled task from the active state to a waiting state; and if the scheduled task is not already included in the data and the data is not full, to add the scheduled task to the data and send the decoded instruction to the primary instruction pipeline. 10. The instruction controller according to claim 8 , further comprising: hardware logic arranged, if the targeted ALU is not a primary instruction pipeline, to check the data to determine whether the scheduled task is already included in the data; and if the scheduled task is already included in the data, remove the scheduled task from the data and send the decoded instruction to the targeted ALU. 11. The instruction controller according to claim 8 , further comprising: hardware logic arranged, if the data is full and the data has changed from being full to not being full, to trigger the scheduler to re-activate an oldest scheduled task waiting for the primary instruction pipeline by removing the oldest scheduled task from the waiting state. 12. The instruction controller according to claim 8 , further comprising: hardware logic arranged, if a particular scheduled task has been de-activated and if the particular scheduled task is included in the data, to remove the particular scheduled task from the data. 13. The instruction controller according to claim 8 , further comprising: hardware logic arranged, if a particular scheduled task completes and the particular scheduled task is included in the data, to remove the particular scheduled task from the data. 14. A non-transitory computer readable storage medium having stored thereon a computer readable dataset description of an integrated circuit that, when processed in an integrated circuit manufacturing system, causes the integrated circuit manufacturing system to manufacture an instruction controller, the instruction controller comprising: an input for receiving an instruction in a scheduled task for a targeted ALU (Arithmetic Logic Unit); an instruction decoder arranged to decode the received instruction; a memory element arranged to store data associating scheduled tasks with a primary instruction pipeline in a parallel processing unit; and hardware logic arranged to determine: if the targeted ALU is identified as a primary instruction pipeline, whether the scheduled task is already associated with the primary instruction pipeline and to send the decoded instruction to the primary instruction pipeline based on the data; and if the targeted ALU is not identified as a primary instruction pipeline, to send the decoded instruction to the pipeline associated with the targeted ALU. 15. The non-transitory computer readable storage medium according to claim 14 , wherein the data comprises the data associating the scheduled tasks with the primary instruction pipeline. 16. The non-transitory computer readable storage medium according to claim 15 , further comprising: hardware logic arranged, if scheduled task is not already included in the data and if the data is full, to trigger de-activating hardware logic in the scheduler to de-activate the scheduled task by changing the scheduled task from the active state to a waiting state; and if the scheduled task is not already included in the data and the data is not full, to add the scheduled task to the data and send the decoded instruction to the primary instruction pipeline. 17. The non-transitory computer readable storage medium according to claim 15 , further comprising: hardware logic arranged, if the targeted ALU is not a primary instruction pipeline, to check the data to determine whether the scheduled task is already included in the data; and if the scheduled task is already included in the data, remove the scheduled task from the data and send the decoded instruction to the targeted ALU. 18. The non

Assignees

Inventors

Classifications

  • from multiple instruction streams, e.g. multistreaming · CPC title

  • G06F7/575Primary

    Basic arithmetic logic units, i.e. devices selectable to perform either addition, subtraction or one of several logical operations, using, at least partially, the same circuitry · CPC title

  • G06F9/4881Primary

    Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues · CPC title

  • using instruction pipelines · CPC title

  • Decoding the operand specifier, e.g. specifier format · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US12020067B2 cover?
A method of scheduling instructions within a parallel processing unit is described. The method comprises decoding, in an instruction decoder, an instruction in a scheduled task in an active state, and checking, by an instruction controller, if an ALU targeted by the decoded instruction is a primary instruction pipeline. If the targeted ALU is a primary instruction pipeline, a list associated wi…
Who is the assignee on this patent?
Imagination Tech Ltd
What technology area does this patent fall under?
Primary CPC classification G06F7/575. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Jun 25 2024 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 3 related publications on this page (citations in our corpus or others sharing the same primary CPC).