Browse > Article

Improvement of Address Pointer Assignment in DSP Code Generation  

Lee, Hee-Jin (Division of Electronics and Information Engineering, Chonbuk National University)
Lee, Jong-Yeol (Division of Electronics and Information Engineering, Chonbuk National University)
Publication Information
Abstract
Exploitation of address generation units which are typically provided in DSPs plays an important role in DSP code generation since that perform fast address computation in parallel to the central data path. Offset assignment is optimization of memory layout for program variables by taking advantage of the capabilities of address generation units, consists of memory layout generation and address pointer assignment steps. In this paper, we propose an effective address pointer assignment method to minimize the number of address calculation instructions in DSP code generation. The proposed approach reduces the time complexity of a conventional address pointer assignment algorithm with fixed memory layouts by using minimum cost-nodes breaking. In order to contract memory size and processing time, we employ a powerful pruning technique. Moreover our proposed approach improves the initial solution iteratively by changing the memory layout for each iteration because the memory layout affects the result of the address pointer assignment algorithm. We applied the proposed approach to about 3,000 sequences of the OffsetStone benchmarks to demonstrate the effectiveness of the our approach. Experimental results with benchmarks show an average improvement of 25.9% in the address codes over previous works.
Keywords
code generation; digital signal processors; offset assignment; address pointer assignment;
Citations & Related Records
연도 인용수 순위
  • Reference
1 R. Leupers and P. Marwedel, 'Algorithm for address assignment in DSP code generation,' in Proc. Int. Conf. Computer-Aided Design, pp. 109-112, 1996
2 C. Gebotys, 'DSP address optimization using a minimum cost circulation technique,' in Proc. Int. Conf. Computer-Aided Design, pp. 100-103, 1997
3 Y. Choi and T. Kim, 'Address assignment combined with scheduling in DSP code generation', in Proc. Design Automation Conference, pp. 225-230, 2002
4 D. Ottoni, G. Ottoni, G. Arajuo, and R. Leupers, 'Improving offset assignment through simultaneous variable coalescing,' in Proc. Int. Workshop Software Compilers Embedded Syst., 2003
5 S. Atri, J. Ramanujam, and M. Kandemir, 'Improving offset assignment for embedded processors,' in Proc. Int. Workshop on Languages and Compilers for Parallel Computing, pp. 158-172, 2000
6 D. H. Bartley, 'Optimizing stack frame accesses for processors with restricted addressing modes,' Software-Practice and Experience, vol. 22, no. 2, pp. 101-110, 1992   DOI
7 A. Sudarsanam, S. Liao, and S. Devadas, 'Analysis and evaluation of address arithmetic capabilities in custom DSP architectures,' in Proc. Design Automation Conf., pp. 287-292, 1997
8 B. Wess and T. Zeitlhofer, 'Optimum address pointer assignment for digital signal processors,' in Proc. Int. Conf. Acoustics, Speech, and Signal Processing, vol. 5, pp. 121-124, 2004
9 S. Liao, S. Devadas, K. Keutzer, S. Tjiang, and A. Wang, 'Storage assignment to decrease code size,' in ACM Trans. Program. Languages Syst., vol. 18, no. 3, pp. 235-253, 1996   DOI   ScienceOn
10 G. Araujo, 'Code Generation Algorithm for DSP's,' Ph.D. dissertation, Dept. Elect. Eng., Princeton Univ., Princeton, NJ, 1997
11 C. Xue, Z. Shao, Q. Zhuge, B. Xiao, M. Liu, and E. H.-M. Sha, 'Optimizing address assignment and scheduling for DSPs with multiple functional units,' in IEEE Trans. Circuits and Systems II, vol. 53, no. 9, pp. 976-980, September 2006   DOI   ScienceOn
12 R. Leupers and F. David, 'A uniform optimization technique for offset assignment problem,' in Proc. Int. Symp. Syst. Synthesis, pp. 3-8, 1998
13 S. Lim, J. Kim, K. Choi, 'Scheduling-based code size reduction in processors with indirect addressing mode,' in Proc. Int. Symp. Hardware/Software Codesign, pp. 165-169, 2001
14 A. Rao and S. Pande, 'Storage assignment using expression tree transformation to generate compact and efficient DSP code,' in Proc. ACM SIGPLAN Conf. Program. Language Design and Implementation, pp. 128-138, 1999
15 R. Leupers, 'Offset assignment showdown: Evaluation of DSP address code optimization algorithms,' in Proc. Int. Conf. Compiler Construction, Lecture Nodes on Computer Science, LNCS 2622, Springer-Verlag, Poland, 2003, http://www.address-code-optimization.org