版权所有:内蒙古大学图书馆 技术提供:维普资讯• 智图
内蒙古自治区呼和浩特市赛罕区大学西街235号 邮编: 010021
作者机构:处理器芯片全国重点实验室(中国科学院计算技术研究所) 中国科学院大学
出 版 物:《计算机研究与发展》 (Journal of Computer Research and Development)
年 卷 期:2025年
核心收录:
学科分类:08[工学] 0835[工学-软件工程] 081202[工学-计算机软件与理论] 0812[工学-计算机科学与技术(可授工学、理学学位)]
基 金:国家重点研发计划项目(2022YFB3105103)
摘 要:动态二进制翻译器中广泛使用软件代码缓存来管理翻译生成的代码块.代码块的翻译、刷新和内存占用是软件代码缓存的一个重要指标.目前仅有少量的针对系统级动态二进制翻译器中代码缓存的研究.已有的系统级动态二进制翻译器为实现正确且高效的指令语义模拟,均使用了状态标签方案,但该方案会对软件代码缓存管理带来额外的问题.通过深入分析状态标签方案,总结了其给代码缓存管理带来的2类问题:冲突和冗余.针对这2类问题,提出了基于细粒度状态标签的代码缓存优化方法,包括多状态代码缓存和弱状态标签.这2种方案在LATX-SYS中实现并在龙芯LoongArch平台上使用Ubuntu/x86 16.04和Windows XP/x86客户机操作系统进行了测试.结果表明,代码块刷新次数和翻译次数分别降低了43%和18%,代码块相似率从59.63%降至5.06%,翻译开销和内存占用均得到降低.总的来说,系统启动时间降低了20%.最后,针对弱状态标签方案进一步测试了SPEC CPU2000,结果表明代码块数量平均减少了13%,且仅带来2%?3%的性能开销.