diff options
Diffstat (limited to 'chap/chap1.tex')
-rw-r--r-- | chap/chap1.tex | 35 |
1 files changed, 20 insertions, 15 deletions
diff --git a/chap/chap1.tex b/chap/chap1.tex index 7ddf6b6..bee1ea1 100644 --- a/chap/chap1.tex +++ b/chap/chap1.tex @@ -24,19 +24,20 @@ Tomasulo 算法\supercite{tomasulo},可以识别指令之间的依赖关系, 结果。 超标量处理器设计允许处理器平均没周期执行多于一条指令,它可以在一周期内 -同时分发多个指令至不同的执行单元,从而利用程序的指令级并行性。 +同时分发多个指令至不同的执行单元,进一步开发了程序的指令级并行性。 -程序中除了数据相关,还有控制相关。程序中存在大量的分支指令,等待分支指 -令执行,则后续指令在分支指令执行期间均无法执行,降低了执行单元的利用率, -导致总体性能下降。因此现代微处理器使用了推测式执行技术,在分支指令执行 -结束前,根据分支预测的结果,执行预测将要执行的指令。分支预测需要预测分 -支的方向和目标地址。处理器使用分支目标缓冲器(BTB)预测分支指令的方向 -和目标地址\supercite{btb}。为了预测函数调用的返回地址,处理器还使用栈 -结构的返回栈缓冲器(RSB)\supercite{rsb}。 +程序中除了数据相关之外,还存在控制相关。程序中存在大量的分支指令,等待 +分支指令执行,则后续指令在分支指令执行期间均无法执行,降低了执行单元的 +利用率,导致总体性能下降。因此现代微处理器使用了推测式执行技术,在分支 +指令执行结束前,根据分支预测的结果,执行预测将要执行的指令。分支预测需 +要预测分支的方向和目标地址。处理器使用分支目标缓冲器(BTB)预测分支指令 +的方向和目标地址\supercite{btb}。为了预测函数调用的返回地址,处理器还使 +用栈结构的返回栈缓冲器(RSB)\supercite{rsb}。 -为了开发出多任务系统的线程级并行性,部分处理器使用了多线程技术。同时多 -线程(SMT)\supercite{smt}是一种多线程技术,它对超标量处理器做了少量修 -改,使得多个线程可以共用一组执行单元,提高执行单元的利用率。 +为了开发出多任务系统的线程级并行性,部分处理器使用了多线程技术,使得一 +个处理器核可以执行多个线程。同时多线程(SMT)\supercite{smt}是一种多线 +程技术,它对超标量处理器做了少量修改,使得多个线程可以共用一组执行单元, +提高执行单元的利用率。 \begin{figure}[htbp] \centering @@ -111,10 +112,14 @@ gem5 的灵活性使得研究者可以根据需要选择不同的系统模型, 度的平衡。gem5 支持以下模型的配置: \begin{enumerate} - \item CPU 模型:如图\ref{fig:gem5_cpu},gem5 支持多种不同的 CPU 模型。AtomicSimpleCPU 模拟一个单周期处理器,模拟速度最快。TimingSimpleCPU 在此之上增加对存储访问时间的模拟。O3CPU 则是一个详细的乱序执行处理器模型。此外,gem5 还支持使用 KVM 虚拟化技术模拟 CPU 的执行。 -\item 系统模式:gem5 可以用系统调用模拟(SE)和全系统(FS)两种模式进 - 行模拟,前者模拟大多数的系统调用,无需对操作系统和设备进行模拟,而后 - 者则模拟了操作系统和设备,同时执行用户态和内核态的指令。 +\item CPU 模型:如图\ref{fig:gem5_cpu},gem5 支持多种不同的 CPU 模 + 型。AtomicSimpleCPU 模拟一个单周期处理器,模拟速度最 + 快。TimingSimpleCPU 在此之上增加对存储访问时间的模拟。O3CPU 则是一个 + 详细的乱序执行处理器模型。此外,gem5 还支持使用 KVM 虚拟化技术模 + 拟 CPU 的执行。 +\item 系统模式:gem5 可以用系统调用模拟(SE)和全系统(FS)两种模式进行 + 模拟,前者模拟大多数的系统调用,无需对操作系统和设备进行模拟,而后者 + 则模拟了操作系统和设备,同时执行用户态和内核态的指令。 \item 存储系统:gem5 包含两种存储系统模型,来自 M5 的 Classic 模型容易 配置且模拟速度快,而来自 GEMS 的 Ruby 模型则提供了一个可以精确模拟缓 存一致性模型的存储系统模拟框架。 |