Advertisement

Tailoring Software Pipelining for Effective Exploitation of Zero Overhead Loop Buffer

  • Gang-Ryung Uh
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 2826)

Abstract

A Zero Overhead Loop Buffer (ZOLB) is an architectural feature that is commonly found in DSPs (Digital Signal Processors). This buffer can be viewed as a compiler (or program) managed cache that can hold a limited number of instructions, which will be executed a specified number of times without incurring any loop overhead. Preliminary versions of the research, which exploit a ZOLB, report significant improvement in execution time with a minimal code size increase [UH99,UH00]. This paper extends the previous compiler efforts to further exploit a ZOLB by employing a new software pipelining methodology. The proposed techniques choose complex instructions, which capitalize on instruction level parallelism across loop iteration boundaries. Unlike the traditional pipelining techniques, the proposed pipelining strategy is tightly coupled with instruction selection so that it can perform register renaming and/or proactively generate additional instruction(s) on the fly to discover more loop parallelism on the ZOLB. This framework reports additional significant improvements in execution time with modest code size increases for various signal processing applications on the DSP16000.

Keywords

Digital Signal Processor Partial Schedule Loop Body Software Pipeline Instruction Level Parallelism 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. AIK88.
    Aiken, A., Nicolau, A.: A Development Environment for Horizontal Microcode. IEEE Transaction on Software Engineering 14, 584–594 (1988)CrossRefGoogle Scholar
  2. ALL85.
    Allen, F.E., Cocke, J.: Computing Architecture for Digital Signal Processing. Proceedings of the IEEE International Conference on Acoustics, Speech,Signal 75(5), 852–873 (1985)Google Scholar
  3. ARA95.
    Araujo, G., Malik, S.: Optimal code generation for embedded memory non-homogeneous register architectures. In: Proceedings of the IEEE International Symposium on System Synthesis, September 1995, pp. 36–41 (1995)Google Scholar
  4. ARA195.
    Araujo, G., Devadas, S., Keutzer, K., Liao, S., Malik, S., Sudarsanam, A., Tjiang, S., Wang, A.: Challenges in code generation for embedded processors. In: Marwedel, P., Gossens, G. (eds.) Code Generation for Embedded Processors. Kluwer Academic Publishers, Dordrecht (1995)Google Scholar
  5. CAL93.
    : Embedded real-time systems. Wiley Series in Software Engineering Practice (1993)Google Scholar
  6. DES93.
    Desmet, D., Genin, D.: ASSYNT: efficient assembly code generation for digital signal processors. In: Proceedings of the IEEE International Conference Acoustics, Speech, Signal, Minneapolis (April 1993)Google Scholar
  7. EIC97.
    Eichenberger, A.E.: Modulo Scheduling, Machine Representations, and Register-Sensitive Algorithms. Ph.D Thesis, University of Michigan (1997)Google Scholar
  8. ERIC99.
    Stotzer, E., Leiss, E.: Modulo Scheduling for the TMS320C6X VLIWDSP Architecture. In: ACM SIGPLAN Workshop on Languages, Compilers, and Tools for Embedded Systems, May 5, pp. 28–34 (1999)Google Scholar
  9. HUF93.
    Huff, R.A.: Lifetime-Sensitive Modulo Scheduling. In: Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation, June 1993, pp. 258–267 (1993)Google Scholar
  10. LAM88.
    M.: Software Pipelining: An Effective Scheduling Technique for VLIW Machines. In: Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation, June 1988, pp. 318–328 (1988)Google Scholar
  11. LAP96.
    Lapsley, P., Bier, J., Lee, E.: DSP Processor Fundamentals - Architecture and Features. IEEE Press, Los Alamitos (1996)Google Scholar
  12. LEE88.
    Lee, E.A.: Programmable DSP Architectures: Part I. IEEE ASSP Magazine, 4–19 (January 1988)Google Scholar
  13. LEE89.
    Lee, E.A.: Programmable DSP Architecture: Part II. IEEE ASSP Magazine, 4–19 (January 1989)Google Scholar
  14. LIA96.
    Liao, S.Y.: Code generation and optimization for embedded digital signal processors. Ph.D Thesis, Massachusetts Institute of Technology (June 1996)Google Scholar
  15. LSI02.
    LSI Logic: ZSP500 Digital Signal Processor Core Architecture (2002) Google Scholar
  16. LU97.
    Lucent Technologies: DSP16000 Digital Signal Processor Core Instruction Set Manual (1997)Google Scholar
  17. MAL81.
    Mallet, S., Landskov, D., Shriver, B.D., Mallett, P.W.: Some Experiments in Local Microcode Compaction for Horizontal Machines. IEEE Transaction on Computers 30(7), 460–477 (1981)CrossRefGoogle Scholar
  18. RAP97.
    Leupers, R., Marwedel, P.: Time-Constrained Code Compaction for DSPs. IEEE Transactions on VLSI Systems 5(1) (1997)Google Scholar
  19. RAU94.
    Rau, B.R.: Iterative Modulo Scheduling: An Algorithm For Software Pipelining Loops. In: Proceedings of the 27th Annual International Symposium on Microarchitecture, pp. 63–74 (November 1994)Google Scholar
  20. UH99.
    Uh, G.R., Wang, Y., Whalley, D., Jinturkar, S., Burns, S., Cao, V.: Effective Exploitation of a Zero Overhead Loop Buffer. In: Proceedings of the ACM SIGPLAN 1999 Workshop on Languages, Compilers, and Tools for Embedded System, pp. 10–19 (1999)Google Scholar
  21. UH00.
    Uh, G.R., Wang, Y., Whalley, D., Jinturkar, S., Burns, C., Cao, V.: Techniques for Effective Exploitation of a Zero Overhead Loop Buffer. In: Proceedings of the 9th International Conference on Compiler Construction (March 2000)Google Scholar
  22. VIK95.
    Allan, V.H., Jones, R.B., Lee, R.M., Allan, S.J.: Software Pipelining. ACM Computing Surveys 27(3) (September 1995)Google Scholar
  23. YHO99.
    Wang, Y.: Interprocedural Optimizations for Embedded Systems. MS project, Florida State University (April 1999)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2003

Authors and Affiliations

  • Gang-Ryung Uh
    • 1
  1. 1.Computer ScienceBoise State University 

Personalised recommendations