summaryrefslogtreecommitdiff
path: root/chap/chap4.tex
diff options
context:
space:
mode:
Diffstat (limited to 'chap/chap4.tex')
-rw-r--r--chap/chap4.tex34
1 files changed, 17 insertions, 17 deletions
diff --git a/chap/chap4.tex b/chap/chap4.tex
index 16726d3..892ecea 100644
--- a/chap/chap4.tex
+++ b/chap/chap4.tex
@@ -1,11 +1,11 @@
-\chapter{针对 Spectre 攻击的微架构设计}\label{sec:mywork}
+\chapter{针对 Spectre 攻击的微体系结构设计}\label{sec:mywork}
本章讲解本文提出的一种防御 Spectre 攻击的方法,该方法使用动态信息流追
踪的方法,检测 Spectre 组件指令流中可能泄露秘密数据的访存指令,并使用
一种安全的方法执行这些访存指令。
-这种微架构设计不需要软件的支持,未修改的软件和操作系统可以直接在采用这
-种微架构改进的处理器中执行。
+这种微体系结构设计不需要软件的支持,未修改的软件和操作系统可以直接在采用这
+种微体系结构改进的处理器中执行。
\section{威胁模型}
@@ -177,12 +177,12 @@ void victim(size_t x, uint8_t k) {
移指令的执行结果,从而推测出内存中秘密数据的值,因此这样的装载指令也是
不安全的指令。
-这种检测方案的微架构实现如图\ref{fig:spectre_dift}所示。
+这种检测方案的微体系结构实现如图\ref{fig:spectre_dift}所示。
\begin{figure}[htbp]
\centering
\includegraphics[width=0.8\textwidth]{spectre_dift.eps}
- \caption{基于 DIFT 的 Spectre 检测方法的微架构示意图}
+ \caption{基于 DIFT 的 Spectre 检测方法的微体系结构示意图}
\label{fig:spectre_dift}
\end{figure}
@@ -208,9 +208,9 @@ void victim(size_t x, uint8_t k) {
大。这种方法和 Conditional Speculation
\supercite{conditional-speculation} 中的基于缓存命中的过滤器基本相同。
-\section{针对 Spectre 攻击的微架构在 gem5 中的实现}
+\section{针对 Spectre 攻击的微体系结构在 gem5 中的实现}
-以下介绍这种可抵抗 Spectre 攻击的微架构在 gem5 模拟器中的实现。首先分
+以下介绍这种可抵抗 Spectre 攻击的微体系结构在 gem5 模拟器中的实现。首先分
析 gem5 中乱序执行处理器的实现,然后分别介绍 InvisiSpec 和本文使用的
DIFT 方案在 gem5 中的实现。
@@ -250,7 +250,7 @@ gem5 的提交阶段由 DefaultCommit 类实现,它提交 ROB 队列头部的
\begin{figure}[htbp]
\centering
\includegraphics[width=0.8\textwidth]{load_exec.eps}
- \caption{gem5 O3CPU 执行 load 指令的过程}
+ \caption{gem5 O3CPU 执行装载指令的过程}
\label{fig:load_exec}
\end{figure}
@@ -303,17 +303,17 @@ InvisiSpec 中,一级缓存处理 SpecLoad 和 Expose 的部分状态如
% hit based
-%% 而对于只在缓存命中时执行装载指令的方案,设计相对简单。它只需要处理
-%% SpecLoad 请求。
+% 而对于只在缓存命中时执行装载指令的方案,设计相对简单。它只需要处理
+% SpecLoad 请求。
-%% 在这种情形下,不需要添加额外状态。缓存行在任一状态下,接收 SpecLoad 时
-%% 状态不变。缓存命中时,则执行 spec\_load\_hit 将缓存行中的内容返回至处
-%% 理器。
+% 在这种情形下,不需要添加额外状态。缓存行在任一状态下,接收 SpecLoad 时
+% 状态不变。缓存命中时,则执行 spec\_load\_hit 将缓存行中的内容返回至处
+% 理器。
-%% 而在缓存缺失时,则在其中添加一个 spec\_load\_miss 操作,它向处理器返回
-%% 一个缓存缺失的响应。LSQ 在写回的过程中处理这个响应,为其对应的缓存缺失
-%% 的指令设置表\ref{tab:inst_status}中的 FenceDelay 属性,并通知指令队列需
-%% 要推迟这条访存指令的执行。
+% 而在缓存缺失时,则在其中添加一个 spec\_load\_miss 操作,它向处理器返回
+% 一个缓存缺失的响应。LSQ 在写回的过程中处理这个响应,为其对应的缓存缺失
+% 的指令清除表\ref{tab:inst_status}中的 ReadyToExpose 属性,并通知指令队列需
+% 要推迟这条访存指令的执行。
\subsection{执行流水线的修改}