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.
- 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 Scholar
Digital Library
- Bartley, D. H. 1992. Optimizing stack frame accesses for processors with restricted addressing modes. Softw. Pract. Exper. 22, 2, 101--110. Google Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- Lee, C. and Stoodley, M. 1992. UTDSP BenchMark Suite. http://www.eecg.toronto.edu/~corinna/DSP/infrastructure/UTDSP.html.Google Scholar
- 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 Scholar
Digital Library
- 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 Scholar
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- Liao, S. 1996. Code Generation and Optimization for Embedded Digital Signal Processors. Ph.D. thesis, Massachusetts Institute of Technology. Google Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- Sugino, N., Iimuro, S., Nishihara, A., and Jujii, N. 1996. DSP code optimization utilizing memory addressing operation. IEICE Trans. Fundam. 8, 1217--1223.Google Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
Digital Library
- 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 Scholar
Index Terms
Evaluating address register assignment and offset assignment algorithms
Recommendations
Offset assignment using simultaneous variable coalescing
The generation of efficient addressing code is a central problem in compiling for processors with restricted addressing modes, like digital signal processors (DSPs). Offset assignment (OA) is the problem of allocating scalar variables to memory, so as ...
Achieving spilling-friendly register file assignment for highly distributed register files
Distributed register file architectures divide registers into multiple sets, and it follows that the register files could be small. This can increase the frequency of spilling if register allocation encounters high register pressure, which will reduce ...
Evaluation of offset assignment heuristics
HiPEAC'07: Proceedings of the 2nd international conference on High performance embedded architectures and compilersIn 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) ...






Comments