Designing a scalable simultaneous multithreaded processor - Moure, Juan Carlos (2000)
This paper analyzes the basic design issues of multithreaded processors and discusses how they may reach the performance requirements of current workloads, taking into account current technological trends. We compare the multithreaded proposal with current single-thread altematives like superscalar and EPIC. W e present scalable simultaneous multithreading, a new design approach that balances the exploitation of instruction- and thread-level parallelism, combining static and dynamic mechanisms to maximize overall performance. W e first discuss results from a preliminary study of its suitability and then address a more indepth analysis of the design of one of its parts, the fetch unit. Results from a comprehensive study of the interference of threads on the fetch unit's shared resources are used to propose a detailed fetch unit microarchitecture. Its balanced organization and its reconfiguration capability assure both maximum singlethread performance and optimized multithreaded execution.