{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,10,24]],"date-time":"2025-10-24T16:39:48Z","timestamp":1761323988464,"version":"3.41.0"},"reference-count":35,"publisher":"Association for Computing Machinery (ACM)","issue":"2","license":[{"start":{"date-parts":[[2015,2,17]],"date-time":"2015-02-17T00:00:00Z","timestamp":1424131200000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"funder":[{"name":"Consolider CSD2007-00050 (Spanish government), and HiPEAC-2 NoE (European FP7\/ICT 217068)"},{"name":"Spanish government and European ERDF","award":["TIN2007-60625 and TIN2010-21291-C02-01"],"award-info":[{"award-number":["TIN2007-60625 and TIN2010-21291-C02-01"]}]},{"name":"gaZ: T48 Research Group (Arag&oacute;n government and European ESF)"}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["ACM Trans. Embed. Comput. Syst."],"published-print":{"date-parts":[[2015,3,25]]},"abstract":"<jats:p>In multitasking real-time systems, the worst-case execution time (WCET) of each task and also the effects of interferences between tasks in the worst-case scenario need to be calculated. This is especially complex in the presence of data caches. In this article, we propose a small instruction-driven data cache (256 bytes) that effectively exploits locality. It works by preselecting a subset of memory instructions that will have data cache replacement permission. Selection of such instructions is based on data reuse theory. Since each selected memory instruction replaces its own data cache line, it prevents pollution and performance in tasks becomes independent of the size of the associated data structures. We have modeled several memory configurations using the Lock-MS WCET analysis method. Our results show that, on average, our data cache effectively services 88% of program data of the tested benchmarks. Such results double the worst-case performance of our tested multitasking experiments. In addition, in the worst case, they reach between 75% and 89% of the ideal case of always hitting in instruction and data caches. As well, we show that using partitioning on our proposed hardware only provides marginal benefits in worst-case performance, so using partitioning is discouraged. Finally, we study the viability of our proposal in the MiBench application suite by characterizing its data reuse, achieving hit ratios beyond 90% in most programs.<\/jats:p>","DOI":"10.1145\/2677093","type":"journal-article","created":{"date-parts":[[2015,2,18]],"date-time":"2015-02-18T13:24:05Z","timestamp":1424265845000},"page":"1-26","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":5,"title":["ACDC"],"prefix":"10.1145","volume":"14","author":[{"given":"Juan","family":"Segarra","sequence":"first","affiliation":[{"name":"Universidad de Zaragoza, Zaragoza, (SPAIN)"}]},{"given":"Clemente","family":"Rodr\u00edguez","sequence":"additional","affiliation":[{"name":"Universidad del Pa\u00eds Vasco, Donostia-San Sebasti\u00e1n, (SPAIN)"}]},{"given":"Rub\u00e9n","family":"Gran","sequence":"additional","affiliation":[{"name":"Universidad de Zaragoza, Zaragoza, (SPAIN)"}]},{"given":"Luis C.","family":"Aparicio","sequence":"additional","affiliation":[{"name":"Universidad de Zaragoza, Zaragoza, (SPAIN)"}]},{"given":"V\u00edctor","family":"Vi\u00f1als","sequence":"additional","affiliation":[{"name":"Universidad de Zaragoza, Zaragoza, (SPAIN)"}]}],"member":"320","published-online":{"date-parts":[[2015,2,17]]},"reference":[{"key":"e_1_2_1_1_1","doi-asserted-by":"publisher","DOI":"10.1145\/1755951.1755911"},{"key":"e_1_2_1_2_1","doi-asserted-by":"publisher","DOI":"10.1109\/RTCSA.2008.10"},{"key":"e_1_2_1_3_1","doi-asserted-by":"publisher","DOI":"10.1109\/RTCSA.2010.8"},{"key":"e_1_2_1_4_1","doi-asserted-by":"publisher","DOI":"10.1016\/j.sysarc.2010.08.008"},{"key":"e_1_2_1_5_1","doi-asserted-by":"publisher","DOI":"10.1007\/11587514_8"},{"key":"e_1_2_1_6_1","doi-asserted-by":"publisher","DOI":"10.1145\/325478.325479"},{"key":"e_1_2_1_7_1","doi-asserted-by":"publisher","DOI":"10.1145\/224538.224622"},{"key":"e_1_2_1_8_1","doi-asserted-by":"publisher","DOI":"10.1016\/j.sysarc.2010.10.002"},{"key":"e_1_2_1_9_1","doi-asserted-by":"publisher","DOI":"10.5555\/1128020.1128563"},{"key":"e_1_2_1_10_1","doi-asserted-by":"publisher","DOI":"10.1145\/354880.354898"},{"volume-title":"Proceedings of the IEEE Real-Time Systems Symposium. 254--264","author":"Li Y. T. S.","key":"e_1_2_1_11_1"},{"key":"e_1_2_1_12_1","doi-asserted-by":"publisher","DOI":"10.1023\/A:1008138407139"},{"volume-title":"Proceedings of the IEEE Real-Time Embedded System Workshop.","author":"Campoy A. Mart\u00ed","key":"e_1_2_1_13_1"},{"volume-title":"Proceedings of the Canadian Conference on Electrical and Computer Engineering.","author":"Campoy A. Mart\u00ed","key":"e_1_2_1_14_1"},{"volume-title":"Proceedings of the 27th IFAC\/IFIP\/IEEE Workshop on Real-Time Programming.","author":"Campoy A. Mart\u00ed","key":"e_1_2_1_15_1"},{"key":"e_1_2_1_16_1","first-page":"26","article-title":"Chart watch: High-performance embedded processor cores","volume":"22","year":"2008","journal-title":"Microprocessor Report"},{"key":"e_1_2_1_17_1","unstructured":"N. Muralimanohar T. Balasubramonian and N. P. Jouppi. 2007. Cacti 6.0: A Tool to Understand Large Caches. Technical Report. University of Utah and Hewlett Packard Laboratories.  N. Muralimanohar T. Balasubramonian and N. P. Jouppi. 2007. Cacti 6.0: A Tool to Understand Large Caches. Technical Report. University of Utah and Hewlett Packard Laboratories."},{"key":"e_1_2_1_18_1","doi-asserted-by":"publisher","DOI":"10.1109\/ECRTS.2006.32"},{"volume-title":"Proceedings of the IEEE Real-Time Systems Symposium. 114","author":"Puaut I.","key":"e_1_2_1_19_1"},{"volume-title":"Proceedings of the Design, Automation Test in Europe Conference Exhibition. 1--6.","author":"Puaut I.","key":"e_1_2_1_20_1"},{"key":"e_1_2_1_21_1","doi-asserted-by":"publisher","DOI":"10.1145\/1289881.1289917"},{"key":"e_1_2_1_22_1","unstructured":"F. Rossi P. V. Beek and T. Walsh. 2006. Handbook of Constraint Programming. Elsevier.   F. Rossi P. V. Beek and T. Walsh. 2006. Handbook of Constraint Programming. Elsevier."},{"key":"e_1_2_1_23_1","unstructured":"Seoul National University Real-Time Research Group. 2008. SNU-RT benchmark suite for worst case timing analysis.  Seoul National University Real-Time Research Group. 2008. SNU-RT benchmark suite for worst case timing analysis."},{"key":"e_1_2_1_24_1","doi-asserted-by":"publisher","DOI":"10.1023\/B:TIME.0000045315.61234.1e"},{"key":"e_1_2_1_25_1","doi-asserted-by":"publisher","DOI":"10.1145\/1391469.1391545"},{"key":"e_1_2_1_26_1","doi-asserted-by":"publisher","DOI":"10.1023\/A:1008141130870"},{"volume-title":"Proceedings of the 28th Annual International Symposium on Microarchitecture (MICRO-28)","author":"Tyson G.","key":"e_1_2_1_27_1"},{"key":"e_1_2_1_28_1","doi-asserted-by":"publisher","DOI":"10.1145\/315253.314419"},{"volume-title":"Proceedings of the IEEE Real-Time Systems Symposium. 154--166","author":"Vera X.","key":"e_1_2_1_29_1"},{"key":"e_1_2_1_30_1","doi-asserted-by":"publisher","DOI":"10.1145\/1324969.1324973"},{"key":"e_1_2_1_31_1","unstructured":"S. A. Ward and R. H. Halstead. 2002. Computation Structures. Kluwer Academics.  S. A. Ward and R. H. Halstead. 2002. Computation Structures. Kluwer Academics."},{"volume-title":"Proceedings of the IEEE Real-Time Technology and Applications Symposium. 192--202","author":"White R.","key":"e_1_2_1_32_1"},{"key":"e_1_2_1_33_1","doi-asserted-by":"publisher","DOI":"10.1109\/RTAS.2010.21"},{"key":"e_1_2_1_34_1","doi-asserted-by":"publisher","DOI":"10.1145\/113446.113449"},{"key":"e_1_2_1_35_1","doi-asserted-by":"publisher","DOI":"10.1109\/TC.2004.1275296"}],"container-title":["ACM Transactions on Embedded Computing Systems"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/2677093","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/2677093","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T06:11:56Z","timestamp":1750227116000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/2677093"}},"subtitle":["Small, Predictable and High-Performance Data Cache"],"short-title":[],"issued":{"date-parts":[[2015,2,17]]},"references-count":35,"journal-issue":{"issue":"2","published-print":{"date-parts":[[2015,3,25]]}},"alternative-id":["10.1145\/2677093"],"URL":"https:\/\/doi.org\/10.1145\/2677093","relation":{},"ISSN":["1539-9087","1558-3465"],"issn-type":[{"type":"print","value":"1539-9087"},{"type":"electronic","value":"1558-3465"}],"subject":[],"published":{"date-parts":[[2015,2,17]]},"assertion":[{"value":"2012-06-01","order":0,"name":"received","label":"Received","group":{"name":"publication_history","label":"Publication History"}},{"value":"2013-12-01","order":1,"name":"accepted","label":"Accepted","group":{"name":"publication_history","label":"Publication History"}},{"value":"2015-02-17","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}