|
ABSTRACT
This paper presents and reports on a VLIW code compression technique based on vector Hamming distances. It investigates the appropriate selection of dictionary vectors such that all program vectors are at most a specified maximum Hamming distance from a dictionary vector. Bit toggling information is used to restore the original vector.A dictionary vector selection method which considered both vector frequency as well as maximum coverage achieved better results than just considering vector frequency or vector coverage independently. This method was found to outperform standard dictionary compression on TI TMS320C6x program code by an average of 8%, giving compression ratios of 72.1% to 80.3% when applied to the smallest compiler builds. The most favorable results were achieved with a Hamming distance upper limit of 3.An investigation into parallel compression showed that dividing the program into 32-bit parallel streams returned an average compression ratio of 79.4% for files larger than 200kb. This approach enables parallel decompression of instruction streams within a VLIW instruction word. Suggestions for further work include compiler/compression integration, more sophisticated dictionary selection methods and better codeword allocation.
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
|
Mediabench Benchmarks, 1997, accessed 2003, http://cares.icsl.ucla.edu/MediaBench/
|
| |
2
|
SPEC CPU2000 Benchmarks, 2000, accessed 2003, http://www.specbench.org/cpu2000/
|
| |
3
|
Atmel-Corporation, AT572D740 Summary (Datasheet), 2004, accessed 2004, http://www.atmel.com/dyn/resources/prod_documents/7001s.pdf
|
| |
4
|
|
 |
5
|
|
 |
6
|
|
| |
7
|
M. B. Game, A, "CodePack: Code Compression for PowerPC processors (version 1.0)," PowerPC Embedded Processor Solutions, IBM, North Carolina 2000.
|
| |
8
|
D. A. Huffman, "A method for the constuction of minimum redundancy codes," Proceedings of the IRE, vol. 4D, pp. 1098--1101, 1952.
|
| |
9
|
Intel, Intel Itanium Architecture Software Developer's Manual, Revision 2.1, 2002, accessed 2004, http://www.intel.com/design/itanium/manuals/iiasdmanual.htm
|
| |
10
|
N. Ishiura and M. Yamaguchi, "Instruction Code Compression for Application Specific VLIW Processors BAsed on utomatic Field Partitioning," 1997.
|
| |
11
|
|
| |
12
|
Charles Lefurgy , Peter Bird , I-Cheng Chen , Trevor Mudge, Improving code density using compression techniques, Proceedings of the 30th annual ACM/IEEE international symposium on Microarchitecture, p.194-203, December 01-03, 1997, Research Triangle Park, North Carolina, United States
|
| |
13
|
C. Lefurgy and T. Mudge, "Code Compression for DSP," presented at Compiler and Architecture Support for Embedded Computing Systems, George Washington University, Washington DC, 1998.
|
| |
14
|
C. Lefurgy, E. Piccininni, and T. Mudge, "Reducing code size with run-time decompression," in Proceedings Sixth International Symposium on High Performance Computer Architecture. HPCA 6 Cat. No.PR00550. 1999: IEEE Comput. Soc, Los Alamitos, CA, USA, 1999, pp. 218--28.
|
| |
15
|
H. A. Lekatsas, "Code compression for embedded systems," Princeton University, 2000, pp. 171.
|
 |
16
|
|
| |
17
|
S. J. Nam, In Cheol Park, and Chong Min Kyung, "Improving dictionary-based code compression in VLIW architectures," IEICE Transactions on Fundamentals of Electronics, Communications and Computer Sciences, vol. E82-A, pp. 2318--24, 1999.
|
| |
18
|
P. S. Paolucci, "Apparatus and Method for Dynamic Program Decompression." United States, Filed: 2002.
|
| |
19
|
J. S. Prakash, C., "A Simple and Fast Scheme for Code Compression for Embedded VLIW processors," Indian Institute of Science, 2003, pp. 43.
|
 |
20
|
|
| |
21
|
Texas-Instruments, TMS320C6000 CPU and Instruction Set Reference Guide, 2000, accessed 2004, http://focus.ti.com/lit/ug/spru189f/spru189f.pdf
|
 |
22
|
|
| |
23
|
|
 |
24
|
|
| |
25
|
|
|