summaryrefslogtreecommitdiff
path: root/chap/chap4.tex
diff options
context:
space:
mode:
Diffstat (limited to 'chap/chap4.tex')
-rw-r--r--chap/chap4.tex17
1 files changed, 17 insertions, 0 deletions
diff --git a/chap/chap4.tex b/chap/chap4.tex
index e2de2f7..5eb1823 100644
--- a/chap/chap4.tex
+++ b/chap/chap4.tex
@@ -166,6 +166,16 @@ void victim(size_t x, uint8_t k) {
移指令的执行结果,从而推测出内存中秘密数据的值,因此这样的装载指令也是
不安全的指令。
+这种检测方案的微架构实现如图\ref{fig:spectre_dift}所示。
+
+\begin{figure}[htbp]
+ \centering
+ \includegraphics[width=0.8\textwidth]{spectre_dift.eps}
+ \caption{基于 DIFT 的 Spectre 检测方法的微架构示意图}
+ \label{fig:spectre_dift}
+\end{figure}
+
+
\section{使用推测式执行缓冲区}
\Todo: 说明在检测到不安全的访存指令后,推迟它的执行和用 InvisiSpec 的 SpecBuf 执行的区别
@@ -215,6 +225,13 @@ gem5 的提交阶段由 DefaultCommit 类实现,它提交 ROB 队列头部的
\Todo: InvisiSpec 所用的 load 指令执行逻辑在 gem5 LSQ 中的实现
+\begin{figure}[htbp]
+ \centering
+ \includegraphics[width=0.8\textwidth]{load_exec.eps}
+ \caption{gem5 O3CPU 执行 load 指令的过程}
+ \label{fig:load_exec}
+\end{figure}
+
\subsection{推测式执行缓冲区的实现}
\Todo: InvisiSpec 的 SpecBuf 在 gem5 中的实现