In general, in one aspect, the disclosure describes a processor that
includes an instruction store to store instructions of at least a portion
of at least one program and multiple engines coupled to the shared
instruction store. The engines provide multiple execution threads and
include an instruction cache to cache a subset of the at least the
portion of the at least one program from the instruction store, with
different respective portions of the engine's instruction cache being
allocated to different respective ones of the engine threads.