{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,6,19]],"date-time":"2025-06-19T04:57:58Z","timestamp":1750309078481,"version":"3.41.0"},"reference-count":33,"publisher":"Association for Computing Machinery (ACM)","issue":"4","license":[{"start":{"date-parts":[[2005,12,1]],"date-time":"2005-12-01T00:00:00Z","timestamp":1133395200000},"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. Archit. Code Optim."],"published-print":{"date-parts":[[2005,12]]},"abstract":"<jats:p>Applications in embedded systems often need to meet specified timing constraints. It is advantageous to not only calculate the worst-case execution time (WCET) of an application, but to also perform transformation, which reduce the WCET, since an application with a lower WCET will be less likely to violate its timing constraints. Some processors incur a pipeline delay whenever an instruction transfers control to a target that is not the next sequential instruction. Code-positioning optimizations attempt to reduce these delays by positioning the basic blocks to minimize the number of unconditional jumps and taken conditional branches that occur. Traditional code-positioning algorithms use profile data to find the frequently executed edges between basic blocks, then minimize the transfers of control along these edges to reduce the average case execution time (ACET). This paper introduces a WCET code-positioning optimization, driven by the worst-case (WC) path information from a timing analyzer, to reduce the WCET instead of ACET. This WCET optimization changes the layout of the code in memory to reduce the branch penalties along the WC paths. Unlike the frequency of edges in traditional profile-driven code positioning, the WC path may change after code-positioning decisions are made. Thus, WCET code positioning is inherently more challenging than ACET code positioning. The experimental results show that this optimization typically finds the optimal layout of the basic blocks with the minimal WCET. The results show over a 7% reduction in WCET is achieved after code positioning is performed.<\/jats:p>","DOI":"10.1145\/1113841.1113842","type":"journal-article","created":{"date-parts":[[2006,5,8]],"date-time":"2006-05-08T16:09:20Z","timestamp":1147104560000},"page":"335-365","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":24,"title":["Improving WCET by applying a WC code-positioning optimization"],"prefix":"10.1145","volume":"2","author":[{"given":"Wankang","family":"Zhao","sequence":"first","affiliation":[{"name":"Florida State University, Tallahassee, Fl"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"David","family":"Whalley","sequence":"additional","affiliation":[{"name":"Florida State University, Tallahassee, Fl"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Christopher","family":"Healy","sequence":"additional","affiliation":[{"name":"Furman University, Greenville, SC"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Frank","family":"Mueller","sequence":"additional","affiliation":[{"name":"North Carolina State University, Raleigh, NC"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"320","published-online":{"date-parts":[[2005,12]]},"reference":[{"volume-title":"Proceedings of the Fifteenth IEEE Real-time Systems Symposium, San Juan. IEEE Computer Society Press. 172--181","author":"Arnold R.","key":"e_1_2_1_1_1"},{"volume-title":"Proceedings of the SIGPLAN'88 conference on Programming Language design and Implementation","author":"Benitez M. E.","key":"e_1_2_1_3_1"},{"volume-title":"Proceedings of the 1994 International Conference on Programming Languages and Architectures, 105--124","author":"Benitez M. E.","key":"e_1_2_1_4_1"},{"volume-title":"Proceeding of ASPLOS'94","year":"1954","author":"Calder B.","key":"e_1_2_1_5_1"},{"key":"e_1_2_1_6_1","doi-asserted-by":"publisher","DOI":"10.1109\/REAL.2000.896006"},{"key":"e_1_2_1_7_1","doi-asserted-by":"publisher","DOI":"10.1109\/2.707617"},{"key":"e_1_2_1_8_1","doi-asserted-by":"crossref","unstructured":"Harmon M. Baker T. and Whalley D. 1994. A retargetable technique for prediction execution time of code segments. Real-Time Systems. 159--182. 10.1007\/BF01088803   Harmon M. Baker T. and Whalley D. 1994. A retargetable technique for prediction execution time of code segments. Real-Time Systems. 159--182. 10.1007\/BF01088803","DOI":"10.1007\/BF01088803"},{"volume-title":"Proceedings of the IEEE Real-Time Technology and Applications Symposium","author":"Healy C.","key":"e_1_2_1_9_1"},{"key":"e_1_2_1_10_1","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.2002.1027799"},{"volume-title":"Proceedings of the Sixteenth IEEE Real-Time Systems Symposium, Pisa. IEEE Computer Society Press. 288--297","author":"Healy C.","key":"e_1_2_1_11_1"},{"key":"e_1_2_1_12_1","doi-asserted-by":"publisher","DOI":"10.1109\/12.743411"},{"key":"e_1_2_1_13_1","doi-asserted-by":"publisher","DOI":"10.1023\/A:1008189014032"},{"volume-title":"WIP Proceedings of the IEEE Real-Time Technology and Applications Symposium","year":"2000","author":"Healy C.","key":"e_1_2_1_14_1"},{"volume-title":"Proceedings of the SIGPLAN'93","author":"Hong S.","key":"e_1_2_1_15_1"},{"volume-title":"Proceeding of the IEEE Real-Time Technology and Application Symposium","author":"Ko L.","key":"e_1_2_1_16_1"},{"key":"e_1_2_1_17_1","doi-asserted-by":"publisher","DOI":"10.1002\/(SICI)1097-024X(199901)29:1%3C77::AID-SPE222%3E3.3.CO;2-V"},{"volume-title":"ACM SIGPLAN Conference on Languages, Compilers, and Tools for Embedded Systems","author":"Kulkarni P.","key":"e_1_2_1_18_1"},{"volume-title":"International Workshop on Software and Compilers for Embedded Systems","author":"Lee S.","key":"e_1_2_1_19_1"},{"volume-title":"Proceedings of the Sixteenth IEEE Real-time Systems Symposium, Pisa. IEEE Computer Society Press. 298--307","author":"Li Y.","key":"e_1_2_1_20_1"},{"volume-title":"Proceedings of the Fifteenth IEEE Real-Time Systems Symposium, San Juan. IEEE Computer Society Press. 875--889","author":"Lim S.","key":"e_1_2_1_21_1"},{"volume-title":"Proceedings of SIGPLAN Workshop on Languages, Compilers and Tools for Embedded Systems(LCTES'98)","author":"Lundqvist T.","key":"e_1_2_1_22_1"},{"volume-title":"13th Annual International Symposium of Computer Architecture","author":"Mcfarling S.","key":"e_1_2_1_23_1"},{"volume-title":"ACM SIGPLAN Workshop on Language, Compiler and Tool Support for Real-time Systems","year":"1997","author":"Mueller F.","key":"e_1_2_1_24_1"},{"key":"e_1_2_1_25_1","doi-asserted-by":"publisher","DOI":"10.1023\/A:1008145215849"},{"volume-title":"Proceeding of the ACM SIGPLAN'90 Conference on Programming Language Design and Implementation, ACM Press","year":"1990","author":"Pettis K.","key":"e_1_2_1_26_1"},{"key":"e_1_2_1_27_1","doi-asserted-by":"publisher","DOI":"10.1109\/32.29487"},{"key":"e_1_2_1_28_1","unstructured":"Star Core I. 2001a. Sc100 simulator reference manual.  Star Core I. 2001a. Sc100 simulator reference manual."},{"key":"e_1_2_1_29_1","unstructured":"Star Core I. 2001b. Sc110 dsp core reference manual.  Star Core I. 2001b. Sc110 dsp core reference manual."},{"volume-title":"Second International Conference on Systems Integration. 438--446","year":"1992","author":"Marlowe S. M.","key":"e_1_2_1_30_1"},{"volume-title":"Proceedings of the ACM SIGPLAN Workshop on Language, Compilers, and Tools for Embedded Systems","author":"Vivancos E.","key":"e_1_2_1_31_1"},{"volume-title":"Proceedings of the IEEE Real-Time Technology and Application Symposium, Montreal. IEEE Computer Society Press. 192--202","author":"White R. T.","key":"e_1_2_1_32_1"},{"key":"e_1_2_1_33_1","doi-asserted-by":"publisher","DOI":"10.1023\/A:1008190423977"},{"volume-title":"ACM SIGPLAN Conference on Languages, Compilers, and Tools for Embedded Systems","author":"Zhao W.","key":"e_1_2_1_34_1"}],"container-title":["ACM Transactions on Architecture and Code Optimization"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/1113841.1113842","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/1113841.1113842","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T22:43:23Z","timestamp":1750286603000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/1113841.1113842"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2005,12]]},"references-count":33,"journal-issue":{"issue":"4","published-print":{"date-parts":[[2005,12]]}},"alternative-id":["10.1145\/1113841.1113842"],"URL":"https:\/\/doi.org\/10.1145\/1113841.1113842","relation":{},"ISSN":["1544-3566","1544-3973"],"issn-type":[{"type":"print","value":"1544-3566"},{"type":"electronic","value":"1544-3973"}],"subject":[],"published":{"date-parts":[[2005,12]]},"assertion":[{"value":"2005-12-01","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}