Font Size: a A A

Code compression for embedded systems

Posted on:2001-04-08Degree:Ph.DType:Thesis
University:Princeton UniversityCandidate:Lekatsas, Haris (Charalabos) AchillefsFull Text:PDF
GTID:2468390014459086Subject:Engineering
Abstract/Summary:
Embedded systems have increasingly become more complex in functionality. The current trend is to add more options and functions on an embedded system making it a more complete computer system. Increasing functionality comes at a cost of integrating more circuits in the embedded system. On the other hand, many embedded systems must be made as small as possible, and at the same time meet performance and power consumption criteria. This thesis contributes a suite of compression methods to address these issues. More specifically, we propose techniques to compress executable code and decompress it on-the-fly during execution.; Data compression is a relatively mature field, and many different algorithms have been proposed targeting mainly text, audio and image compression. However, code compression has not been investigated in such detail. Two important problems in code compression are (1) the need of random access in decompression since programs have branches, and (2) an efficient way of finding out where branch targets are located in compressed space. We propose efficient ways of handling these two problems. Another issue in a system with code compression is fast decompression. We show how to generate an approximate fast arithmetic decoder that shows significant speed-ups over a binary arithmetic coder. The most obvious benefit of code compression comes from the instruction memory reduction and thus a possible size reduction of the whole chip area. This thesis contributes in this area by providing algorithms that give superior compression and are fully parameterizable.; Another major design goal for the system designer is energy/power reduction. starting from the physical level up to the system level. Experience shows that a high-level method may have a larger impact since the degree of freedom is still very high. However, a major drawback in system-level optimization is the complexity of the design space as a result of the vast amount of possible parameters. We found that our code compression architecture not only results in a smaller design, but also consumes less power and for certain configurations will have increased performance. (Abstract shortened by UMI.)...
Keywords/Search Tags:Code compression, System, Embedded
Related items