Pipeline including separate hardware data paths for different instruction types

US10656951B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10656951-B2
Application numberUS-201715789318-A
CountryUS
Kind codeB2
Filing dateOct 20, 2017
Priority dateOct 21, 2016
Publication dateMay 19, 2020
Grant dateMay 19, 2020

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 processing element is implemented in a stage of a pipeline and configured to execute an instruction. A first array of multiplexers is to provide information associated with the instruction to the processing element in response to the instruction being in a first set of instructions. A second array of multiplexers is to provide information associated with the instruction to the first processing element in response to the instruction being in a second set of instructions. A control unit is to gate at least one of power or a clock signal provided to the first array of multiplexers in response to the instruction being in the second set.

First claim

Opening claim text (preview).

What is claimed is: 1. An apparatus comprising: a first processing element implemented in a first stage of a pipeline and configured to execute an instruction; a first array of multiplexers to provide information associated with the instruction to the first processing element in response to the instruction being in a first set of instructions; a second array of multiplexers to provide information associated with the instruction to the first processing element in response to the instruction being in a second set of instructions; and a control unit to gate at least one of power or a clock signal provided to the first array of multiplexers in response to the instruction being in the second set. 2. The apparatus of claim 1 , wherein the second set of instructions is a subset of the first set of instructions. 3. The apparatus of claim 1 , wherein: the second set of instructions includes instructions executed by the pipeline at or above a threshold frequency; and the first set of instructions includes instructions executed by the pipeline below the threshold frequency. 4. The apparatus of claim 1 , wherein the first set of instructions includes at least ten times as many instructions as the second set of instructions. 5. The apparatus of claim 1 , wherein the control unit determines that the received instruction is in the second set based on an opcode of the first instruction received by the first stage of the pipeline. 6. The apparatus of claim 1 , further comprising: at least one third multiplexer to receive output from the first array of multiplexers and the second array of multiplexers and to selectively provide an output from the first array of multiplexers or the second array of multiplexers to the first processing element based on signaling from the control unit. 7. The apparatus of claim 6 , wherein the at least one third multiplexer provides the output from the second array of multiplexers to the first processing element in response to the control unit gating the at least one of the power or the clock signal provided to the first array of multiplexers. 8. The apparatus of claim 1 , further comprising: first input registers to store information associated with the instruction and provide the information to inputs of the first array of multiplexers; and second input registers to store the information associated with the instruction and provide the information to the inputs of the second array of multiplexers. 9. The apparatus of claim 8 , further comprising: a second processing element implemented in a second stage of the pipeline and configured to execute the instruction; first output registers to receive information generated by the first processing element; a third array of multiplexers to receive information stored in the first output registers and to provide output to the second processing element; second output registers to receive the information generated by the first processing element; a fourth array of multiplexers to receive information stored in the second output registers and to provide output to the second processing element; and wherein the control unit is configured to gate at least one of power or a clock signal provided to the third array of multiplexers in response to the instruction being in the second set. 10. A method comprising: receiving an instruction at a first stage of a pipeline of a processing device; providing information associated with the instruction from a first array of multiplexers of the processing device to a first processing element implemented in the first stage in response to the instruction being in a first set of instructions; providing information associated with the instruction from a second array of multiplexers of the processing device to the first processing element in response to the instruction being in a second set of instructions; and gating at least one of power or a clock signal provided to the first array of multiplexers in response to the instruction being in the second set. 11. The method of claim 10 , further comprising: determining that the received instruction is in the second set based on an opcode of the received instruction received by the first stage of the pipeline. 12. The method of claim 10 , further comprising: selectively providing output from the first array of multiplexers or the second array of multiplexers to the first processing element based on signaling from a control unit. 13. The method of claim 12 , wherein providing the output comprises providing the output from the second array of multiplexers to the first processing element in response to the control unit gating the at least one of the power or the clock signal provided to the first array of multiplexers. 14. The method of claim 13 , further comprising: receiving the instruction at a second stage of the pipeline that includes a second processing element configured to execute the instruction; receiving information generated by the first processing element; providing information associated with the instruction from a third array of multiplexers of the processing device to the second processing element in response to the instruction being in the first set; providing the information associated with the instruction from a fourth array of multiplexers of the processing device to the second processing element in response to the instruction being in the second set; and gating at least one of power or a clock signal provided to the third array of multiplexers in response to the instruction being in the second set. 15. An apparatus comprising: a first hardware data path including: a first processing element implemented in a first stage of a pipeline and configured to execute an instruction; and a first array of multiplexers to provide information associated with the instruction to the first processing element in response to the instruction being in a first set of instructions; a second hardware data path configured to execute half-precision floating-point instructions and to receive information generated by the first processing element in the first hardware data path; a second array of multiplexers to provide information associated with the instruction to the first processing element in response to the instruction being in a second set of instructions; and a control unit to gate at least one of power or a clock signal provided to the first array of multiplexers in response to the instruction being in the second set. 16. The apparatus of claim 15 , wherein the second set of instructions includes instructions that are executed by the pipeline more frequently than a threshold frequency, and wherein the first set of instructions includes instructions that are executed by the pipeline less frequently than the threshold frequency. 17. The apparatus of claim 15 , wherein the control unit determines that the received instruction is in the second set based on an opcode of the instruction received by the first stage of the pipeline. 18. The apparatus of claim 15 , wherein the second hardware data path comprises a third array of multiplexers implemented in a second stage of the pipeline to provide information to a second processing element implemented on the first hardware data path in the second stage of the pipeline in response to the instruction being in the second set. 19. The apparatus of claim 18 , wherein the control unit is configured to gate at least one of power or a clock signal provided to a fourth array of multiplexers implemented on the first hardware data path in th

Assignees

Inventors

Classifications

  • Instruction analysis, e.g. decoding, instruction word fields · CPC title

  • G06F9/3869Primary

    Implementation aspects, e.g. pipeline latches; pipeline synchronisation and clocking · CPC title

  • according to data content, e.g. floating-point registers, address registers · CPC title

  • Gate array · CPC title

  • comprising an array of processing units with common control, e.g. single instruction multiple data processors (G06F15/82 takes precedence {; for correlation function computation G06F17/15}) · 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 US10656951B2 cover?
A processing element is implemented in a stage of a pipeline and configured to execute an instruction. A first array of multiplexers is to provide information associated with the instruction to the processing element in response to the instruction being in a first set of instructions. A second array of multiplexers is to provide information associated with the instruction to the first processin…
Who is the assignee on this patent?
Advanced Micro Devices Inc, Advanced Micro Devices Shanghai Co Ltd
What technology area does this patent fall under?
Primary CPC classification G06F9/30145. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue May 19 2020 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 1 related publication on this page (citations in our corpus or others sharing the same primary CPC).