Title
A Flexible Code Compression Scheme Using Partitioned Look-Up Tables
Abstract
Wide instruction formats make it possible to control microarchitecture resources more precisely by the compiler by either enabling more parallelism (VLIW) or by saving power. Unfortunately, wide instructions impose a high pressure on the memory system due to an increased instruction-fetch bandwidth and a larger code working set/footprint. This paper presents a code compression scheme that allows the compiler to select what subset of a wide instruction set to use in each program phase at the granularity of basic blocks based on a profiling methodology. The decompression engine comprises a set of tables that convert a narrow instruction into a wide instruction in a dynamic fashion. The paper also presents a method for how to configure and dimension the decompression engine and how to generate a compressed program with embedded instructions that dynamically manage the tables in the decompression engine. We find that the 77 control bits in the original FlexCore instruction format can be reduced to 32 bits offering a compression of 58% and a modest performance overhead of less than 1% for management of the decompression tables.
Year
DOI
Venue
2009
10.1007/978-3-540-92990-1_9
HiPEAC
Keywords
Field
DocType
control bit,wide instruction,original flexcore instruction format,larger code,narrow instruction,partitioned look-up tables,embedded instruction,decompression engine,flexible code compression scheme,decompression table,wide instruction format,code compression scheme,high pressure,look up table
Lookup table,Profiling (computer programming),Instruction set,Computer science,Very long instruction word,Parallel computing,Basic block,Real-time computing,Compiler,Computer hardware,Code (cryptography),Microarchitecture
Conference
Volume
ISSN
Citations 
5409
0302-9743
6
PageRank 
References 
Authors
0.51
16
3
Name
Order
Citations
PageRank
Martin Thuresson1814.92
Magnus Sjalander219824.73
Per Stenström33048234.09