30th Annual IEEE/ACM International Symposium on Microarchitecture (MICRO'97)
Procedure based program compression
Research Triangle Park, NC
December 01-December 03
ISBN: 0-8186-7977-8
D. Kirovski, Dept. of Comput. Sci., California Univ., Los Angeles, CA, USA
J. Kin, Dept. of Comput. Sci., California Univ., Los Angeles, CA, USA
Cost and power consumption are two of the most important design factors for many embedded systems, particularly consumer devices. Products such as personal digital assistants, pagers with integrated data services and smart phones have fixed performance requirements but unlimited appetites for reduced cost and increased battery life. Program compression is one technique that can be used to attack both of these problems. Compressed programs require less memory, thus reducing the cost of both direct materials and manufacturing. Furthermore, by relying on compressed memory, the total number of memory references is reduced. This reduction saves power by lowering the traffic on high-capacitance buses. This paper discusses a new approach to implementing transparent program compression that requires little or no hardware support. Procedures are compressed individually, and a directory structure is used to bind them together at run-time. Decompressed procedures are explicitly cached in ordinary RAM as complete units, thus resolving references within each procedure. This approach has been evaluated on a set of 25 embedded multimedia and communications applications, and results in an average memory reduction of 40% with a run-time performance overhead of 10%.
Index Terms:
source coding; procedure-based program compression; cost; power consumption; design factors; embedded systems; consumer devices; personal digital assistants; pagers; integrated data services; smart telephones; performance requirements; battery life; compressed memory; memory references; high-capacitance bus traffic; transparent program compression; directory structure; cached procedures; RAM; procedural reference resolution; multimedia applications; communications applications; memory reduction; run-time performance overhead
Citation:
D. Kirovski, J. Kin, W.H. Mangione-Smith, "Procedure based program compression," micro, pp.204, 30th Annual IEEE/ACM International Symposium on Microarchitecture (MICRO'97), 1997