Integrated circuit processor and method of operating the integrated circuit processor in different modes of differing thread counts

US10732976B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10732976-B2
Application numberUS-201314655122-A
CountryUS
Kind codeB2
Filing dateJan 10, 2013
Priority dateJan 10, 2013
Publication dateAug 4, 2020
Grant dateAug 4, 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 processor includes an instruction pipeline. The pipeline can be operated alternatively in a multi-thread mode and in a single-thread mode. In the multi-thread mode, the instruction pipeline processes multiple threads in an interleaved or simultaneous manner. In the single-thread mode, the pipeline processes a single thread. The instruction pipeline comprises multiple functional units, each of which is reserved for one thread among the multiple threads when the pipeline is in the multi-thread mode and reserved for one context layer among multiple context layers when the instruction pipeline is in the single-thread mode.

First claim

Opening claim text (preview).

The invention claimed is: 1. A integrated circuit processor comprising an instruction pipeline operable alternatively in a multi-thread mode and in a single-thread mode; wherein said instruction pipeline, when in said multi-thread mode, is arranged to process multiple threads, and when in said single-thread mode is arranged to process a single thread; said instruction pipeline comprising multiple register sets including a first register set and a second register set, each of said multiple register sets reserved for one thread among said multiple threads when said pipeline is in said multi-thread mode, and each of said multiple register sets is capable of being used for a corresponding context layer when said instruction pipeline is in said single-thread mode, wherein, in said single-thread mode, said multiple register sets enable a context switch from a first context layer in the first register set executed during a first particular time range of the execution of the single thread to a second context layer in the second register set executed during a second particular time range of the execution of the single thread, in which the first register set stores data associated with the first context layer which includes state information for restoring an interrupted process, wherein the integrated circuit processor further comprises a control register which is accessed in single-thread mode and has a first binary variable which indicates that the single thread may use a register set of the multiple register sets corresponding to a disabled thread of the multiple threads for the second context layer upon the context switch, and a second binary variable which identifies the second register set to be used for the second context layer upon the context switch in the single thread wherein the second binary variable of the control register identifies the second register set during execution of the first context layer, prior to the context switch to the second context layer. 2. The integrated circuit processor of claim 1 , each of said multiple register sets comprising a set of registers. 3. The integrated circuit processor of claim 1 , wherein when said pipeline is in said single-thread mode, each of said multiple register sets stores data associated with the corresponding context layer of the multiple context layers. 4. The integrated circuit processor of claim 3 , wherein said data associated with the corresponding context layer of the multiple context layers includes state information for restoring an interrupted process. 5. The integrated circuit of claim 1 , further comprising a mode selection unit for selecting an active mode among said multi-thread mode and said single-thread mode. 6. The integrated circuit processor of claim 1 , wherein said instruction pipeline is implemented in a single core of said integrated circuit processor. 7. The integrated circuit processor of claim 1 , wherein said instruction pipeline is capable of containing instructions from different threads when in said multi-thread mode. 8. The integrated circuit processor of claim 1 , wherein said instruction pipeline is arranged to contain instructions from only one thread when in said single-thread mode. 9. The integrated circuit processor of claim 1 , wherein said instruction pipeline is arranged to be flushed in response to a context change. 10. The integrated circuit processor of claim 1 , wherein said instruction pipeline is arranged to process multiple threads in an interleaved or simultaneous manner when in said multi-thread mode. 11. A method of operating an integrated circuit processor comprising an instruction pipeline, said method comprising: operating said instruction pipeline alternatively in a multi-thread mode and in a single-thread mode; when said instruction pipeline, is operating in said multi-thread mode, processing multiple threads in an interleaved or simultaneous manner; when said instruction pipeline is operating in said single-thread mode, processing a single thread having multiple context layers, wherein said instruction pipeline comprises multiple register sets including a first register set and a second register set, wherein each of said multiple register sets is reserved for one thread among said multiple threads when said pipeline is in said multi-thread mode, and each of said multiple register sets is capable of being used for a different context layer among said multiple context layers when said instruction pipeline is in said single-thread mode; and storing, in a first control register, a first binary variable which indicates that the single thread may use a register set of the multiple register sets corresponding to a disabled thread of the multiple threads for the second context layer upon the rapid context switch, and a second binary variable which identifies the second register set to be used for the second context layer upon the rapid context switch in the single thread; performing a context switch in said single-thread mode from a first context layer in the first register set executed during a first particular time range of the execution of the single thread to a second context layer in the second register set executed during a second particular time range of the execution of the single thread, in which the first register set stores data associated with the first context layer which includes state information for restoring an interrupted process, wherein performing the context switch comprises accessing the first control register, wherein the storing occurs prior to performing the context switch such that the second binary variable of the control register identifies the second register set during execution of the first context layer, prior to the context switch to the second context layer. 12. The method of claim 11 , wherein when said instruction pipeline is operating in said multi-threaded mode, the method further comprises processing multiple threads using time multiplexing. 13. The method of claim 11 , wherein said instruction pipeline is arranged to contain instructions from only one thread when in the single-thread mode. 14. The method of claim 11 , wherein said instruction pipeline is arranged to process multiple threads simultaneously.

Assignees

Inventors

Classifications

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

  • according to execution mode, e.g. mode flag · CPC title

  • with multiple register sets · CPC title

  • organised in groups of units sharing resources, e.g. clusters · CPC title

  • Program initiating; Program switching, e.g. by interrupt · 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 US10732976B2 cover?
A processor includes an instruction pipeline. The pipeline can be operated alternatively in a multi-thread mode and in a single-thread mode. In the multi-thread mode, the instruction pipeline processes multiple threads in an interleaved or simultaneous manner. In the single-thread mode, the pipeline processes a single thread. The instruction pipeline comprises multiple functional units, each of…
Who is the assignee on this patent?
Robertson Alistair, Scott Jeffrey W, Nxp Usa Inc
What technology area does this patent fall under?
Primary CPC classification G06F9/30189. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Aug 04 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).