Programmable event driven yield mechanism which may activate other threads
First Claim
1. An apparatus comprising:
- execution resources to execute a plurality of instructions;
a monitor to detect a low progress indicating condition of said execution resources, said monitor to selectively disrupt processing of at least one program by transferring to a handler in response to detecting said low progress indicating condition.
2 Assignments
0 Petitions
Accused Products
Abstract
Method, apparatus, and program means for a programmable event driven yield mechanism that may activate other threads. In one embodiment, an apparatus includes execution resources to execute a plurality of instructions and a monitor to detect a condition indicating a low level of progress. The monitor can disrupt processing of a program by transferring to a handler in response to detecting the condition indicating a low level of progress. In another embodiment, thread switch logic may be coupled to a plurality of event monitors which monitor events within the multithreading execution logic. The thread switch logic switches threads based at least partially on a programmable condition of one or more of the performance monitors.
-
Citations
54 Claims
-
1. An apparatus comprising:
-
execution resources to execute a plurality of instructions;
a monitor to detect a low progress indicating condition of said execution resources, said monitor to selectively disrupt processing of at least one program by transferring to a handler in response to detecting said low progress indicating condition. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18)
-
-
19. An apparatus comprising:
-
execution logic to execute a program;
event detection logic to execute an event handler in response a program-definable condition of the execution logic during execution of the program. - View Dependent Claims (20, 21, 22, 23, 24, 25)
-
-
26. An apparatus comprising:
-
multithreading execution logic capable of concurrent execution of multiple threads;
a plurality of monitors to monitor events within said multithreading execution logic;
thread switch logic coupled to said plurality of monitors, said thread switch logic to switch threads based at least partially on a programmable condition of one or more of said plurality of monitors. - View Dependent Claims (27, 28, 29)
-
-
30. A method comprising:
-
programming a monitor to detect a processor condition;
spawning a helper thread in response to the processor condition occurring. - View Dependent Claims (31, 32, 33)
-
-
34. A method comprising:
-
monitoring internal processing conditions for a programmable condition indicative of a plurality of internal hardware events while executing a first program portion;
transferring execution to a second program portion in response to the programmable condition occurring. - View Dependent Claims (35, 36, 37, 38)
-
-
39. A method comprising:
-
setting a plurality of user-definable helper thread triggers to a first state;
simulating performance of a program a first time;
adjusting the plurality of user-definable helper thread triggers;
simulating performance of the program a second time;
selecting a preferred set of user-definable helper thread triggers based on performance of the program the first time and the second time;
- View Dependent Claims (40, 41)
-
-
42. A system comprising:
-
a processor comprising a user programmable hardware monitor to detect a processor condition and to cause execution of a handler in response to the processor condition;
a storage medium to store the handler, the handler comprising at least one instruction that causes a helper thread to be generated. - View Dependent Claims (43, 44, 45, 46, 47, 48, 49)
-
-
50. A processor comprising:
-
execution resources to execute a plurality of instructions;
logic to cause a disruption of execution of said plurality of instructions in response to a programmable combination of a plurality of events of said execution resources, said plurality of events occurring after execution of a first instruction that enables detection of the programmable condition. - View Dependent Claims (51, 52, 53, 54)
-
Specification