Page faulting and selective preemption

US12131402B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-12131402-B2
Application numberUS-202217749275-A
CountryUS
Kind codeB2
Filing dateMay 20, 2022
Priority dateApr 9, 2017
Publication dateOct 29, 2024
Grant dateOct 29, 2024

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.

One embodiment provides a graphics processor comprising a system interface and circuitry coupled with the system interface. The circuitry includes an execution resource and a preemption status register. The execution resource is configured to execute an instruction. During execution of the instruction, the execution resource is to receive a request to preempt execution of a thread associated with the instruction and, based on a value stored in the preemption status register, execute at least one additional instruction after receipt of the request to preempt execution of the thread.

First claim

Opening claim text (preview).

What is claimed is: 1. A graphics processor comprising: a system interface; and circuitry coupled with the system interface, the circuitry including an execution resource and a preemption status register, wherein the execution resource is configured to execute an instruction and during execution of the instruction, the execution resource is to: receive a request to preempt execution of a thread associated with the instruction; and based on a value stored in the preemption status register, execute at least one additional instruction after receipt of the request to preempt execution of the thread, wherein the preemption status register is to store a preemption hint including a multi-bit value that encodes an indication of an amount of register file space in use and a pending change in the amount of register file space in use. 2. The graphics processor as in claim 1 , wherein the circuitry includes a decode unit to: decode the instruction and metadata associated with the instruction; and set a value of the preemption status register based at least in part on the metadata. 3. The graphics processor as in claim 1 , wherein the preemption status register is configured to store a value that indicates whether preemption for the thread is enabled or disabled. 4. The graphics processor as in claim 3 , wherein the circuitry, in response to the request to preempt execution of the thread associated with the instruction, is to: determine, based on the preemption status register, that preemption for the thread is disabled; and execute the at least one additional instruction. 5. The graphics processor as in claim 3 , wherein the circuitry, in response to the request to preempt execution of the thread associated with the instruction, is to: determine, based on the preemption status register, that preemption for the thread is enabled; and preempt execution of the thread upon completion of execution of the at least one additional instruction. 6. The graphics processor as in claim 1 , wherein the execution resource has a single instruction multiple thread (SIMT) architecture. 7. The graphics processor as in claim 1 , wherein the preemption hint is to indicate that execution of the at least one additional instruction will cause a reduction of a size of a context save state. 8. A method comprising: on a graphics processor having circuitry including an execution resource and a preemption status register: executing an instruction via the execution resource; receiving a request to preempt execution of a thread associated with an instruction; and based on a value stored in the preemption status register, executing at least one additional instruction after receipt of the request to preempt execution of the thread, wherein the preemption status register is to store a preemption hint including a multi-bit value encoding an indication of an amount of register file space in use and a pending change in the amount of register file space in use. 9. The method as in claim 8 , further comprising: decoding the instruction and metadata associated with the instruction; and setting a value of the preemption status register based at least in part on the metadata. 10. The method as in claim 8 , wherein the value of the preemption status register indicates whether preemption for the thread is enabled or disabled. 11. The method as in claim 10 , further comprising: in response to the request to preempt execution of the thread associated with the instruction: determining, based on the preemption status register, that preemption for the thread is disabled; and executing the at least one additional instruction. 12. The method as in claim 11 , wherein the circuitry, in response to the request to preempt execution of the thread associated with the instruction, is to: determine, based on the preemption status register, that preemption for the thread is enabled; and preempt execution of the thread upon completion of execution of the at least one additional instruction. 13. The method as in claim 8 , wherein the execution resource has a single instruction multiple thread (SIMT) architecture. 14. The method as in claim 13 , wherein the preemption hint is to indicate that execution of the at least one additional instruction will cause a reduction of a size of a context save state. 15. A data processing system comprising: a memory device configured to store an instruction; and a graphics processor coupled to the memory device, the graphics processor including: circuitry including an execution resource and a preemption status register, wherein the execution resource is configured to execute the instruction and during execution of the instruction, the execution resource is to: receive a request to preempt execution of a thread associated with the instruction; and based on a value stored in the preemption status register, execute at least one additional instruction after receipt of the request to preempt execution of the thread, wherein the preemption status register is to store a preemption hint including a multi-bit value that encodes an indication of an amount of register file space in use and a pending change in the amount of register file space in use. 16. The data processing system as in claim 15 , wherein the circuitry includes a decode unit to: decode the instruction and metadata associated with the instruction; and set a value of the preemption status register based at least in part on the metadata. 17. The data processing system as in claim 15 , wherein the preemption status register is configured to store a value that indicates whether preemption for the thread is enabled or disabled. 18. The data processing system as in claim 17 , wherein the circuitry, in response to the request to preempt execution of the thread associated with the instruction, is to: determine, based on the preemption status register, that preemption for the thread is disabled; and execute the at least one additional instruction. 19. The data processing system as in claim 17 , wherein the circuitry, in response to the request to preempt execution of the thread associated with the instruction, is to: determine, based on the preemption status register, that preemption for the thread is enabled; and preempt execution of the thread upon completion of execution of the at least one additional instruction. 20. The data processing system as in claim 15 , wherein the preemption hint is to indicate that execution of the at least one additional instruction will cause a reduction of a size of a context save state.

Assignees

Inventors

Classifications

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

  • Saving or restoring of program or task context · CPC title

  • according to one or more bits in the instruction, e.g. prefix, sub-opcode · CPC title

  • Thread control instructions · CPC title

  • controlled by a single instruction for multiple threads [SIMT] in parallel · 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 US12131402B2 cover?
One embodiment provides a graphics processor comprising a system interface and circuitry coupled with the system interface. The circuitry includes an execution resource and a preemption status register. The execution resource is configured to execute an instruction. During execution of the instruction, the execution resource is to receive a request to preempt execution of a thread associated wi…
Who is the assignee on this patent?
Intel Corp
What technology area does this patent fall under?
Primary CPC classification G06T1/20. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Oct 29 2024 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 5 related publications on this page (citations in our corpus or others sharing the same primary CPC).