发明名称 Programmable event driven yield mechanism which may activate other threads
摘要 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.
申请公布号 US8868887(B2) 申请公布日期 2014.10.21
申请号 US200410982261 申请日期 2004.11.05
申请人 Intel Corporation 发明人 Wang Hong;Hammarlund Per;Zou Xiang;Shen John;Tian Xinmin;Girkar Milind;Wang Perry;Desai Piyush
分类号 G06F9/00 主分类号 G06F9/00
代理机构 Blakely, Sokoloff, Taylor & Zafman LLP 代理人 Blakely, Sokoloff, Taylor & Zafman LLP
主权项 1. A multithreaded processor additionally supporting virtual multithreading, the processor comprising: execution logic to execute a program; monitor logic to be updated by the program to define a trigger condition, wherein the monitor logic comprises event storage logic to indicate if a plurality of events have occurred, the trigger condition includes a combination of the plurality of events, wherein the event storage logic includes a plurality of event counters, each of the plurality of event counters to hold a count value corresponding to a number of events of the plurality of events that have occurred, wherein the trigger condition occurs when a certain value of the count value has occurred; physical thread context storage to store context information for a plurality of active threads; virtual thread context storage to store context information for a plurality of k virtual threads; and a virtual thread selector coupled to the virtual thread context storage and coupled to the physical thread context storage, said virtual thread selector to select a virtual thread from a plurality of threads and swap context information for the selected virtual thread in response to the monitor logic detecting the trigger condition during the execution logic executing the program; and a processor thread selector to select between the selected virtual thread and another thread, wherein the processor thread selector and virtual thread selector are not the same entity.
地址 Santa Clara CA US