|
ABSTRACT
This paper describes a method to reorder the straight line instruction streams for pipelined computers which have one instruction issue unit but may contain multiple function units. The objective is to make the most efficient usage of the pipelines within the computer system. The input to the scheduler is the intermediate code of a compiler, and is represented by a data dependence graph (DDG).
The scheduler is a kind of list scheduler. The data dependence and the pipeline effect of the function units within the system have been considered for finding a most suitable time slot for each node during reordering time.
The scheduler has been implemented and several scientific application programs have been tested. The results show that in most of the cases the scheduler will achieve the optimal result. The average instruction issue rate is over 96%. As a comparison, the issue rate of an ordinary compiler is only 22%; and the issue rate of a compiler with the effect of pipeline but without reordering the instruction stream is about 45%.
REFERENCES
Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.
| |
Aho-86
|
Alfred V. Aho , Ravi Sethi , Jeffrey D. Ullman, Compilers: principles, techniques, and tools, Addison-Wesley Longman Publishing Co., Inc., Boston, MA, 1986
|
| |
Arya85
|
Arya, S." An Optimal Instruction - Scheduling Models for Class of Vectors Processor", IEEE Transactions on Computers, V-34(11), p981-995, Nov. 1985
|
 |
Ausl82
|
|
 |
Brow84
|
|
| |
Brun80
|
Bruno, J., Jones, J. W. and So, K.,' Deterministic Scheduling with Pipelined Processors", IEEE Transactions on Computers, C-29(4), p308 316, Apr. 1980
|
| |
Bucy80
|
Bucy, R. S. and Senne, K. D.," Nonlinear Filtering Algorithms for Vector Machines,", Computers and Mathematics, V-6(3), p317-338, 1980
|
| |
Burd85
|
Burden, R. L. and Faires, J. D., Numerical Analysis, Prindle, Weber and Schmidt, Boston, 1985
|
| |
Dong79
|
Dongarra, J. J. and Hinds, A. R.," Unrolling Loops in TORTRAN,", Software Praticce and Experience, V-9(3), Mar. 1979
|
| |
Elli86
|
|
 |
Gibb86
|
|
 |
Gonz77
|
|
| |
Gros83
|
Gross, T. R., Code Optimization of Pipeline Constraints, Technique Report No. 255, Computer System Laboratory, Dept. of Electric Engineering and Conputer Science, Stanford University, Dec. 1983
|
 |
Henn83
|
|
 |
John86
|
Mark S. Johnson , Terrence C. Miller, Effectiveness of a machine-level, global optimizer, Proceedings of the 1986 SIGPLAN symposium on Compiler construction, p.99-108, June 25-27, 1986, Palo Alto, California, United States
|
| |
Kasa84
|
Kasahara, H. and Narita, S.,"" Practical Multiprocessor Scheduling Algorithms for Efficient Parallel Proccessing", IEEE Transactions on Computers, C-33(11), p1023-1029, Nov. 1984
|
| |
Kate85
|
|
| |
Kogg81
|
Kogge, P. M.", The Architecture of Pipelined Computers, Hemisphere Publishing Corporation, 1981
|
 |
Kuck81
|
D. J. Kuck , R. H. Kuhn , D. A. Padua , B. Leasure , M. Wolfe, Dependence graphs and compiler optimizations, Proceedings of the 8th ACM SIGPLAN-SIGACT symposium on Principles of programming languages, p.207-218, January 26-28, 1981, Williamsburg, Virginia
[doi> 10.1145/567532.567555]
|
| |
Lawl87
|
Lawler, E., Lenstra, J. K., Martel, C. and Simons, B.," Pipeline Scheduling: A Survey", IBM Research Report, RJ5738 (57717), July 15, 1987
|
 |
Padu86
|
|
| |
Poly88
|
|
 |
Rau-81
|
|
 |
Rau-82
|
B. Ramakrishna Rau , Christopher D. Glaeser , Raymond L. Picard, Efficient code generation for horizontal architectures: Compiler techniques and architectural support, Proceedings of the 9th annual symposium on Computer Architecture, p.131-139, April 26-29, 1982, Austin, Texas, United States
|
 |
Ryma82
|
|
| |
Sahn84
|
Sahni, S.," Scheduling Multipipeline and Multiprocessor Computers', IEEE Transactions on Computers, C-30(1), p637-645, Jul. 1984
|
| |
Shie89
|
Shieh, J. J. and Papachristou, C.," A Mapping Strategy for Multiprocessor Systems", To be published.
|
| |
Thom64
|
Thornton, J. E.," Parallel Operation in Control Data 6600,", Proc. of Fall Joint Computer Conference, Part 2, V-26, p33-40, 1964
|
| |
Toma67
|
Tomasulo, R. M., " An Efficient Algorithm for Exploiting Multiple Arithmetic Units", IBM Journal, p25-33, Jan. 1967
|
 |
Wali87
|
Jack Walicki , John D. Laughlin, Operation scheduling in reconfigurable, multifunction pipelines, Proceedings of the 20th annual workshop on Microprogramming, p.80-87, December 01-04, 1987, Colorado Springs, Colorado, United States
[doi> 10.1145/255305.255319]
|
| |
Wedi82
|
|
CITED BY 4
|
Mark Smotherman , Sanjay Krishnamurthy , P. S. Aravind , David Hunnicutt, Efficient DAG construction and heuristic calculation for instruction scheduling, Proceedings of the 24th annual international symposium on Microarchitecture, p.93-102, September 1991, Albuquerque, New Mexico, Puerto Rico
|
|
|
|
|
|
|
|
|
|