Presentation is loading. Please wait.

Presentation is loading. Please wait.

Selective Code Compression Scheme for Embedded System

Similar presentations


Presentation on theme: "Selective Code Compression Scheme for Embedded System"— Presentation transcript:

1 Selective Code Compression Scheme for Embedded System
Authors: Shlomit S. Pinter (IBM, Haifa Research Lab) Israel Waldman (CS Department, Haifa University) Source: HiPEAC Presenter: Wen-Long Yang Date: 2008/05/12

2 Outline Introduction Design of the selective code compression
Experiment results Conclusion

3 Introduction Code compression Pros Cons
Reduce the storage request of programs Reduce the access time to off-chip memory Less traffic between CPU & memory , thus the power consumption will be reduced Cons Extra decompression overhead at execution time May hurt performance

4 Introduction Code compression is an efficient way to satisfy the resource requirements of the embedded system. This paper proposes a software-based scheme, which uses profiling information to selectively compress code segments with little run-time overhead.

5 Design 3 main components:
Analysis of input based on profiling information Select the code segments from the entire program Preparation of compressed code Compress the selected code. Dynamic decompression at execution time Use decompression engine to decompress the code into a run-time buffer and execute it.

6 Design - analysis Compressible region
Definition: a assembly code fragment that has a single entry and single exit point. E.g., basic block, procedure calls Find the maximal compressible regions use the profiling information(e.g., executed frequency) and the compression algorithm to determine which code segments would be compressed. Overhead is bound by pre-configured parameters to the compiler Potential of code size reduction Estimated slowdown of execution time

7 Design - preparation Compress the selective code into separated files.
Generate the linkage information between compressed codes and other part to the decompression engine Output a reduced size executable file & a collection of compressed binary units

8 Design – dynamic decompression
Decompress certain compressed binary units into run-time buffer. Decompression engine retrieve the start address and execute the binary units, and keep the calling sequence of the program.

9 Experiment environments
Processor: 200MHz PowerPC 604 Compiler: IBM xlc v5.0 compiler Profiling tool: IBM FDPR Benchmarks: MediaBench SPEC CPU2000 181.mcf 177.messa Because they are likely to be merged into embedded devices. Parameters: Reduced code size ≥ 400 bytes Slowdown of execution time ≤ 2%

10 Experiment results

11 Experiment results Better cache utilization & less page faults

12 Conclusion This approach can use profiling for directing code compression without any support of special hardware. The compression scheme reduces the code size and incurs a reasonable run-time overhead.


Download ppt "Selective Code Compression Scheme for Embedded System"

Similar presentations


Ads by Google