Π‘ΠΏΠ΅ΠΊΡΠ»ΡΡΠΈΠ²Π½ΡΠ΅ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ Π΄Π»Ρ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡ Ρ ΡΠ²Π½ΠΎ Π²ΡΡΠ°ΠΆΠ΅Π½Π½ΡΠΌ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΠΈΠ·ΠΌΠΎΠΌ ΠΊΠΎΠΌΠ°Π½Π΄
ΠΠΈΡΡΠ΅ΡΡΠ°ΡΠΈΡ
ΠΠ° ΠΎΡΠ½ΠΎΠ²Π΅ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΌΠ΅ΡΠΎΠ΄Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½ ΠΈ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ Π°Π»Π³ΠΎΡΠΈΡΠΌ ΡΠΏΠ΅ΠΊΡΠ»ΡΡΠΈΠ²Π½ΠΎΠ³ΠΎ ΠΏΠ»Π°Π½ΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π΄Π»Ρ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ Intel Itanium Ρ ΡΠ²Π½ΠΎ Π²ΡΡΠ°ΠΆΠ΅Π½Π½ΡΠΌ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΠΈΠ·ΠΌΠΎΠΌ ΠΊΠΎΠΌΠ°Π½Π΄ Π² ΡΠ°ΠΌΠΊΠ°Ρ ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΠΎ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½ΡΠ΅ΠΌΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ° GCC. ΠΡΠΎΠ²Π΅Π΄Π΅Π½Π° Π°ΠΏΡΠΎΠ±Π°ΡΠΈΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° Π½Π° ΠΏΠ°ΠΊΠ΅ΡΠ΅ ΡΠ΅ΡΡΠΎΠ² SPEC CPU 200, ΠΏΡΠΈ ΡΡΠΎΠΌ ΡΡΠ΅Π΄Π½Π΅Π΅ ΡΡΠΊΠΎΡΠ΅Π½ΠΈΠ΅ Π½Π° ΠΏΠ°ΠΊΠ΅ΡΠ΅ ΡΠ΅ΡΡΠΎΠ² SPEC INT 2000 ΡΠΎΡΡΠ°Π²ΠΈΠ»ΠΎ 1.5%, Π½Π° ΠΏΠ°ΠΊΠ΅ΡΠ΅ SPEC FP 2000 — 2.8%. ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ… Π§ΠΈΡΠ°ΡΡ Π΅ΡΡ >
Π‘ΠΏΠΈΡΠΎΠΊ Π»ΠΈΡΠ΅ΡΠ°ΡΡΡΡ
- Π.Π.ΠΠ΅Π»Π΅Π²Π°Π½ΡΠ΅Π², Π‘. Π‘. ΠΠ°ΠΉΡΠ°ΡΡΠ½, Π. Π. ΠΠ²Π°Π½Π½ΠΈΠΊΠΎΠ². ΠΠΎΡΡΡΠΎΠ΅Π½ΠΈΠ΅ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠ² ΡΠΏΠ΅ΠΊΡΠ»ΡΡΠΈΠ²Π½ΡΡ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΉ. ΠΡΡΠ½Π°Π» ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅, N3 2008, Ρ. 1−22.
- Andrey Belevantsev, Alexander Chernov, Maxim Kuvyrkov, Vladimir Makarov, Dmitry Melnik. Improving GCC instruction scheduling for Itanium. In Proceedings of GCC Developers' Summit 2005, Ottawa, Canada, June 2005, pp. 1−14.
- Andrey Belevantsev, Maxim Kuvyrkov, Vladimir Makarov, Dmitry Melnik, Dmitry Zhurikhin. An interblock VLIW-targeted instruction scheduler for GCC. In Proceedings of GCC Developers' Summit 2006, Ottawa, Canada, June 2006, pp. 1−12.
- Π. ΠΠ΅Π»Π΅Π²Π°Π½ΡΠ΅Π², M. ΠΡΠ²ΡΡΠΊΠΎΠ², Π. ΠΠ΅Π»ΡΠ½ΠΈΠΊ. ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΠΈΠ·ΠΌΠ° Π½Π° ΡΡΠΎΠ²Π½Π΅ ΠΊΠΎΠΌΠ°Π½Π΄ Π² ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ΅ Π΄Π»Ρ Intel Itanium. Π’ΡΡΠ΄Ρ ΠΠ‘Π Π ΠΠ, Ρ.9, 2006, Ρ.9−22.
- ΠΠ»ΡΡΡΠ΅Π΄ Π. ΠΡ ΠΎ, ΠΠΎΠ½ΠΈΠΊΠ° Π‘. ΠΠ°ΠΌ, Π Π°Π²ΠΈ Π‘Π΅ΡΠΈ, ΠΠΆΠ΅ΡΡΡΠΈ Π. Π£Π»ΡΠΌΠ°Π½. ΠΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΡ: ΠΏΡΠΈΠ½ΡΠΈΠΏΡ, ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ ΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ. ΠΡΠΎΡΠΎΠ΅ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅. ΠΠΎΡΠΊΠ²Π°, ΠΠΈΠ»ΡΡΠΌΠ΅, 2008.
- X. ΠΠ°ΠΏΠ°Π΄ΠΈΠΌΠΈΡΡΠΈΡ, Π. Π‘ΡΠ°ΠΉΠ³Π»ΠΈΡ. ΠΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΎΡΠ½Π°Ρ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ. ΠΠ»Π³ΠΎΡΠΈΡΠΌΡ ΠΈ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΡ. Π.: ΠΠΈΡ, 1985.
- Alfred Aburto’s system benchmarks, ftp://gd.tuwien.ac.at/perf/benchmark/aburto
- D. F. Bacon, S. L. Graham, and O. J. Sharp. Compiler transformations for high-performance computing. ACM Computer Surveys 26, 4 (Dec. 1994), pp. 345−420.
- Thomas Ball and James R. Laais. Optimally Profiling and Tracing Programs. ACM Transactions on Programming Languages and Systems, Vol 16, No. 4, July 1994, pp. 13 191 360.
- Thomas Ball and James R. Larus. Branch prediction for free. Proceedings of the S1GPLAN '93 Conference on Programming Language Design and Implementation (PLDI), pp. 300−313, June 1993.
- Thomas Ball and James R. Larus. Efficient path profiling. In Proceedings of the 29th Annual ACM/IEEE international Symposium on Microarchitecture (Paris, France, December 02 04, 1996), pp. 46−57.
- J. Bharadwaj, K.N. Menezes, and C. McKinsey. Wavefront Scheduling: Path-Based Data Representation and Scheduling of Subgraphs. In Proceedings of the 32nd Annual International Symposium on Microarchitecture (MICR032), (Haifa, Israel), December 1999.
- Rostislav Bodik. Path-Sensitive, Value-Flow Optimizations of Programs. Ph.F. Thesis, University of Pittsburgh, 1999.
- R. A. Bringmann. Enhancing instruction level parallelism through compiler controlled optimization. M. S Thesis, University of Illinois, 1992.
- Peng-Sheng Chen, Yuan-Shin Hwan, Roy Dz-Ching Ju, and Jenq Kuen Lee. Interprocedural Probabilistic Pointer Analysis. IEEE Trans. Parallel Distrib. Syst. 15, 10 (Oct. 2004), pp. 893−907.
- F. C. Chow, S. Chan, S. Liu, R. Lo and M. Streich. Effective Representation of Aliases and Indirect Memory Operations in SSA Form. In Proceedings of the 6th international
- Conference on Compiler Construction (April 24 26, 1996), Lecture Notes In Computer Science, vol. 1060. Springer-Verlag, London, pp. 253−267.
- D. A. Connors. Memory profiling for directing data speculative optimizations and scheduling. Master’s thesis, Department of Electrical and Computer Engineering, University of Illinois, Urbana, IL, 1997.
- Jeffrey Da Silva. A Probabilistic Pointer Analysis for Speculative Optimizations. Master’s Thesis, University of Toronto, 2006.
- Saumya Debray, Robert Muth, and Matthew Weippert. Alias analysis of executable code. In The 25th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, pp. 12−24, Orlando, Florida, Jan. 19−21, 1998.
- B. Deitrich, B. Cheng, and W. Hwu. Improving Static Branch Prediction in a Compiler. In Proceedings of the 1998 international Conference on Parallel Architectures and Compilation Techniques (October 12 18, 1998). PACT, p. 214.
- B. Deitrich and W. Hwu. Speculative hedge: regulating compile-time speculation against profile variations. Proceedings of the 29th annual ACM/IEEE international symposium on Microarchitecture (MICRO-29), p p.70−79, December 02−04, 1996, Paris, France.
- L. Π‘. V. Dos Santos. A method to control compensation code during global scheduling. Proceedings of the ProRISC CSSP97 Workshop, pp. 457−464.
- Carole Dulong, Rakesh Krishnaiyer, Dattatraya Kulkami, Daniel Lavery, Wei Li, John Ng, and David Sehr. An overview of the Intel IA-64 compiler. Intel Technology Journal, November 1999.
- Kemal Ebcioglu. Some design ideas for a VLIW architecture for sequential natured software. In Parallel Processing (Proceedings of IFIP WG 10.3 Working Conference on Parallel Processing), North Holland, Amsterdam, pp. 3−21, 1988.
- Manuel Fernandez and Roger Espasa. Speculative Alias Analysis for Executable Code. In the 2002 International Conference on Parallel Architectures and Compilation Techniques (PACT'2002), September 2002.
- Joseph A. Fisher. Global Code Generation for Instruction-Level Parallelism: Trace Scheduling-2. Hewlett-Packard Technical Report #HPL-93−43, http://www.hpl.hp.com/techreports/93/HPL-93−43.html.
- Manoj Franklin. The Multiscalar Architecture. Ph.D. Thesis, University of Wisconsin-Madison, 1993.
- Chao-ying Fu, Matthew D. Jennings, Sergei Y. Larin, Thomas M. Conte. Software-Only Value Speculation Scheduling. Technical Report, Dept. of Electrical and Computer Eng., North Carolina State University, June 1998.
- David M. Gallagher. Memory Disambiguation to Facilitate Instruction-Level Parallelism Compilation. Ph.D. Thesis, University of Illinois at Urbana-Champaign, 1995.
- GCC, GNU Compiler Collection, http://ecc.gnu.org
- GCC Compiler Internals, http://gcc.gnu.org/onlinedocs/gccint
- Rajiv Gupta, David A. Berson, and Jesse Z. Fang. Path profile guided partial redundancy elimination using speculation. IEEE International Conf. Computer Languages, pp.230−239, IEEE Society Press, 1998.
- R. N. Iiorspool and H. Π‘. Ho. Partial Redundancy Elimination Driven by a Cost-Benefit Analysis. In Proceedings of the 8th Israeli Conference on Computer-Based Systems and Software Engineering (June 18 19, 1997). ICCSSE.
- A. S. Huang, G. Slavenburg, and J. P. Shen. Speculative disambiguation: a compilation technique for dynamic memory disambiguation. SIGARCH Comput. Archit. News 22, 2 (Apr. 1994), pp. 200−210.
- S. J. Jackson, J. Ke, and P. Ratanaworabhan. The VPC Trace-Compression Algorithms. IEEE Trans. Comput. 54, 11 (Nov. 2005), pp. 1329−1344.
- Q. Jacobson, E. Rotenberg and J.E. Smith. Path-based next trace prediction. In Proceedings of the 30th Annual ACM/IEEE international Symposium on Microarchitecture (MICRO-30), pp.14−23.
- Roy Dz-ching Ju, Jean-Franois Collard, and Karim Oukbir. Probabilistic memory disambiguation and its application to data speculation. SIGARCH Comput. Archit. News 27, 1 (Mar. 1999), pp. 27−30.
- Roy Dz-ching Ju, Kevin Nomura, Uma Mahadevan, Le-Chun Wu. A Unified Compiler Framework for Control and Data Speculation. PACT’OO, p. 157, 2000.
- James R. Larus. Whole program paths. SIGPLAN Not. 34, 5 (May. 1999), pp. 259−269.
- J. Lin, T. Chen, W. Hsu, P. Yew, R. D. Ju, T. Ngai and S. Chan. A compiler framework for speculative analysis and optimizations. SIGPLAN Not. 38, 5 (May. 2003), pp. 289−299.
- J. Lin, W. Hsu, P. Yew, R.D. Ju, and T. Ngai. Recovery code generation for general speculative optimizations. ACM Trans. Archit. Code Optim. 3, 1 (Mar. 2006), pp. 67−89.
- Link Time Optimizations for GCC. http://gcc.gnu.org/wiki/LinkTimeOptimization
- S. A. Mahlke, W.Y. Chen, R.A. Bringmann, R.E.Hank, W.-M.Hwu, B.R.Rau, and M.S.Schlansker. Sentinel scheduling: a model for compiler-controlled speculative executions. ACMTrans. Comput. Syst., 11,4, pp. 276408, 1993.
- Vladimir Makarov. The finite state automaton based pipeline hazard recognizer and instruction scheduler in GCC. In Proceedings of GCC Developers' Summit, Ottawa, Canada, June 2003.
- Eduard Mehofer and Bernhard Scholz. Probabilistic data flow system with two-edge profiling. In Proceedings of the ACM SIGPLAN Workshop on Dynamic and Adaptive Compilation and Optimization DYNAMO '00. ACM, New York, NY, pp. 65−72.
- Soo-Mook Moon and Kemal Ebcioglu. Parallelizing Nonnumerical Code with Selective Scheduling and Software Pipelining. ACM TOPLAS, Vol 19, No. 6, pages 853−898, November 1997.
- S. Muchnick. Advanced Compiler Design and Implementation. Morgan Kaufmann Publishers, 1997, 3rd ed.
- Alexandre Nicolau. Percolation Scheduling: a Parallel Compilation Technique. Technical Report. UMI Order Number: TR85−678, Cornell University, 1985.
- Diego Novillo. GCC Internals Tutorial, http://www.airs.com/dnovillo/200 711 -GCC-Internals
- The OpenlMPACT Compiler, http://www.gelato.uiuc.edu
- The Open Research Compiler (ORC). htlp://ipf-orc.sourceforge.net
- The Open64 Compiler, http://www.open64.net
- Alessandra Di Pierro, Chris Hankin, Herbert Wiklicky. A Systematic Approach to Probabilistic Pointer Analysis. APLAS 2007, pp. 335−350.
- G. Ramalingam. Data flow frequency analysis. In Proceedings of the ACM SIGPLAN 1996 Conference on Programming Language Design and Implementation (Philadelphia, Pennsylvania, United States, May 21 -24, 1996). PLDI '96. ACM, New York, NY, pp. 267 277.
- M. Rim and R. Jain. Lower-bound performance estimation for high-level synthesis scheduling problem. IEEE Trans. CAD 13, 451−458. 1994.
- RTL SSA checkin. http://gcc.gnu.org/viewcvs?view=rev&revision=32 465
- Eric Rotenberg, Quinn Jacobson, Yiannakis Sazeides and Jim Smith. Trace processors. In Proceedings of the 30th Annual International Symposium on Microarchitecture (MICRO-30), pp. 138−148, 1997.
- P. W. Sathyanathan. Interprocedural Dataflow Analysis: Alias Analysis. Ph.D. Thesis. UMI Order Number AAI3026900. University of Stanford, 2001.
- Michael S. Schlansker, B. Ramakrishna Rau. EPIC: An Architecture for Instruction-Level Parallel Processors. HP Laboratories Palo Alto Technical ReportHPL-1999−111, Februaiy 2000. http://www.hpl.hp.com/techreports/1999/HPL-1999−1 1 l. pdf
- B. Scholz and E. Mehofer. Dataflow frequency analysis based on whole program paths. In Proceedings of the IEEE International Conference on Parallel Architectures and Compilation Techniques, PACT-2002.
- Michael D. Smith. Support for Speculative Execution in High-Performance Processors. Ph.D. Thesis. UMI Order Number: CSL-TR-93−556. Stanford University.
- Mark Smotherman. IBM Stretch (7030) Aggressive Uniprocessor Parallelism. http://www.cs.clemson.edu/~mark/stretch.html
- SPEC CPU 2000 benchmarks, http://spcc.org/cpu2000
- S. Swanson, L. K. McDowell, M. M. Swift, S. J. Eggers and H. M. Levy. An evaluation of speculative instruction execution on simultaneous multithreaded processors. ACM Trans. Comput. Syst. 21,3 (Aug. 2003), pp. 314−340.
- S. Tallam, R. Gupta, Xiangyu Zhang. Extended whole program paths. In Proceedings of PACT 2005, pp. 17−26.
- J. Xue and Q. Cai. A lifetime optimal algorithm for speculative PRE. ACM Trans. Archit. Code Optim. 3, 2 (Jun. 2006), pp. 115−155.
- David W. Wall. Limits of instruction-level parallelism. In Proceedings of the Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS), volume IV, pp. 176−188, April 1991.