摘要:
在动态二进制翻译过程中,将执行频度高的代码片段长时间驻留在翻译缓存,同时扩大翻译器一次执行的代码量,是减少上下文切换开销、提升系统效率的有效途径。为此,提出了“热代码识别→超块缓存构造→T-Cache管理策略改进”的优化线索,设计了一种基于频度统计的热代码识别算法,将频度值超过预设阈值的基本块及其后续基本块作为热代码识别条件;基于识别出的热代码,提出了构造超块缓存的思想,将热代码包含的基本块翻译后做物理连接,形成容量更大的超块缓存提供给T-Cache系统;以此为基础,改进了T-Cache系统原有的查找方法和替换策略。实验验证了该优化方法的正确性和有效性,在国产申威处理器平台上,该方法使得标准测试集SPEC 2006获得平均9.34%的性能提升。