降低协同设计虚拟机启动开销的译码后指令缓存技术
陈 微 王志英 肖 侬 沈 立 陆洪毅
2011, 48(1):
19-27.
摘要
(
444 )
HTML
(
1)
PDF (3395KB)
(
464
)
相关文章 |
计量指标
协同设计虚拟机采用动态二进制翻译实现不同体系结构间的二进制兼容,对源指令的翻译和处理影响了协同设计虚拟机的启动性能.研究发现,在一个采用解释执行和翻译相结合的协同设计虚拟机中,处理非热点代码的解释执行是虚拟机启动开销的主要来源.发现了协同设计虚拟机中的解释例程局部性,并提出了一种硬件译码后指令缓存结构DICache (decoded instruction cache),用于存储解释执行过程中译码后的指令信息,开发解释例程的局部性,避免大量重复的译码操作.在一个协同设计虚拟机上对DICache进行评估,采用一组SYSmark 2004 SE商业应用测试程序进行测试.结果表明,DICache可以有效减少重复译码量,将协同设计虚拟机的启动性能平均提高约2.4倍.与相关的优化技术相比,DICache的性能更好,且具有更强的适用性.