Browse > Article

A New Register Allocation Technique for Performance Enhancement of Embedded Software  

Jong-Yeol, Lee (Division of Electronics and Information, Chonbuk National University)
Publication Information
Abstract
In this paper, a register allocation techlique that translates memory accesses to register accesses Is presented to enhance embedded software performance. In the proposed method, a source code is profiled to generate a memory trace. From the profiling results, target functions with high dynamic call counts are selected, and the proposed register allocation technique is applied only to the target functions to save the compilation time. The memory trace of the target functions is searched for the memory accesses that result in cycle count reduction when replaced by register accesses, and they are translated to register accesses by modifying the intermediate code and allocating Promotion registers. The experiments where the performance is measured in terms of the cycle count on MediaBench and DSPstone benchmark programs show that the proposed method increases the performance by 14% and 18% on the average for ARM and MCORE, respectively.
Keywords
Embedded software; memory access; register access; profiling; register allocation;
Citations & Related Records
연도 인용수 순위
  • Reference
1 A. Aho, R. Sethi, and J. Ullman, Compilers -Principles, Techniques, and Tools. Reading, MA: Addison-Wesley, 1986
2 R. M. Stallman. Using and Porting GNU CC. [Online]. Available: http://gcc.gnu.org/onlinedocs/gcc-2.95.3/gcc.html
3 M. Wolfe, High Performance Compilers for Parallel Computing. Redwood City, CA: Addison -Wesley, 1996
4 M. hind, 'Pointer Analysis: Haven't We Solved This Problem Yet?' In PASTE, pp. 54-61, 2001
5 R. P. Wilson and M. S. Lam, 'Efficient Contex -Sensitive Pointer Analysis for C Programs,' In SIGPLAN PLDI, pp. 1-12, 1995
6 Chunho Lee, M. Potkonjak, W. H. Mangione -Smith, MediaBench. [Online], Available: http://www.cs.ucla.edu/leec/mediabench/
7 V. Zivojnovici, J. Martinez Velarde, and C. Schlager, 'DSPstone : A DSP-oriented Benchmarking Methodology,' In Proc. Int. Conf. On Signal Processing and Technology, Dallas, pp. 715-720, 1994
8 S. Liao, S. Devadas, K. Keutzer, and S. Tjiang, G. Araujo and S. Malik, 'Instruction Selection Using Binate Covering for Code Size Optimization,' In Int. Conf. on Computer-Aided Design (ICCAD), pp. 5-9, 1995
9 C. Liem, T. May, and P. Paulin, 'Instruction-Set Matching and Selection for DSP and ASIP Code Generation,' In European Design and Test Conference ED & TC), pp. 31-37, 1994   DOI
10 G. Araujo and S. Malik, 'Optimal Code Generation for Embedded Memory Non-Homogeneous Register Architecture,' In 8th Int. Symp. On System Synthesis, pp. 13-15, 1995   DOI
11 A. Sudarsanam and S. Malik, 'Memory Bank and Register Allocation in Software Synthesis for ASIPs,' In Int. Conf. on Computer-Aided Design (ICCAD), pp. 393-399, 1995   DOI
12 S. Liao, S. Devadas, K. Keutzer, S. Tjiang, and A. Wang, 'Storage Assignment to decrease code size', ACM Trans. Program Lang. and Sys. vol. 18, no. 3, pp, 186-195, May 1996
13 R. Leupers and P. Marwedel, 'Algorithms for Address Assignment in DSP Code Generation,' In Int. Conf. on Computer-Aided Design (ICCAD), pp. 109-112, 1996   DOI