{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,6,19]],"date-time":"2025-06-19T04:58:02Z","timestamp":1750309082827,"version":"3.41.0"},"reference-count":29,"publisher":"Association for Computing Machinery (ACM)","issue":"1","license":[{"start":{"date-parts":[[2005,2,1]],"date-time":"2005-02-01T00:00:00Z","timestamp":1107216000000},"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. Embed. Comput. Syst."],"published-print":{"date-parts":[[2005,2]]},"abstract":"<jats:p>\n            Code compression coupled with dynamic decompression is an important technique for both embedded and general-purpose microprocessors.\n            <jats:italic>Postfetch decompression<\/jats:italic>\n            , in which decompression is performed after the compressed instructions have been fetched, allows the instruction cache to store compressed code but requires a highly efficient decompression implementation. We propose implementing postfetch decompression using a new hardware facility called\n            <jats:italic>dynamic instruction stream editing<\/jats:italic>\n            (DISE). DISE provides a programmable decoder---similar in structure to those in many IA-32 processors---that is used to add functionality to an application by injecting custom code snippets into its fetched instruction stream. We present a DISE-based implementation of postfetch decompression and show that it naturally supports customized program-specific decompression dictionaries, enables parameterized decompression allowing similar-but-not-identical instruction sequences to share dictionary entries, and uses no decompression-specific hardware. We present extensive experimental results showing the virtue of this approach and evaluating the factors that impact its efficacy. We also present implementation-neutral results that give insight into the characteristics of any postfetch decompression technique. Our experiments not only demonstrate significant reduction in code size (up to 35%) but also significant improvements in performance (up to 20%) and energy (up to 10%).\n          <\/jats:p>","DOI":"10.1145\/1053271.1053274","type":"journal-article","created":{"date-parts":[[2005,8,2]],"date-time":"2005-08-02T08:38:10Z","timestamp":1122971890000},"page":"38-72","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":7,"title":["The implementation and evaluation of dynamic code decompression using DISE"],"prefix":"10.1145","volume":"4","author":[{"given":"Marc L.","family":"Corliss","sequence":"first","affiliation":[{"name":"University of Pennsylvania, Philadelphia, PA"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"E. Christopher","family":"Lewis","sequence":"additional","affiliation":[{"name":"University of Pennsylvania, Philadelphia, PA"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Amir","family":"Roth","sequence":"additional","affiliation":[{"name":"University of Pennsylvania, Philadelphia, PA"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"320","published-online":{"date-parts":[[2005,2]]},"reference":[{"volume-title":"An Introduction to Thumb","author":"Advanced RISC","key":"e_1_2_1_1_1","unstructured":"Advanced RISC Machines Ltd . 1995. An Introduction to Thumb . Advanced RISC Machines Ltd , Austin, TX . Advanced RISC Machines Ltd. 1995. An Introduction to Thumb. Advanced RISC Machines Ltd, Austin, TX."},{"key":"e_1_2_1_2_1","volume-title":"Proceedings of the 32nd International Symposium on Microarchitecture. 248--259","author":"Albonesi D.","year":"1999","unstructured":"Albonesi , D. 1999 . Selective cache ways: On demand cache resource allocation . In Proceedings of the 32nd International Symposium on Microarchitecture. 248--259 . Albonesi, D. 1999. Selective cache ways: On demand cache resource allocation. In Proceedings of the 32nd International Symposium on Microarchitecture. 248--259."},{"volume-title":"Proceedings of the 31st International Symposium on Microarchitecture. 194--201","author":"Araujo G.","key":"e_1_2_1_3_1","unstructured":"Araujo , G. , Centoducatte , P. , and Cortes , M . 1998. Code compression based on operand factorization . In Proceedings of the 31st International Symposium on Microarchitecture. 194--201 . Araujo, G., Centoducatte, P., and Cortes, M. 1998. Code compression based on operand factorization. In Proceedings of the 31st International Symposium on Microarchitecture. 194--201."},{"volume-title":"Proceedings of the 27th International Symposium on Computer Architecture. 83--94","author":"Brooks D.","key":"e_1_2_1_4_1","unstructured":"Brooks , D. , Tiwari , V. , and Martonosi , M . 2000. Wattch: A framework for architectural-level power analysis and optimizations . In Proceedings of the 27th International Symposium on Computer Architecture. 83--94 . 10.1145\/339647.339657 Brooks, D., Tiwari, V., and Martonosi, M. 2000. Wattch: A framework for architectural-level power analysis and optimizations. In Proceedings of the 27th International Symposium on Computer Architecture. 83--94. 10.1145\/339647.339657"},{"key":"e_1_2_1_5_1","volume-title":"Tech. Rep. 1342","author":"Burger D.","year":"1997","unstructured":"Burger , D. and Austin , T. M . 1997 . The SimpleScalar Tool Set , Version 2.0. Tech. Rep. 1342 , University of Wisconsin--Madison Computer Sciences Department. Burger, D. and Austin, T. M. 1997. The SimpleScalar Tool Set, Version 2.0. Tech. Rep. 1342, University of Wisconsin--Madison Computer Sciences Department."},{"key":"e_1_2_1_6_1","volume-title":"Proceedings of the ACM SIGPLAN '99 Conference on Programming Language Design and Implementation. 139--149","author":"Cooper K.","year":"1999","unstructured":"Cooper , K. and McIntosh , N. 1999 . Enhanced code compression for embedded RISC processors . In Proceedings of the ACM SIGPLAN '99 Conference on Programming Language Design and Implementation. 139--149 . 10.1145\/301618.301655 Cooper, K. and McIntosh, N. 1999. Enhanced code compression for embedded RISC processors. In Proceedings of the ACM SIGPLAN '99 Conference on Programming Language Design and Implementation. 139--149. 10.1145\/301618.301655"},{"key":"e_1_2_1_7_1","volume-title":"DISE: Dynamic Instruction Stream Editing. Tech. Rep. MS-CIS-02-24","author":"Corliss M. L.","year":"2002","unstructured":"Corliss , M. L. , Lewis , E. C. , and Roth , A . 2002 . DISE: Dynamic Instruction Stream Editing. Tech. Rep. MS-CIS-02-24 , University of Pennsylvania . July. Corliss, M. L., Lewis, E. C., and Roth, A. 2002. DISE: Dynamic Instruction Stream Editing. Tech. Rep. MS-CIS-02-24, University of Pennsylvania. July."},{"volume-title":"Proceedings of the 30th International Symposium on Computer Architecture. 362--373","author":"Corliss M. L.","key":"e_1_2_1_8_1","unstructured":"Corliss , M. L. , Lewis , E. C. , and Roth , A . 2003a. DISE: A programmable macro engine for customizing applications . In Proceedings of the 30th International Symposium on Computer Architecture. 362--373 . 10.1145\/859618.859660 Corliss, M. L., Lewis, E. C., and Roth, A. 2003a. DISE: A programmable macro engine for customizing applications. In Proceedings of the 30th International Symposium on Computer Architecture. 362--373. 10.1145\/859618.859660"},{"volume-title":"Proceedings of the Conference on Languages, Compilers, and Tools for Embedded Systems. 232--243","author":"Corliss M. L.","key":"e_1_2_1_9_1","unstructured":"Corliss , M. L. , Lewis , E. C. , and Roth , A . 2003b. A DISE implementation of dynamic code decompression . In Proceedings of the Conference on Languages, Compilers, and Tools for Embedded Systems. 232--243 . 10.1145\/780732.780765 Corliss, M. L., Lewis, E. C., and Roth, A. 2003b. A DISE implementation of dynamic code decompression. In Proceedings of the Conference on Languages, Compilers, and Tools for Embedded Systems. 232--243. 10.1145\/780732.780765"},{"volume-title":"The ARM11 microarchitecture","author":"Cormie D.","key":"e_1_2_1_10_1","unstructured":"Cormie , D. 2002. The ARM11 microarchitecture . ARM Ltd . White Paper. Cormie, D. 2002. The ARM11 microarchitecture. ARM Ltd. White Paper."},{"volume-title":"Proceedings of the 2002 ACM SIGPLAN Conference on Programming Languages Design and Implementation. 95--105","author":"Debray S.","key":"e_1_2_1_11_1","unstructured":"Debray , S. and Evans , W . 2002. Profile-guided code compression . In Proceedings of the 2002 ACM SIGPLAN Conference on Programming Languages Design and Implementation. 95--105 . 10.1145\/512529.512542 Debray, S. and Evans, W. 2002. Profile-guided code compression. In Proceedings of the 2002 ACM SIGPLAN Conference on Programming Languages Design and Implementation. 95--105. 10.1145\/512529.512542"},{"key":"e_1_2_1_12_1","doi-asserted-by":"publisher","DOI":"10.1145\/349214.349233"},{"key":"e_1_2_1_13_1","first-page":"14","article-title":"K7 challenges Intel","volume":"12","author":"Diefendorf K.","year":"1998","unstructured":"Diefendorf , K. 1998 . K7 challenges Intel . Microprocess. Rep. 12 , 14 (Nov.). Diefendorf, K. 1998. K7 challenges Intel. Microprocess. Rep. 12, 14 (Nov.).","journal-title":"Microprocess. Rep."},{"volume-title":"Proceedings of the ACM SIGPLAN '97 Conference on Programming Language Design and Implementation. 358--365","author":"Ernst J.","key":"e_1_2_1_14_1","unstructured":"Ernst , J. , Evans , W. , Fraser , C. , Lucco , S. , and Proebsting , T . 1997. Code compression . In Proceedings of the ACM SIGPLAN '97 Conference on Programming Language Design and Implementation. 358--365 . 10.1145\/258915.258947 Ernst, J., Evans, W., Fraser, C., Lucco, S., and Proebsting, T. 1997. Code compression. In Proceedings of the ACM SIGPLAN '97 Conference on Programming Language Design and Implementation. 358--365. 10.1145\/258915.258947"},{"key":"e_1_2_1_15_1","first-page":"8","article-title":"Pentium 4 (partially) previewed","volume":"14","author":"Glaskowsky P.","year":"2000","unstructured":"Glaskowsky , P. 2000 . Pentium 4 (partially) previewed . Microprocess. Rep. 14 , 8 (Aug.). Glaskowsky, P. 2000. Pentium 4 (partially) previewed. Microprocess. Rep. 14, 8 (Aug.).","journal-title":"Microprocess. Rep."},{"key":"e_1_2_1_16_1","first-page":"12","article-title":"P6 microcode can be patched","volume":"11","author":"Gwenapp L.","year":"1997","unstructured":"Gwenapp , L. 1997 . P6 microcode can be patched . Microprocess. Rep. 11 , 12 (Sep.). Gwenapp, L. 1997. P6 microcode can be patched. Microprocess. Rep. 11, 12 (Sep.).","journal-title":"Microprocess. Rep."},{"key":"e_1_2_1_17_1","doi-asserted-by":"publisher","DOI":"10.1147\/rd.426.0807"},{"volume-title":"Proceedings of the 30th International Symposium on Microarchitecture. 204--213","author":"Kirovski D.","key":"e_1_2_1_18_1","unstructured":"Kirovski , D. , Kin , J. , and Mangione-Smith , W . 1997. Procedure based program compression . In Proceedings of the 30th International Symposium on Microarchitecture. 204--213 . Kirovski, D., Kin, J., and Mangione-Smith, W. 1997. Procedure based program compression. In Proceedings of the 30th International Symposium on Microarchitecture. 204--213."},{"volume-title":"MIPS16: High-Density MIPS for the Embedded Market","author":"Kissell K.","key":"e_1_2_1_19_1","unstructured":"Kissell , K. 1997. MIPS16: High-Density MIPS for the Embedded Market . Silicon Graphics MIPS Group , Mt . View, CA. Kissell, K. 1997. MIPS16: High-Density MIPS for the Embedded Market. Silicon Graphics MIPS Group, Mt. View, CA."},{"volume-title":"Proceedings 30th International Symposium on Microarchitecture. 330--335","author":"Lee C.","key":"e_1_2_1_20_1","unstructured":"Lee , C. , Potkonjak , M. , and Mangione-Smith , W . 1997. Mediabench: A tool for evaluating and synthesizing multimedia and communications systems . In Proceedings 30th International Symposium on Microarchitecture. 330--335 . Lee, C., Potkonjak, M., and Mangione-Smith, W. 1997. Mediabench: A tool for evaluating and synthesizing multimedia and communications systems. In Proceedings 30th International Symposium on Microarchitecture. 330--335."},{"volume-title":"Proceedings of the 30th International Symposium on Microarchitecture. 194--203","author":"Lefurgy C.","key":"e_1_2_1_21_1","unstructured":"Lefurgy , C. , Bird , P. , Cheng , I.-C. , and Mudge , T . 1997. Improving code density using compression techniques . In Proceedings of the 30th International Symposium on Microarchitecture. 194--203 . Lefurgy, C., Bird, P., Cheng, I.-C., and Mudge, T. 1997. Improving code density using compression techniques. In Proceedings of the 30th International Symposium on Microarchitecture. 194--203."},{"volume-title":"Proceedings of the 6th International Symposium on High-Performance Computer Architecture. 218--227","author":"Lefurgy C.","key":"e_1_2_1_22_1","unstructured":"Lefurgy , C. , Piccininni , E. , and Mudge , T . 2000. Reducing code size with run-time decompression . In Proceedings of the 6th International Symposium on High-Performance Computer Architecture. 218--227 . Lefurgy, C., Piccininni, E., and Mudge, T. 2000. Reducing code size with run-time decompression. In Proceedings of the 6th International Symposium on High-Performance Computer Architecture. 218--227."},{"volume-title":"Proceedings 36th Design Automation Conference. 294--299","author":"Lekatsas H.","key":"e_1_2_1_23_1","unstructured":"Lekatsas , H. , Henkel , J. , and Wolf , W . 2000. Code compression for low power embedded system design . In Proceedings 36th Design Automation Conference. 294--299 . 10.1145\/337292.337423 Lekatsas, H., Henkel, J., and Wolf, W. 2000. Code compression for low power embedded system design. In Proceedings 36th Design Automation Conference. 294--299. 10.1145\/337292.337423"},{"key":"e_1_2_1_24_1","doi-asserted-by":"publisher","DOI":"10.1145\/298865.298867"},{"key":"e_1_2_1_25_1","first-page":"2318","article-title":"Improving dictionary-based code compression in VLIW architectures. IEICE","volume":"11","author":"Nam S.-J.","year":"1999","unstructured":"Nam , S.-J. , Park , I.-C. , and Kyung , C.-M. 1999 . Improving dictionary-based code compression in VLIW architectures. IEICE Trans. Fundam. E82-A , 11 ( Nov. ), 2318 -- 2324 . Nam, S.-J., Park, I.-C., and Kyung, C.-M. 1999. Improving dictionary-based code compression in VLIW architectures. IEICE Trans. Fundam. E82-A, 11 (Nov.), 2318--2324.","journal-title":"Trans. Fundam. E82-A"},{"key":"e_1_2_1_27_1","doi-asserted-by":"publisher","DOI":"10.1145\/359460.359474"},{"key":"e_1_2_1_28_1","unstructured":"Wilton S. and Jouppi N. 1994. An Enhanced Access and Cycle Time Model for On-Chip Caches. Tech. Rep. DEC Western Research Laboratory Palo Alto CA.  Wilton S. and Jouppi N. 1994. An Enhanced Access and Cycle Time Model for On-Chip Caches. Tech. Rep. DEC Western Research Laboratory Palo Alto CA."},{"volume-title":"Proceedings of the 25th International Symposium on Microarchitecture. 81--91","author":"Wolfe A.","key":"e_1_2_1_29_1","unstructured":"Wolfe , A. and Chanin , A . 1992. Executing compressed programs on an embedded RISC architecture . In Proceedings of the 25th International Symposium on Microarchitecture. 81--91 . Wolfe, A. and Chanin, A. 1992. Executing compressed programs on an embedded RISC architecture. In Proceedings of the 25th International Symposium on Microarchitecture. 81--91."},{"volume-title":"Proceedings 8th International Symposium on High Performance Computer Architecture.","author":"Yang S.-H.","key":"e_1_2_1_30_1","unstructured":"Yang , S.-H. , Powell , M. , Falsafi , B. , and Vijaykumar , T . 2002. Exploiting choice in resizable cache design to optimize deep-submicron processor energy-delay . In Proceedings 8th International Symposium on High Performance Computer Architecture. Yang, S.-H., Powell, M., Falsafi, B., and Vijaykumar, T. 2002. Exploiting choice in resizable cache design to optimize deep-submicron processor energy-delay. In Proceedings 8th International Symposium on High Performance Computer Architecture."}],"container-title":["ACM Transactions on Embedded Computing Systems"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/1053271.1053274","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/1053271.1053274","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T22:43:28Z","timestamp":1750286608000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/1053271.1053274"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2005,2]]},"references-count":29,"journal-issue":{"issue":"1","published-print":{"date-parts":[[2005,2]]}},"alternative-id":["10.1145\/1053271.1053274"],"URL":"https:\/\/doi.org\/10.1145\/1053271.1053274","relation":{},"ISSN":["1539-9087","1558-3465"],"issn-type":[{"type":"print","value":"1539-9087"},{"type":"electronic","value":"1558-3465"}],"subject":[],"published":{"date-parts":[[2005,2]]},"assertion":[{"value":"2005-02-01","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}