| 摘要 | 第4-5页 |
| ABSTRACT | 第5页 |
| 第1章 绪论 | 第9-16页 |
| 1.1 课题背景及研究的目的和意义 | 第9-10页 |
| 1.2 本课题相关理论的发展概况 | 第10-14页 |
| 1.2.1 虚拟验证系统 | 第11页 |
| 1.2.2 SPAR C V8体系结构 | 第11-12页 |
| 1.2.3 指令集仿真 | 第12-13页 |
| 1.2.4 国内外现状 | 第13-14页 |
| 1.3 本文的主要研究内容 | 第14-15页 |
| 1.4 本文的组织结构 | 第15-16页 |
| 第2章 SPARC仿真核需求分析及总体设计 | 第16-30页 |
| 2.1 SPAR C仿真核需求分析 | 第16-27页 |
| 2.1.1 SPAR C处理器功能需求 | 第16-24页 |
| 2.1.2 GDB调试及辅助接口需求 | 第24-27页 |
| 2.1.3 性能需求 | 第27页 |
| 2.2 SPAR C仿真核总体设计 | 第27-29页 |
| 2.3 本章小结 | 第29-30页 |
| 第3章 SPARC仿真核详细设计与实现 | 第30-51页 |
| 3.1 处理器寄存器组设计与实现 | 第30-36页 |
| 3.1.1 寄存器组数据结构设计 | 第30页 |
| 3.1.2 寄存器访问 | 第30-32页 |
| 3.1.3 寄存器位操作 | 第32-33页 |
| 3.1.4 寄存器窗口切换 | 第33-34页 |
| 3.1.5 寄存器窗口伸缩 | 第34-35页 |
| 3.1.6 寄存器对外访问接口 | 第35-36页 |
| 3.2 指令解释执行设计与实现 | 第36-39页 |
| 3.2.1 指令数据结构 | 第37页 |
| 3.2.2 指令注册 | 第37-39页 |
| 3.2.3 指令解析与执行 | 第39页 |
| 3.3 指令译码缓存设计与实现 | 第39-42页 |
| 3.3.1 静态信息缓存设计 | 第40页 |
| 3.3.2 动态信息缓存设计 | 第40-41页 |
| 3.3.3 缓存操作及实现 | 第41-42页 |
| 3.4 指令预译码及反汇编设计与实现 | 第42-44页 |
| 3.4.1 普通串行预译码 | 第42-43页 |
| 3.4.2 CUDA并行预译码 | 第43-44页 |
| 3.5 陷阱处理设计与实现 | 第44页 |
| 3.6 设备管理设计与实现 | 第44-47页 |
| 3.6.1 设备中断 | 第45-46页 |
| 3.6.2 设备驱动 | 第46-47页 |
| 3.7 PET ERSON临界区保护算法实现 | 第47-50页 |
| 3.7.1 临界区定义 | 第47页 |
| 3.7.2 Windows临界区保护方案 | 第47页 |
| 3.7.3 Pete rson算法 | 第47-49页 |
| 3.7.4 Pete rson算法实现 | 第49-50页 |
| 3.8 本章小结 | 第50-51页 |
| 第4章 调试及辅助功能详细设计与实现 | 第51-63页 |
| 4.1 运行/继续功能 | 第51页 |
| 4.2 断点功能 | 第51-52页 |
| 4.3 停止功能 | 第52页 |
| 4.4 指令单步功能 | 第52页 |
| 4.5 跳入功能 | 第52-54页 |
| 4.6 跳出功能 | 第54-55页 |
| 4.7 下一行功能 | 第55-57页 |
| 4.8 函数调用栈信息获取功能 | 第57-60页 |
| 4.9 覆盖率分析功能 | 第60-62页 |
| 4.10 系统时间功能 | 第62页 |
| 4.11 本章小结 | 第62-63页 |
| 第5章 SPARC仿真核测试及性能分析 | 第63-78页 |
| 5.1 SPAR C仿真核仿真功能测试 | 第63-67页 |
| 5.1.1 八数码问题测试用例 | 第63-64页 |
| 5.1.2 ARIN C 653分时分区操作系统测试用例 | 第64-66页 |
| 5.1.3 测试结果及分析 | 第66-67页 |
| 5.2 SPARC仿真核性能测试及分析 | 第67-72页 |
| 5.2.1 指令集预译码测试及性能分析 | 第67-69页 |
| 5.2.2 临界区保护方案测试及性能分析 | 第69-70页 |
| 5.2.3 SPAR C仿真核指令执行速度分析 | 第70-72页 |
| 5.3 调试及辅助功能测试 | 第72-77页 |
| 5.4 本章小结 | 第77-78页 |
| 结论 | 第78-79页 |
| 参考文献 | 第79-83页 |
| 致谢 | 第83-84页 |
| 个人简历 | 第84页 |