summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIru Cai <mytbk920423@gmail.com>2019-05-16 20:58:52 +0800
committerIru Cai <mytbk920423@gmail.com>2019-05-16 20:59:05 +0800
commit68b159c8f883dee841775faaeee196bd98e85aab (patch)
tree7f56ad92bc149dd47dafc427800ec3d262ec5f76
parent6ad5ea23d7e3c88af413f1e59e9f2c83eb139800 (diff)
downloaddissertation-68b159c8f883dee841775faaeee196bd98e85aab.tar.xz
upd
-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{动态信息流追踪的实现}
动态信息流追踪的实现分为标记设置、传播、清除和使用四个部分,以下分别介