Alpha EV8 (Part 2): Simultaneous Multi-Threat

Pages: 1 2 3 4 5


Simultaneous Multithreading technology seems to be a match complement to the modern out-of-order execution superscalar RISC processor. The difficult task of tracking computational results for instructions from separate threads issuing and executing simultaneously is a natural fit with register renaming schemes currently used to work around false register based data dependencies between instructions and support recovery from speculated instruction execution. The problem of selecting instructions from a group of active hardware threads for SMT issue and execution has a relatively simple heuristic solution that provides robust performance over a wide range of workloads with varying degrees of ILP and TLP.

Research to date suggests SMT can approximately double the throughput performance of an 8 instruction-issue wide processor like EV8 for a cost in extra processor complexity equivalent to less than 10% increased die area for the processor core. The multithreading capabilities of an SMT processor can be accessed by software through a virtual CMP model that uses abstracted TPUs in place of multiple physical CPUs. Existing thread synchronization mechanisms can be retained with little impact on SMT processor performance if appropriate measures are taken to ensure threads waiting for a semaphore do not consume a share of execution resources.

In the third and final part of this article I will examine how the performance characteristics of SMT potentially impact EV8’s competitive posture relative to alternative design approaches like EPIC and CMP and the implications for the future of MPU design.


[1] Hennessy, J., ‘Processor Design and Other Challenges in the Post-PC Era’, Proceedings of Microprocessor Forum 1999, October 5, 1999, Cahners MicroDesign Resources.

[2] Slater, M., ‘MicroUnity Lifts Veil on MediaProcessor’, Microprocessor Report, Vol. 9, No. 14, October 23, 1995, p. 11.

[3] Gieseke, B., ‘A 600 MHz Superscalar RISC Microprocessor with Out-Of-Order Execution’, Digest of Technical Papers, ISSCC 1997, February 7, 1997, p. 176.

[4] Farkas, K. et al, ‘Register File Design Considerations in Dynamically Scheduled Processors’, DECWRL Report, November 1995.

[5] Emer, J., ‘Simultaneous Multithreading: Multiplying Alpha Performance’, Proceedings of Microprocessor Forum 1999, October 5, 1999, Cahners MicroDesign Resources.

[6] Lo, J. et al, ‘Converting Thread-Level Parallelism to Instruction Level Parallelism via Simultaneous Multithreading’, ACM Transactions on Computer Systems, Vol. 15, No. 3, August 1997, p. 322.

[7] Tullsen, D. et al, ‘Exploiting Choice: Instruction Fetch and Issue on an Implementable Simultaneous Multithreading Processor’, Proceedings of the 23rd Annual International Symposium on Computer Architecture, May 1996.

[8] Diefendorff, K., ‘Compaq Chooses SMT for Alpha’, Microprocessor Report, Vol. 13, No. 16, December 6, 1999, p. 1.

[9] Sites, R., ‘Alpha Architecture Reference Manual’, Digital Press, 1992.

Pages: « Prev  1 2 3 4 5  

Be the first to discuss this article!