Joao, J. Alberto, Carro, A. Rico, & Huang, Z. . (2019). Hardware Thread Scheduling. US Patent No. 10261835. U.S Patent and Trademark Office. Retrieved from https://patents.google.com/patent/US10261835B2/en Patent 10261835.
An apparatus has processing circuitry to execute instructions from multiple threads and hardware registers to store context data for the multiple threads concurrently. At a given time a certain number of software-scheduled threads may be scheduled for execution by software executed by the processing circuitry. Hardware thread scheduling circuitry is provided to select one or more active threads to be executed from among the software-scheduled threads. The hardware thread scheduling circuitry adjusts the number of active threads in dependence on at least one performance metric indicating performance of the threads.