diff options
Diffstat (limited to 'chap/chap4.tex')
-rw-r--r-- | chap/chap4.tex | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/chap/chap4.tex b/chap/chap4.tex index 04ed1c6..16726d3 100644 --- a/chap/chap4.tex +++ b/chap/chap4.tex @@ -74,6 +74,7 @@ DIFT 可以作为 Spectre 攻击的检测手段之一。Spectre 的论文中指 \end{minted} \caption{Spectre 组件的汇编代码} \label{lst:spectre_v1_asm} +\centering \end{figure} 上述 Spectre v1 的组件代码可以产生图\ref{lst:spectre_v1_asm}所示的指令。 @@ -106,6 +107,7 @@ lea rdx, {[}rip + 0x2b425d{]} & rdx <- rip + 0x2b425d & T{[}rdx{]} <- T{[}rip{]} \end{tabular} \caption{分支中代码产生的 DIFT 行为} \label{tab:spectre_dift} +\centering \end{table} 以下描述这个检测方法的具体细节。 @@ -159,6 +161,7 @@ void victim(size_t x, uint8_t k) { \end{minted} \caption{泄露数据的指令和内存中的数据存在控制相关的情形} \label{lst:victim_v10} +\centering \end{figure} 这个例子读取的 \verb|array1[x]| 和攻击者猜测的值 \verb|k| 进行比较,如 @@ -213,7 +216,7 @@ DIFT 方案在 gem5 中的实现。 \subsection{gem5 的乱序执行处理器} -\Todo: 做一个 gem5 流水线的示意图? +%\Todo: 做一个 gem5 流水线的示意图? gem5 的乱序执行处理器实现在 FullO3CPU 类中,它又用类实现类处理器的以下 流水级:取指(Fetch)、译码(Decode)、重命名(Rename)、发射/执行/回 @@ -352,6 +355,7 @@ FenceDelay & 指令被阻止执行,直到确认安全,在 InvisiSpec 之外 \end{tabular} \caption{新增的指令状态} \label{tab:inst_status} +\centering \end{table} 在每一周期,处理器扫描 ROB 中的每条指令,更新流水线中每条指令的 |