1. A method of pre-fetching instructions of a multithreaded program executing in a processor of a data processing system, said method comprising: determining when an instruction within a particular thread from among multiple threads executing on said processor may be pre-fetched; and pre-fetching said instruction from a lower level memory structure, wherein said instruction is tagged with an identifier of said particular thread; and providing said instruction to an executing unit of said processor when said instruction is required during execution of said particular thread.