Memory Optimization on Heterogeneous Multiprocessor Embedded Systems for DSP Applications

Abstract Embedded systems are widely used in the implementation of DSP applications. The implementation of such a system can be entirely accomplished on a single ASIC chip. An ASIC implementing a complicated DSP task is normally composed of a set of heterogeneous processing elements, an interconnection network, and memory elements. Because the type and size of the memory used have a great effect on the cost and complexity of the entire system, a memory allocation process should be optimized to reduce the memory complexity. This paper proposes a static memory allocation algorithm for synchronous heterogeneous multiprocessor integrated systems, implementing DSP applications. This allocation algorithm is designed to minimize the memory size, or alternatively, the number of registers. The proposed register allocation algorithm is shown to outperform other algorithms on all the tested benchmarks. Furthermore, two types of memory systems are introduced: central shared memory and distributed shared memory systems. The advantages and disadvantages of each memory system are also given.

[1]  M. Omair Ahmad,et al.  Optimal Scheduling of Digital Signal Processing Data-flow Graphs using Shortest-path Algorithms , 2002, Comput. J..

[2]  D. T. Wang,et al.  Iteration bounds of single-rate data flow graphs for concurrent processing , 1993 .

[3]  Keshab K. Parhi,et al.  Static Rate-Optimal Scheduling of Iterative Data-Flow Programs via Optimum Unfolding , 1991, IEEE Trans. Computers.

[4]  Keshab K. Parhi,et al.  Algorithm transformation techniques for concurrent processors , 1989, Proc. IEEE.

[5]  Keshab K. Parhi,et al.  High-level DSP synthesis using concurrent transformations, scheduling, and allocation , 1995, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[6]  Alice C. Parker,et al.  The high-level synthesis of digital systems , 1990, Proc. IEEE.

[7]  Thomas P. Barnwell,et al.  Optimal automatic periodic multiprocessor scheduler for fully specified flow graphs , 1993, IEEE Trans. Signal Process..

[8]  M. Omair Ahmad,et al.  Scheduling of DSP data flow graphs onto multiprocessors for maximum throughput , 1999, ISCAS'99. Proceedings of the 1999 IEEE International Symposium on Circuits and Systems VLSI (Cat. No.99CH36349).

[9]  Keshab K. Parhi,et al.  Synthesis of control circuits in folded pipelined DSP architectures , 1992 .

[10]  Edward A. Lee,et al.  Static Scheduling of Synchronous Data Flow Programs for Digital Signal Processing , 1989, IEEE Transactions on Computers.

[11]  Sabih H. Gerez,et al.  Range-chart-guided iterative data-flow graph scheduling , 1992 .

[12]  Kai Hwang,et al.  Advanced computer architecture - parallelism, scalability, programmability , 1992 .

[13]  Daniel P. Siewiorek,et al.  Automated Synthesis of Data Paths in Digital Systems , 1986, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[14]  Alice C. Parker,et al.  A Formal Method for the Specification, Analysis, and Design of Register-Transfer Level Digital Logic , 1981, 18th Design Automation Conference.

[15]  Arun K. Majumdar,et al.  Allocation of multiport memories in data path synthesis , 1988, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[16]  Markku Renfors,et al.  The maximum sampling rate of digital filters under hardware speed constraints , 1981 .

[17]  David J. DeFatta,et al.  Digital Signal Processing: A System Design Approach , 1988 .