ACM Home Page
Please provide us with feedback. Feedback
Minimizing bank selection instructions for partitioned memory architecture
Full text PdfPdf (304 KB)
Source International Conference on Compilers, Architecture and Synthesis for Embedded Systems archive
Proceedings of the 2006 international conference on Compilers, architecture and synthesis for embedded systems table of contents
Seoul, Korea
SESSION: Memory systems table of contents
Pages: 201 - 211  
Year of Publication: 2006
ISBN:1-59593-543-6
Authors
Bernhard Scholz  The University of Sydney
Bernd Burgstaller  The University of Sydney
Jingling Xue  University of NSW
Sponsors
SIGDA: ACM Special Interest Group on Design Automation
ACM: Association for Computing Machinery
SIGBED: ACM Special Interest Group on Embedded Systems
SIGMICRO: ACM Special Interest Group on Microarchitectural Research and Processing
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 0,   Downloads (12 Months): 31,   Citation Count: 0
Additional Information:

abstract   references   index terms   collaborative colleagues  

Tools and Actions: Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/1176760.1176786
What is a DOI?

ABSTRACT

Bank switching is a technique that increases the code and data memory in microcontrollers without extending the address buses. Given a program in which variables have been assigned to data banks, we present a novel optimization technique that minimizes the overhead of bank switching through cost-effective placement of bank selection instructions. The optimal placement is controlled by a variety of different objectives, such as runtime, low power, small code size or a combination of these parameters. We have formulated the problem as a form of Partitioned Boolean Quadratic Programming (PBQP).We implemented the optimization as part of a PIC Micro-chip backend and evaluated the approach for several optimization objectives. Our benchmark suite comprises programs from MiBench and DSPStone plus a microcontroller real-time kernel and drivers for microcontroller hardware devices. Our optimization achieved a reduction of program memory space between 2.7% and 18.2%, and an overall improvement with respect to instruction cycles between 5.1% and 28.8%. Our optimization achieved an optimal solution for all benchmark programs.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

1
2
3
 
4
Erik Eckstein. Code Optimizations for Digital Signal Processors PhD thesis, Institute of Computer Languages, Compilers and Languages Group, Vienna University of Technology, 2003.
 
5
Gartner Dataquest. 2003 Microcontroller Market Share and Unit Shipments, July 2004.
 
6
Gartner Dataquest. Top Companies Revenue from Shipments of 8-bit MCU?All Applications, April 2005.
 
7
M. R. Guthaus, J. S. Ringenberg, D. Ernst, T. M. Austin, T. Mudge, andR. B. Brown. MiBench: A Free, Commercially Representative Embedded Benchmark Suite. In Proceedings of the IEEE 4th Annual Workshop on Workload Characterization December 2001.
8
 
9
 
10
R. Leupers and D. Kotte. Variable Partitioning for Dual Memory Bank DSPs. In Proceedings of the IEEE International Conference on Acoustics, Speech, and Signal Processing pages 1121--1124, 2001.
 
11
 
12
Microchip Technology Inc. PICmicro Mid-Range MCU Family Reference Manual, 1997.
 
13
Microchip Technology Inc. PIC16F87XA Data Sheet, 2003.
 
14
MicrochipC.com PIC Micros and C. http://www.microchipc.com/2006.
 
15
16
17
 
18
PICC ANSI C Compiler. http://www.htsoft.com/ 2006.
19
20
 
21
 
22
The Gpsim SW Simulator for PIC Microcontrollers. http://www.dattalo.com/gnupic/gpsim.html 2006.
23
 
24
Manish Verma, Lars Wehmeyer, and Peter Marwedel. Cache-Aware Scratchpad Allocation Algorithm. In DATE '04: Proceedings of the Conference on Design, Automation and Test in Europe pages 1264--1269, Washington, DC, USA, 2004. IEEE Computer Society.
 
25
 
26

Collaborative Colleagues:
Bernhard Scholz: colleagues
Bernd Burgstaller: colleagues
Jingling Xue: colleagues