Title :
Procedure based program compression
Author :
Kirovski, Darko ; Kin, Johnson ; Mangione-Smith, William H.
Author_Institution :
Dept. of Comput. Sci., California Univ., Los Angeles, CA, USA
Abstract :
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%
Keywords :
cache storage; computer architecture; multimedia systems; power consumption; random-access storage; real-time systems; source coding; subroutines; RAM; battery life; cached procedures; communications applications; compressed memory; consumer devices; cost; design factors; directory structure; embedded systems; high-capacitance bus traffic; integrated data services; memory reduction; memory references; multimedia applications; pagers; performance requirements; personal digital assistants; power consumption; procedural reference resolution; procedure-based program compression; run-time performance overhead; smart telephones; transparent program compression; Batteries; Costs; Embedded system; Energy consumption; Hardware; Manufacturing; Personal digital assistants; Read-write memory; Runtime; Smart phones;
Conference_Titel :
Microarchitecture, 1997. Proceedings., Thirtieth Annual IEEE/ACM International Symposium on
Conference_Location :
Research Triangle Park, NC
Print_ISBN :
0-8186-7977-8
DOI :
10.1109/MICRO.1997.645811