Processor instruction set
First Claim
1. A processor comprising:
- an execution unit; and
a thread scheduler configured to schedule a plurality of threads for execution by the execution unit in dependence on a respective runnable status for each thread;
wherein the execution unit is configured to execute thread scheduling instructions which manage said runnable statuses, the thread scheduling instructions including at least;
one or more source event enable instructions each of which sets an event source to a mode in which it generates an event dependent on activity occurring at that source, and a wait instruction which sets one of said runnable statuses to suspended pending one of said events upon which continued execution of the respective thread depends;
wherein said continued execution comprises retrieval of a continuation point vector for the respective thread.
1 Assignment
0 Petitions
Accused Products
Abstract
The invention provides a processor comprising: an execution unit, and a thread scheduler configured to schedule a plurality of threads for execution by the execution unit in dependence on a respective runnable status for each thread. The execution unit is configured to execute thread scheduling instructions which manage the runnable statuses. The thread scheduling instructions including at least: one or more source event enable instructions each of which sets an event source to a mode in which it generates an event dependent on activity occurring at that source, and a wait instruction which sets one of said runnable statuses to suspended pending one of the events upon which continued execution of the respective thread depends. The continued execution comprises retrieval of a continuation point vector for the respective thread.
-
Citations
51 Claims
-
1. A processor comprising:
-
an execution unit; and a thread scheduler configured to schedule a plurality of threads for execution by the execution unit in dependence on a respective runnable status for each thread; wherein the execution unit is configured to execute thread scheduling instructions which manage said runnable statuses, the thread scheduling instructions including at least;
one or more source event enable instructions each of which sets an event source to a mode in which it generates an event dependent on activity occurring at that source, and a wait instruction which sets one of said runnable statuses to suspended pending one of said events upon which continued execution of the respective thread depends;wherein said continued execution comprises retrieval of a continuation point vector for the respective thread. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23)
-
-
24. A method of controlling a thread scheduler to schedule threads for execution by an execution unit within a processor, the method comprising:
-
scheduling a plurality of threads in dependence on a respective status for each thread; and operating the execution unit to execute thread scheduling instructions for managing statuses of threads, said thread scheduling instructions including at least;
one or more source event enable instructions each of which sets an event source to a mode in which it generates an event dependent on activity occurring at that source, and a wait instruction which sets one of said runnable statuses to suspended pending one of said events upon which continued execution of the respective thread dependswherein said continued execution comprises retrieval of a continuation point vector for the respective thread. - View Dependent Claims (25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46)
-
-
47. An execution unit configured to execute thread scheduling instructions which manage statuses of threads, the thread scheduling instructions including at least:
-
one or more source event enable instructions each of which sets an event source to a mode in which it generates an event dependent on activity occurring at that source; and a wait instruction which sets one of said runnable statuses to suspended pending one of said events upon which continued execution of the respective thread depends, wherein said continued execution comprises retrieval of a continuation point vector for the respective thread.
-
-
48. A method of scheduling a plurality of threads for execution by an execution unit, the method comprising:
-
executing thread scheduling instructions for managing statuses of threads, said thread scheduling instructions including at least;
one or more source event enable instructions each of which sets an event source to a mode in which it generates an event dependent on activity occurring at that source; anda wait instruction which sets one of said runnable statuses to suspended pending one of said events upon which continued execution of the respective thread depends, wherein said continued execution comprises retrieval of a continuation point vector for the respective thread.
-
-
49. A processor comprising:
-
execution means for executing thread scheduling instructions; and thread scheduling means for scheduling a plurality of threads for execution by the execution unit in dependence on a respective runnable status for each thread; wherein the execution means is configured to execute said thread scheduling instructions to manage said runnable statuses, the thread scheduling instructions including at least;
one or more source event enable instructions each of which sets an event source to a mode in which it generates an event dependent on activity occurring at that source, and a wait instruction which sets one of said runnable statuses to suspended pending one of said events upon which continued execution of the respective thread depends;wherein said continued execution comprises retrieval of a continuation point vector for the respective thread.
-
-
50. An execution unit configured to execute thread scheduling instructions which manage statuses of threads, the execution unit comprising means for executing a source event enable instruction which sets an event source to a mode in which it generates an event dependent on activity occurring at that source;
- and
means for executing a wait instruction which sets one of said runnable statuses to suspended pending one of said events upon which continued execution of the respective thread depends, wherein said continued execution comprises retrieval of a continuation point vector for the respective thread.
- and
-
51. A computer program product comprising program code means for executing thread scheduling instructions for managing statuses of threads, said program code means comprising a first code portion for executing a source event enable instruction which sets an event source to a mode in which it generates an event dependent on activity occurring at that source;
- and
a second code portion for executing a wait instruction which sets one of said runable statuses to suspended pending one of said events upon which continued execution of the respective thread depends, wherein said continued execution comprises retrieval of a continuation point vector for the respective thread.
- and
Specification