Title :
Addressing mode selection
Author :
Eckstein, Erik ; Scholz, Bernhard
Author_Institution :
ATAIR Software GmbH, Vienna, Austria
Abstract :
Many processor architectures provide a set of addressing modes in their address generation units. For example DSP (digital signal processors) have powerful addressing modes for efficiently implementing numerical algorithms. Typical addressing modes of DSP are auto post-modification and indexing for address registers. The selection of the optimal addressing modes in the means of minimal code size and minimal execution time depends on many parameters and is NP complete in general. In this work we present a new approach for solving the addressing mode selection (AMS) problem. We provide a method for modeling the target architecture´s addressing modes as cost functions for a partitioned Boolean quadratic optimization problem (PBQP). For solving the PBQP we present an efficient and effective way to implement large matrices for modeling the cost model. We have integrated the addressing mode selection with the Atair C-Compiler for the uPD7705x DSP from NEC. In our experiments we show that the addressing mode selection can be optimally solved for almost all benchmark programs and the compile-time overhead of the address mode selection is within acceptable bounds for a production DSP compiler.
Keywords :
Boolean algebra; digital signal processing chips; embedded systems; matrix algebra; memory architecture; program compilers; quadratic programming; storage allocation; Atair C-Compiler; NEC uPD7705x; PBQP; address generation units; address registers; addressing mode selection; auto post-modification; benchmark programs; compile-time overhead; cost functions; digital signal processors; indexing; large matrices; modeling; numerical algorithms; partitioned Boolean quadratic optimization problem; processor architectures; production DSP compiler; Cost function; Digital signal processing; Digital signal processors; Indexing; National electric code; Optimization methods; Production; Program processors; Registers; Signal processing algorithms;
Conference_Titel :
Code Generation and Optimization, 2003. CGO 2003. International Symposium on
Print_ISBN :
0-7695-1913-X
DOI :
10.1109/CGO.2003.1191557