Abstract
Loop optimization is an important aspect of microcode compaction to minimize execution time. In this paper a new loop optimization technique for horizontal microprograms is presented, which makes use of the cyclic regularity of loops.
We have extended the concept of reservation table, which is used to develop a pipeline control strategy, so that both data dependencies and resource conflicts are taken into account. Based on the analysis of the extended reservation table, or scheduling table, an optimal schedule can be obtained. The iterations of a loop are then rearranged to form a new loop body, whose length may be greater than that of the original one. But the average initiation latency between iterations is minimal.
- 1 A.V. Aho, R. Sethi, J.D. Ullman, "Compilers, Principles, Techniques, and Tools", Addison-Wesley Publishing Company.]] Google Scholar
Digital Library
- 2 Kai Hwang, "Computer Architecture and Parallel Processing", McGraw-Hill Book Company, 1984.]] Google Scholar
Digital Library
- 3 J.A. Fisher, "Trace Scheduling: A technique for Global Microcode Compaction", IEEE Transactions on Computers, Vol C-30, No. 7, pp. 478-490, July 1981.]]Google Scholar
Digital Library
- 4 Peter M. Kogge, "The Architecture of Pipelined Computers", McGraw-Hill Book Company, 1981]]Google Scholar
- 5 J. Lah and D.E. Aktin, "Tree Compaction of Microprograms", The Proc of 16th Workshop on Microprogramming, 1983.]]Google Scholar
Digital Library
- 6 D. Landskov, S. Davidson, et al. "Local microcode compaction techniques', Computer Surveys, vol 12, pp.261-294, Sept. 1980.]] Google Scholar
Digital Library
- 7 D. Liu, "A Proposal on a Retargetable Microcode Generation System", Technical Report, GMD-TUB FIRST, May 1988.]]Google Scholar
- 8 R. Mueller, B. Su, et al. "A Case Study in Signal Processing Microprogramming using the URPR Software Pipelining Technique", In Proceedings of the 19th Microprogramming Workshop (MICRO-1.9), pages 104-l 15, 1986.]] Google Scholar
Digital Library
- 9 B. Su, S. Ding, et al. "URPR - An Extension of URCR for Software Pipelining", In Proceedings of the 19th Microprogramming Workshop (MICRO-19). pages 94-103, 1986.]] Google Scholar
Digital Library
Index Terms
A loop optimization technique based on scheduling table
Recommendations
Timing optimization via nest-loop pipelining considering code size
Embedded systems have strict timing and code size requirements. Software pipelining is one of the most important optimization techniques to improve the execution time of loops by increasing the parallelism among successive loop iterations. However, ...
A loop optimization technique based on scheduling table
MICRO 22: Proceedings of the 22nd annual workshop on Microprogramming and microarchitectureLoop optimization is an important aspect of microcode compaction to minimize execution time. In this paper a new loop optimization technique for horizontal microprograms is presented, which makes use of the cyclic regularity of loops.
We have extended ...
Outer-loop vectorization: revisited for short SIMD architectures
PACT '08: Proceedings of the 17th international conference on Parallel architectures and compilation techniquesVectorization has been an important method of using data-level parallelism to accelerate scientific workloads on vector machines such as Cray for the past three decades. In the last decade it has also proven useful for accelerating multi-media and ...






Comments