Differential pipeline delays in a coprocessor

US11709681B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11709681-B2
Application numberUS-201715837974-A
CountryUS
Kind codeB2
Filing dateDec 11, 2017
Priority dateDec 11, 2017
Publication dateJul 25, 2023
Grant dateJul 25, 2023

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 coprocessor such as a floating-point unit includes a pipeline that is partitioned into a first portion and a second portion. A controller is configured to provide control signals to the first portion and the second portion of the pipeline. A first physical distance traversed by control signals propagating from the controller to the first portion of the pipeline is shorter than a second physical distance traversed by control signals propagating from the controller to the second portion of the pipeline. A scheduler is configured to cause a physical register file to provide a first subset of bits of an instruction to the first portion at a first time. The physical register file provides a second subset of the bits of the instruction to the second portion at a second time subsequent to the first time.

First claim

Opening claim text (preview).

What is claimed is: 1. An apparatus comprising: a pipeline comprising a first portion and a second portion; a controller configured to provide control signals to the first portion of the pipeline based on a first physical distance traversed by the control signals propagating from the controller to the first portion of the pipeline being shorter than a second physical distance traversed by the control signals propagating from the controller to the second portion of the pipeline; and a scheduler configured to cause a first subset of bits of an instruction to be provided to the first portion at a first time and a second subset of bits of the instruction to the second portion at a second time subsequent to the first time, wherein the scheduler is further configured to tag the instruction with a set of bits that indicates whether the second subset of the bits of the instruction is to be executed by the pipeline. 2. The apparatus of claim 1 , wherein a propagation time of the control signals from the controller to the first portion of the pipeline is less than a propagation time of the control signals from the controller to the second portion of the pipeline. 3. The apparatus of claim 1 , wherein the first time corresponds to a first cycle of execution of the pipeline and the second time corresponds to a second cycle of execution of the pipeline. 4. The apparatus of claim 3 , wherein the second cycle is one cycle later than the first cycle. 5. The apparatus of claim 4 , wherein the scheduler is configured to dispatch instructions that do not convey information between the first portion and the second portion of the pipeline on average once per cycle with a single cycle latency. 6. The apparatus of claim 5 , wherein the scheduler is configured to dispatch instructions that convey information between the first portion and the second portion of the pipeline with a three cycle latency. 7. The apparatus of claim 1 , wherein the first subset of bits includes a lower 128 bits of a 256 bit instruction and the second subset of bits includes an upper 128 bits of a 256 bit instruction. 8. The apparatus of claim 1 , wherein the set of bits further indicates whether the first subset of the bits of the instruction is to be executed by the pipeline, and wherein the first time is determined based on a propagation time of the control signals from the controller to the first portion of the pipeline and the second time is determined based on a propagation time of the control signals from the controller to the second portion of the pipeline. 9. A method comprising: providing, from a physical register file, a first subset of bits of an instruction to a first portion of a pipeline at a first time; providing, from the physical register file, a second subset of bits of the instruction to a second portion of the pipeline at a second time subsequent to the first time; tagging the instruction with a set of bits that indicates whether the second subset of the bits of the instruction is to be executed by the pipeline; and providing, from a controller, control signals to the first portion of the pipeline based on a first physical distance traversed by the control signals propagating from the controller to the first portion of the pipeline is shorter than a second physical distance traversed by the control signals propagating from the controller to the second portion of the pipeline. 10. The method of claim 9 , wherein a propagation time of the control signals from the controller to the first portion of the pipeline is less than a propagation time of the control signals from the controller to the second portion of the pipeline. 11. The method of claim 9 , wherein providing the first subset of bits at the first time comprises providing the first subset of bits during a first cycle of execution of the pipeline, and wherein providing the second subset of bits at the second time comprises providing the second subset of bits during a second cycle of execution of the pipeline. 12. The method of claim 11 , wherein providing the second subset of bits during the second cycle comprises providing the second subset of bits one cycle later than the first cycle. 13. The method of claim 11 , further comprising: dispatching instructions that do not convey information between the first portion and the second portion of the pipeline on average once per cycle with a single cycle latency. 14. The method of claim 11 , further comprising: dispatching instructions that convey information between the first portion and the second portion of the pipeline with a three cycle latency. 15. The method of claim 9 , wherein the first subset of bits includes a lower 128 bits of a 256 bit instruction and the second subset of bits includes an upper 128 bits of a 256 bit instruction. 16. The method of claim 9 , wherein the set of bits further indicates whether the first subset of the bits of the instruction is to be executed by the pipeline. 17. A method comprising: providing, from a physical register file, a first subset of bits of an instruction to a first portion of a pipeline; delaying provision of a second subset of bits of the instruction from the physical register file to a second portion of the pipeline by a time interval that is determined based on a difference between a first physical distance traversed by control signals propagating from a controller to the first portion of the pipeline and a second physical distance traversed by the control signals propagating from the controller to the second portion of the pipeline; and tagging the instruction with a set of bits that indicates whether the second subset of the bits of the instruction is to be executed by the pipeline. 18. The method of claim 17 , wherein providing the first subset of bits of the instruction comprises providing the first subset of bits of the instruction during a first cycle, and wherein delaying provision of the second subset of bits comprises delaying provision of the second subset of bits by one cycle. 19. The method of claim 17 , further comprising: dispatching instructions that do not convey information between the first portion and the second portion of the pipeline on average once per cycle with a single cycle latency; and dispatching instructions that convey information between the first portion and the second portion of the pipeline with a three cycle latency. 20. The method of claim 17 , wherein the set of bits further indicates whether the first subset of the bits of the instruction is to be executed by the pipeline.

Assignees

Inventors

Classifications

  • G06F9/3867Primary

    using instruction pipelines · CPC title

  • Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution · CPC title

  • G06F9/3869Primary

    Implementation aspects, e.g. pipeline latches; pipeline synchronisation and clocking · 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 US11709681B2 cover?
A coprocessor such as a floating-point unit includes a pipeline that is partitioned into a first portion and a second portion. A controller is configured to provide control signals to the first portion and the second portion of the pipeline. A first physical distance traversed by control signals propagating from the controller to the first portion of the pipeline is shorter than a second physic…
Who is the assignee on this patent?
Advanced Micro Devices Inc
What technology area does this patent fall under?
Primary CPC classification G06F9/3867. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Jul 25 2023 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 10 related publications on this page (citations in our corpus or others sharing the same primary CPC).