Abstract
There are a growing number of micro-architectures that employ pipelined array units for high-speed floating point applications. To obtain the performance required in such applications, effective loop optimization is crucial. The loop optimization problem for micro-architectures with pipelined processing units is similar to the problem of array processor loop optimization. The URPR method has been proven to be an effective, low-complexity approach to optimizing loops in array processor programs, so we conducted a case study of the method applied to a representative pipelined microarchitecture based on the AMD29500 chip family. The results of applying two URPR compaction algorithms and a new compaction algorithm to the 29500-based micro-architecture are presented. With the new compaction algorithm, we were able to realize microcode as efficient as the complex microcode manually derived by AMD.
- 1 Am2900 Family Data Book. Advanced Micro Devices, Santa Clara, CA, 1985.Google Scholar
- 2 Am29500 Application Note. Advanced Micro Devices, Santa Clara, CA, 1985.Google Scholar
- 3 J.A. Fisher. Trace Scheduling: A Technique for Global Microcode Compaction. IEEE Transactions on Computers, C-30(7):478490, July 1981.Google Scholar
- 4 D. Landskov, S. Davidson, B.D. Shriver, and P.W. Mallett. Local Microcode Compaction Techniques. ACM Computing Surveys, 12(3):261-294, September 1980. Google Scholar
Digital Library
- 5 C.L. Lui. Topics in Combinatorial Mathematics. Mathematical Association of America, Buffalo, NY, 1972.Google Scholar
- 6 R.A. Mueller and J. Varghese. Knowledge-Based Code Selection Methods in Retargetable Microcode Synthesis. IEEE Design and Test, 2(3):44-55, August 1985.Google Scholar
Digital Library
- 7 R.A. Mueller and J. Varghese. Retargetable Microcode Generation. Technical Report CS-84-01, Department of Computer Science, Colorado State University, Fort Collins, CO, April 1984.Google Scholar
- 8 Alan V. Oppenheim and Ronald W. Schafer. Digital Signal Proceasing. Prentice-Hall, Englewood Cliffs, NJ, 1975.Google Scholar
- 9 B. Su and S. Ding. Some experiments in global microcode compaction. In Proceedings of the 18th Microprogramming Workshop (MICRO-18), pages 175-180, Asilomar, CA, Nov 1985. Google Scholar
Digital Library
- 10 B. Su, S. Ding, and L. Jin. An improvement of trace scheduling for global microcode compaction. In Proceedings of the 17th Microprogramming Workshop (MICRO- 171, pages 78-85, New Orleans, LA, Nov 1984. Google Scholar
Digital Library
- 11 B. Su, S. Ding, and J. Xia. URPR - An extension of URCR for Software Pipelining. October 1986. Submitted to the 19th Microprogramming Workshop (MICRO- 19). Google Scholar
Digital Library
Index Terms
A case study in signal processing microprogramming using the URPR software pipelining technique
Recommendations
A case study in signal processing microprogramming using the URPR software pipelining technique
MICRO 19: Proceedings of the 19th annual workshop on MicroprogrammingThere are a growing number of micro-architectures that employ pipelined array units for high-speed floating point applications. To obtain the performance required in such applications, effective loop optimization is crucial. The loop optimization ...
URPR—An extension of URCR for software pipelining
The software pipeline technique is an effective approach to optimizing loops in array processor programs, but existing methods are of high complexity and the results may not be satisfactory.
This paper introduces the URPR algorithm, an extension of the ...
Software Pipelining of Nested Loops
CC '01: Proceedings of the 10th International Conference on Compiler ConstructionSoftware pipelining is a technique to improve the performance of a loop by overlapping the execution of several iterations. The execution of a software-pipelined loop goes through three phases: prolog, kernel, and epilog. Software pipelining works best ...






Comments