1. Apparatus for implementing thread replacement for optimal performance in a two-tiered multithreading structure comprising: a first tier thread state storage for storing a limited number of runnable thread register states; a second tier thread storage facility for storing a second number of thread states; said second number of thread states being greater than greater than the limited number of runnable thread register states; each stored thread state including predefined selection data; said predefined selection data including specific thread usage data; and a runnable thread selection logic coupled between the first tier thread state storage and the second tier thread storage facility, for selectively exchanging thread states between the first tier limited number of runnable thread register states and the second tier thread storage facility using said stored predefined selection data.