论文摘要
传统的计算机软件与下层的机器平台有着强烈的依赖关系,针对一个机器平台编译的程序不能运行在其他平台上。随着新的体系结构和操作系统的不断涌现,对计算机系统间的互操作性要求也越来越高。二进制翻译技术可以将一种ISA (Instruction Set Architecture)的二进制机器码翻译到另一种ISA的二进制机器码,从而实现原有应用程序到一种新的硬件平台的移植。为了有效的实现PC处理器主流的x86系列程序与ARM系列处理器之间的兼容性和可移植性,本文首先研究了x86和ARM两种处理器的架构、指令寻址方式和指令编码。然后提出了一种32位x86指令到ARM指令的静态二进制翻译的硬件实现方法,用Verilog硬件描述语言实现了进行静态二进制翻译的核心模块Decoder模块,能够处理130多条x86指令,并且对适用Decoder模块的x86汇编程序和ARM架构提出了限制条件。同时设计了一个TLB模块,可实现x86指令的匹配并直接输出存储的ARM指令,从而提高整个译码系统的吞吐量。最后将该译码模块成功的集成到基于ARM核的SoC上进行系统验证。目前译码模块还存在很多不足之处,在以后的研究工作中,会对其进行算法和资源的改进,努力提高译码的效率。
论文目录
摘要ABSTRACT第一章 绪论1.1 二进制翻译技术及其发展1.1.1 静态二进制翻译1.1.2 动态二进制翻译1.1.3 两种翻译技术的比较1.1.4 二进制翻译技术的应用与发展1.2 关于本文1.2.1 研究目标1.2.2 全文结构第二章 X86 和ARM 处理器的架构和指令2.1 80X86 CPU 工作模式2.1.1 实模式2.1.2 保护模式2.2 80X86 寄存器组2.2.1 通用寄存器2.2.2 段寄存器2.2.3 专用寄存器2.3 32 位80X86 指令及其寻址方式2.3.1 32 位80x86 指令2.3.2 32 位80x86 指令寻址方式2.4 80X86 指令格式2.4.1 寄存器编码2.4.2 条件测试编码2.4.3 ModR/M 字节与32 位寻址方式2.5 ARM 处理器模式2.6 ARM 寄存器组2.6.1 未分组寄存器与分组寄存器2.6.2 程序计数器R152.6.3 程序状态寄存器与条件码2.7 ARM 指令寻址2.8 ARM 指令编码格式2.8.1 数据处理指令格式2.8.2 跳转指令B 和跳转链接指令BL2.8.3 单数据传输指令LDR 和STR2.9 X86 指令集和ARM 指令集2.9.1 x86 指令集2.9.2 ARM 指令集2.10 本章小结第三章 译码器实现方法3.1 译码模块的实现方法3.1.1 指令地址对应关系3.1.2 寄存器对应关系3.1.3 测试条件对应关系3.1.4 x86 指令分类3.1.5 ARM 立即数3.2 译码器的应用与限制3.2.1 译码器支持的x86 指令3.2.2 译码器的应用限制3.3 本章小结第四章 译码器系统设计4.1 译码器系统架构4.2 译码器内部模块结构4.3 译码器系统接口模块4.3.1 FIFO 模块4.3.2 Communicate 模块接口定义4.3.3 AHB interface 1 模块接口定义4.3.4 AHB interface 2 模块接口定义4.3.5 Decoder & TLB 模块接口定义4.3.6 Decoder 和TLB 模块的内部接口4.4 本章小结第五章 译码模块的设计及优化5.1 DECODER 模块的设计5.1.1 Decoder 模块接口定义5.1.2 Decoder 模块的内部结构5.1.3 Decoder 内部结构模块5.2 TLB 模块的设计5.2.1 TLB 模块的接口定义5.2.2 TLB 模块的内部结构5.2.3 TLB 内部结构模块5.3 译码模块的优化5.4 仿真结果5.5 本章小结第六章 译码模块的验证与集成6.1 算法验证6.1.1 Hash 算法6.1.2 针对译码器的Hash 算法实现6.1.3 Hash 算法的验证6.2 ARM 系统的集成6.2.1 系统结构的搭建6.2.2 系统瓶颈及解决6.2.3 系统的仿真结果6.3 本章小结第七章 总结与展望7.1 总结7.2 展望参考文献附录1附录2致谢攻读硕士学位期间已发表或录用的论文
相关论文文献
标签:指令论文; 二进制翻译论文;