Publication Type |
Manuscript |
School or College |
College of Engineering |
Department |
Computing, School of |
Creator |
Regehr, John |
Other Author |
Cooprider, Nathan |
Title |
Offline compression for on-chip RAM |
Date |
2007-01-01 |
Description |
We present offline RAM compression, an automated source-to-source transformation that reduces a program's data size. Statically allocated scalars, pointers, structures, and arrays are encoded and packed based on the results of a whole-program analysis in the value set and pointer set domains. We target embedded software written in C that relies heavily on static memory allocation and runs on Harvard-architecture microcontrollers supporting just a few KB of on-chip RAM. On a collection of embedded applications for AVR microcontrollers, our transformation reduces RAM usage by an average of 12%, in addition to a 10% reduction through a dead-data elimination pass that is also driven by our whole-program analysis, for a total RAM savings of 22%. We also developed a technique for giving developers access to a flexible spectrum of tradeoffs between RAM consumption, ROM consumption, and CPU efficiency. This technique is based on a model for estimating the cost/benefit ratio of compressing each variable and then selectively compressing only those variables that present a good value proposition in terms of the desired tradeoffs. |
Type |
Text |
Publisher |
Association for Computing Machinery |
DOI |
http://doi.acm.org/10.1145/nnnnnn.nnnnnn ; ACM 978-1-59593-633-2/07/0006. |
Dissertation Institution |
University of Utah |
Language |
eng |
Bibliographic Citation |
Cooprider, N., & Regehr, J. (2007). Offline compression for on-chip RAM. In Proceedings of the ACM SIGPLAN 2007 Conference on Programming Language Design and Implementation (PLDI 2007). |
Rights Management |
© ACM, 2007. This is the authors version of the work. It is posted here by permission of ACM for your personal use. Not for redistribution. The definitive version was published in Proceedings of the ACM SIGPLAN 2007 Conference on Programming Language Design and Implementation (PLDI 2007) June 11-13, 2007. |
Format Medium |
application/pdf |
Format Extent |
831,547 bytes |
Identifier |
uspace,17480 |
ARK |
ark:/87278/s63n2n3z |
Setname |
ir_uspace |
ID |
708013 |
Reference URL |
https://collections.lib.utah.edu/ark:/87278/s63n2n3z |