A modified instruction fetch control mechanism for SMT architecture

In SMT architecture, instruction fetch unit is capable of fetching instructions from one or more threads simultaneously. Because of resource competing and run-time characteristics of threads, system resources are not sufficiently utilized. Considering necessary factors, a powerful instruction fetch mechanism can alleviate the adverse effects through appropriately fetch as many compatible instructions as possible. In this paper, the effects of instruction fetch policy on SMT performance are analyzed in detail, and a modified instruction fetch control mechanism is proposed. In this mechanism, a ready thread buffer is introduced in. With hardware list pointer structure, the buffer can be dynamically allotted. Further, the instruction fetch process is divided into two steps, and they deal with wrong branch prediction and instruction queue clog issues separately. Our instruction fetch control mechanism increase IPC for 9.39% over an unmodified SMT processor with ICOUNT2.8 policy. This speedup is enhanced by an advantage of considering main factors separately, the ability to favor for fetch those threads most efficiently using the processor each cycle, thereby, providing the "best" instructions to the processor.

[1]  Susan J. Eggers,et al.  Thread-Sensitive Scheduling for SMT Processors , 2000 .

[2]  David H. Albonesi,et al.  Front-end policies for improved issue efficiency in SMT processors , 2003, The Ninth International Symposium on High-Performance Computer Architecture, 2003. HPCA-9 2003. Proceedings..

[3]  M. Valero,et al.  Branch classification to control instruction fetch in simultaneous multithreaded architectures , 2002, International Workshop on Innovative Architecture for Future Generation High-Performance Processors and Systems.

[4]  Alexis Vartanian,et al.  Improving 3D geometry transformations on a simultaneous multithreaded SIMD processor , 2001, ICS '01.

[5]  Dean M. Tullsen,et al.  Exploiting Choice: Instruction Fetch and Issue on an Implementable Simultaneous Multithreading Processor , 1996, 23rd Annual International Symposium on Computer Architecture (ISCA'96).

[6]  Manoj Franklin,et al.  Boosting SMT performance by speculation control , 2001, Proceedings 15th International Parallel and Distributed Processing Symposium. IPDPS 2001.

[7]  Zhiyong Liu,et al.  An effective instruction fetch policy for simultaneous multithreaded processors , 2004, Proceedings. Seventh International Conference on High Performance Computing and Grid in Asia Pacific Region, 2004..

[8]  Gurindar S. Sohi,et al.  Speculative Multithreaded Processors , 2001, Computer.

[9]  Dean M. Tullsen,et al.  Handling long-latency loads in a simultaneous multithreading processor , 2001, Proceedings. 34th ACM/IEEE International Symposium on Microarchitecture. MICRO-34.

[10]  Dean M. Tullsen,et al.  Fellowship - Simulation And Modeling Of A Simultaneous Multithreading Processor , 1996, Int. CMG Conference.

[11]  Seong-Won Lee,et al.  Dynamic scheduling issues in SMT architectures , 2003, Proceedings International Parallel and Distributed Processing Symposium.