Skip to main content

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 3728))

Abstract

Data transfers and storage are dominating contributors to the area and power consumption for all modern multimedia applications. A cost-efficient realisation of these systems can be obtained by using high-level memory optimisations. This paper demonstrates that the state-of-the-art memory optimisation techniques only partly can deal with code from real-life multimedia applications. We propose a systematic preprocessing methodology that can be applied on top of the existing work. This opens more opportunities for existing memory optimisation techniques. Our methodology is complemented with a postprocessing step, which eliminates the negative effects of preprocessing and may further improve the code quality [7,10]. Our methodology has been applied on several real-life multimedia applications. Results show a decrease in the number of main memory accesses up to 45.8% compared to applying only state-of-the-art techniques.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 84.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 109.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Absar, J., Catthoor, F., Das, K.: Call-instance based function inlining for increasing data access related optimisation opportunities. Technical report, IMEC, Leuven, Belgium (2003)

    Google Scholar 

  2. Atienza, D., et al.: Dynamic memory management methodology for reduced memory footprint in multi-media and wireless network applications. In: Proc. 7th ACM/IEEE Design and Test in Europe Conf (DATE), Paris, France, February 2004, pp. 532–537 (2004)

    Google Scholar 

  3. Bastoul, C., et al.: Putting polyhedral loop transformations to work. In: Rauchwerger, L. (ed.) LCPC 2003. LNCS, vol. 2958, pp. 209–225. Springer, Heidelberg (2004)

    Chapter  Google Scholar 

  4. Brockmeyer, E., Miranda, M., Catthoor, F., Corporaal, H.: Layer Assignment Techniques for Low Energy in Multi-layered Memory Organisations. In: Proc. 6th ACM/IEEE Design and Test in Europe Conf. (DATE), Munich, Germany, March 2003, pp. 1070–1075 (2003)

    Google Scholar 

  5. Catthoor, F., Danckaert, K., Kulkarni, C., Brockmeyer, E., Kjeldsberg, P.G., Van Achteren, T., Omnes, T.: Data access and storage management for embedded programmable processors. Kluwer Acad. Publ., Boston (2002) ISBN 0-7923-7689-7

    MATH  Google Scholar 

  6. Darte, A., Robert, Y.: Affine-by-statement scheduling of uniform and affine loop nests over parametric domains. Journal of Parallel and Distributed Computing 29(1), 43–59 (1995)

    Article  Google Scholar 

  7. Falk, H., Marwedel, P.: Control Flow Optimization by Loop Nest Splitting at the Source Code Level. In: Proc. 6th ACM/IEEE Design and Test in Europe Conf (DATE), Munich, Germany, March 2003, pp. 410–415 (2003)

    Google Scholar 

  8. Franke, B., O’Boyle, M.: Array Recovery and High-Level Transformations for DSP Applications. ACM Transactions on Embedded Computing Systems (TECS) 2(2), 132–162 (2003)

    Article  Google Scholar 

  9. De Greef, E., Catthoor, F., De Man, H.: Program transformation strategies for reduced power and memory size in pseudo-regular multimedia applications. IEEE Trans. on Circuits and Systems for Video Technology 8(6), 719–733 (1998)

    Article  Google Scholar 

  10. Gupta, S., Miranda, M., Catthoor, F., Gupta, R.: Analysis of high-level address code transformations for programmable processors. In: Proc. 3rd ACM/IEEE Design and Test in Europe Conf. (DATE), Paris, France, April 2000, pp. 9–13 (2000)

    Google Scholar 

  11. Jung, B., Jeong, Y., Burleson, W.P.: Distributed Control Synthesis for Data-Dependent Iterative Algorithms. In: Proc. on IEEE Int. Conf. on Application Specific Array Processors, San Francisco, August 1994, pp. 57–68 (1994)

    Google Scholar 

  12. Kandemir, M., Ramanujam, J., Choudhary, A., Banerjee, P.: A layout-conscious iteration space transformation technique. IEEE Transactions on Computers 50(12), 1321–1335 (2001)

    Article  Google Scholar 

  13. Kountouris, A.A., Wolinski, C.: Hierarchical Conditional Dependency Graphs as a Unifying Design Representation in the CODESIS High-Level Synthesis System. In: Proc. of 13th Intnl. Symposium on System Synthesis (ISSS 2000), Madrid, Spain, September 2000, pp. 66–71 (2000)

    Google Scholar 

  14. Lagerström, K.: Design and Implementation of an MP3 Decoder. M.Sc. thesis, Chalmers University of Technology, Sweden (May 2001), http://www.kmlager.com/mp3/

  15. McKinley, K., Carr, S., Tseng, C.-W.: Improving data locality with loop transformations. ACM Trans. on Programming Languages and Systems 18(4), 424–453 (1996)

    Article  Google Scholar 

  16. http://www.mplayerhq.hu/

  17. Palkovic, M., Brockmeyer, E., Catthoor, F.: Hierarchical rewriting and hiding of data dependent conditions to enable global loop transformations. In: Proc. 2nd Wsh. on Optim. for DSP and Embedded Systems (ODES), Palo Alta CA (March 2004)

    Google Scholar 

  18. Palkovic, M., Corporaal, H., Catthoor, F.: GlobalMemory Optimisation for Embedded Systems allowed by Code Duplication. In: Proc 9th Intnl. Wsh. on Software and Compilers for Embedded Systems (SCOPES), Dallas TX (September 2005)

    Google Scholar 

  19. Pugh, W.: The Omega Test: a fast and practical integer programming algorithm for dependence analysis. Communications of the ACM 35(8) (August 1992)

    Google Scholar 

  20. Semeria, L., De Micheli, G.: SpC: synthesis of pointers in C. In: Proc. IEEE Intnl. Conf. on Comp. Aided Design, Santa Clara CA, November 1998, pp. 340–346 (1998)

    Google Scholar 

  21. Strobach, P.: QSDPCM – A New Technique in Scene Adaptive Coding. In: Proc. 4th Eur. Signal Processing Conf., EUSIPCO 1988, Grenoble, France, September 1988, pp. 1141–1144 (1988)

    Google Scholar 

  22. Vanbroekhoven, P., Janssens, G., Bruynooghe, M., Corporaal, H., Catthoor, F.: Advanced copy propagation for arrays. In: Proc. of the SIGPLAN Conf. on Languages, Compilers, and Tools for Embedded Systems (LCTES 2003), San Diego CA, June 2003, pp. 24–33 (2003)

    Google Scholar 

  23. Wilde, D.: A Library for Doing Polyhedral Operations., M.Sc. thesis, Oregon State Univ. In co-operation with IRISA/INRIA, Rennes, France (December 1993)

    Google Scholar 

  24. Wolf, M., Lam, M.: A data locality optimizing algorithm. In: Proc. of the SIGPLAN 1991 Conf. on Programming Language Design and Implementation, Toronto, Canada, June 1991, pp. 30–43 (1991)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2005 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Palkovic, M., Brockmeyer, E., Vanbroekhoven, P., Corporaal, H., Catthoor, F. (2005). Systematic Preprocessing of Data Dependent Constructs for Embedded Systems. In: Paliouras, V., Vounckx, J., Verkest, D. (eds) Integrated Circuit and System Design. Power and Timing Modeling, Optimization and Simulation. PATMOS 2005. Lecture Notes in Computer Science, vol 3728. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11556930_10

Download citation

  • DOI: https://doi.org/10.1007/11556930_10

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-29013-1

  • Online ISBN: 978-3-540-32080-7

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics