Patent ID: 7363625

Claim:
A method for dynamically changing a priority of a thread in a simultaneous multithread (SMT) processor comprising the steps of: generating a thread priority no operation (NOP) instruction to change an instruction execution priority of a thread selected from first and second threads; decoding said thread priority NOP instruction; writing a special code for modifying said instruction execution priority of said selected thread into a group completion table (GCT) in response to a dispatch of said thread priority NOP instruction; setting a trouble bit in said GCT corresponding to an instruction group containing said thread priority NOP instruction in response to said dispatch of said thread priority NOP instruction; determining within a completion unit that said instruction group has completed; processing said special code to generate priority data for setting a first priority value for said selected thread in response to said trouble bit being set to an ON logic state; and sending said first priority value to a thread priority selector controlling dispatching of instructions for said selected thread and changing said selected thread's instruction execution priority after said instruction group containing said thread priority NOP instruction has completed.