THE EFFECT OF CODE EXPANDING OPTIMIZATIONS ON INSTRUCTION CACHE DESIGN

被引:25
作者
CHEN, WY
CHUNG, PP
CONTE, TM
HWU, WMW
机构
[1] Intel Corporation, Santa Clara
[2] Department of Electrical and Computer Engineering, The University of South Carolina, Columbia
[3] Coordinated Science Laboratory, University of Illinois, Urbana-Champaign
基金
美国国家科学基金会; 美国国家航空航天局;
关键词
C-COMPILER; CODE OPTIMIZATION; CACHE MEMORY; CODE EXPANSION; LOAD FORWARDING; INSTRUCTION PLACEMENT; FUNCTION IN-LINE EXPANSION; SUPERSCALAR OPTIMIZATIONS;
D O I
10.1109/12.241594
中图分类号
TP3 [计算技术、计算机技术];
学科分类号
0812 ;
摘要
This paper shows that code expanding optimizations have strong and nonintuitive implications on instruction cache design. Three types of code expanding optimizations are studied in this paper: instruction placement, function inline expansion, and superscalar optimizations. Overall, instruction placement reduces the miss ratio of small caches. Function inline expansion improves the performance for small cache sizes, but degrades the performance of medium caches. Superscalar optimizations increase the miss ratio for all cache sizes. However, they also increase the sequentiality of instruction access so that a simple load forwarding scheme effectively cancels the negative effects. Overall, we show that with load forwarding, the three types of code expanding optimizations jointly improve the performance of small caches and have little effect on large caches.
引用
收藏
页码:1045 / 1057
页数:13
相关论文
共 25 条
[1]  
Aho A. V., 1986, COMPILERS PRINCIPLES
[2]  
ALLEN R, 1988, 1988 P ACM C PROG LA
[3]  
ALPERT DB, 1988, MICRO AUG, P44
[4]  
AUSLANDER M, 1982, P ACM SIGPLAN 82 S C
[5]  
CHANG P, 1991, SOFTWARE PRACTIC DEC
[6]  
CHANG PP, 1991, ACM COMP AR, V19, P266, DOI 10.1145/115953.115979
[7]  
CHANG PP, 1992, SOFTWARE PRACTIC MAY
[8]  
CHOW F, 1984, P SIGPLAN 84 S COMPI, P222
[9]  
CONTE TM, 1992, THESIS U ILLINOIS UR
[10]  
CUDERMAN KJ, 1989, CSLTR89398 STANF U C