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, 14 insertions, 3 deletions
diff --git a/chap/chap4.tex b/chap/chap4.tex
index 90ab366..406655a 100644
--- a/chap/chap4.tex
+++ b/chap/chap4.tex
@@ -30,9 +30,20 @@ CSF\supercite{context-sensitive-fencing} 中的译码级信息流追踪框架 DI
断是否需要插入 fence 微码。OISA\supercite{oisa} 在指令系统的定义中即包
含了 DIFT 技术,用于追踪一个数据是否为秘密数据。
-本文使用 DIFT 检测 Spectre 组件中泄露数据的 load 指令。
-
-%TODO
+本文使用 DIFT 检测 Spectre 组件中泄露数据的 load 指令。详细设计如下:
+
+\begin{itemize}
+\item 为每个物理寄存器添加一位标记,表示这个寄存器的数据是否来自于推测
+ 式执行中从内存读取的数据
+\item 如果在推测式执行中,一条指令从内存中读取了数据,则设置这条指令的
+ 目的寄存器的标志为1
+\item 对于非访存指令,如果存在标记为1的源寄存器,则设置这条指令的目的
+ 寄存器标志为1,否则设置标志为0
+\item 当一条指令之前所有分支指令执行完成,确认推测式执行正确后,设置这
+ 条指令的目的寄存器标志为0
+\item 在推测式执行的过程中执行 load 指令时,如果存在标记为1的源寄存器,
+ 则这条指令为不安全的 load
+\end{itemize}
\section{InvisiSpec的详细设计}