summaryrefslogtreecommitdiff
path: root/chap/chap1.tex
diff options
context:
space:
mode:
Diffstat (limited to 'chap/chap1.tex')
-rw-r--r--chap/chap1.tex35
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 模型则提供了一个可以精确模拟缓
存一致性模型的存储系统模拟框架。