-
题名基于细粒度状态标签的代码缓存优化方案
- 1
-
-
作者
牛根
张福新
-
机构
处理器芯片全国重点实验室(中国科学院计算技术研究所)
中国科学院大学
-
出处
《计算机研究与发展》
北大核心
2025年第8期1931-1947,共17页
-
基金
国家重点研发计划项目(2022YFB3105103)。
-
文摘
动态二进制翻译器中广泛使用软件代码缓存来管理翻译生成的代码块.代码块的翻译、刷新和内存占用是软件代码缓存的重要指标.目前仅有少量的针对系统级动态二进制翻译器中代码缓存的研究.已有的系统级动态二进制翻译器为实现正确且高效的指令语义模拟,均使用了状态标签方案,但该方案会对软件代码缓存管理带来额外的问题.通过深入分析状态标签方案,总结了其给代码缓存管理带来的2类问题:冲突和冗余.针对这2类问题,提出了基于细粒度状态标签的代码缓存优化方法,包括多状态代码缓存和弱状态标签.这2种方案在LATX-SYS中实现并在龙芯LoongArch平台上使用Ubuntu/x8616.04和Windows XP/x86客户机操作系统进行了测试.结果表明,代码块刷新次数和翻译次数分别降低了43%和18%,代码块相似率从59.63%降至5.06%,翻译开销和内存占用均得到降低.总的来说,系统启动时间降低了20%.最后,针对弱状态标签方案进一步测试了SPEC CPU2000,结果表明代码块数量平均减少了13%,且仅带来2%~3%的性能开销.
-
关键词
软件代码缓存
二进制翻译
虚拟化
代码块
动态优化
-
Keywords
software code cache
binary translation
virtualization
code block
dynamic optimization
-
分类号
TP314
[自动化与计算机技术—计算机软件与理论]
-