From 68b159c8f883dee841775faaeee196bd98e85aab Mon Sep 17 00:00:00 2001 From: Iru Cai Date: Thu, 16 May 2019 20:58:52 +0800 Subject: upd --- chap/chap4.tex | 14 ++++++++++++++ 1 file changed, 14 insertions(+) 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{动态信息流追踪的实现} 动态信息流追踪的实现分为标记设置、传播、清除和使用四个部分,以下分别介 -- cgit v1.2.3