Applied Intelligence

, Volume 26, Issue 1, pp 53–67 | Cite as

Assigning data to dual memory banks in DSPs with a genetic algorithm using a repair heuristic

  • G. GréWal
  • S. Coros
  • D. Banerji
  • A. Morton
Article

Abstract

To increase memory bandwidth, many programmable Digital Signal Processors (DSPs) employ two on-chip data memories. This architectural feature supports higher memory bandwidth by allowing multiple data memory accesses to occur in parallel. Exploiting dual memory banks, however, is a challenging problem for compilers. This, in part, is due to the instruction-level parallelism, small numbers of registers, and highly specialized register capabilities of most DSPs. In this paper, we present a new methodology based on a genetic algorithm for assigning data to dual-bank memories. Our approach is global, and integrates several important issues in memory assignment within a single model. Special effort is made to identify those data objects that could potentially benefit from an assignment to a specific memory, or perhaps duplication in both memories. As part of our experimentation, we compare the effectiveness of three different repair heuristics which consist in transforming infeasible solutions into feasible ones. Our computational results show that when using the most effective repair method, the GA is able to achieve a 54% reduction in the number of memory cycles and a reduction in the range of 7 to 42% in the total number of cycles when tested with well-known DSP kernels and applications.

Keywords

Memory assignment Embedded processors Genetic algorithm Multi-Objective optimization Repair method 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Cho J, Paek Y, Whalley W (2002) Efficient register and memory assignment for non-orthogonal architectures via graph coloring and MST algorithms. In: Proceedings of the international conference on LCTES and SCOPES, Berlin, GermanyGoogle Scholar
  2. 2.
    Garey M, Johnson D (1979) Computers and intractability. A guide to the theory of NP-completeness, W.H. Freeman and Company, New YorkGoogle Scholar
  3. 3.
    Benchmark Programs, DSP56000/DSP56001 Digital Signal Processor User’s Manual, Motorola INC., Semiconductor Products Sector, DSP Division, Austin TexasGoogle Scholar
  4. 4.
    Orvosh D, Davis L (1993) Shall we repair? Genetic algorithms, combinatorial optimization, and feasibility constraints. In: Proceedings of the fifth internatinal conference on genetic algorithms, Morgan Kaufmann, San Mateo, CA, p 650Google Scholar
  5. 5.
    Saghir M, Chow P, Lee C (1996) Exploiting dual data-memory banks in digital signal processors. In: Proceedings of the 7th international conference on architectural support for programming languages and operating systems, vol 30, no 5, pp 234–243Google Scholar
  6. 6.
    Saghir M, Chow P, Lee C (1995) Automatic data partitioning for HLL DSP compilers. In: Proceedings of the 7th international conference on signal processing applications and technology, pp I-658–664Google Scholar
  7. 7.
    Sudarsanum A, Malik S (1997) Memory bank and register allocation in software synthesis for ASIPs. In: International conference on computer-aided design, pp 388–392Google Scholar
  8. 8.
    Sudarsanam A, Malik S, Simultaneous reference allocation in code generation for dual data memory bank ASIPs. J ACM Trans Autom Electron Syst (TOADES) 5:242–264Google Scholar
  9. 9.
    Zhuge Q, Xiao B, Sha E (2002) Variable partitioning and scheduling of multiple memory architectures for DSP. In: Proceedings of the IEEE international parallel and distributed processing symposium (IPDPS)Google Scholar
  10. 10.
    Zivojnovic V, Velarde J, Schaeger C, Meyr H (1994) DSPstone—A DSP oriented benchmarking methodology. In: Proceedings of the 6th international conference on signal processing applications and technologyGoogle Scholar

Copyright information

© Springer Science+Business Media, LLC 2006

Authors and Affiliations

  • G. GréWal
    • 1
  • S. Coros
    • 1
  • D. Banerji
    • 1
  • A. Morton
    • 2
  1. 1.Department of Computing and Information ScienceUniversity of GuelphGuelphCanada
  2. 2.Department of Computer and Electrical EngineeringUniversity of WaterlooWaterlooCanada

Personalised recommendations