skip to main content
research-article

Evaluating address register assignment and offset assignment algorithms

Published:05 May 2011Publication History
Skip Abstract Section

Abstract

In digital signal processors (DSPs), variables are accessed using k address registers. The problem of finding a memory layout, for a set of variables, that minimizes the address-computation overhead is known as the General Offset Assignment (GOA) problem. The most common approach to this problem is to partition the set of variables into k partitions and to assign each partition to an address register. Thus, effectively decomposing the GOA problem into several Simple Offset Assignment (SOA) problems. Many heuristic-based algorithms are proposed in the literature to approximate solutions to both the variable partitioning and the SOA problems. However, the address-computation overhead of the resulting memory layouts are not accurately evaluated. This article presents an evaluation of memory layouts that uses Gebotys' optimal address-code generation technique. The use of this evaluation method leads to a new optimization problem: the Memory Layout Permutation (MLP) problem. We then use Gebotys' technique and an exhaustive solution to the MLP problem to evaluate heuristic-based offset-assignment algorithms. The memory layouts produced by each algorithm are compared against each other and against the optimal layouts. The results show that even in small access sequences with 12 variables or less, current heuristics may produce memory layouts with address-computation overheads up to two times higher than the overhead of an optimal layout.

References

  1. Atri, S., Ramanujam, J., and Kandemir, M. 2001. Improving offset assignment for embedded processors. In Proceedings of the International Conference on High-Performance Embedded Architectures and Compilers. Springer, Berlin, 158--172. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. Bartley, D. H. 1992. Optimizing stack frame accesses for processors with restricted addressing modes. Softw. Pract. Exper. 22, 2, 101--110. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Chen, G. and Kandemir, M. 2005. Optimizing address code generation for array-intensive DSP applications. In Proceedings of the International Symposium on Code Generation and Optimization. IEEE, Los Alamitos, CA, 141--152. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Cheng, W.-K. and Lin, Y.-L. 1998. Addressing optimization for loop execution targeting DSP with auto-increment/decrement architecture. In Proceedings of the 11th International Symposium on System Synthesis. IEEE, Los Alamitos, CA, 15--20. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Choi, Y. and Kim, T. 2003. Address assignment in DSP code generation: An integrated approach. IEEE Trans. Comput. Aid. Des. Integr. Circuits Syst. 22, 8, 976--984. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Gebotys, C. 1997. DSP address optimization using a minimum cost circulation technique. In Proceedings of the International Conference on Computer-Aided Design (ICCAD'97). IEEE, Los Alamitos, CA, 100--103. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Guthaus, M. R., Ringenberg, J. S., Ernst, D., Austin, T. M., Mudge, T., and Brown, R. B. 2001. MiBench: A free, commercially representative embedded benchmark suite. In Proceedings of the 4th Annual Workshop on Workload Characterization. IEEE, Los Alamitos, CA, 3--14. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Kandemir, M. T., Irwin, M. J., Chen, G., and Ramanujam, J. 2003. Address register assignment for reducing code size. In Proceedings of the 12th International Conference on Compiler Construction. Springer, Berlin, 273--289. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Lee, C. and Stoodley, M. 1992. UTDSP BenchMark Suite. http://www.eecg.toronto.edu/~corinna/DSP/infrastructure/UTDSP.html.Google ScholarGoogle Scholar
  10. Leupers, R. 2003. Offset assignment showdown: Evaluation of DSP address code optimization algorithms. In Proceedings of the International Conference on Compiler Construction. Springer, Berlin, 290--302. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Leupers, R., Basu, A., and Marwedel, P. 1998. Optimized array index computation in DSP programs. In Proceedings of the Asia and South Pacific Design Automation Conference. IEEE, Los Alamitos, CA, 87--92.Google ScholarGoogle Scholar
  12. Leupers, R. and David, F. 1998. A uniform optimization technique for offset assignment problems. In Proceedings of the 11th International Symposium on System Synthesis. IEEE, Los Alamitos, CA, 3--8. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. Leupers, R. and Marwedel, P. 1996. Algorithms for address assignment in DSP code generation. In Proceedings of the International Conference on Computer-Aided Design. ACM, New York, 109--112. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. Liao, S. 1996. Code Generation and Optimization for Embedded Digital Signal Processors. Ph.D. thesis, Massachusetts Institute of Technology. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Liao, S., Devadas, S., Keutzer, K., Tjiang, S., and Wang, A. 1996. Storage assignment to decrease code size. ACM Trans. Program. Lang. Syst. 18, 3, 235--253. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Lim, S., Kim, J., and Choi, K. 2001. Scheduling-based code size reduction in processors with indirect addressing mode. In Proceedings of the 9th International Symposium on Hardware/Software Codesign. ACM, New York, 165--169. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. Ottoni, D., Ottoni, G., Araujo, G., and Leupers, R. 2006. Improving offset assignment through simultaneous variable coalescing. ACM Trans. Embedd. Comput. Syst. 5, 4, 864--883. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. Ozturk, O., Kandemir, M., and Tosun, S. 2006. An ilp based approach to address code generation for digital signal processors. In Proceedings of the 16th Great Lakes Symposium on VLSI. ACM, New York, 37--42. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. Rao, A. and Pande, S. 1999. Storage assignment optimizations to generate compact and efficient code on embedded DSP. In Proceedings of the Conference on Programming Language Design and Implementation. ACM, New York, 128--138. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. Sugino, N., Iimuro, S., Nishihara, A., and Jujii, N. 1996. DSP code optimization utilizing memory addressing operation. IEICE Trans. Fundam. 8, 1217--1223.Google ScholarGoogle Scholar
  21. Wess, B. and Zeitlhofer, T. 2004. On the phase coupling problem between data memory layout generation and address pointer assignment. In Proceedings of the 8th International Workshop on Software and Compilers for Embedded Systems. Springer, Berlink, 152--166.Google ScholarGoogle Scholar
  22. Wess, B. R. and Gotschlich, M. 1998. Minimization of data address computation overhead in DSP programs. In Proceedings of the International Conference on Acoustics, Speech and Signal Precessing. IEEE, Los Alamitos, CA, 3093--3096.Google ScholarGoogle Scholar
  23. Zhuang, X., Lau, C., and Pande, S. 2003. Storage assignment optimizations through variable coalescence for embedded processors. In Proceedings of the Conference on Language, Compiler, and Tool for Embedded Systems. ACM, New York, 220--231. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. Zinojnovic, V., Velarde, J. M., Schlager, C., and Meyr, H. 1994. DSPStone'': A DSP-oriented benchmarking methodology. In Proceedings of the 5th International Conference on Signal Processing Applications and Technology. IEEE, Los Alamitos, CA.Google ScholarGoogle Scholar

Index Terms

  1. Evaluating address register assignment and offset assignment algorithms

    Recommendations

    Comments

    Login options

    Check if you have access through your login credentials or your institution to get full access on this article.

    Sign in

    Full Access

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader
    About Cookies On This Site

    We use cookies to ensure that we give you the best experience on our website.

    Learn more

    Got it!