|
ABSTRACT
Most microprocessors introduced into the market in the past few years employ pipelining to enhance execution speed. Moreover, many of these processors use multiple pipelined functional units. This paper surveys several heuristics reported in the literature on the topic of code optimization and reordering for exploiting instruction level parallelism in pipelined processors. Five methods are described in detail and several others are briefly reviewed
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.
| |
1
|
[Abrah88] Abraham, S., and Padmanabhan, K., "Instruction reorganization for a variable-length pipelined microprocessor," Proc. of the Intl. Conf. on Computer Design, New York, Oct. 1988.
|
| |
2
|
[Arya85] Arya, S., "An optimal intruction scheduling model for a class of vector processors," IEEE Trans. on Computers, Vol. 34, No. 11, Nov. 1985.
|
| |
3
|
[Bern88] Bernstein, D., "An improved approximation algorithm for scheduling pipelined machines," Proc. of the Intl. Conf. on Parallel Processing, St. Charles, Ill., Aug. 1988.
|
 |
4
|
|
| |
5
|
|
| |
6
|
|
| |
7
|
[Bern90] Bernstein, D., Private communication.
|
| |
8
|
|
| |
9
|
[Coff76] Coffman, E. G., Computer and job-shop scheduling theory. New York: Wiley, 1976.
|
| |
10
|
[Elli85] Ellis, J. R., "Bulldog: A compiler for VLIW architectures," PhD Thesis, Yale U/DCS/RR-364, Yale University, Feb. 1985.
|
| |
11
|
[Fish81] Fisher, J., "Trace Scheduling: A technique for global microcode compaction," IEEE Trans. on Computers, Vol. C-30, No. 7, July 1981.
|
 |
12
|
|
 |
13
|
|
| |
14
|
|
| |
15
|
|
 |
16
|
|
| |
17
|
[Hsu87] Hsu, W. C., "Register allocation and code scheduling for load/store architectures," Univ. of Wisconsin-Madison Tech. Report #722, Oct. 1987.
|
| |
18
|
[Hu61] Hu, T. C., "Parallel sequencing and assembly line problems," Operations Research, Vol. 9, No. 6, 1961.
|
 |
19
|
|
| |
20
|
|
 |
21
|
|
| |
22
|
[Krish90] Krishnamurthy, S. M., "Static scheduling of multi-cycle operations for a pipelined RISC processor," Scholarly Paper, Master's program, Clemson University, May 1990.
|
| |
23
|
[Lawl87] Lawler, E., Lenstra, J. K., Martel, C., and Simmons, B., "Pipeline scheduling: A survey," IBM Research Report, RJ5738 (57717), July 1987.
|
| |
24
|
|
| |
25
|
Veljko Milutinovic , Alex Silbey , David Fura , Kevin Kerin , Mark Bettinger , Walt Helbig , William Heagerty , Richard Zieger , Bob Schellack , Walt Curtice, Issues of Importance in Designing GaAs Microcomputer Systems, Computer, v.19 n.10, p.45-57, October 1986
[doi> 10.1109/MC.1986.1663070]
|
| |
26
|
|
 |
27
|
|
| |
28
|
[Tie89] Tiemann, M. D., "The GNU Instruction Scheduler," CS343 course report, Stanford University, Jun. 1989.
|
| |
29
|
[Youn85] Young, H., "Evaluation of a decoupled computer architecture and the design of a vector extension," Univ. of Wisconsin-Madison Tech. Report #603, July 1985.
|
CITED BY 7
|
|
Mark Smotherman , Shuchi Chawla , Stan Cox , Brian Malloy, Instruction scheduling for the Motorola 88110, Proceedings of the 26th annual international symposium on Microarchitecture, p.257-262, December 01-03, 1993, Austin, Texas, United States
|
|
|
|
|
|
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|