1. A processor, comprising: 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, individual ones of the engines providing multiple execution threads and including an instruction cache to cache a subset of the at least the portion of the at least one program from the instruction store, different respective portions of the engine's instruction cache being allocated to different respective ones of the engine threads.