diff options
Diffstat (limited to 'chap')
-rw-r--r-- | chap/chap4.tex | 17 |
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 中的实现 |