DSP data memory layouts optimized for intermediate address pointer updates

Dedicated address generation units (AGUs) in modern digital signal processors (DSPs) support data memory access by indirect addressing with subsequent address pointer modification in parallel to other machine operations. In this paper, we present an integrated data memory layout and address register assignment optimization procedure. This technique allows to reduce both execution time and code size of DSP programs. Our generic AGU model is consistent with AGUs of contemporary fixed-point DSPs. It captures important addressing capabilities of DSPs such as linear addressing, module addressing and auto-modifying within a given auto-modify range. There is no address computation overhead if the next address is within the auto-modify range. We exploit multiple address pointer update opportunities between data memory accesses. Experimental results demonstrate that the proposed technique significantly outperforms existing optimization strategies.

[1]  B. Wess,et al.  Optimal DSP memory layout generation as a quadratic assignment problem , 1997, Proceedings of 1997 IEEE International Symposium on Circuits and Systems. Circuits and Systems in the Information Age ISCAS '97.

[2]  Rainer Leupers,et al.  Algorithms for address assignment in DSP code generation , 1996, ICCAD 1996.

[3]  Nobuhiko Sugino,et al.  Memory allocation methods for a DSP with indirect addressing modes and their application to compilers , 1997, Proceedings of 1997 IEEE International Symposium on Circuits and Systems. Circuits and Systems in the Information Age ISCAS '97.

[4]  C. D. Gelatt,et al.  Optimization by Simulated Annealing , 1983, Science.

[5]  Srinivas Devadas,et al.  Analysis and Evaluation of Address Arithmetic Capabilities in Custom DSP Architectures , 1997, Des. Autom. Embed. Syst..

[6]  Clifford Liem,et al.  Retargetable Compilers for Embedded Core Processors , 1997, Springer US.

[7]  Gert Goossens,et al.  Code Generation for Embedded Processors , 1995 .

[8]  D. H. Bartley,et al.  Optimizing stack frame accesses for processors with restricted addressing modes , 1992, Softw. Pract. Exp..

[9]  Kurt Keutzer,et al.  Storage assignment to decrease code size , 1996, TOPL.

[10]  Bernhard Wess,et al.  Constructing memory layouts for address generation units supporting offset 2 access , 1997, 1997 IEEE International Conference on Acoustics, Speech, and Signal Processing.

[11]  Rainer Leupers,et al.  Retargetable Code Generation for Digital Signal Processors , 1997, Springer US.