Virtual mode execution manager
US-12118376-B2 · Oct 15, 2024 · US
US9870255B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-9870255-B2 |
| Application number | US-201213557211-A |
| Country | US |
| Kind code | B2 |
| Filing date | Jul 25, 2012 |
| Priority date | Jul 29, 2011 |
| Publication date | Jan 16, 2018 |
| Grant date | Jan 16, 2018 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
Provided is a hardware accelerator, central processing unit, and computing device. A hardware accelerator includes a task accelerating unit configured to, in response to a request for a new task issued by a hardware thread, accelerate the processing of the new task and produce a processing result for the task; a task time prediction unit configured to predict the total waiting time of the new task for returning to a specified address associated with the hardware thread. One aspect of this disclosure makes the hardware thread aware of the time to be waited for before getting a processing result, facilitating its task planning accordingly.
Opening claim text (preview).
What is claimed is: 1. A hardware accelerator, comprising: a task accelerating unit configured to, in response to a request for a new task issued by a hardware thread, accelerate processing of the new task and produce a processing result for the task; and a task time prediction unit configured to predict total waiting time of the new task for returning to a specified address associated with the hardware thread based upon a sum of time required by the hardware accelerator to complete execution of the new task itself and time required by the hardware accelerator to complete those tasks that have not been completed therein when the new task is received; and wherein the request issued to the hardware accelerator from the hardware thread comprises an address of an inner register of the hardware thread for specifying the specified address associated with the hardware thread to which the total waiting time of the new task will be returned by the hardware accelerator. 2. The hardware accelerator of claim 1 , wherein the task time prediction unit comprises: a task model engine configured to in response to reception of the new task, evaluate task execution time for the new task based on a task model; and an accumulator, in which time required to complete all tasks that have not yet been completed in the task accelerating unit is stored as an accumulation result, and which accumulates the task execution time evaluated by the task model engine to the accumulation result for notifying the hardware thread of the newly accumulated result as total waiting time of the new task, and subtracts the corresponding task execution time from the accumulation result stored in the accumulator after the completion of a task. 3. The hardware accelerator of claim 1 , wherein the task time prediction unit comprises: a task model engine configured to evaluate a task execution time for the new task based on a task model; and a task framer, in which time required to complete all tasks that have not yet been completed in the task accelerating unit is stored as an accumulation result, and which, in response to receiving the new task, appends a field of task execution time for the new task evaluated by the task module engine to the new task before putting it into a queue within the task accelerating unit, accumulates the task execution time within the task execution time field to the accumulation result stored in the task framer, so as to notify the hardware thread of the newly accumulated result as the total waiting time of the new task, and then subtracting the task execution time within a corresponding task execution time field from the accumulation result stored in the task framer after the completion of a task. 4. The hardware accelerator of claim 1 , wherein the task time prediction unit comprises: an import detector configured to detect the new task imported into the queue within the task accelerating unit; a task model engine configured to, in response to the new task being detected by the import detector, evaluate a task execution time for the new task based on a task model; and a calculation writer, in which time required to complete all tasks that have not yet been completed in the task accelerating unit is stored as an accumulation result, and which, based on the task execution time evaluated by the task model engine, appends a field of task execution time for the new task to the new task, accumulates the task execution time within the task execution time field to the accumulation result stored in the calculation writer, so as to notify the hardware thread of the newly accumulated result as the total waiting time of the new task, and subtracts the task execution time within a corresponding task execution time field from the accumulation result stored in the calculation writer after the completion of a task. 5. The hardware accelerator of claim 1 , wherein the specified address associated with the hardware thread is an inner and predetermined address of the hardware thread. 6. The hardware accelerator of claim 1 , wherein the specified address associated with the hardware thread is a memory address outside of the hardware thread. 7. The hardware accelerator of claim 1 , wherein the task model engine evaluates the task execution time for the new task based on one or more of the following items: processing frequency, input data size, and average cache hit ratio. 8. The hardware accelerator of claim 1 , wherein the total waiting time of the new task is sent to the task model engine for adjusting the task model. 9. The hardware accelerator of claim 1 , further comprising a storage unit configured to store the total waiting time of the new task at a register of the hardware thread. 10. A central processing unit, comprising: a hardware thread; a task accelerating unit configured to, in response to a request for a new task issued by the hardware thread, accelerate processing of the new task and produce a processing result for the task, the task accelerating unit configured to offload and execute the new task to a hardware accelerator, the hardware accelerator shared by multiple hardware threads, the hardware accelerator including a processing speed higher than that of the hardware threads; and a task time prediction unit configured to predict total waiting time of the new task for returning to a specified address associated with the hardware thread based upon a sum of time required by the hardware accelerator to complete execution of the new task itself and time required by the hardware accelerator to complete those tasks that have not been completed therein when the new task is received; and wherein the request issued to the hardware accelerator from the hardware thread comprises an address of an inner register of the hardware thread for specifying the specified address associated with the hardware thread to which the total waiting time of the new task will be returned by the hardware accelerator. 11. The central processing unit of claim 10 , wherein the task time prediction unit comprises: a task model engine configured to in response to reception of the new task, evaluate task execution time for the new task based on a task model; and an accumulator, in which time required to complete all tasks that have not yet been completed in the task accelerating unit is stored as an accumulation result, and which accumulates the task execution time evaluated by the task model engine to the accumulation result for notifying the hardware thread of the newly accumulated result as total waiting time of the new task, and subtracts the corresponding task execution time from the accumulation result stored in the accumulator after the completion of a task. 12. The central processing unit of claim 10 , wherein the task time prediction unit comprises: a task model engine configured to evaluate a task execution time for the new task based on a task model; and a task framer, in which time required to complete all tasks that have not yet been completed in the task accelerating unit is stored as an accumulation result, and which, in response to receiving the new task, appends a field of task execution time for the new task evaluated by the task module engine to the new task before putting it into a queue within the task accelerating unit, accumulates the task execution time within the task execution time field to the accumulation result stored in the task framer, so as to notify the hardware thread of the newly accumulated result as the total waiting time of the new task, and then subtracting the task execution time within a corresponding task execution time field from the accumulation result stored in the task framer afte
Interprogram communication · CPC title
by program, e.g. task dispatcher, supervisor, operating system · CPC title
Offload · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.