{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,5,8]],"date-time":"2026-05-08T09:57:28Z","timestamp":1778234248523,"version":"3.51.4"},"reference-count":34,"publisher":"Association for Computing Machinery (ACM)","issue":"4","license":[{"start":{"date-parts":[[2010,9,1]],"date-time":"2010-09-01T00:00:00Z","timestamp":1283299200000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["ACM Trans. Des. Autom. Electron. Syst."],"published-print":{"date-parts":[[2010,9]]},"abstract":"<jats:p>The size of embedded software is increasing at a rapid pace. It is often challenging and time consuming to fit an amount of required software functionality within a given hardware resource budget. Code compression is a means to alleviate the problem by providing substantial savings in terms of code size. In this article we introduce a novel and efficient hardware-supported compression technique that is based on Huffman Coding. Our technique reduces the size of the generated decoding table, which takes a large portion of the memory. It combines our previous techniques, Instruction Splitting Technique and Instruction Re-encoding Technique into new one called Combined Compression Technique to improve the final compression ratio by taking advantage of both previous techniques. The instruction Splitting Technique is instruction set architecture (ISA)-independent. It splits the instructions into portions of varying size (called patterns) before Huffman coding is applied. This technique improves the final compression ratio by more than 20% compared to other known schemes based on Huffman Coding. The average compression ratios achieved using this technique are 48% and 50% for ARM and MIPS, respectively. The Instruction Re-encoding Technique is ISA-dependent. It investigates the benefits of reencoding unused bits (we call them reencodable bits) in the instruction format for a specific application to improve the compression ratio. Reencoding those bits can reduce the size of decoding tables by up to 40%. Using this technique, we improve the final compression ratios in comparison to the first technique to 46% and 45% for ARM and MIPS, respectively (including all overhead that incurs). The Combined Compression Technique improves the compression ratio to 45% and 42% for ARM and MIPS, respectively. In our compression technique, we have conducted evaluations using a representative set of applications and we have applied each technique to two major embedded processor architectures, namely ARM and MIPS.<\/jats:p>","DOI":"10.1145\/1835420.1835424","type":"journal-article","created":{"date-parts":[[2010,10,12]],"date-time":"2010-10-12T15:38:13Z","timestamp":1286897893000},"page":"1-37","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":24,"title":["Huffman-based code compression techniques for embedded processors"],"prefix":"10.1145","volume":"15","author":[{"given":"Talal","family":"Bonny","sequence":"first","affiliation":[{"name":"King Abdullah University of Science and Technology (KAUST)"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"J\u00f6rg","family":"Henkel","sequence":"additional","affiliation":[{"name":"University of Karlsruhe"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"320","published-online":{"date-parts":[[2010,10,7]]},"reference":[{"key":"e_1_2_1_1_1","unstructured":"}}Bell T. Cleary J. and Witten. I. 1990. Text Compression. Prentice-Hall Englewood Cliffs NJ.   }}Bell T. Cleary J. and Witten. I. 1990. Text Compression. Prentice-Hall Englewood Cliffs NJ."},{"key":"e_1_2_1_2_1","doi-asserted-by":"publisher","DOI":"10.1145\/383082.383177"},{"key":"e_1_2_1_3_1","doi-asserted-by":"publisher","DOI":"10.1145\/1127908.1127969"},{"key":"e_1_2_1_4_1","volume-title":"Proceedings of the IEEE\/ACM Design Automation and Test in Europe Conference (DATE). 809--814","author":"Bonny T."},{"key":"e_1_2_1_5_1","doi-asserted-by":"publisher","DOI":"10.1145\/1278480.1278645"},{"key":"e_1_2_1_6_1","doi-asserted-by":"publisher","DOI":"10.1145\/1403375.1403561"},{"key":"e_1_2_1_7_1","doi-asserted-by":"publisher","DOI":"10.1109\/MEMCOD.2005.1487905"},{"key":"e_1_2_1_8_1","unstructured":"}}Burger D. and Austin. T. 1997. The simplescaler tool set version 2.0. Tech. rep. CS-TR-97-1342 University of Wisconsin-Madison.  }}Burger D. and Austin. T. 1997. The simplescaler tool set version 2.0. Tech. rep. CS-TR-97-1342 University of Wisconsin-Madison."},{"key":"e_1_2_1_9_1","doi-asserted-by":"publisher","DOI":"10.1145\/859618.859660"},{"key":"e_1_2_1_10_1","unstructured":"}}Furber S. 2000. ARM System-On-Chip Architecture. (2nd Ed). Addison-Wesley.   }}Furber S. 2000. ARM System-On-Chip Architecture. (2nd Ed). Addison-Wesley."},{"key":"e_1_2_1_11_1","volume-title":"Codepack: Code compression for PowerPc Processors. PowerPC Embedded Processor Solutions, IBM.","author":"Game M.","year":"1998"},{"key":"e_1_2_1_12_1","doi-asserted-by":"publisher","DOI":"10.5555\/1128020.1128563"},{"key":"e_1_2_1_13_1","doi-asserted-by":"publisher","DOI":"10.1016\/S0377-2217(99)00284-2"},{"key":"e_1_2_1_14_1","doi-asserted-by":"publisher","DOI":"10.1109\/JRPROC.1952.273898"},{"key":"e_1_2_1_15_1","doi-asserted-by":"publisher","DOI":"10.1109\/TCAD.2003.811452"},{"key":"e_1_2_1_16_1","doi-asserted-by":"publisher","DOI":"10.1109\/TCAD.2006.885830"},{"key":"e_1_2_1_17_1","unstructured":"}}Kissell K. 1997. MIPS16: high-density MIPS for the embedded market. Silicon Graphics MIPS Group.  }}Kissell K. 1997. MIPS16: high-density MIPS for the embedded market. Silicon Graphics MIPS Group."},{"key":"e_1_2_1_18_1","doi-asserted-by":"publisher","DOI":"10.5555\/647816.738467"},{"key":"e_1_2_1_19_1","volume-title":"Proceedings of the Annual International Symposium on Micro Architecture. 82--92","author":"Larin S."},{"key":"e_1_2_1_20_1","volume-title":"Proceedings of the International Symposium on Microarchitecture (MICRO), 194--203","author":"Lefurgy C."},{"key":"e_1_2_1_21_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICVD.2005.36"},{"key":"e_1_2_1_22_1","doi-asserted-by":"publisher","DOI":"10.1145\/337292.337423"},{"key":"e_1_2_1_23_1","doi-asserted-by":"publisher","DOI":"10.1145\/500001.500015"},{"key":"e_1_2_1_24_1","doi-asserted-by":"publisher","DOI":"10.1109\/43.811316"},{"key":"e_1_2_1_25_1","doi-asserted-by":"publisher","DOI":"10.1049\/ip-cdt:20020157"},{"key":"e_1_2_1_26_1","volume-title":"Proceedings of the Conference on Data Compression. 566","author":"Nekritch Y.","year":"2000"},{"key":"e_1_2_1_27_1","volume-title":"Proceedings of the 11th International Symposium on System Synthesis. 125--130","author":"Okuma T."},{"key":"e_1_2_1_28_1","doi-asserted-by":"publisher","DOI":"10.1145\/1023833.1023853"},{"key":"e_1_2_1_29_1","doi-asserted-by":"publisher","DOI":"10.1145\/1086297.1086311"},{"key":"e_1_2_1_30_1","unstructured":"}}Sweetman D. 1999. See MIPS RUN. Morgan Kaufmann.   }}Sweetman D. 1999. See MIPS RUN. Morgan Kaufmann."},{"key":"e_1_2_1_31_1","unstructured":"}}ARCHC Architecture Description Language. http:\/\/archc.sourceforge.net\/.  }}ARCHC Architecture Description Language. http:\/\/archc.sourceforge.net\/."},{"key":"e_1_2_1_32_1","unstructured":"}}Thumb squeezes ARM code size. 1995. Microprocess. repo. 1 Mar.  }}Thumb squeezes ARM code size. 1995. Microprocess. repo. 1 Mar."},{"key":"e_1_2_1_33_1","volume-title":"Proceedings of the 25th Annual International Symposium Microarchitecture. 81--91","author":"Wolfe A."},{"key":"e_1_2_1_34_1","doi-asserted-by":"publisher","DOI":"10.1109\/TVLSI.2006.876105"}],"container-title":["ACM Transactions on Design Automation of Electronic Systems"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/1835420.1835424","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/1835420.1835424","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T12:08:44Z","timestamp":1750248524000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/1835420.1835424"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2010,9]]},"references-count":34,"journal-issue":{"issue":"4","published-print":{"date-parts":[[2010,9]]}},"alternative-id":["10.1145\/1835420.1835424"],"URL":"https:\/\/doi.org\/10.1145\/1835420.1835424","relation":{},"ISSN":["1084-4309","1557-7309"],"issn-type":[{"value":"1084-4309","type":"print"},{"value":"1557-7309","type":"electronic"}],"subject":[],"published":{"date-parts":[[2010,9]]},"assertion":[{"value":"2008-10-01","order":0,"name":"received","label":"Received","group":{"name":"publication_history","label":"Publication History"}},{"value":"2010-04-01","order":1,"name":"accepted","label":"Accepted","group":{"name":"publication_history","label":"Publication History"}},{"value":"2010-10-07","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}