Method and apparatus for reconfigurable thread scheduling unit
First Claim
1. A method for thread scheduling to run in parallel with a main processor, comprising the steps of:
- obtaining parameter values for a plurality of different threads;
performing logic functions, in parallel with, but without interrupting the main processor, on said parameter values to determine if thread scheduling should be reconfigured, and if so, which thread should be enabled; and
sending an interrupt signal to interrupt the main processor if thread scheduling is to be reconfigured.
2 Assignments
0 Petitions
Accused Products
Abstract
A method and system for thread scheduling to run in parallel with a main processor, comprising: obtaining parameter values for a plurality of different threads; performing logic functions, in parallel with, but without interrupting the main processor, on said parameter values to determine if thread scheduling should be reconfigured, and if so, which thread should be enabled; and sending an interrupt signal to interrupt the main processor if thread scheduling is to be reconfigured. The parameters may be obtained by monitoring the values from thread processes held in registers with fixed addresses, or by snooping memory traffic for selected parameters. The logic functions, in a preferred embodiment, may be implemented using reconfigurable hardware logic.
-
Citations
23 Claims
-
1. A method for thread scheduling to run in parallel with a main processor, comprising the steps of:
-
obtaining parameter values for a plurality of different threads;
performing logic functions, in parallel with, but without interrupting the main processor, on said parameter values to determine if thread scheduling should be reconfigured, and if so, which thread should be enabled; and
sending an interrupt signal to interrupt the main processor if thread scheduling is to be reconfigured. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19)
-
-
20. A system for processing, including a parallel hardware thread scheduler, comprising:
-
a main processor;
a plurality of memory mapped registers, each of said registers holding a different thread parameter;
reconfigurable hardware logic connected to receive a substantial plurality of outputs from said registers in parallel and to perform logic functions substantially simultaneously thereon, in parallel with, but without interrupting the main processor, to determine if thread scheduling should be reconfigured, and if so, determining which thread should be enabled; and
a circuit for sending an interrupt signal to interrupt the main processor if thread scheduling is to be reconfigured.
-
-
21. A system for processing, including a parallel hardware thread scheduler, comprising:
-
a main processor;
a hardware snooping logic detecting from memory traffic selected addresses for parameter values for a plurality of different threads, including a set of registers for holding local copies of said parameter values with said selected addresses, and logic for updating one of said local copies when the address therefor has been detected;
reconfigurable hardware logic connected to receive a substantial plurality of outputs from said registers in parallel and to perform logic functions substantially simultaneously thereon, in parallel with, but without interrupting the main processor, to determine if thread scheduling should be reconfigured, and if so, determining which thread should be enabled; and
a circuit for sending an interrupt signal to interrupt the main processor if thread scheduling is to be reconfigured.
-
-
22. A system for thread scheduling to run in parallel with a main processor, comprising:
-
a first component for obtaining parameter values for a plurality of different threads;
a second component for performing logic functions, in parallel with, but without interrupting the main processor, on said parameter values to determine if thread scheduling on the main processor should be reconfigured, and if so, which thread should be enabled; and
a third component for sending an interrupt signal to interrupt the main processor if thread scheduling is to be reconfigured.
-
-
23. A system for thread scheduling to run in parallel with a main processor, comprising:
-
reconfigurable hardware for obtaining parameter values for a plurality of different threads;
logic for performing first logic functions, in parallel with, but without interrupting the main processor, on said parameter values to determine if thread scheduling on the main processor should be reconfigured and which thread should be enabled; and
logic for triggering a second process to run after the first process to perform second logic functions to determine which thread should be enabled when at least one second parameter is updated during a period when the first process is running.
-
Specification