1. A processor comprising: first logic to maintain a history table comprising a plurality of entries, each entry in the table associated with an instruction and including history data indicating prior hits and/or misses to a cache level and/or a translation lookaside buffer (TLB) for that instruction; and thread selection logic to select a particular thread for execution at a particular processor pipeline stage based on the history data.