Mechanism for instruction set based thread execution on a plurality of instruction sequencers

US10452403B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10452403-B2
Application numberUS-201514866875-A
CountryUS
Kind codeB2
Filing dateSep 26, 2015
Priority dateJun 30, 2005
Publication dateOct 22, 2019
Grant dateOct 22, 2019

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.

In an embodiment, a method is provided. The method includes managing user-level threads on a first instruction sequencer in response to executing user-level instructions on a second instruction sequencer that is under control of an application level program. A first user-level thread is run on the second instruction sequencer and contains one or more user level instructions. A first user level instruction has at least 1) a field that makes reference to one or more instruction sequencers or 2) implicitly references with a pointer to code that specifically addresses one or more instruction sequencers when the code is executed.

First claim

Opening claim text (preview).

We claim: 1. A processor comprising: a plurality of simultaneous multithreading (SMT) cores to simultaneously execute a plurality of threads; and a first core of the plurality of SMT cores comprising: a first set of instruction processing resources to execute a first thread; a second set of instruction processing resources to execute a second thread; and thread management hardware to: in response to the first set of processing resources encountering a resource-not available event during execution of the first thread, migrate the first thread in its entirety from the first set of instruction processing resources to the second set of instruction processing resources to execute based on characteristics of one or more instructions to be executed, wherein the characteristics of one or more instructions make the second set of instruction processing resources execute the first thread more efficiently due to availability of one or more functional units that are for floating-point operations and that are within the second set of instruction processing resources, and wherein the migration from the first set of instruction processing resources to the second set of instruction processing resources is performed automatically without intervention from an operating system; and in response to completion of execution of the first thread by the second set of instruction processing resources using the functional units that are for floating-point operations, transfer back the first thread to the first set of instruction processing resources. 2. The processor as in claim 1 further comprising: a set of registers for storing data for the first and second threads. 3. The processor as in claim 1 , further comprising: an instruction fetch logic to fetch the one or more instructions. 4. The processor as in claim 1 , wherein the first and second sets of instruction processing resources are to be identified by identifiers (IDs). 5. The processor as in claim 1 , wherein the one or more instructions specifies a condition or an event to cause the migration. 6. The processor as in claim 5 , wherein the condition or the event is one or more of a trap, a page fault, and a system call. 7. The processor as in claim 1 , wherein the first set of instruction processing resources is operating system sequestered. 8. The processor as in claim 1 , wherein the one or more instructions include a control transfer instruction. 9. A system comprising: a memory to store an operating system; and a processor coupled to the memory, the processor comprising: a plurality of simultaneous multithreading (SMT) cores to simultaneously execute a plurality of threads; and a first core of the plurality of SMT cores comprising: a first set of instruction processing resources to execute a first thread; a second set of instruction processing resources to execute a second thread; and thread management hardware to: in response to the first set of processing resources encountering a resource-not available event during execution of the first thread, migrate the first thread in its entirety from the first set of instruction processing resources to the second set of instruction processing resources to execute based on characteristics of one or more instructions to be executed, wherein the characteristics of one or more instructions make the second set of instruction processing resources execute the first thread more efficiently due to availability of one or more functional units that are for floating-point operations and that are within the second set of instruction processing resources, and wherein the migration from the first set of instruction processing resources to the second set of instruction processing resources is performed automatically without intervention from an operating system; and in response to completion of execution of the first thread by the second set of instruction processing resources using the functional units that are for floating-point operations, transfer back the first thread to the first set of instruction processing resources. 10. The system as in claim 9 , wherein the processor further comprises: a set of registers for storing data for the first and second threads. 11. The system as in claim 9 , wherein the processor further comprises: an instruction fetch logic to fetch the one or more instructions. 12. The system as in claim 9 , wherein each the first and second sets of instruction processing resources are to be identified by identifiers (IDs). 13. The system as in claim 9 , wherein the one or more instructions specifies a condition or an event to cause the migration. 14. The system as in claim 13 , wherein the condition or the event is one or more of a trap, a page fault, and a system call. 15. The system as in claim 9 , wherein the first set of instruction processing resources is operating system sequestered. 16. The system as in claim 9 , wherein the one or more instructions include a control transfer instruction.

Assignees

Inventors

Classifications

  • G06F9/3867Primary

    using instruction pipelines · CPC title

  • by program, e.g. task dispatcher, supervisor, operating system · CPC title

  • Thread control instructions · CPC title

  • Runtime instruction translation, e.g. macros · CPC title

  • LOAD or STORE instructions; Clear instruction · 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 US10452403B2 cover?
In an embodiment, a method is provided. The method includes managing user-level threads on a first instruction sequencer in response to executing user-level instructions on a second instruction sequencer that is under control of an application level program. A first user-level thread is run on the second instruction sequencer and contains one or more user level instructions. A first user level …
Who is the assignee on this patent?
Intel Corp
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 Oct 22 2019 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 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).