Classification and generation of schedules for VLIW processors

被引:2
作者
Kessler, Christoph [1 ]
Bednarski, Andrzej [1 ]
Eriksson, Mattias [1 ]
机构
[1] Linkoping Univ, Dept Comp & Informat Sci, PELAB, S-58183 Linkoping, Sweden
关键词
instruction-level parallelism; instruction scheduling; code generation; code compaction; integer linear programming; VLIW architecture; superscalar processor;
D O I
10.1002/cpe.1175
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Exact methods for optimal instruction scheduling are gaining importance. They differ, however, considerably in the assumed processor model and in the space of schedules searched for an optimal solution. We identify and analyze different classes of schedules for VLIW processors. The classes are induced by various common techniques for generating or enumerating them, such as integer linear programming or list scheduling with backtracking. In particular, we study the relationship between VLIW schedules and their equivalent linearized forms (which may be used, e.g., with superscalar processors), and we identify classes of VLIW schedules that can be created from a linearized form using VLIW compaction methods that are just the static equivalents of dynamic instruction dispatch algorithms of in-order and out-of-order issue superscalar processors. For example, we study the class of greedy schedules and show that, if all instructions have multiblock reservation tables, it is safe for time optimization to consider greedy schedules only. We also show that, in certain situations, certain schedules generally cannot be constructed by incremental scheduling algorithms that are based on topological sorting of the data dependence graph. We summarize our findings as a hierarchy of classes of VLIW schedules. These results can sharpen the interpretation of the term 'optimality' used with various methods for optimal VLIW scheduling, and may help to identify classes that can be safely ignored when searching for an optimal schedule. Copyright (c) 2007 John Wiley & Sons, Ltd.
引用
收藏
页码:2369 / 2389
页数:21
相关论文
共 45 条
[1]   CODE GENERATION FOR EXPRESSIONS WITH COMMON SUB-EXPRESSIONS [J].
AHO, AV ;
JOHNSON, SC ;
ULLMAN, JD .
JOURNAL OF THE ACM, 1977, 24 (01) :146-160
[2]  
BARTHOU D, 1993, ENV TOOLS PARALLEL S, P275
[3]  
BASHFORD S, 1999, DESIGN AUTOMATION EM, V4, P1
[4]  
BEDNARSKI A, 2006, LECT NOTES COMPUTER, V4128
[5]   SCHEDULING ARITHMETIC AND LOAD OPERATIONS IN PARALLEL WITH NO SPILLING [J].
BERNSTEIN, D ;
JAFFE, JM ;
RODEH, M .
SIAM JOURNAL ON COMPUTING, 1989, 18 (06) :1098-1127
[6]   SCHEDULING EXPRESSIONS ON A PIPELINED PROCESSOR WITH A MAXIMAL DELAY OF ONE CYCLE [J].
BERNSTEIN, D ;
GERTNER, I .
ACM TRANSACTIONS ON PROGRAMMING LANGUAGES AND SYSTEMS, 1989, 11 (01) :57-66
[7]   ON THE COMPLEXITY OF SCHEDULING PROBLEMS FOR PARALLEL PIPELINED MACHINES [J].
BERNSTEIN, D ;
RODEH, M ;
GERTNER, I .
IEEE TRANSACTIONS ON COMPUTERS, 1989, 38 (09) :1308-1313
[8]   AN OPTIMAL INSTRUCTION SCHEDULER FOR SUPERSCALAR PROCESSOR [J].
CHOU, HC ;
CHUNG, CP .
IEEE TRANSACTIONS ON PARALLEL AND DISTRIBUTED SYSTEMS, 1995, 6 (03) :303-313
[9]  
Coffman Jr E. G., 1976, COMPUTER JOB SHOP SC
[10]  
Davidson E. S., 1975, P IEEE COMPCON 75 NE, P181