Digital Signal Processors (DSPs) have become key components for the implementation of digital signal processing systems. With DSPs moving into new application domains and the increasing complexity of modern DSP architectures, efficient programming support receives major interest. Therefore, an optimizing compiler becomes a must for future DSP-architectures. Todays DSP compilers result in significant overheads both in memory consumption and program execution time compared to hand-written assembly code. This is mainly due to an inefficient compiler support of the DSP specific architectural features, such as the modulo-addressing capability which is an enabling feature for a large class of DSP algorithms. Within this paper we analyze why existing compilers fail short in supporting the modulo-addressing mode and present a compiler concept that allows the efficient utilization of this feature. We describe how an advanced compiler optimization strategy allows a near optimum support of the modulo-addressing mode, and point out why this concept is favorable to DSP-specific language extensions.
[1]
Sharad Malik,et al.
Memory bank and register allocation in software synthesis for ASIPs
,
1995,
ICCAD.
[2]
Alfred V. Aho,et al.
Code generation using tree matching and dynamic programming
,
1989,
ACM Trans. Program. Lang. Syst..
[3]
Paul Chow,et al.
Automatic Data Partitioning for HLL DSP Compilers
,
2022
.
[4]
Sharad Malik,et al.
Using register-transfer paths in code generation for heterogeneous memory-register architectures
,
1996,
DAC '96.
[5]
Alfred V. Aho,et al.
Compilers: Principles, Techniques, and Tools
,
1986,
Addison-Wesley series in computer science / World student series edition.