3 ARCHITECTURAL MODELS FOR COMPILER-CONTROLLED SPECULATIVE EXECUTION

被引:14
作者
CHANG, PP
WARTER, NJ
MAHLKE, SA
CHEN, WY
HWU, WW
机构
[1] CALIF STATE UNIV LOS ANGELES, DEPT ELECT & COMP ENGN, LOS ANGELES, CA USA
[2] HEWLETT PACKARD CORP, PALO ALTO, CA 94304 USA
[3] UNIV ILLINOIS, CTR RELIABLE & HIGH PERFORMANCE COMP, URBANA, IL 61801 USA
基金
美国国家科学基金会; 美国国家航空航天局;
关键词
CONDITIONAL BRANCHES; EXCEPTION HANDLING; SPECULATIVE EXECUTION; STATIC CODE SCHEDULING; SUPERBLOCK; SUPERPIPELINING; SUPERSCALAR;
D O I
10.1109/12.376164
中图分类号
TP3 [计算技术、计算机技术];
学科分类号
0812 ;
摘要
To effectively exploit instruction level parallelism, the compiler must move instructions across branches. When an instruction is moved above a branch that it is control dependent on, it is considered to be speculatively executed since it is executed before it is known whether or not its result is needed. There are potential hazards when speculatively executing instructions. If these hazards can be eliminated, the compiler can more aggressively schedule the code. The hazards of speculative execution are outlined in this paper. Three architectural models: restricted, general, and boosting, which have increasing amounts of support for removing these hazards are discussed. The performance gained by each level of additional hardware support is analyzed using the IMPACT C compiler which performs superblock scheduling for superscalar and superpipelined processors.
引用
收藏
页码:481 / 494
页数:14
相关论文
共 30 条
[1]  
Aho A.V, 1986, COMPILERS PRINCIPLES
[2]   A DEVELOPMENT ENVIRONMENT FOR HORIZONTAL MICROCODE [J].
AIKEN, A ;
NICOLAU, A .
IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 1988, 14 (05) :584-594
[3]  
AIKEN A, 1988, 1988 P ACM SIGPLAN C, P308
[4]   CODE COMPACTION FOR PARALLEL ARCHITECTURES [J].
ANANTHA, K ;
LONG, F .
SOFTWARE-PRACTICE & EXPERIENCE, 1990, 20 (06) :537-554
[5]  
BERNSTEIN D, 1991, 1991 P ACM SIGPLAN C, P241
[6]   USING PROFILE INFORMATION TO ASSIST CLASSIC CODE OPTIMIZATIONS [J].
CHANG, PP ;
MAHLKE, SA ;
HWU, WMW .
SOFTWARE-PRACTICE & EXPERIENCE, 1991, 21 (12) :1301-1321
[7]  
CHANG PP, 1991, ACM COMP AR, V19, P266, DOI 10.1145/115953.115979
[8]   THE IMPORTANCE OF PREPASS CODE SCHEDULING FOR SUPERSCALAR AND SUPERPIPELINED PROCESSORS [J].
CHANG, PP ;
LAVERY, DM ;
MAHLKE, SA ;
CHEN, WY ;
HWU, WMW .
IEEE TRANSACTIONS ON COMPUTERS, 1995, 44 (03) :353-370
[9]  
CHANG PP, 1988, 21ST P INT WORKSH MI, P188
[10]  
COLWELL RP, 1987, 2ND P INT C ARCH SUP, P180