1. A microcontrolled functional execution unit comprises: a control store to store a microprogram; a microengine controller for maintaining a plurality of microprogram counters, and decode logic for decoding instructions; a context event arbiter, which in response to external flags, determines which one of a plurality of threads executable in the microcontrol function execution unit to promote to an execution state.