This Article 
 Bibliographic References 
 Add to: 
Class-Based Decompressor Design for Compressed Instruction Memory in Embedded Processors
November 2003 (vol. 52 no. 11)
pp. 1495-1500

Abstract—We introduce a new PLA-based decoder architecture for random-access runtime decompression of compressed instruction memory in embedded systems. The compression method employs class-based coding. The symbol codebook used for decompression is fully programmable; thus, good compression may be achieved by adapting the codebook to the symbol frequency statistics of the target binary program. We show that this new class-based decoder architecture can be extended to provide high throughput decompression.

[1] Motorola, MPC 555 User's Manual. MPC555UM/AD, Motorola Semiconductor Products Sector, 1999.
[2] D.A. Huffman, A Method for the Construction of Minimum Redundancy Codes Proc. IRE, vol. 40, no. 9, pp. 1098-1101, Sept. 1952.
[3] T.M. Kemp, R.M. Montoye, J.D. Harper, J.D. Palmer, and D.J. Auerbach, A Decompression Core for PowerPC IBM J. Research and Development, vol. 42, no. 6, pp. 807-812, Nov. 1998.
[4] ARM, An Introduction to Thumb, Advanced RISC Machines Ltd., Mar. 1995.
[5] K. Kissell, MIPS16: High-Density MIPS for the Embedded Market, Silicon Graphics MIPS Group, 1997.
[6] E.S. Schwartz and B. Kallick, Generating a Canonical Prefix Coding Comm. ACM, vol. 7, no. 3, pp. 166-169, Mar. 1964.
[7] A. Turpin and A. Moffat, Housekeeping for Prefix Coding IEEE Trans. Comm., vol. 48, no. 4, pp. 622-628, Apr. 2000.
[8] S. Todd, G. Langdon, and J. Rissanen, "Parameter Reduction and Context Selection for Compression of Gray-Scale Images," IBM J. Research and Development, vol. 29, no. 2, pp. 188-193, Mar. 1985.
[9] G.K. Wallace, "The JPEG Still Compression Standard," Comm. ACM, vol. 34, no. 4, pp. 30-44, Apr. 1991.
[10] S.D. Stearns, Arithmetic Coding in Lossless Waveform Compression IEEE Trans. Signal Processing, vol. 43, no. 8, pp. 1874-1879, Aug. 1995.
[11] A. Said and W.A. Pearlman, Low-Complexity Waveform Coding via Alphabet and Sample-Set Partitioning Visual Comm. and Image Processing '97, Proc. SPIE, vol. 3024, pp. 25-37, Feb. 1997.
[12] S. Chang and D.G. Messerschmitt, Designing High-Throughput VLC Decoder Part I Concurrent VLSI Architectures IEEE Trans. Circuits and Systems for Video Technology, vol. 2, no. 2, pp. 187-196, June 1992.
[13] M.T. Sun and S.M. Lei, A Parallel Variable-Length-Code Decoder for Advanced Television Applications Proc. Third Int'l Workshop HDTV, 1989.
[14] S.M. Lei and M.T. Sun, An Entropy Coding System for Digital HDTV Applications IEEE Trans. Circuits and Systems for Video Technology, vol. 1, no. 1, pp. 147-155, Mar. 1991.
[15] IBM, CodePack: PowerPC Code Compression Utility User's Manual, Version 3.0, IBM Corp., 1998.
[16] C. Lefurgy, E. Piccinini, and T. Mudge, Evaluation of a High Performance Code Compression Method Proc. 32nd Ann. Int'l Symp. Microarchitecture (MICRO-32), pp. 93-102, 1999.
[17] A. Wolfe and A. Channin, Executing Compressed Programs on an Embedded RISC Architecture Proc. 25th Ann. Int'l Symp. Microarchitecture (MICRO-25), pp. 81-91, 1992.
[18] R.K. Brayton, G.D. Hachtel, C.T. McMullen, and A.L. Sangiovanni-Vincintelli, Logic Minimization Algorithms for VLSI Synthesis.Boston: Kluwer Academic, 1984.

Index Terms:
Embedded processors, code compression, decompressor architecture.
Shlomo Weiss, Shay Beren, "Class-Based Decompressor Design for Compressed Instruction Memory in Embedded Processors," IEEE Transactions on Computers, vol. 52, no. 11, pp. 1495-1500, Nov. 2003, doi:10.1109/TC.2003.1244947
Usage of this product signifies your acceptance of the Terms of Use.