ACM Home Page
Please provide us with feedback. Feedback
Access pattern-based code compression for memory-constrained systems
Full text PdfPdf (946 KB)
Source
ACM Transactions on Design Automation of Electronic Systems (TODAES) archive
Volume 13 ,  Issue 4  (September 2008) table of contents
Article No. 60  
Year of Publication: 2008
ISSN:1084-4309
Authors
Ozcan Ozturk  Bilkent University, Ankara, Turkey
Mahmut Kandemir  Pennsylvania State University, University Park, PA
Guangyu Chen  Microsoft Corporation, Redmond, WA
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 14,   Downloads (12 Months): 133,   Citation Count: 0
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues  

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

ABSTRACT

As compared to a large spectrum of performance optimizations, relatively less effort has been dedicated to optimize other aspects of embedded applications such as memory space requirements, power, real-time predictability, and reliability. In particular, many modern embedded systems operate under tight memory space constraints. One way of addressing this constraint is to compress executable code and data as much as possible. While researchers on code compression have studied efficient hardware and software based code compression strategies, many of these techniques do not take application behavior into account; that is, the same compression/decompression strategy is used irrespective of the application being optimized. This article presents an application-sensitive code compression strategy based on control flow graph (CFG) representation of the embedded program. The idea is to start with a memory image wherein all basic blocks of the application are compressed, and decompress only the blocks that are predicted to be needed in the near future. When the current access to a basic block is over, our approach also decides the point at which the block could be compressed. We propose and evaluate several compression and decompression strategies that try to reduce memory requirements without excessively increasing the original instruction cycle counts. Some of our strategies make use of profile data, whereas others are fully automatic. Our experimental evaluation using seven applications from the MediaBench suite and three large embedded applications reveals that the proposed code compression strategy is very successful in practice. Our results also indicate that working at a basic block granularity, as opposed to a procedure granularity, is important for maximizing memory space savings.


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
Abali, B., Franke, H., Poff, D. E., Saccone, R. A., Schulz, C. O., Herger, L. M., and Smith, T. B. 2001. Memory expansion technology (mxt): Software support and performance. IBM J. Resea. Devel. 45, 2.
 
2
 
3
4
5
 
6
7
 
8
9
10
 
11
 
12
13
14
15
 
16
17
 
18
Debray, S., Evans, W., and Muth, R. 1999. Compiler techniques for code compression. Tech. rep. TR99-07. Friday, 23.
19
 
20
21
22
 
23
24
25
 
26
Fraser, C. W. and Proebsting, T. A. 1995. Custom instruction set for code compression. Unpublished manuscript. http://research.microsoft.com/~toddpro/papers/pldiz.ps.
27
 
28
29
 
30
 
31
 
32
Kissel, K. D. 1997. Mips16: High-density mips for the embedded market. In Proceedings of Real Time Systems.
 
33
 
34
 
35
 
36
 
37
Lefurgy, C., Piccininni, E., and Mudge, T. 2000. Reducing code size with run-time decompression. In Proceedings of the 6th International Symposium on High-Performance Computer Architecture. 218--227.
 
38
 
39
40
41
 
42
Lempel, Ziv, and Oberhumer. Lzo algorithm.
 
43
 
44
 
45
 
46
Ltd. A. R. M. 1996. An introduction to thumb. http://www.win.tue.nl/cs/ps/rikvdw/papers/ARM95.pdf
47
 
48
 
49
 
50
51
 
52
53
54
 
55
 
56
 
57
Tunstall, B. 1967. Synthesis of noiseless compression codes. Ph.D. thesis, Georgia Institute of Technology, Atlanta, GA.
58
59
60
 
61
62


Collaborative Colleagues:
Ozcan Ozturk: colleagues
Mahmut Kandemir: colleagues
Guangyu Chen: colleagues