● 摘要
随着微处理器技术的迅速发展,软件的二进制兼容性问题越来越突出,已经成为了影响微处理器能否立足于市场的关键问题。解决二进制兼容性问题,是发展新型处理器必须解决的困难之一。二进制动态翻译技术是通过软件的方法解决二进制兼容性问题,使一种ISA程序能够运行在另一种ISA微处理器之上。同时二进制动态翻译技术简化硬件因兼容性问题做的不必要设计,为微处理器提供更加自由的发展空间。
本文基于二进制动态翻译器发展现状,对其相关技术进行了深入研究。完成基于MIPS处理器平台,Android操作系统环境下用户级二进制翻译器的设计与实现。在二进制动态翻译系统设计过程中,结合平台特性对动态翻译器的启动、库函数的链接做了改进,改变通用二进制动态翻译器完全使用源ISA运行环境的方法,将目标ISA与源ISA环境相结合,直接用目标平台MIPS公共共享库替换源平台ARM公共共享库,提高翻译系统的整体效率,并详细讨论了设计过程中遇到的问题。性能优化方面,在软件层面设计实现软件模拟TLB的方法,提高在翻译缓存管理中SPC-TPC的查询命中率。使得翻译后程序的运行效率与源ARM程序的本地运行效率比达到1:5。同时,分析ARM指令集与MIPS指令集的差别,对主要影响执行效率的状态位更新指令和条件执行指令提出硬件优化方案。最后,根据设计实现了以系统共享库的方式由操作系统使用的系统原型。并对其做了全面的验证,证明该设计的可行性与正确性。
相关内容
相关标签