面向高可伸缩与可移植的众核全系统模拟器的设计与实现
摘要 | 第1-8页 |
Abstract | 第8-10页 |
第一章 引言 | 第10-16页 |
·研究背景 | 第10-13页 |
·本文工作 | 第13-14页 |
·全文结构 | 第14-16页 |
第二章 模拟器技术概览 | 第16-28页 |
·精确模拟器(Simulator) | 第16-17页 |
·功能性模拟器(Emulator) | 第17-20页 |
·用户态程序模拟器 | 第17-18页 |
·全系统模拟器 | 第18-20页 |
·全系统模拟器的主要技术 | 第20-28页 |
·二进制翻译技术 | 第20-21页 |
·代码缓存管理技术 | 第21-22页 |
·内存管理的模拟 | 第22-23页 |
·异常和中断的模拟 | 第23-26页 |
·I/O设备的模拟 | 第26页 |
·多核平台的模拟 | 第26-27页 |
·其他优化技术 | 第27-28页 |
第三章 多核平台架构概述 | 第28-34页 |
·原子指令 | 第29-30页 |
·访存顺序 | 第30-31页 |
·自修改代码 | 第31页 |
·多核平台的中断控制器 | 第31-32页 |
·核间通信 | 第32-34页 |
第四章 COREMU的并行模拟框架 | 第34-40页 |
·并行模拟器的概念和作用 | 第34-36页 |
·对模拟过程的切分和并行 | 第34-35页 |
·并行模拟不同的硬件单元 | 第35-36页 |
·多核体系结构的特点 | 第36-37页 |
·独立性 | 第36-37页 |
·规范的交互接口 | 第37页 |
·COREMU的主要架构 | 第37-40页 |
第五章 COREMU的具体设计 | 第40-56页 |
·原子指令的模拟 | 第40-45页 |
·用锁来实现原子指令及问题 | 第40-43页 |
·内存事务的概念 | 第43页 |
·原子指令的高效模拟 | 第43-45页 |
·多核平台通信机制的模拟 | 第45-49页 |
·实时信号 | 第45-46页 |
·非阻塞数据结构 | 第46-47页 |
·多核平台异步通信的模拟 | 第47-49页 |
·代码缓存管理机制 | 第49-53页 |
·并行模拟器中代码缓存的实现 | 第49-51页 |
·代码缓存延迟无效机制 | 第51-53页 |
·高效的调度机制 | 第53-56页 |
·Pause指令和HLT指令的模拟 | 第53-54页 |
·持有锁线程被抢占的问题 | 第54-56页 |
第六章 COREMU的具体实现 | 第56-62页 |
·COREMU库及其接口 | 第56-59页 |
·QEMU的修改和集成 | 第59-62页 |
第七章 性能评测 | 第62-68页 |
·测试环境 | 第62页 |
·x64平台模拟的性能评测 | 第62-67页 |
·单核模拟的性能评测 | 第62-63页 |
·多核模拟性能和可伸缩性的评测 | 第63-65页 |
·模拟大数据处理任务的性能评测 | 第65-66页 |
·模拟复杂任务的性能评测 | 第66页 |
·I/O模拟性能的评测 | 第66-67页 |
·ARM平台模拟性能的评测 | 第67-68页 |
第八章 COREMU的实用性 | 第68-73页 |
·基于COREMU的观察点机制 | 第68-71页 |
·接口及实现 | 第68-70页 |
·个案研究 | 第70-71页 |
·对缓存访问的模拟和分析 | 第71-73页 |
第九章 总结与展望 | 第73-75页 |
·创新与贡献 | 第73-74页 |
·研究展望 | 第74-75页 |
参考文献 | 第75-77页 |
致谢 | 第77-78页 |