diff options
Diffstat (limited to 'chap/chap1.tex')
-rw-r--r-- | chap/chap1.tex | 36 |
1 files changed, 18 insertions, 18 deletions
diff --git a/chap/chap1.tex b/chap/chap1.tex index bee1ea1..5a3224d 100644 --- a/chap/chap1.tex +++ b/chap/chap1.tex @@ -92,46 +92,46 @@ Microsoft 等软件厂商,均发布了软件补丁或处理器微码更新, \section{研究平台与环境} -本文使用 gem5 模拟器\supercite{gem5}作为研究平台。 +本文使用 Gem5 模拟器\supercite{gem5}作为研究平台。 -gem5 是一个模拟平台,由 GEMS\supercite{gems} 和 M5\supercite{m5} 两个 +Gem5 是一个模拟平台,由 GEMS\supercite{gems} 和 M5\supercite{m5} 两个 模拟器项目合并而成,同时具有这两个模拟器的优点。M5 提供了一个可配置的 框架,支持多种指令系统和多种 CPU模型,GEMS 则提供了一个详细而灵活的存 -储系统,支持多种缓存一致性模型和互联模型。gem5 支持 X86, ARM, Alpha, -MIPS, RISC-V 等指令系统。作为一个开源的模拟器,学术界和工业界都为 gem5 -的开发做出贡献,使得 gem5 称为体系结构研究中最流行的模拟器之一。 +储系统,支持多种缓存一致性模型和互联模型。Gem5 支持 X86, ARM, Alpha, +MIPS, RISC-V 等指令系统。作为一个开源的模拟器,学术界和工业界都为 Gem5 +的开发做出贡献,使得 Gem5 称为体系结构研究中最流行的模拟器之一。 \begin{figure}[htbp] \centering \includegraphics[width=0.8\textwidth]{gem5_cpu.pdf} - \caption{gem5 支持的 CPU 模型\supercite{gem5-tutorial}} - \label{fig:gem5_cpu} + \caption{Gem5 支持的 CPU 模型\supercite{gem5-tutorial}} + \label{fig:Gem5_cpu} \end{figure} -gem5 的灵活性使得研究者可以根据需要选择不同的系统模型,取得模拟速度和精 -度的平衡。gem5 支持以下模型的配置: +Gem5 的灵活性使得研究者可以根据需要选择不同的系统模型,取得模拟速度和精 +度的平衡。Gem5 支持以下模型的配置: \begin{enumerate} -\item CPU 模型:如图\ref{fig:gem5_cpu},gem5 支持多种不同的 CPU 模 +\item CPU 模型:如图\ref{fig:Gem5_cpu},Gem5 支持多种不同的 CPU 模 型。AtomicSimpleCPU 模拟一个单周期处理器,模拟速度最 快。TimingSimpleCPU 在此之上增加对存储访问时间的模拟。O3CPU 则是一个 - 详细的乱序执行处理器模型。此外,gem5 还支持使用 KVM 虚拟化技术模 + 详细的乱序执行处理器模型。此外,Gem5 还支持使用 KVM 虚拟化技术模 拟 CPU 的执行。 -\item 系统模式:gem5 可以用系统调用模拟(SE)和全系统(FS)两种模式进行 +\item 系统模式:Gem5 可以用系统调用模拟(SE)和全系统(FS)两种模式进行 模拟,前者模拟大多数的系统调用,无需对操作系统和设备进行模拟,而后者 则模拟了操作系统和设备,同时执行用户态和内核态的指令。 -\item 存储系统:gem5 包含两种存储系统模型,来自 M5 的 Classic 模型容易 +\item 存储系统:Gem5 包含两种存储系统模型,来自 M5 的 Classic 模型容易 配置且模拟速度快,而来自 GEMS 的 Ruby 模型则提供了一个可以精确模拟缓 存一致性模型的存储系统模拟框架。 \end{enumerate} -gem5 模拟器使用 C++ 编写,并集成了 Python,模拟器的核心功能由 C++ 实现, +Gem5 模拟器使用 C++ 编写,并集成了 Python,模拟器的核心功能由 C++ 实现, 而 Python 用于初始化、配置和控制模拟器。为了支持多种指令系统和缓存一致 -性协议,gem5 分别使用了两种领域专用语言,指令系统描述语言 -和 SLICC 在gem5 构建时转为 C++ 代码并编译,生成指令系统和缓存一致性协议 +性协议,Gem5 分别使用了两种领域专用语言,指令系统描述语言 +和 SLICC 在 Gem5 构建时转为 C++ 代码并编译,生成指令系统和缓存一致性协议 的模型代码。 -最新的 gem5 还支持功耗的模拟,和 SystemC 协同模拟,同构和异构多核模拟 +最新的 Gem5 还支持功耗的模拟,和 SystemC 协同模拟,同构和异构多核模拟 等特性。 \section{论文组织结构} @@ -148,7 +148,7 @@ Spectre 攻击的各个变体。 Spectre 攻击的软硬件防御进行分析。 第四章~\nameref{sec:mywork}。提出本文所设计的防御 -Spectre 攻击的方法,并描述在 gem5 模拟器上的实现。 +Spectre 攻击的方法,并描述在 Gem5 模拟器上的实现。 第五章~\nameref{sec:eval}。对本文设计的 Spectre 防御方案,进行安全性的 验证和性能分析。 |