[go: up one dir, main page]
More Web Proxy on the site http://driver.im/ skip to main content
article
Free access

Exploiting dual data-memory banks in digital signal processors

Published: 01 September 1996 Publication History

Abstract

Over the past decade, digital signal processors (DSPs) have emerged as the processors of choice for implementing embedded applications in high-volume consumer products. Through their use of specialized hardware features and small chip areas, DSPs provide the high performance necessary for embedded applications at the low costs demanded by the high-volume consumer market. One feature commonly found in DSPs is the use of dual data-memory banks to double the memory system's bandwidth. When coupled with high-order data interleaving, dual memory banks provide the same bandwidth as more costly memory organizations such as a dual-ported memory. However, making effective use of dual memory banks remains difficult, especially for high-level language (HLL) DSP compilers.In this paper, we describe two algorithms --- compaction-based (CB) data partitioning and partial data duplication --- that we developed as part of our research into the effective exploitation of dual data-memory banks in HLL DSP compilers. We show that CB partitioning is an effective technique for exploiting dual data-memory banks, and that partial data duplication can augment CB partitioning in improving execution performance. Our results show that CB partitioning improves the performance of our kernel benchmarks by 13%-40% and the performance of our application benchmarks by 3%-15%. For one of the application benchmarks, partial data duplication boosts performance from 3% to 34%.

References

[1]
Gianluigi Castelli, Guest Editor's Introduction: 'Whe Seemingly Unlimited Market for Microcontroller-Based Embedded Systems," IEEE Micro, Vol. 15, No. 5, pp. 6-8, October, 1995.
[2]
Bennett Z. Kobb, "Telecommunications," IEEE Spectrum, pp. 30-34, January, 1995.
[3]
Edward A. Lee, "Programmable DSP Architectures," IEEE ASSP Magazine, Part I: pp.4-19, October, 1988; Part iI: pp. 4-14, January, 1989.
[4]
Mazen A. R. Saghir, Paul Chow, and Corinna G. Lee, ''Towards Better DSP Architectures and Compilers," Proceedings of the International Conference on Signal Processing Applications and Technology, pp. 658-664, DSP Associates, October, 1994.
[5]
Ruby B. Lee, "Accelerating Multimedia with Enhanced Microprocessors," IEEE Micro, Vol. 15, No. 2, pp. 22-32, April, 1995.
[6]
L. Kohn, G. Maturana, M. Tremblay, A. Prabhu, G. Zyner, "The Visual Instruction Set (VIS) in UltraSPARC," Proceedings of Compcon '95, pp. 462-469, March, 1995.
[7]
Upcoming issue of IEEE Micro on Media Processing, August, 1996.
[8]
Recent IC Announcements, Microprocessor Report, p. 27, August 21, 1995.
[9]
Most Significant Bits, Microprocessor Report, pp. 4-5, July 31, 1995.
[10]
John Hennessy and David Patterson, Computer Architecture: A Quantitative Approach, Second Edition, Morgan Kaufmann Publishers, Inc., 1995.
[11]
Linley Gwennap, "Improved Cost Model Puts Pentium at $180," Microprocessor Report, pp. 14-15, September 12, 1994.
[12]
Jim Turley and Phil Lapsley, "New 56301 DSP Doubles 24-Bit Performance," Microprocessor Report, pp. 14-15, December 4, 1995.
[13]
Jose Luis Pino, Soonhoi Ha, Edward A. Lee, and Joseph T. Buck, "Software Synthesis for DSP Using Ptolemy," Journal of VLSI Signal Processing,. Vol. 9, No. 1-2, pp. 7-21, January, 1995.
[14]
Vojin Zivojnovic, Harald Schraut, M. Willems, and R. Schoenen, "DSPs, GPPs, and Multimedia Applications - An Evaluation Using DSPstone," Proceedings of the International Conference on Signal Processing Applications and Technology, pp. 1779-1783, DSP Associates, October, 1995.
[15]
Alfred V. Aho, Ravi Sethi, and Jeffrey D. Ullman, Compilers: Principles, Techniques, and Tools, Addison-Wesley Publishing Company, 1986.
[16]
"MIPS Open RISC Technology R10000 Microprocessor Technical Brief', http: //www.mips. com/rl0k/ r10000_Pr_Info/R10000_Tech_Br_cv. html, October, 1994.
[17]
DSP56000/DSP56001 Digital Signal Processor User's Manual, Motorola, 1990.
[18]
Monica S. Lam, "Software Pipelining: An Effective Scheduling Technique for VLiW Machines," SIGPIAN Conference on Programming Language Design and Implementation, pp. 318-328, ACM, June, 1988.
[19]
Carla Procaskey, "Improving Compiled DSP Code Through Language Extensions," Proceedings of the International Conference on Signal Processing Applications and Technology, pp. 846-850, DSP Associates, October, 1995.
[20]
Ashok Sudarsanam and Sharad Malik, "Memory Bank and Register Allocation in Software Synthesis for ASIPS," Proceedings of the International Conference on Computer- Aided Design, pp. 388-392, IEEE/ACM, 1995.
[21]
P.G. Lowney, et. al., 'Whe Multifiow Trace Scheduling Compiler," Journal of Supercomputing, Vol. 7, Issue I-2, pp. 51-142, May, 1993.
[22]
"SUIF: An Infrastructure for Research on Parallelizing and Optimizing Compilers," http://suif, stanford. edu/suif / sui f-overview/suif, html, 1994.
[23]
Joseph Fisher, "Very Long Instruction Word Architectures and the ELI-512," Proceedings of the l Oth International Symposium on Computer Architecture, pp. 140-150, IEEE, 1983.
[24]
Richard M. Stallman, Using and Porting GNU C, Free Software Foundation, Inc., 1990.
[25]
David Landskov, Scott Davidson, Bruce Shriver, and Patrick W. Mallett, "Local Microcode Compaction Techniques,'' Computing Surveys, 12(3): pp. 261-294, ACM, September, 1980.
[26]
Michael R. Garey and David S. Johnson, Computers and Intractability: A Guide to the Theory of NP. Completeness, W. H. Freeman and Company, 1979.
[27]
Mazen A. R. Saghir, Paul Chow, and Corinna G. Lee, "Application-Driven Design of DSP Architectures and Compilers," Proceedings of the International Conference on Acoustics, Speech, and Signal Processing, pp. II-437- 440, IEEE, 1994.

