论文部分内容阅读
微处理器是计算机系统中的核心部件。借助微电子工艺和体系结构技术的进步,微处理器的性能获得了飞速提升。微处理器在各个领域的应用取得了巨大的发展和成功,产生了良好的经济效益和社会效益。 随着应用软件的不断积累,二进制代码兼容已经成为微处理器能否具有生命力的关键问题。解决二进制代码兼容问题是处理器必须实现的目标之一,也是限制新体系结构技术在微处理器设计中应用的重要障碍。新兴的动态二进制翻译技术与微处理器设计相结合,通过在硬件核心上运行翻译软件实现指令集体系结构,可以有效地解决二进制代码兼容问题,为微处理器设计提供了一条新的思路。这种处理器设计模式可以降低对微电子制造工艺和设计水平的要求,特别适合我国国情。 本文在全面深入了解当前二进制翻译处理器与相关技术研究现状的基础上,展开对面向微处理器设计的动态二进制翻译技术的研究。在有适当硬件支持的二进制翻译处理器模型基础上,研究了动态适应程序执行行为以提高二进制翻译处理器性能的翻译单元构造算法与多级优化框架,以及动态二进制翻译中的线程级并行性开发,实现了二进制翻译原型系统。主要的工作与创新点包括: 1.全面深入地研究了国际上微处理器与动态二进制翻译技术的研究现状,针对几个对二进制翻译处理器研究有重要影响的项目,总结分析它们的特点与不足。结合二进制翻译处理器的执行机制,对二进制翻译处理器的设计目标进行了分析。 2.在分析二进制翻译处理器设计目标的基础上,提出一个具有适当硬件支持的二进制翻译处理器模型Transtar。Transtar由底层的硬件处理核心Transtar Core与运行在其上的翻译软件层TSL组成。其中,Transtar Core是一个超长指令字结构的精简处理器内核,为支持二进制翻译设置了适当的辅助硬件。TSL将源体系结构资源映射到Transtar Core上,并将源结构IA-32指令转换为底层Transtar Core的VLIW指令执行。 3.提出了自适应翻译单元构造算法ATUC。翻译单元的选取将决定程序中哪些代码被翻译,对系统的性能有重要影响。ATUC在硬件连续提交地址检测缓冲的辅助下,持续监测应用程序翻译后代码的执行,并根据其特性构造合适长度的翻译单元Trace,以确保翻译后代码执行的成功率,并尽可能提高翻译后目标代码的效率,同时只引入很低的profile开销和硬件支持开销。