Memory fragments for supporting code block execution by using virtual cores instantiated by partitionable engines

US10564975B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10564975-B2
Application numberUS-201815884280-A
CountryUS
Kind codeB2
Filing dateJan 30, 2018
Priority dateMar 25, 2011
Publication dateFeb 18, 2020
Grant dateFeb 18, 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 global front end scheduler to schedule instruction sequences to a plurality of virtual cores implemented via a plurality of partitionable engines. The global front end scheduler includes a thread allocation array to store a set of allocation thread pointers to point to a set of buckets in a bucket buffer in which execution blocks for respective threads are placed, a bucket buffer to provide a matrix of buckets, the bucket buffer including storage for the execution blocks, and a bucket retirement array to store a set of retirement thread pointers that track a next execution block to retire for a thread.

First claim

Opening claim text (preview).

What is claimed is: 1. A method of a scheduler of a global front end schedule for scheduling instructions to a plurality of virtual cores of a processor, the method comprising: fetching a thread and block of instructions to schedule; generating a thread and bucket inheritance vector for the thread and block of instructions, the thread and bucket inheritance vector to track a set of registers that the block of instructions write into; and forwarding the thread and bucket inheritance vector to one of the plurality of virtual cores for processing. 2. The method of claim 1 , wherein fetching the thread and block of instructions to schedule loads a header of the thread and a header of the block of instructions to generate the thread and bucket inheritance vector without loading the instructions in the block of instructions. 3. The method of claim 1 , further comprising: loading instructions of the block of instructions at a local front end scheduler of the one of the plurality of virtual cores. 4. The method of claim 1 , wherein the thread and block of instructions to schedule includes a header with a bit vector of destination registers for the block of instructions. 5. The method of claim 1 , further comprising allocating a new thread to a virtual core; and updating the inheritance vector for the new thread. 6. The method of claim 5 , wherein updating the inheritance vector changes fields written to by the new thread and does not alter fields the new thread does not write to. 7. The method of claim 1 , further comprising: determining a control path change by a global branch predictor; and adding branching destinations in a header for the thread and block of instructions. 8. A system for processing blocks of instructions, the system comprising: a set of processing resources that are partitionable into a set of virtual cores; and a processing pipeline coupled to the set of processing resources, the processing pipeline including a global front end scheduler to fetch a thread and block of instructions to schedule, to generate a thread and bucket inheritance vector for the thread and block of instructions, the thread and bucket inheritance vector to track a set of registers that the block of instructions write into, and to forward the thread and bucket inheritance vector to one of the set of virtual cores for processing. 9. The system of claim 8 , wherein the global front end scheduler is further to fetch a header of the thread and block of instructions to schedule to generate the thread and bucket inheritance vector without loading the instructions in the block of instructions. 10. The system of claim 8 , wherein the set of processing resources are to load instructions of the block of instructions at a local front end scheduler of the one of the set of virtual cores. 11. The system of claim 8 , wherein the thread and block of instructions to schedule includes a header with a bit vector of destination registers for the block of instructions. 12. The system of claim 8 , wherein the global front end scheduler is to allocate a new thread to a virtual core, and update the inheritance vector for the new thread. 13. The system of claim 12 , wherein updating the inheritance vector changes fields written to by the new thread and does not alter fields the new thread does not write to. 14. The system of claim 12 , wherein the global front end scheduler further comprises: a global branch predictor to determine a control path change, and to add branching destinations in a header for the thread and block of instructions.

Assignees

Inventors

Classifications

  • G06F9/3836Primary

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

  • Organisation of register space, e.g. banked or distributed register file · CPC title

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

  • Implementation provisions of register files, e.g. ports · CPC title

  • the resource being a machine, e.g. CPUs, Servers, Terminals · 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 US10564975B2 cover?
A global front end scheduler to schedule instruction sequences to a plurality of virtual cores implemented via a plurality of partitionable engines. The global front end scheduler includes a thread allocation array to store a set of allocation thread pointers to point to a set of buckets in a bucket buffer in which execution blocks for respective threads are placed, a bucket buffer to provide a…
Who is the assignee on this patent?
Intel Corp
What technology area does this patent fall under?
Primary CPC classification G06F9/3836. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Feb 18 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 12 related publications on this page (citations in our corpus or others sharing the same primary CPC).