Local memory exploration and optimization in embedded systems

Embedded processor-based systems allow for the tailoring of the on-chip memory architecture based on application specific requirements. We present an analytical strategy for exploring the on-chip memory architecture for a given application, based on a memory performance estimation scheme. The analytical technique has the important advantage of enabling a fast evaluation of candidate memory architectures in the early stages of system design. Many digital signal-processing applications involve array accesses and loop nests that can benefit from such an exploration. Our experiments demonstrate that our estimations closely follow the actual simulated performance at significantly reduced run times.

[1]  Nikil D. Dutt,et al.  1995 high level synthesis design repository , 1995 .

[2]  S. McFarling Program optimization for instruction caches , 1989, ASPLOS 1989.

[3]  David A. Patterson,et al.  Computer Organization & Design: The Hardware/Software Interface , 1993 .

[4]  Daniel Gajski,et al.  A memory selection algorithm for high-performance pipelines , 1995, Proceedings of EURO-DAC. European Design Automation Conference.

[5]  Hugo De Man,et al.  Background memory area estimation for multidimensional signal processing systems , 1995, IEEE Trans. Very Large Scale Integr. Syst..

[6]  Jonathan Rose,et al.  Definition And Solution Of The Memory Packing Problem For Field-programmable Systems , 1994, IEEE/ACM International Conference on Computer-Aided Design.

[7]  Taewhan Kim,et al.  Utilization of Multiport Memories in Data Path Synthesis , 1993, 30th ACM/IEEE Design Automation Conference.

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

[9]  Wayne H. Wolf,et al.  A task-level hierarchical memory model for system synthesis of multiprocessors , 1997, DAC.

[10]  Massimo Maresca,et al.  Image processing on high-performance RISC systems , 1996, Proc. IEEE.

[11]  Imtiaz Ahmad,et al.  Post-processor for data path synthesis using multiport memories , 1991, 1991 IEEE International Conference on Computer-Aided Design Digest of Technical Papers.

[12]  Nikil D. Dutt,et al.  Memory data organization for improved cache performance in embedded processor applications , 1997, TODE.

[13]  Nikil D. Dutt,et al.  Data cache sizing for embedded processor applications , 1998, Proceedings Design, Automation and Test in Europe.

[14]  Hiroyuki Tomiyama,et al.  Code placement techniques for cache miss rate reduction , 1997, TODE.

[15]  Hiroyuki Tomiyama,et al.  Size-constrained code placement for cache miss rate reduction , 1996, Proceedings of 9th International Symposium on Systems Synthesis.

[16]  Nikil D. Dutt,et al.  Library mapping for memories , 1997, Proceedings European Design and Test Conference. ED & TC 97.

[17]  Anant Agarwal,et al.  Automatic Partitioning of Parallel Loops and Data Arrays for Distributed Shared-Memory Multiprocessors , 1995, IEEE Trans. Parallel Distributed Syst..

[18]  Monica S. Lam,et al.  A data locality optimizing algorithm , 1991, PLDI '91.

[19]  Francky Catthoor,et al.  Fast and extensive system-level memory exploration for ATM applications , 1997, Proceedings. Tenth International Symposium on System Synthesis (Cat. No.97TB100114).

[20]  Nikil D. Dutt,et al.  Memory organization for improved data cache performance in embedded processors , 1996, Proceedings of 9th International Symposium on Systems Synthesis.

[21]  Rudolf Eigenmann,et al.  Automatic program parallelization , 1993, Proc. IEEE.

[22]  W.F.J. Verhaegh,et al.  Allocation of multiport memories for hierarchical data streams , 1993, Proceedings of 1993 International Conference on Computer Aided Design (ICCAD).

[23]  Miodrag Potkonjak,et al.  Application-driven synthesis of core-based systems , 1997, ICCAD 1997.

[24]  H. De Man,et al.  Dataflow-driven Memory Allocation For Multi-dimensional Signal Processing Systems , 1994, IEEE/ACM International Conference on Computer-Aided Design.

[25]  Nikil D. Dutt,et al.  Efficient utilization of scratch-pad memory in embedded processor applications , 1997, Proceedings European Design and Test Conference. ED & TC 97.

[26]  Preeti Ranjan Panda,et al.  Memory optimizations and exploration for embedded systems , 1998 .

[27]  Nikil D. Dutt,et al.  On-chip vs. off-chip memory: the data partitioning problem in embedded processor-based systems , 2000, TODE.