Configuring a component of a processor core based on an attribute of an operating system process

US2023333861A1 · US · A1

Patent metadata
FieldValue
Publication numberUS-2023333861-A1
Application numberUS-202318191074-A
CountryUS
Kind codeA1
Filing dateMar 28, 2023
Priority dateApr 15, 2022
Publication dateOct 19, 2023
Grant date

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 first operating system process may be identified. The first operating system process may have instructions configured to be executed by a processor core. A first set of parameters may be determined based on an attribute of the first operating system process. For example, the first set of parameters may be determined based on an address space identifier, an address space stored in a page table base register, a virtual machine identifier, or a combination thereof. A component of the processor core may be configured using the first set of parameters. For example, one or more components, such as a branch predictor, a prefetcher, a dispatch unit, a vector unit, a clock controller, and the like, may be configured using the first set of parameters.

First claim

Opening claim text (preview).

What is claimed is: 1 . A method comprising: identifying a first operating system process having instructions configured to be executed by a processor core; determining a first set of parameters based on an attribute of the first operating system process; and configuring a component of the processor core using the first set of parameters. 2 . The method of claim 1 , further comprising: caching the first set of parameters in a memory system associated with the processor core. 3 . The method of claim 1 , wherein determining the first set of parameters includes: obtaining a cached set of parameters as the first set of parameters, wherein the attribute is an identifier of the first operating system process. 4 . The method of claim 1 , wherein determining the first set of parameters includes: obtaining a cached set of parameters associated with the first operating system process; obtaining profiling information regarding execution of the first operating system process; and determining the first set of parameters based on the cached set of parameters and the profiling information. 5 . The method of claim 1 , wherein determining the first set of parameters comprises: identifying a change in phase associated with the first operating system process; updating the first set of parameters based on the phase; and configuring the component of the processor core using the updated first set of parameters. 6 . The method of claim 1 , wherein determining the first set of parameters comprises: selecting a model from a plurality of models, wherein the model is selected based on the attribute of the first operating system process; and evaluating the model against a datum stored in a memory system associated with the processor core or a characteristic of the processor core to determine the first set of parameters. 7 . The method of claim 1 , wherein determining the first set of parameters comprises: accessing a model comprising a plurality of parameters, wherein the first set of parameters is selected from the plurality of parameters based on the first operating system process. 8 . The method of claim 1 , the method further comprising: executing a second operating system process, wherein the second operating system process determines the first set of parameters for the first operating system process. 9 . An apparatus comprising: a processor core configured to: identify a first operating system process having instructions configured to be executed by the processor core; determine a first set of parameters based on an attribute of the first operating system process; and configure a component of the processor core using the first set of parameters. 10 . The apparatus of claim 9 , wherein the processor core is configured to determine the first set of parameters by using microcode implemented by the processor core to determine the first set of parameters. 11 . The apparatus of claim 9 , wherein the component is one of a prefetcher, a branch predictor, a dispatch unit, a vector unit, or clock controller. 12 . The apparatus of claim 9 , wherein the attribute is an address space identifier (ASID), and wherein the processor core is configured to: access a table comprising a plurality of parameters, wherein the ASID is used to determine the first set of parameters from the plurality of parameters in the table. 13 . The apparatus of claim 9 , wherein the attribute is an address space stored in a page table base register implemented by the processor core, and wherein the processor core is configured to: access a table comprising a plurality of parameters, wherein the page table base register is used to determine the first set of parameters from the plurality of parameters in the table. 14 . A non-transitory computer readable medium storing instructions operable to cause a processor core to perform operations comprising: identifying a first operating system process having instructions configured to be executed by the processor core; determining a first set of parameters based on an attribute of the first operating system process; and configuring a component of the processor core using the first set of parameters. 15 . The non-transitory computer readable medium storing instructions of claim 14 , the operations further comprising: detecting a context switch from a prior operating system process to the first operating system process, wherein the operations of determining the first set of parameters and configuring the component are performed responsive to the context switch detection. 16 . The non-transitory computer readable medium storing instructions of claim 14 , wherein the attribute is a range of memory addresses, the operations further comprising: detecting the processor core executing to access a memory address within the range of memory addresses. 17 . The non-transitory computer readable medium storing instructions of claim 14 , the operations further comprising: executing the first operating system process in a user mode; and writing the first set of parameters by a second operating system process executed in a privileged mode. 18 . The non-transitory computer readable medium storing instructions of claim 14 , wherein the first operating system process is a hypervisor executing a guest operating system and the attribute of the first operating system process includes a virtual machine identifier (VIVID). 19 . The non-transitory computer readable medium storing instructions of claim 14 , wherein configuring the component comprises configuring a clock signal to control power consumption associated with the component. 20 . The non-transitory computer readable medium storing instructions of claim 14 , wherein configuring the component comprises configuring hardware to implement a redundancy associated with executing the first operating system process.

Assignees

Inventors

Classifications

  • Configuring for program initiating, e.g. using registry, configuration files · CPC title

  • for planning or managing the needed capacity · CPC title

  • for performance assessment · CPC title

  • by executing in a restricted environment, e.g. sandbox or secure virtual machine · CPC title

  • Dynamic detection, i.e. detection performed at run-time, e.g. emulation, suspicious activities · 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 US2023333861A1 cover?
A first operating system process may be identified. The first operating system process may have instructions configured to be executed by a processor core. A first set of parameters may be determined based on an attribute of the first operating system process. For example, the first set of parameters may be determined based on an address space identifier, an address space stored in a page table…
Who is the assignee on this patent?
Sifive Inc
What technology area does this patent fall under?
Primary CPC classification G06F9/44505. Mapped technology areas include Physics.
When was this patent published?
Publication date Thu Oct 19 2023 00:00:00 GMT+0000 (Coordinated Universal Time) (A1). 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).