发明名称 SYNCHRONISATION OF EXECUTION THREADS ON A MULTI-THREADED PROCESSOR
摘要 Method and apparatus are provided for synchronising execution of a plurality of threads on a multi-threaded processor. A program executed by a thread can have a number of synchronisation points corresponding to points where execution is to be synchronised with another thread. Execution of a thread is paused when it reaches a synchronisation point until at least one other thread with which it is intended to be synchronised reaches a corresponding synchronisation point. Execution is subsequently resumed. A control core maintains status data for threads and can cause a thread that is ready to run to use execution resources that were occupied by a thread that is waiting for a synchronization event.
申请公布号 US2014331029(A1) 申请公布日期 2014.11.06
申请号 US201414177980 申请日期 2014.02.11
申请人 IMAGINATION TECHNOLOGIES LIMITED 发明人 Foo Yoong Chert
分类号 G06F9/30 主分类号 G06F9/30
代理机构 代理人
主权项 1. A multi-threaded processor system, comprising: a plurality of data processing cores capable of being configured to simultaneously execute multiple threads for a program on multiple of the plurality of data processing cores; an instruction decode unit configured to decode instructions from the program, to be used to configure the multiple data processing cores, and to generate an indication when a thread that is executing instructions from the program, which is to be synchronized with other threads of the multiple threads, branches around a section of program instructions, while the other threads do not; and a control core coupled with the instruction decode unit to receive the indication and to control which threads are to execute on which of the plurality of data processing cores, the control core comprising non-transitory memory containing status data for a plurality of threads, of which the multiple threads are a subset, wherein a number of threads in the plurality of threads is greater than a number of the multiple threads, and the status data comprises, for each of the subset of the plurality of threads, an indication whether that thread is waiting to be synchronized andthe control core is responsive to receiving the indication, by updating the status data for the thread to which the indication pertains, and to swap a thread from the plurality of threads to be executed by the plurality of data processing cores, which is not waiting for synchronization with any other thread of the plurality of threads.
地址 Kings Langley GB