\chapter{评测}\label{sec:eval}

\section{评测环境}

本文对 gem5 模拟器修改，对以下 5 种配置进行评测：Baseline, Fence,
Fence+DIFT, IS, IS+DIFT. Baseline 表示受 Spectre 攻击影响的处理器模型，
Fence 和 IS 分别表示对所有推测式执行中的 load 指令，推迟执行和用
InvisiSpec的方案执行，Fence+DIFT 和 IS+DIFT 则是使用动态信息流追踪识别
可能泄露秘密数据的 load，只对这些 load 使用相应的安全的执行方案。

对所有的处理器配置，基本配置如下：

\begin{tabular}{|c|c|}
\hline 
参数 & 配置 \tabularnewline
\hline 
\hline 
指令系统 & x86\_64\tabularnewline
\hline 
处理器类型 & 8发射乱序处理器\tabularnewline
\hline 
ROB & 192\tabularnewline
\hline 
LDQ & 32\tabularnewline
\hline 
STQ & 32\tabularnewline
\hline 
发射队列 & 64\tabularnewline
\hline 
L1 I-Cache & 32KB, 4路组相联, 1周期延迟\tabularnewline
\hline 
L1 D-Cache & 64KB, 8路组相联, 1周期延迟\tabularnewline
\hline 
L2 Cache & 2MB, 16路组相联, 8周期延迟\tabularnewline
\hline 
\end{tabular}

\section{评测指标}

\section{评测结果}

\subsection{微架构安全性测试}

\subsection{SPEC CPU2006的性能评测}

本文对 21 个 SPEC CPU2006 基准测试进行评测，基准测试的数据集使用 ref
集。先用 gem5 的 AtomicSimpleCPU 运行 10000000000 条指令，再用待评测的
处理器配置运行 1000000000 条指令，得出评测结果。

\begin{figure}[htbp]
  \centering
  \includegraphics[width=0.8\textwidth]{result.eps}
\end{figure}

从评测结果可以看出，在使用 DIFT 识别可能泄露数据的 load 指令后，推迟这
些指令的执行，有 15\% 的性能开销，平均性能开销比 InvisiSpec 小。在此基
础上，用 InvisiSpec 的方案执行这些 load 指令，可以进一步将性能开销减少
至 8.5\%.
