Apparatuses, methods, and systems for instructions to request a history reset of a processor core

US11436018B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11436018-B2
Application numberUS-202017124813-A
CountryUS
Kind codeB2
Filing dateDec 17, 2020
Priority dateJan 31, 2020
Publication dateSep 6, 2022
Grant dateSep 6, 2022

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.

Systems, methods, and apparatuses relating to instructions to reset software thread runtime property histories in a hardware processor are described. In one embodiment, a hardware processor includes a hardware guide scheduler comprising a plurality of software thread runtime property histories; a decoder to decode a single instruction into a decoded single instruction, the single instruction having a field that identifies a model-specific register; and an execution circuit to execute the decoded single instruction to check that an enable bit of the model-specific register is set, and when the enable bit is set, to reset the plurality of software thread runtime property histories of the hardware guide scheduler.

First claim

Opening claim text (preview).

What is claimed is: 1. A hardware processor comprising: a hardware guide scheduler comprising a plurality of software thread runtime property histories; a decoder to decode a single instruction into a decoded single instruction, the single instruction having a field that identifies a control register; and an execution circuit to execute the decoded single instruction to: check that an enable bit of the control register is set, and when the enable bit is set, reset the plurality of software thread runtime property histories of the hardware guide scheduler. 2. The hardware processor of claim 1 , wherein, when the enable bit is set, the execution circuit is to execute the decoded single instruction to reset the plurality of software thread runtime property histories of the hardware guide scheduler without modifying other architectural state of the hardware processor. 3. The hardware processor of claim 1 , wherein an opcode of the single instruction is a legacy opcode, and when the enable bit is not set, the execution circuit is to execute the decoded single instruction as a no-operation. 4. The hardware processor of claim 1 , wherein, when the enable bit is set, the execution circuit is to execute the decoded single instruction to reset the plurality of software thread runtime property histories of the hardware guide scheduler only when the single instruction is requested for execution by an operating system. 5. The hardware processor of claim 1 , wherein the plurality of software thread runtime property histories comprises a plurality of weights for respective classes of performance monitoring events for a plurality of cores of the hardware processor. 6. The hardware processor of claim 5 , wherein the respective classes comprise a first class for a first type of core and a second class for a second, higher performance core. 7. The hardware processor of claim 5 , wherein the respective classes comprise a first class for an integer type of vector instruction and a second class for a floating-point type of vector instruction. 8. The hardware processor of claim 1 , wherein the hardware guide scheduler is to store a hint for a next software thread that is to be executed on the hardware processor, in a register of the hardware processor to indicate to an operating system a core type of a plurality of cores types of the hardware processor, and the hint is based on the plurality of software thread runtime property histories. 9. A method comprising: generating a plurality of software thread runtime property histories with a hardware guide scheduler of a hardware processor; decoding a single instruction into a decoded single instruction with a decoder of the hardware processor, the single instruction having a field that identifies a control register; and executing the decoded single instruction with an execution circuit of the hardware processor to: check that an enable bit of the control register is set, and when the enable bit is set, reset the plurality of software thread runtime property histories of the hardware guide scheduler. 10. The method of claim 9 , wherein, when the enable bit is set, the executing the decoded single instruction resets the plurality of software thread runtime property histories of the hardware guide scheduler without modifying other architectural state of the hardware processor. 11. The method of claim 9 , wherein an opcode of the single instruction is a legacy opcode, and when the enable bit is not set, the execution circuit executes the decoded single instruction as a no-operation. 12. The method of claim 9 , wherein, when the enable bit is set, the executing the decoded single instruction resets the plurality of software thread runtime property histories of the hardware guide scheduler only when the single instruction is requested for execution by an operating system. 13. The method of claim 9 , wherein the plurality of software thread runtime property histories comprises a plurality of weights for respective classes of performance monitoring events for a plurality of cores of the hardware processor. 14. The method of claim 13 , wherein the respective classes comprise a first class for a first type of core and a second class for a second, higher performance core. 15. The method of claim 13 , wherein the respective classes comprise a first class for an integer type of vector instruction and a second class for a floating-point type of vector instruction. 16. The method of claim 9 , further comprising storing a hint, by the hardware guide scheduler, for a next software thread that is to be executed on the hardware processor, in a register of the hardware processor to indicate to an operating system a core type of a plurality of cores types of the hardware processor, and the hint is based on the plurality of software thread runtime property histories. 17. A non-transitory machine readable medium that stores code that when executed by a machine causes the machine to perform a method comprising: decoding a single instruction into a decoded single instruction with a decoder of a hardware processor, the single instruction having a field that identifies a control register; and executing the decoded single instruction with an execution circuit of the hardware processor to: check that an enable bit of the control register is set, and when the enable bit is set, reset a plurality of software thread runtime property histories of a hardware guide scheduler of the hardware processor. 18. The non-transitory machine readable medium of claim 17 , wherein, when the enable bit is set, the executing the decoded single instruction resets the plurality of software thread runtime property histories of the hardware guide scheduler without modifying other architectural state of the hardware processor. 19. The non-transitory machine readable medium of claim 17 , wherein an opcode of the single instruction is a legacy opcode, and when the enable bit is not set, the execution circuit executes the decoded single instruction as a no-operation. 20. The non-transitory machine readable medium of claim 17 , wherein, when the enable bit is set, the executing the decoded single instruction resets the plurality of software thread runtime property histories of the hardware guide scheduler only when the single instruction is requested for execution by an operating system. 21. The non-transitory machine readable medium of claim 17 , wherein the plurality of software thread runtime property histories comprises a plurality of weights for respective classes of performance monitoring events for a plurality of cores of the hardware processor. 22. The non-transitory machine readable medium of claim 21 , wherein the respective classes comprise a first class for a first type of core and a second class for a second, higher performance core. 23. The non-transitory machine readable medium of claim 21 , wherein the respective classes comprise a first class for an integer type of vector instruction and a second class for a floating-point type of vector instruction. 24. The non-transitory machine readable medium of claim 17 , wherein the method further comprises storing a hint, by the hardware guide scheduler, for a next software thread that is to be executed on the hardware processor, in a register of the hardware processor to indicate to an operating system a core type of a plurality of cores types of the hardware processor, and the hint is based on the plurali

Assignees

Inventors

Classifications

  • to perform miscellaneous control operations, e.g. NOP · CPC title

  • G06F9/3844Primary

    using dynamic branch prediction, e.g. using branch history tables · CPC title

  • Special purpose registers · CPC title

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

  • G06F9/3851Primary

    from multiple instruction streams, e.g. multistreaming · 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 US11436018B2 cover?
Systems, methods, and apparatuses relating to instructions to reset software thread runtime property histories in a hardware processor are described. In one embodiment, a hardware processor includes a hardware guide scheduler comprising a plurality of software thread runtime property histories; a decoder to decode a single instruction into a decoded single instruction, the single instruction ha…
Who is the assignee on this patent?
Intel Corp
What technology area does this patent fall under?
Primary CPC classification G06F9/3844. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Sep 06 2022 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 9 related publications on this page (citations in our corpus or others sharing the same primary CPC).