面向QEMU虚拟机的结构优化和调试器的设计
本文关键词:面向QEMU虚拟机的结构优化和调试器的设计
【摘要】:电子系统级(ESL,Electronic System Level)平台以抽象方式描述SoC系统,给软硬件工程师提供一个虚拟的硬件原型仿真平台,用于进行硬件系统结构的探索和软件程序的开发。随着SoC系统集成度的提高以及各类系统/应用软件的复杂度的提升,利用ESL平台在SoC系统设计早期开展软硬件协同设计将直接影响系统设计的成败。QEMU虚拟机是一个典型的ESL平台,可以模拟当前主流处理器,并支持对处理器指令的扩展。它采用先进的动态二进制翻译技术,能使的平台的仿真速度接近真实的机器运行速度。但是,目前QEMU虚拟机的设计还存在几个问题,如缺乏较好的、可扩展的软件调试手段,,对处理器的仿真精度不够,而且在仿真速度上还有很大的提升空间。 首先,针对QEMU虚拟机缺乏较好的、可扩展的软件调试手段的问题,本文实现了远程交叉调试所需的调试通信协议,设计并实现了具有基本调试功能的远程交叉调试器来调试运行在虚拟机中的程序,验证了调试通信协议的有效性、虚拟机端调试机制的正确性。虚拟机端调试模块与调试器间采用RSP (RemoteSerial Protocol)调试通信协议进行通信。基于虚拟机的调试子系统的设计完成,不是作为现有调试手段及技术的替代,而是作为一种补充。它们共同配合来确保嵌入式软件产品的质量和开发的效率。 其次,针对QEMU虚拟机提高仿真速度、提升仿真精度的问题,本文还为仿真品平台QEMU提供了一种优化的方法,以消除冗余指令来减少操作的个数来加速翻译后代码的运行。并且添加Cache模块,以使得仿真平台能更好的模拟硬件,从而得到更加精确的仿真信息,使得仿真平台结构更加优化。
【关键词】:ESL平台 QEMU 调试器 结构优化
【学位授予单位】:天津大学
【学位级别】:硕士
【学位授予年份】:2014
【分类号】:TP302
【目录】:
- 摘要4-5
- ABSTRACT5-8
- 第一章 绪论8-11
- 1.1 课题的研究背景及意义8-9
- 1.2 国内外的研究现状9
- 1.3 本文研究工作9-10
- 1.4 本文章节内容安排10-11
- 第二章 相关工作11-19
- 2.1 动态二进制翻译技术11-12
- 2.2 嵌入式开发相关概念12-13
- 2.2.1 宿主机12-13
- 2.2.2 目标机13
- 2.2.3 交叉开发环境13
- 2.3 嵌入式系统开发过程13-15
- 2.4 硬件调试技术概述15-17
- 2.4.1 Crash and Burn15-16
- 2.4.2 在线仿真器16-17
- 2.5 软件调试技术概述17-19
- 2.5.1 GDB-Stub 介绍18
- 2.5.2 GDBServer 方案介绍18-19
- 第三章 面向 QEMU 的调试器的设计19-32
- 3.0 QEMU 调试系统结构19-20
- 3.1 RSP 通信协议20-21
- 3.1.1 协议包格式和命令类型20-21
- 3.1.2 效验算法21
- 3.2 基于 QEMU 的 GDBServer 的设计与实现21-30
- 3.2.1 虚拟机端机器状态的切换22-23
- 3.2.2 gdb_srv_start_and_wait()函数的实现23
- 3.2.3 插入断点函数和移除断点23-24
- 3.2.4 读寄存器操作与写寄存器操作24-25
- 3.2.5 读取 GDB 数据包操作25-27
- 3.2.6 调试过程中对命令的解析和执行27-30
- 3.2.7 gdb_loop()函数的实现30
- 3.2.8 断点的捕获30
- 3.4 实验结果30-32
- 第四章 面向 QEMU 虚拟机的优化32-44
- 4.1 QEMU 的优化32-36
- 4.1.1 优化的概述32-33
- 4.1.2 优化的方法33-36
- 4.2 Cache 模块的添加36-38
- 4.3 指令 Cache 的设计38-39
- 4.3.1 指令 Cache 的写操作38-39
- 4.3.2 指令 Cache 的读操作39
- 4.4 指令 Cache 的设计39-42
- 4.4.1 数据 Cache 的写操作40-41
- 4.4.2 数据 Cache 的读操作41-42
- 4.5 Cache 仿真平台的构建42-43
- 4.6 实验结果43-44
- 第五章 总结与展望44-46
- 5.1 总结44
- 5.2 展望44-46
- 参考文献46-48
- 发表论文和参加科研情况说明48-49
- 致谢49
【共引文献】
中国期刊全文数据库 前10条
1 王允珲;;80x86指令计算机[J];巴音郭楞职业技术学院学报;2008年04期
2 孙玉钰;关于冯·诺依曼型计算机设计思想的探讨[J];长春大学学报;2001年03期
3 曾绍华;魏延;;共享存储器多处理机并行计算编译及调度机制[J];重庆师范大学学报(自然科学版);2006年01期
4 陈书开;十进制计算机中机器码的研究[J];长沙电力学院学报(自然科学版);1998年04期
5 王海英;一种改进的多线程模型[J];东北林业大学学报;2002年01期
6 梁嘉森,王德源;高可靠性多机容错系统[J];大连海运学院学报;1989年04期
7 邸敏艳;浅谈虚拟光驱[J];电脑学习;2001年05期
8 包得海;火克华;;“Cache-主存”和“主存-辅存”存储层次的对比分析[J];电脑学习;2010年06期
9 师军;非线性流水线计算机调度问题的研究[J];电脑开发与应用;1995年04期
10 李杰 ,贺占庄;基于MIPS架构的RISC微处理器RM7000A[J];单片机与嵌入式系统应用;2004年02期
中国博士学位论文全文数据库 前4条
1 闫钧华;分布式测控系统任务调度研究[D];南京航空航天大学;2005年
2 王成;硬质材料的激光三维雕刻技术研究[D];华中科技大学;2007年
3 胡兴华;软件技术的哲学探究[D];复旦大学;2008年
4 林赐云;突发灾害下应急交通保障决策支持系统关键技术研究[D];吉林大学;2010年
中国硕士学位论文全文数据库 前10条
1 刘文佳;多核处理器Cache一致性研究与设计[D];哈尔滨工程大学;2010年
2 周丽;PLD安全性漏洞检测平台研究与实现[D];解放军信息工程大学;2010年
3 牛小鹏;DRRAD系统研究与实现[D];解放军信息工程大学;2009年
4 李志慧;基于DSP的通用资源处理平台的研究和开发[D];西安电子科技大学;2002年
5 陈志峰;嵌入式系统快速集成研发平台的研究与实现[D];广东工业大学;2002年
6 刘智;基于高层次综合的MCU IP核的设计研究[D];西北工业大学;2003年
7 李海龙;网络处理器分组转换引擎PTE的研究与设计[D];西北工业大学;2003年
8 李文军;飞机航电综合显控计算机视频显示技术的研究与实现[D];西北工业大学;2002年
9 黄娜;DVD播放机用户界面的设计与实现[D];西北工业大学;2004年
10 王毅;网络处理器包传输结构的研究[D];西北工业大学;2004年
本文编号:931283
本文链接:https://www.wllwen.com/kejilunwen/jisuanjikexuelunwen/931283.html