{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,1,10]],"date-time":"2026-01-10T07:40:26Z","timestamp":1768030826824,"version":"3.49.0"},"reference-count":92,"publisher":"Association for Computing Machinery (ACM)","issue":"1","license":[{"start":{"date-parts":[[2020,2,6]],"date-time":"2020-02-06T00:00:00Z","timestamp":1580947200000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"funder":[{"name":"TCS Fellowship"}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["ACM Comput. Surv."],"published-print":{"date-parts":[[2021,1,31]]},"abstract":"<jats:p>Computer architecture simulation tools are essential for implementing and evaluating new ideas in the domain and can be useful for understanding the behavior of programs and finding microarchitectural bottlenecks. One particularly important part of almost any processor is the cache hierarchy. While some simulators support simulating a whole processor, including the cache hierarchy, cores, and on-chip interconnect, others may only support simulating the cache hierarchy. This survey provides a detailed discussion on 28 CPU cache simulators, including popular or recent simulators. We compare between all of these simulators in four different ways: major design characteristics, support for specific cache design features, support for specific cache-related metrics, and validation methods and efforts. The strengths and shortcomings of each simulator and major issues that are common to all simulators are highlighted. The information presented in this survey was collected from many different sources, including research papers, documentations, source code bases, and others. This survey is potentially useful for both users and developers of cache simulators. To the best of our knowledge, this is the first comprehensive survey on cache simulation tools.<\/jats:p>","DOI":"10.1145\/3372393","type":"journal-article","created":{"date-parts":[[2020,2,6]],"date-time":"2020-02-06T21:54:04Z","timestamp":1581026044000},"page":"1-32","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":20,"title":["A Survey of Cache Simulators"],"prefix":"10.1145","volume":"53","author":[{"ORCID":"https:\/\/orcid.org\/0000-0002-9067-6797","authenticated-orcid":false,"given":"Hadi","family":"Brais","sequence":"first","affiliation":[{"name":"Indian Institute of Technology Delhi, Hauz Khas, New Delhi, India"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Rajshekar","family":"Kalayappan","sequence":"additional","affiliation":[{"name":"Indian Institute of Technology Dharwad, Dharwad, India"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Preeti Ranjan","family":"Panda","sequence":"additional","affiliation":[{"name":"Indian Institute of Technology Delhi, Hauz Khas, New Delhi, India"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"320","published-online":{"date-parts":[[2020,2,6]]},"reference":[{"key":"e_1_2_1_1_1","doi-asserted-by":"publisher","DOI":"10.1109\/ISPASS.2014.6844475"},{"key":"e_1_2_1_2_1","doi-asserted-by":"publisher","DOI":"10.1145\/1183401.1183436"},{"key":"e_1_2_1_3_1","doi-asserted-by":"publisher","DOI":"10.1109\/ISPASS.2019.00014"},{"key":"e_1_2_1_4_1","volume-title":"Proceedings of the 2013 IEEE International Symposium on Performance Analysis of Systems and Software (ISPASS\u201913)","author":"Ahn Jung Ho"},{"key":"e_1_2_1_5_1","doi-asserted-by":"publisher","DOI":"10.1109\/ACCESS.2019.2917698"},{"key":"e_1_2_1_6_1","doi-asserted-by":"publisher","DOI":"10.1109\/MM.2006.73"},{"key":"e_1_2_1_7_1","article-title":"A comparative study of heterogeneous processor simulators","volume":"148","author":"Aleem Muhammad","year":"2016","journal-title":"Int. J. Comput. Appl."},{"key":"e_1_2_1_8_1","volume-title":"Francis Birck Moreira, and Philippe Olivier Alexandre Navaux","author":"Zanata Alves Marco Antonio","year":"2015"},{"key":"e_1_2_1_9_1","doi-asserted-by":"publisher","DOI":"10.2200\/S00586ED1V01Y201407CAC029"},{"key":"e_1_2_1_10_1","volume-title":"Proceedings of the High Performance Computer Architecture (HPCA2013)","author":"Ehsan","year":"2013"},{"key":"e_1_2_1_11_1","doi-asserted-by":"publisher","DOI":"10.1145\/1496909.1496921"},{"key":"e_1_2_1_12_1","doi-asserted-by":"publisher","DOI":"10.1109\/2.982917"},{"key":"e_1_2_1_13_1","volume-title":"Proc. ACM Program. Lang. 2","author":"Bao Wenlei","year":"2017"},{"key":"e_1_2_1_14_1","doi-asserted-by":"publisher","DOI":"10.1145\/2024716.2024718"},{"key":"e_1_2_1_15_1","volume-title":"Proceedings of the USENIX Symposium on Experiences with Distributed and Multiprocessor Systems (SEDMS IV). 57--71","author":"William"},{"key":"e_1_2_1_16_1","doi-asserted-by":"publisher","DOI":"10.1145\/3023973.3023974"},{"key":"e_1_2_1_17_1","unstructured":"Derek Bruening and Saman Amarasinghe. 2004. Efficient Transparent and Comprehensive Runtime Code Manipulation. Ph.D. Dissertation. Massachusetts Institute of Technology Department of Electrical Engineering and Computer Science.  Derek Bruening and Saman Amarasinghe. 2004. Efficient Transparent and Comprehensive Runtime Code Manipulation. Ph.D. Dissertation. Massachusetts Institute of Technology Department of Electrical Engineering and Computer Science."},{"key":"e_1_2_1_18_1","doi-asserted-by":"publisher","DOI":"10.1109\/MICRO.2004.7"},{"key":"e_1_2_1_19_1","doi-asserted-by":"publisher","DOI":"10.1109\/ASPDAC.2015.7059093"},{"key":"e_1_2_1_20_1","doi-asserted-by":"publisher","DOI":"10.1109\/ReCoSoC.2012.6322869"},{"key":"e_1_2_1_21_1","doi-asserted-by":"publisher","DOI":"10.1145\/2629677"},{"key":"e_1_2_1_22_1","doi-asserted-by":"publisher","DOI":"10.1145\/2063384.2063454"},{"key":"e_1_2_1_23_1","doi-asserted-by":"publisher","DOI":"10.1145\/1577129.1577134"},{"key":"e_1_2_1_24_1","volume-title":"Proceedings of the 5th Workshop on Computer Architecture Evaluation using Commercial Workloads. 13--22","author":"Computer Sciences Department"},{"key":"e_1_2_1_25_1","unstructured":"Jan Edler. 1998. Dinero IV trace-driven uniprocessor cache simulator. Retrieved from http:\/\/www.cs.wisc.edu\/&sim;markhill\/DineroIV\/.  Jan Edler. 1998. Dinero IV trace-driven uniprocessor cache simulator. Retrieved from http:\/\/www.cs.wisc.edu\/&sim;markhill\/DineroIV\/."},{"key":"e_1_2_1_26_1","doi-asserted-by":"publisher","DOI":"10.2200\/S00273ED1V01Y201006CAC010"},{"key":"e_1_2_1_27_1","volume-title":"Retrieved","author":"Engblom Jakob","year":"2008"},{"key":"e_1_2_1_28_1","doi-asserted-by":"publisher","DOI":"10.1109\/TCAD.2015.2481796"},{"key":"e_1_2_1_29_1","volume-title":"Fast TLB simulation for RISC-V systems. arXiv preprint arXiv:1905.06825","author":"Guo Xuan","year":"2019"},{"key":"e_1_2_1_30_1","doi-asserted-by":"publisher","DOI":"10.1109\/ISPASS.2014.6844457"},{"key":"e_1_2_1_31_1","unstructured":"Julian Hammer. 2015. pycachesim. Retrieved from https:\/\/github.com\/RRZE-HPC\/pycachesim.  Julian Hammer. 2015. pycachesim. Retrieved from https:\/\/github.com\/RRZE-HPC\/pycachesim."},{"key":"e_1_2_1_32_1","doi-asserted-by":"publisher","DOI":"10.1145\/1629435.1629476"},{"key":"e_1_2_1_33_1","doi-asserted-by":"publisher","DOI":"10.2200\/S00345ED1V01Y201104CAC015"},{"key":"e_1_2_1_34_1","doi-asserted-by":"publisher","DOI":"10.1109\/2.869367"},{"key":"e_1_2_1_35_1","doi-asserted-by":"publisher","DOI":"10.1109\/MM.2007.56"},{"key":"e_1_2_1_36_1","doi-asserted-by":"publisher","DOI":"10.1109\/MASCOT.2003.1240655"},{"key":"e_1_2_1_37_1","doi-asserted-by":"publisher","DOI":"10.1109\/40.710872"},{"key":"e_1_2_1_38_1","volume-title":"Proceedings of the 4th Annual Workshop on Modeling, Benchmarking and Simulation (MoBS\u201908","author":"Jaleel Aamer","year":"2008"},{"key":"e_1_2_1_39_1","doi-asserted-by":"publisher","DOI":"10.1145\/2818353"},{"key":"e_1_2_1_40_1","doi-asserted-by":"publisher","DOI":"10.1145\/2333660.2333722"},{"key":"e_1_2_1_41_1","volume-title":"Wong","author":"Kang Hui","year":"2013"},{"key":"e_1_2_1_42_1","doi-asserted-by":"publisher","DOI":"10.1109\/ISCA.2018.00014"},{"key":"e_1_2_1_43_1","volume-title":"Design Space Exploration of Stream-based Dataflow Architectures. Ph. D. Dissertation","author":"Kienhuis A. C. J."},{"key":"e_1_2_1_44_1","volume-title":"Macsim: A cpu-gpu heterogeneous simulation framework user guide","author":"Kim Hyesoon","year":"2012"},{"key":"e_1_2_1_45_1","volume-title":"Proceedings of the International Symposium on Computer Architecture","author":"Kroft David","year":"1981"},{"key":"e_1_2_1_46_1","volume-title":"Proceedings of the 12th International Conference on Parallel Architectures and Compilation Techniques (PACT\u201903)","author":"Lepak Kevin M."},{"key":"e_1_2_1_47_1","volume-title":"Proceedings of the 42nd Annual IEEE\/ACM International Symposium on Microarchitecture (MICRO 42)","author":"Li Sheng"},{"key":"e_1_2_1_48_1","doi-asserted-by":"publisher","DOI":"10.1109\/TC.2016.2519901"},{"key":"e_1_2_1_49_1","doi-asserted-by":"publisher","DOI":"10.1109\/ISPASS.2009.4919638"},{"key":"e_1_2_1_50_1","unstructured":"Brandon Lucia. 2010. MultiCacheSim. Retrieved from https:\/\/github.com\/blucia0a\/MultiCacheSim.  Brandon Lucia. 2010. MultiCacheSim. Retrieved from https:\/\/github.com\/blucia0a\/MultiCacheSim."},{"key":"e_1_2_1_51_1","volume-title":"Vijay Janapa Reddi, and Kim Hazelwood","author":"Luk Chi-Keung","year":"2005"},{"key":"e_1_2_1_52_1","doi-asserted-by":"publisher","DOI":"10.1145\/3018743.3018759"},{"key":"e_1_2_1_53_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-319-26362-5_3"},{"key":"e_1_2_1_54_1","unstructured":"John McCalpin. 2013. Notes on the mystery of hardware cache performance counters. Retrieved from https:\/\/sites.utexas.edu\/jdm4372\/2013\/07\/14\/notes-on-the-mystery-of-hardware-cache-performance-counters\/.  John McCalpin. 2013. Notes on the mystery of hardware cache performance counters. Retrieved from https:\/\/sites.utexas.edu\/jdm4372\/2013\/07\/14\/notes-on-the-mystery-of-hardware-cache-performance-counters\/."},{"key":"e_1_2_1_55_1","doi-asserted-by":"publisher","DOI":"10.1109\/HPCA.2010.5416635"},{"key":"e_1_2_1_56_1","volume-title":"Proceedings of the 13th IEEE International Symposium on Modeling, Analysis, and Simulation of Computer and Telecommunication Systems. 75--84","author":"Modi Harit"},{"key":"e_1_2_1_57_1","doi-asserted-by":"publisher","DOI":"10.1145\/1140103.1140303"},{"key":"e_1_2_1_59_1","doi-asserted-by":"publisher","DOI":"10.1145\/1250734.1250746"},{"key":"e_1_2_1_60_1","doi-asserted-by":"publisher","DOI":"10.1109\/VLSID.2015.28"},{"key":"e_1_2_1_61_1","volume-title":"\u201cyour favorite simulator here","author":"Nowatzki Tony"},{"key":"e_1_2_1_62_1","volume-title":"Adve","author":"Pai Vijay S.","year":"1997"},{"key":"e_1_2_1_63_1","doi-asserted-by":"publisher","DOI":"10.1145\/224081.224092"},{"key":"e_1_2_1_64_1","volume-title":"Proceedings of the 1st International Qemu Users Forum. 29--30","author":"Patel Avadh","year":"2011"},{"key":"e_1_2_1_65_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-642-04284-3_9"},{"key":"e_1_2_1_66_1","doi-asserted-by":"publisher","DOI":"10.1109\/HPCA.2011.5749747"},{"key":"e_1_2_1_67_1","volume-title":"Proceedings of the 34th Annual International Symposium on Computer Architecture (ISCA\u201907)","author":"Phansalkar Aashish"},{"key":"e_1_2_1_68_1","doi-asserted-by":"publisher","DOI":"10.1109\/ISCA.2005.52"},{"key":"e_1_2_1_69_1","doi-asserted-by":"publisher","DOI":"10.1109\/TCAD.2012.2184760"},{"key":"e_1_2_1_70_1","doi-asserted-by":"publisher","DOI":"10.1109\/TC.2017.2723878"},{"key":"e_1_2_1_71_1","doi-asserted-by":"publisher","DOI":"10.1109\/MICRO.2010.20"},{"key":"e_1_2_1_72_1","doi-asserted-by":"publisher","DOI":"10.1145\/2485922.2485963"},{"key":"e_1_2_1_73_1","doi-asserted-by":"publisher","DOI":"10.1109\/PATMOS.2015.7347586"},{"key":"e_1_2_1_74_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-319-64203-1_9"},{"key":"e_1_2_1_75_1","doi-asserted-by":"publisher","DOI":"10.1145\/165123.165152"},{"key":"e_1_2_1_76_1","volume-title":"Proceedings of the International Conference on Computers and Their Applications.","author":"Charles"},{"key":"e_1_2_1_77_1","doi-asserted-by":"publisher","DOI":"10.1145\/980152.980157"},{"key":"e_1_2_1_78_1","doi-asserted-by":"publisher","DOI":"10.1109\/ISPASS.2010.5452079"},{"key":"e_1_2_1_79_1","volume-title":"Proceedings of the Fifth Annual Workshop on Modeling, Benchmarking and Simulation (MoBS'09)","author":"Srinivasan Sadagopan","year":"2009"},{"key":"e_1_2_1_80_1","doi-asserted-by":"publisher","DOI":"10.1145\/2370816.2370865"},{"key":"e_1_2_1_81_1","doi-asserted-by":"publisher","DOI":"10.1145\/254180.254184"},{"key":"e_1_2_1_82_1","volume-title":"Zarallo Gallardo","author":"Vega-Rodriguez Raul Martin","year":"2006"},{"key":"e_1_2_1_83_1","doi-asserted-by":"publisher","DOI":"10.1109\/ISPASS.2018.00013"},{"key":"e_1_2_1_84_1","doi-asserted-by":"publisher","DOI":"10.1109\/ISPASS.2014.6844466"},{"key":"e_1_2_1_85_1","doi-asserted-by":"publisher","DOI":"10.5555\/2485288.2485432"},{"key":"e_1_2_1_86_1","volume-title":"Proceedings of the 7th Workshop on Duplicating, Deconstructing, and Debunking. 40--53","author":"Weaver Vincent M","year":"2008"},{"key":"e_1_2_1_87_1","doi-asserted-by":"publisher","DOI":"10.1109\/ISPASS.2013.6557172"},{"key":"e_1_2_1_88_1","first-page":"34","article-title":"Cache exclusivity and sharing: Theory and optimization","volume":"14","author":"Ye Chencheng","year":"2017","journal-title":"ACM Trans. Arch. Code Optim."},{"key":"e_1_2_1_89_1","doi-asserted-by":"publisher","DOI":"10.1109\/TC.2006.44"},{"key":"e_1_2_1_90_1","doi-asserted-by":"publisher","DOI":"10.1109\/ISPASS.2007.363733"},{"key":"e_1_2_1_91_1","doi-asserted-by":"publisher","DOI":"10.1145\/2480741.2480749"},{"key":"e_1_2_1_92_1","unstructured":"Sizhuo Zhang Andrew Wright Daniel Sanchez etal 2016. Validating simplified processor models in architectural studies. arXiv preprint arXiv:1610.02094 (2016).  Sizhuo Zhang Andrew Wright Daniel Sanchez et al. 2016. Validating simplified processor models in architectural studies. arXiv preprint arXiv:1610.02094 (2016)."},{"key":"e_1_2_1_93_1","doi-asserted-by":"publisher","DOI":"10.1109\/MM.2007.66"}],"container-title":["ACM Computing Surveys"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3372393","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3372393","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,17]],"date-time":"2025-06-17T22:02:21Z","timestamp":1750197741000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3372393"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2020,2,6]]},"references-count":92,"journal-issue":{"issue":"1","published-print":{"date-parts":[[2021,1,31]]}},"alternative-id":["10.1145\/3372393"],"URL":"https:\/\/doi.org\/10.1145\/3372393","relation":{},"ISSN":["0360-0300","1557-7341"],"issn-type":[{"value":"0360-0300","type":"print"},{"value":"1557-7341","type":"electronic"}],"subject":[],"published":{"date-parts":[[2020,2,6]]},"assertion":[{"value":"2019-07-01","order":0,"name":"received","label":"Received","group":{"name":"publication_history","label":"Publication History"}},{"value":"2019-11-01","order":1,"name":"accepted","label":"Accepted","group":{"name":"publication_history","label":"Publication History"}},{"value":"2020-02-06","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}