Cited By

View all
  • (2014)Sleep-aware variable partitioning for energy-efficient hybrid PRAM and DRAM main memoryProceedings of the 2014 international symposium on Low power electronics and design10.1145/2627369.2627616(75-80)Online publication date: 11-Aug-2014
  • (2011)Variable assignment and instruction scheduling for processor with multi-module memoryMicroprocessors & Microsystems10.1016/j.micpro.2010.12.00235:3(308-317)Online publication date: 1-May-2011
  • (2009)A Retargetable Very Long Instruction Word Compiler Framework for Digital Signal ProcessorsThe Compiler Design Handbook10.1201/9781420043839.ch18(18-1-18-28)Online publication date: 7-Dec-2009
  • Show More Cited By

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM SIGPLAN Notices
ACM SIGPLAN Notices  Volume 31, Issue 9
Sept. 1996
273 pages
ISSN:0362-1340
EISSN:1558-1160
DOI:10.1145/248209
Issue’s Table of Contents
  • cover image ACM Conferences
    ASPLOS VII: Proceedings of the seventh international conference on Architectural support for programming languages and operating systems
    October 1996
    290 pages
    ISBN:0897917677
    DOI:10.1145/237090
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 01 September 1996
Published in SIGPLAN Volume 31, Issue 9

Check for updates

Qualifiers

  • Article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)180
  • Downloads (Last 6 weeks)21
Reflects downloads up to 13 Dec 2024

Other Metrics

Citations

Cited By

View all
  • (2014)Sleep-aware variable partitioning for energy-efficient hybrid PRAM and DRAM main memoryProceedings of the 2014 international symposium on Low power electronics and design10.1145/2627369.2627616(75-80)Online publication date: 11-Aug-2014
  • (2011)Variable assignment and instruction scheduling for processor with multi-module memoryMicroprocessors & Microsystems10.1016/j.micpro.2010.12.00235:3(308-317)Online publication date: 1-May-2011
  • (2009)A Retargetable Very Long Instruction Word Compiler Framework for Digital Signal ProcessorsThe Compiler Design Handbook10.1201/9781420043839.ch18(18-1-18-28)Online publication date: 7-Dec-2009
  • (2006)Run-Time memory optimization for DDMB architecture through a CCB algorithmProceedings of the 2006 international conference on Emerging Directions in Embedded and Ubiquitous Computing10.1007/11807964_78(775-784)Online publication date: 1-Aug-2006
  • (2005)Power aware data and memory management for dynamic applicationsIEE Proceedings - Computers and Digital Techniques10.1049/ip-cdt:20045077152:2(224)Online publication date: 2005
  • (2001)A Dynamic Programming Approach to Optimal Integrated Code GenerationProceedings of the 2001 ACM SIGPLAN workshop on Optimization of middleware and distributed systems10.1145/384198.384219(165-174)Online publication date: 1-Aug-2001
  • (2001)A Dynamic Programming Approach to Optimal Integrated Code GenerationProceedings of the ACM SIGPLAN workshop on Languages, compilers and tools for embedded systems10.1145/384197.384219(165-174)Online publication date: 1-Aug-2001
  • (2001)A Dynamic Programming Approach to Optimal Integrated Code GenerationACM SIGPLAN Notices10.1145/384196.38421936:8(165-174)Online publication date: 1-Aug-2001
  • (2017)Efficient Automated Code Partitioning for Microcontrollers with Switchable Memory BanksACM Transactions on Embedded Computing Systems10.1145/305551116:4(1-26)Online publication date: 26-May-2017
  • (2013)Minimizing code size via page selection optimization on partitioned memory architecturesProceedings of the 2013 International Conference on Compilers, Architectures and Synthesis for Embedded Systems10.5555/2555729.2555741(1-10)Online publication date: 29-Sep-2013
  • Show More Cited By

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Login options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media