一种RISC处理器指令集模拟器的设计与实现
发布时间:2017-07-08 05:17
本文关键词:一种RISC处理器指令集模拟器的设计与实现
【摘要】:随着芯片集成度的提高,CPU设计的复杂度大大增加,开发一个执行速度快、灵活可配置的模拟器对微处理器设计的重要性不言而喻。本文面向一种典型的RISC处理器,设计并实现了指令集模拟器。该模拟器基于Gem5模拟平台,采用执行驱动技术,在解释型模拟器的基础上进行指令翻译优化,实现了包括Load/Store指令、数据运算指令、分支指令、异常生成指令以及系统指令等在内的几类指令,并对存储器进行建模,最终可运行大量的基准测试程序,包括SPEC CPU2000。由于采用面向对象的编程语言来实现,使得该模拟器具有软件结构模块化、参数可配置、灵活性和可扩展性好等特点。本文的主要工作和贡献有:1、实现了RISC指令集模拟和加速。本文实现了RISC指令集中297条指令的功能模拟,并通过宿主机代替执行的方式,有效实现了系统调用处理的过程。为了提高模拟速度,本文对指令译码过程进行了优化,即将指令译码信息保存在缓存中,避免对指令的重复译码。测试结果表明,该种优化有效的提升了模拟器的运行速度。2、存储模拟和优化。本文采用地址映射的方式将目标机的地址空间映射到宿主机的内存空间,从而以一个连续的虚存空间来实现对目标机存储器的建模。为了提高地址转换效率,本文建立了一个全局软TLB表,从而达到提升模拟速度的目的。3、模拟器的测试。逐条指令测试以及整体测试表明,模拟器功能正确;指令翻译优化后模拟器速度提高了约6.50%;存储模拟优化后模拟器速度提升了大约0.95%;综合两种优化手段,模拟器速度提升了约6.76%。
【关键词】:指令集模拟器 指令翻译 Gem5
【学位授予单位】:国防科学技术大学
【学位级别】:硕士
【学位授予年份】:2014
【分类号】:TP332
【目录】:
- 摘要9-10
- ABSTRACT10-11
- 第一章 绪论11-18
- 1.1 研究背景与研究意义11-12
- 1.2 国内外研究现状12-16
- 1.3 主要研究内容16-17
- 1.4 论文结构17-18
- 第二章 体系结构模拟器理论基础18-25
- 2.1 模拟技术理论基础18-19
- 2.2 模拟驱动方式19-21
- 2.2.1 踪迹驱动模拟20
- 2.2.2 执行驱动模拟20-21
- 2.3 指令集模拟策略21-23
- 2.3.1 基于解释型指令集模拟器21-22
- 2.3.2 基于编译型指令集模拟器22-23
- 2.4 本章小结23-25
- 第三章 模拟器总体设计25-33
- 3.1 需求分析25-26
- 3.1.1 功能需求分析25-26
- 3.1.2 非功能需求分析26
- 3.2 指令集体系结构26-30
- 3.2.1 指令集26-28
- 3.2.2 寄存器28-29
- 3.2.3 寻址方式29-30
- 3.3 总体设计30-32
- 3.3.1 总体框架30
- 3.3.2 总体流程设计30-32
- 3.4 本章小结32-33
- 第四章 模拟器的详细设计与实现33-47
- 4.1 Gem5简介33-34
- 4.2 模拟器内核的实现34-42
- 4.2.1 指令模拟34-40
- 4.2.2 内部寄存器模拟40-41
- 4.2.3 异常的实现41-42
- 4.3 指令翻译优化42-43
- 4.4 存储系统建模43-45
- 4.5 系统调用45-46
- 4.6 本章小结46-47
- 第五章 模拟器的测试47-55
- 5.1 测试方案设计47-48
- 5.1.1 模拟器功能测试方案47-48
- 5.1.2 模拟执行速度测试方案48
- 5.2 测试结果及其分析48-54
- 5.2.1 功能测试48-51
- 5.2.2 模拟性能测试51-54
- 5.3 本章小结54-55
- 第六章 总结与展望55-56
- 致谢56-57
- 参考文献57-60
- 作者在学期间取得的学术成果60
【参考文献】
中国期刊全文数据库 前2条
1 李明;两种嵌入式软件仿真环境的分析与比较[J];电子产品世界;2003年13期
2 喻之斌;金海;邹南海;;计算机体系结构软件模拟技术[J];软件学报;2008年04期
,本文编号:533197
本文链接:https://www.wllwen.com/kejilunwen/jisuanjikexuelunwen/533197.html