Instruction dispatch in a multithreaded microprocessor such as a graphics
processor is not constrained by an order among the threads. Instructions
for each thread are fetched, and a dispatch circuit determines which
instructions in the buffer are ready to execute. The dispatch circuit may
issue any ready instruction for execution, and an instruction from one
thread may be issued prior to an instruction from another thread
regardless of which instruction was fetched first. If multiple functional
units are available, multiple instructions can be dispatched in parallel.