ABSTRACT
Explicitly Parallel Instruction Computing (EPIC) architectures require the compiler to express program instruction level parallelism directly to the hardware. EPIC techniques which enable the compiler to represent control speculation, data dependence speculation, and predication have individually been shown to be very effective. However, these techniques have not been studied in combination with each other. This paper presents the IMPACT EPIC Architecture to address the issues involved in designing processors based on these EPIC concepts. In particular, we focus on new execution and recovery models in which microarchitectural support for predicated execution is also used to enable efficient recovery from exceptions caused by speculatively executed instructions. This paper demonstrates that a coherent framework to integrate the three techniques can be elegantly designed to achieve much better performance than each individual technique could alone provide.
- 1.J. R. Allen, K. Kennedy, C. Porterfield, and J. Warren. Conversion of control dependence to data dependence. In Proceedings of the lOth ACM Symposium on Principles of Programming Languages, pages 177-189, January 1983. Google ScholarDigital Library
- 2.D. I. August, K. M. Crozier, J. W. Sias, P. R. Eaton, Q. B. Olaniran, D. A. Connors, and W. W. Hwu. The IMPACT EPIC 1.0 Architecture and Instruction Set reference manual. Technical Report IMPACT-98-04, IMPACT, University of Illinois, Urbana, IL, February 1998.Google Scholar
- 3.R. A. Bringmann, S. A. Mahlke, R. E. Hank, J. C. Gyllenhaal, and W. W. Hwu. Speculative execution exception recovery using write-back suppression. In Proceedings of 26th Annual lnt'l Symposium on Microarchitecture, December 1993. Google ScholarDigital Library
- 4.R.P. Colwell, R. P. Nix, J. J. O' Donnell, D. B. Papworth, and P. K. Rodrnan. A VLIW architecture for a trace scheduling compiler. In Proceedings of the 2nd International Conference on Architectural Support for Programming Languages and Operating Systems, pages 180-192, April 1987. Google ScholarCross Ref
- 5.J. H. Crawford. The i486 CPU: Executing instructions in one clock cycle. IEEE Micro, pages 27-36, February 1990. Google ScholarDigital Library
- 6.J. H. Edmondson, P. Rubinfeld, R. Preston, and V. Rajagopalan. Superscalar instruction execution in the 21164 Alpha microprocessor. IEEE Micro, pages 33-43, April 1995. Google ScholarDigital Library
- 7.M . Forsyth, S. Mangelsdorf, E. Delano, C. Gleason, and J. Yetter. CMOS PA-RISC processor for a new family of workstations. In Proceedings of COMPCON, pages 202- 207, February 1991.Google ScholarCross Ref
- 8.D.M. Gallagher, W. Y. Chen, S. A. Mahlke, J. C. Gyllenhaal, and W. W. Hwu. Dynamic memory disambiguation using the memory conflict buffer. In Proceedings of 6th International Conference on Architectual Support for Programming Languages and Operating Systems, pages 183-193, October 1994. Google ScholarDigital Library
- 9.J. Gonzalez and A. Gonzalez. Speculative execution via address prediction and data prefetching. In Proceedings of the 1997 International Conference on Supercomputing, pages 196-203, July 1997. Google ScholarDigital Library
- 10.L. Gwennap. InteI, HP make EPIC disclosure. Microprocessor Report, 11 ( 14): 1-9, October 1997.Google Scholar
- 11.P. Y. Hsu and E. S. Davidson. Highly concurrent scalar processing. In Proceedings of the 13th International Symposium on Computer Architecture, pages 386-395, June 1986. Google ScholarDigital Library
- 12.V. Kathail, M. S. Schlansker, and B. R. Rau. HPL Play- Doh architecture specification: Version 1.0. Technical Report HPL-93-80, Hewlett-Packard Laboratories, Palo Alto, CA, February 1994.Google Scholar
- 13.T. Kiyohara, W. W. Hwu, and W. Chen. Memory conflict buffer for achieving memory disambiguation in compiletime code schedule. United States Patent No. 5,694,577. December 1997.Google Scholar
- 14.S. A. Mahlke, W. Y. Chen, R. A. Bringmann, R. E. Hank, W. W. Hwu, B. R. Rau, and M. S. Schlansker. Sentinel scheduling: A model for compiler-controlled speculative execution. ACM Transactions on Computer Systems, 11(4), November 1993. Google ScholarDigital Library
- 15.S. A. Mahlke, R. E. Hank, R. A. Bringmann, J. C. Gyllenhaal, D. M. Gallagher, and W. W. Hwu. Characterizing the impact of predicated execution on branch prediction. In Proceedings of the 27th International Symposium on Microarchitecture, pages 217-227, December 1994. Google ScholarDigital Library
- 16.S. A. Mahlke, R. E. Hank, J. McCormick, D. I. August, and W. W. Hwu. A comparison of full and partial predicated execution support for ILP processors. In Proceedings of the 22th International Symposium on Computer Architecture, pages 138-150, June 1995. Google ScholarDigital Library
- 17.A. Moshovos, S. E. Breach, T. N. Vijaykumar, and G. S. S ohi. Dynamic speculation and synchronization of data dependences. In Proceedings of the 1997 International Symposium on Computer Architecture, pages 181-193, June 1997. Google ScholarDigital Library
- 18.J. C. Park and M. S. Schlansker. On predicated execution. Technical Report HPL-91-58, Hewlett Packard Laboratories, Palo Alto, CA, May 1991.Google Scholar
- 19.D. N. Pnevmatikatos and G. S. Sohi. Guarded execution and branch prediction in dynamic ILP processors. In Proceedings of the 21st International Symposium on Computer Architecture, pages 120-129, April 1994. Google ScholarDigital Library
- 20.B. R. Rau, D. W. L. Yen, W. Yen, and R. A. Towle. The Cydra 5 departmental supercomputer. IEEE Computer, 22( 1 ): 12-35, January 1989. Google ScholarDigital Library
- 21.M. D. Smith. Architectural support for compile-time speculation. In The Interaction of Compilation Technology and Computer Architecture, pages 13-49. Kluwer Academic Publishers, Boston, MA, 1994.Google ScholarCross Ref
- 22.M. D. Smith, M. S. Lam, and M. A. Horowitz. Boosting beyond static scheduling in a superscalar processor. In Proceedings of the 17th International Symposium on Computer Architecture, pages 344-354, May 1990. Google ScholarDigital Library
- 23.G. S. Tyson. The effects of predicated execution on branch prediction. In Proceedings of the 27th International Symposium on Microarchitecture, pages 196-206, December 1994. Google ScholarDigital Library
Index Terms
- Integrated predicated and speculative execution in the IMPACT EPIC architecture
Recommendations
Integrated predicated and speculative execution in the IMPACT EPIC architecture
Special Issue: Proceedings of the 25th annual international symposium on Computer architecture (ISCA '98)Explicitly Parallel Instruction Computing (EPIC) architectures require the compiler to express program instruction level parallelism directly to the hardware. EPIC techniques which enable the compiler to represent control speculation, data dependence ...
The impact of speculative execution on SMT processors
By executing two or more threads concurrently, Simultaneous MultiThreading (SMT) architectures are able to exploit both Instruction-Level Parallelism (ILP) and Thread-Level Parallelism (TLP) from the increased number of in-flight instructions that are ...
Unconstrained speculative execution with predicated state buffering
ISCA '95: Proceedings of the 22nd annual international symposium on Computer architectureSpeculative execution is execution of instructions before it is known whether these instructions should be executed. Compiler-based speculative execution has the potential to achieve both a high instruction per cycle rate and high clock rate. Pure ...
Comments