学位论文 > 优秀研究生学位论文题录展示

MIPS64动态模拟器的研究与开发

作 者: 郭森
导 师: 蔡启先
学 校: 广西工学院
专 业: 控制理论与控制工程
关键词: MIPS体系结构 伪指令 Vector容器 跳转指令
分类号: TP368.1
类 型: 硕士论文
年 份: 2011年
下 载: 15次
引 用: 0次
阅 读: 论文下载
 

内容摘要


指令集模拟器用来在宿主机上模拟目标机上程序运行过程的软件工具。经过长久以来的发展之后,在现在嵌入式系统开发中,指令集模拟器已经成为了十分重要的组成部分。按照实现方法指令集仿真器可分为两大类:解释型指令集模拟器和编译型指令集模拟器。编译型指令集模拟器的原理是把目标机的指令直接翻译为能实现相应功能的宿主机上的指令,编译型指令集模拟器包含静态编译和动态编译两类,其中动态编译又可以分为两种模式:未细化的动态编译模式和可细化的动态编译模式。未细化的动态编译模式和可细化的动态编译模式都是把指令翻译成高级语言的函数,区别就在于一旦指令的执行条件发生了变化,未细化的动态编译模式就需要重新翻译,而后者就通过细化不同的执行条件,不用重新翻译。本论文的主要工作有四部分:第一部分,实现了MIPS64(兼容MIPS32)除浮点指令以外的所有MIPS指令的语义函数,这些指令主要包括算术运算、分支指令、加载存储指令、协处理器0的相关指令。由于MIPS指令可细化的条件不多,就把指令格式相同的指令进行组合,从而实现相应的语义函数。第二部分,实现了可细化的动态模式的流程,主要用到的是取指函数和执行函数。第三部分,对可细化的动态模式进行了改进,可以清楚了解缓存中代码被调用的次数,以便于更高级的优化。第四部分,通过使用嵌入式汇编语言语言来编写每条指令的验证程序,从而检验指令集的精确性,同时通过运行一些通用的测试程序来检验可细化动态模拟指令集的性能。本文采用基于伪指令的动态翻译技术,基本思路是在编译阶段把指令翻译成伪指令,伪指令有指向语义函数的指针和语义函数所用到的参数共同组成。改进的动态翻译技术的思路是以是否出现分支指令为依据,把分支指令本身以及之前的所有代码存储到vector容器内,然后把vector容器存放到Cache中。这样,虽然在编译阶段花费时间较多一些,但使得译码阶段消耗的时间大量减少,从而提高了实际运行的模拟速度。采用这种技术,无论是机器结构还是操作系统都不依赖于宿主机器,只要宿主机器支持C++语言即可。最后通过实验证明,本论文所提出的基于可细化的编译型指令集模拟技术所实现的MIPS64的指令集模拟器,不仅能够精确实现所有指令的功能,并且跟采用未细化的编译型指令集模拟技术相比,性能大大提高。

全文目录


摘要  4-5
Abstract  5-9
第一章 绪论  9-17
  1.1 嵌入式系统  9-11
    1.1.1 嵌入式系统的组成  10
    1.1.2 嵌入式系统微处理器  10-11
    1.1.3 嵌入式系统的特征  11
  1.2 软件模拟器  11-12
    1.2.1 软件模拟器的作用  11-12
    1.2.2 软件模拟器的类别  12
  1.3 系统建模  12-15
    1.3.1 系统建模的现状  12-13
    1.3.2 硬件描述语言及分类  13-14
    1.3.3 系统建模的方法  14-15
  1.4 交叉编译器  15
  1.5 本章小结  15-17
第二章 指令集模拟器  17-23
  2.1 指令集模拟器定义  17
  2.2 指令集模拟器分类及实现技术  17-22
    2.2.1 指令集模拟器分类  17-21
    2.2.2 常用的指令集模拟技术  21-22
  2.3 本章小结  22-23
第三章 MIPS 体系结构处理器  23-28
  3.1 MIPS 处理器的简介  23
  3.2 MIPS 基本指令格式  23-24
  3.3 MIPS 寄存器介绍  24-26
    3.3.1 通用寄存器  24-25
    3.3.2 协寄存器  25
    3.3.3 高位寄存器和低位寄存器  25-26
  3.4 MIPS 指令集的分类  26-27
  3.5 本章小结  27-28
第四章 可细化的动态指令集模拟器  28-41
  4.1 SimSoc 运行环境  28-29
  4.2 指令集模拟器的模式  29-30
  4.3 可细化的动态指令集模拟器  30-35
    4.3.1 伪指令的实现  30-33
    4.3.2 D2 模式函数的流程  33-35
  4.4 D2 模式的改进  35-39
    4.4.1 新D2 模式的流程  35-36
    4.4.2 判断是否发生跳转  36
    4.4.3 Vector 容器  36
    4.4.4 TranslateBlock 类  36-38
    4.4.5 ExcuteBlock 类  38-39
  4.5 D2 模式的总结  39-40
  4.6 本章小结  40-41
第五章 验证程序及实验结果  41-48
  5.1 验证程序  41-45
    5.1.1 asm 嵌入式汇编  41-42
    5.1.2 asm 嵌入式汇编实例  42-43
    5.1.3 测试程序  43-45
  5.2 实验结果  45-47
  5.3 本章小结  47-48
第六章 结论  48-49
参考文献  49-52
附录  52-63
发表论文和参加科研情况说明  63-64
致谢  64

相似论文

  1. 基于PE文件的信息隐藏技术研究,TP309.7
  2. 动态二进制翻译中跳转分析与优化,TP391.2
  3. 嵌入式Linux操作系统内核热补丁研究与实现,TP316.81
  4. 路由器虚拟化项目中进程调度管理模块的设计与实现,TP393.05
  5. 基于嵌入式的面向造纸企业的一种QCS研究与设计,TP368.1
  6. 基于TCP/IP协议的嵌入式图像传输系统接收终端的设计,TP368.1
  7. 单片机AVR运用开发,TP368.12
  8. 基于嵌入式Web技术的动态应变仪研究与实现,TP368.1
  9. 基于嵌入式技术的导盲机器人设计,TP368.1
  10. 信息融合技术在嵌入式驾驶疲劳检测中的应用研究,TP368.12
  11. 数字型智能终端系统门口机的设计,TP368.1
  12. 智能控制的电力核相技术研究,TP368.1
  13. 基于DSP和单片机的可调参数心电信号发生器的设计,TP368.12
  14. 基于ARM的车载跟踪定位系统的设计与实现,TP368.12
  15. 基于ARM的智能车载终端的设计,TP368.1
  16. 嵌入式网络视频应用技术的研究与实现,TP368.1
  17. 基于Qt/E的嵌入式膜片钳系统设计,TP368.1
  18. 基于Freescale MC9S12系列单片机开发板的设计,TP368.1
  19. 基于数据流异常检测的嵌入式软件容错研究,TP368.1
  20. 基于S3C2410A的新型ARM实验装置的设计研究,TP368.1
  21. 嵌入式多人音视频聊天模块的设计与实现,TP368.1

中图分类: > 工业技术 > 自动化技术、计算机技术 > 计算技术、计算机技术 > 微型计算机 > 各种微型计算机 > 微处理机
© 2012 www.xueweilunwen.com