基于ARM嵌入式应用平台的x86指令译码器设计

基于ARM嵌入式应用平台的x86指令译码器设计

论文摘要

传统的计算机软件与下层的机器平台有着强烈的依赖关系,针对一个机器平台编译的程序不能运行在其他平台上。随着新的体系结构和操作系统的不断涌现,对计算机系统间的互操作性要求也越来越高。二进制翻译技术可以将一种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 程序计数器R15
  • 2.6.3 程序状态寄存器与条件码
  • 2.7 ARM 指令寻址
  • 2.8 ARM 指令编码格式
  • 2.8.1 数据处理指令格式
  • 2.8.2 跳转指令B 和跳转链接指令BL
  • 2.8.3 单数据传输指令LDR 和STR
  • 2.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
  • 致谢
  • 攻读硕士学位期间已发表或录用的论文
  • 相关论文文献

    标签:;  ;  

    基于ARM嵌入式应用平台的x86指令译码器设计
    下载Doc文档

    猜你喜欢