Simultaneous Multi-Threading (SMT) provides an improved technique to enhance resource utilization ability by sharing key data path components among multiple independent threads. When critical resources are shared by multiple threads, effective use of these resources proves to be the most important factor in fully exploiting the system potential. The thread-level parallelism (TLP) present among the threads can be exploited intelligently to compensate the limited instruction level parallelism available among threads. The efficient of sharing of Instruction Queue (IQ) among multiple threads plays a crucial role on the overall system performance. In this book, we discuss the techniques to enhance the usability of IQ to further improve the overall performance.