CPC G06F 11/2028 (2013.01) [G06F 3/0617 (2013.01); G06F 3/0647 (2013.01); G06F 3/0683 (2013.01); G06F 9/30145 (2013.01); G06F 9/3851 (2013.01); G06F 9/3861 (2013.01); G06F 9/485 (2013.01); G06F 12/0815 (2013.01); G06F 12/0875 (2013.01); G06F 12/1027 (2013.01); G06F 2201/805 (2013.01); G06F 2212/452 (2013.01); Y02D 10/00 (2018.01)] | 20 Claims |
1. An apparatus comprising:
a set of multi-threaded cores including:
a first core configured to process instructions from a particular thread of a plurality of threads, wherein the first core includes an execution unit and a monitor circuit coupled to the execution unit; and
a second core configured to process instructions of a supervisory thread; and
wherein the monitor circuit is configured to:
determine whether the execution unit is actively committing the instructions;
adjust a count value in response to a determination that no instruction of the particular thread has been committed within a particular time period; and
in response to the adjusted count value satisfying a particular threshold value, assert an alert signal;
wherein the second core is further configured to, in response to the alert signal, halt the first core from further execution of the particular thread; and
wherein the first core is further configured to disable the monitor circuit based on entering an idle state.
|