summaryrefslogtreecommitdiff
path: root/chap/chap4.tex
diff options
context:
space:
mode:
Diffstat (limited to 'chap/chap4.tex')
-rw-r--r--chap/chap4.tex14
1 files changed, 14 insertions, 0 deletions
diff --git a/chap/chap4.tex b/chap/chap4.tex
index 0a3b471..73ac113 100644
--- a/chap/chap4.tex
+++ b/chap/chap4.tex
@@ -363,6 +363,20 @@ PrevBrsResolved 状态。在 LSQ 中,对于每一个未完成的装载指令
之前是否存在未决分支,判断指令是否安全,设定 ReadyToExpose 属性,取消
FenceDelay 标志。
+执行单元执行一条装载指令时,根据 ReadyToexpose 属性判断是否需要用
+InvisiSpec 等安全的方式执行。修改后的执行流程如图\ref{fig:is-load},
+LSQ 每周期都要将已转为安全指令的装载指令的验证或曝光,发送请求的
+LSQUnit::read 过程需要支持 SpecLoad 请求的发送,对地址翻译的过程做一个
+微小的修改,对 TLB 不命中的推测式执行的指令要延迟执行,防止产生 TLB 的
+侧信道。
+
+\begin{figure}[htbp]
+ \centering
+ \includegraphics[width=0.8\textwidth]{is-load.eps}
+ \caption{安全执行指令的流程}
+ \label{fig:is-load}
+\end{figure}
+
\subsection{动态信息流追踪的实现}
动态信息流追踪的实现分为标记设置、传播、清除和使用四个部分,以下分别介