Abstract
The software pipelining technique is an effective approach to the optimization of loops in array processor programs and microprograms. In this paper we present a global URPR algorithm--GURPR to optimize loops of different structures based on the LURPR method we presented in 1986. We start with a brief introduction to LURPR, then discuss the pipelining of loops with abnormal entries, conditional exits, more than one path, nested loops and subroutine calls respectively. Finally we present the complete GURPR algorithms.
- {1} A.E. Charlesworth. An Approach to Scientific Array Processing: The Architectural Design of the AP-120/FPS-164 Family, Computer, 18-27, Sept. 1981.Google Scholar
- {2} Pin Chen. Software Pipelining: A Code Optimization Technique to Improve the Efficiency or Array Processors. Master's thesis, Institute of North-Western telecommunication Engineering, China, 1984.Google Scholar
- {3} J.A. Fishor, at el. Microcode Compaction: Looking Backward and Looking Forward. In Proceedings of the National Computer Conference, pages 95-102, AFIPS Press, Montrale, NJ, July 1981.Google Scholar
Digital Library
- {4} J.A. Fisher. "Trace Scheduling: A Technique for Global Microcode Compaction", IEEE trans. on Computers, C-30, 1981, pp. 478-490.Google Scholar
- {5} D. Hoste and H. Gindre. Am29500 Application Note, Advanced Micro Devices. Jan. 1985.Google Scholar
- {6} R. Mueller, B. Su, et al. A Case Study in Signal Processing Microprogramming using the URPR Software Pipelining Technique. Proc. of the 19th Annual workshop on Microprogramming (MICRO-19), pp 104-115, Oct. 1988. Google Scholar
Digital Library
- {7} B. Su, S. Ding and L. Jin. An improvement of Trace Scheduling for Global Microcode Compaction. In Proc. of the 17th Annual Workshop on Microprocessing (MICRO-17). pp. 78-85, New Orleans, LA, Oct. 1984. Google Scholar
Digital Library
- {8} Bogong, Su and S. Ding. Some Experiments in Global Microcode Compaction. In Proceedings of the 18th Microprogramming Workshop (MICRO-18), pp 175-180, Asilomar, CA, Nov. 1985. Google Scholar
Digital Library
- {9} Bogong. Su, Shiyuan Ding and Jinshl Xia, URPR-- An Extension of URCR for Software Pipeline, Proc. of the 19th Annual Workshop on Microprogramming (MICRO-19), pp 104-108, Oct. 1986. Google Scholar
Digital Library
- {10} B. Su, Shiyuan Ding, Jian Wang and Jinshi Xia. Microcode Compaction with Timing Constraints. Submitted to MICRO-20. 1987. Google Scholar
Digital Library
- {11} R. F. Touzeau, A Fortran Compiler for the FPS- 164 Scientific computer, In Proceeding of the ACM SIGPLAN Symposium on Compiler Construction, pp 48-57, 1984. Google Scholar
Digital Library
- {12} W. R. Wittmayer. Array Processor Provides High Throughput Rates. Computer Design, Vol. 17, No. 3.Google Scholar
Index Terms
GURPR - a method for Global Software pipelining
Recommendations
GURPR—a method for global software pipelining
MICRO 20: Proceedings of the 20th annual workshop on MicroprogrammingThe software pipelining technique is an effective approach to the optimization of loops in array processor programs and microprograms. In this paper we present a global URPR algorithm—GURPR to optimize loops of different structures based on the LURPR ...
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 ...
Parallel-stage decoupled software pipelining
CGO '08: Proceedings of the 6th annual IEEE/ACM international symposium on Code generation and optimizationIn recent years, the microprocessor industry has embraced chip multiprocessors (CMPs), also known as multi-core architectures, as the dominant design paradigm. For existing and new applications to make effective use of CMPs, it is desirable that ...






Comments