Computer systems and methods with resource transfer hint instruction
First Claim
1. A processing system, comprising:
- a processor configured to execute a plurality of instructions corresponding to a task, wherein the plurality of instructions comprises a resource transfer instruction to indicate a transfer of processing operations of the task from the processor to a different resource and a hint instruction which precedes the resource transfer instruction by a set of instructions within the plurality of instructions; and
a processor task scheduler, coupled to the processor, configured to schedule tasks to the processor, wherein, in response to execution of the hint instruction of the task, the processor task scheduler finalizes selection of a next task to utilize the processor and loads a context of the selected next task into a background register file of the processor, wherein;
the loading of the context of the selected next task occurs concurrently with execution of the set of instructions between the hint instruction and resource transfer instruction of the task, andafter the loading of the context of the selected next task is completed, the processor switches to the selected task in response to the resource transfer instruction; and
wherein a time required to execute the set of instructions after execution of the hint instruction is predicted to be at least as long as a time required to load the context of the selected new task into the background register file.
22 Assignments
0 Petitions
Accused Products
Abstract
A processing system includes a processor configured to execute a plurality of instructions corresponding to a task, wherein the plurality of instructions comprises a resource transfer instruction to indicate a transfer of processing operations of the task from the processor to a different resource and a hint instruction which precedes the resource transfer instruction by a set of instructions within the plurality of instructions. A processor task scheduler is configured to schedule tasks to the processor, wherein, in response to execution of the hint instruction of the task, the processor task scheduler finalizes selection of a next task and loads a context of the selected next task into a background register file. The loading occurs concurrently with execution of the set of instructions between the hint instruction and resource transfer instruction, and, after loading is completed, the processor switches to the selected task in response to the resource transfer instruction.
-
Citations
18 Claims
-
1. A processing system, comprising:
-
a processor configured to execute a plurality of instructions corresponding to a task, wherein the plurality of instructions comprises a resource transfer instruction to indicate a transfer of processing operations of the task from the processor to a different resource and a hint instruction which precedes the resource transfer instruction by a set of instructions within the plurality of instructions; and a processor task scheduler, coupled to the processor, configured to schedule tasks to the processor, wherein, in response to execution of the hint instruction of the task, the processor task scheduler finalizes selection of a next task to utilize the processor and loads a context of the selected next task into a background register file of the processor, wherein; the loading of the context of the selected next task occurs concurrently with execution of the set of instructions between the hint instruction and resource transfer instruction of the task, and after the loading of the context of the selected next task is completed, the processor switches to the selected task in response to the resource transfer instruction; and wherein a time required to execute the set of instructions after execution of the hint instruction is predicted to be at least as long as a time required to load the context of the selected new task into the background register file. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A method comprising:
-
executing, by a processor, instructions of a corresponding task, wherein the instructions comprise; a resource transfer instruction to indicate a transfer of processing operations of the task from the processor to a different resource; and a hint instruction which precedes the resource transfer instruction by a set of instructions; in response to executing the hint instruction, providing a hint indicator to a task scheduler; in response to the hint indicator, finalizing, by the task scheduler, a selection of a next task to be scheduled; loading a context of the selected next task into a background register file of the processor, wherein the loading of the context of the selected next task is performed by the task scheduler while the processor executes the set of instructions between the hint instruction and the resource transfer instruction; and after the loading the context of the selected next task, switching, by the processor, to the selected next task in response to the resource transfer instruction; and wherein a time required to execute the set of instructions after execution of the hint instruction is predicted to be at least as long as a time required to load the context of the selected new task into the background register file. - View Dependent Claims (10, 11, 12, 13, 14, 15)
-
-
16. A method of inserting a hint instruction into a plurality of instructions executable by a processor corresponding to a task, comprising:
-
identifying a resource transfer instruction within the plurality of instructions, wherein execution of the resource transfer instructions causes a transfer from a current resource to a new resource; identifying a window of instructions preceding the resource transfer instruction whose predicted execution time is within an amount of time required to perform a load of task context information for a context switch; and combining a hint instruction with the window of instructions, wherein the hint instruction, upon execution by the processor, provides an indication that the resource transfer instruction will be executed subsequent to the hint instruction. - View Dependent Claims (17, 18)
-
Specification