重叠方式与流水线比较图计算方法
计算机系统结构-第五章自考练习题答案
(效率:3/8△t 效率:3/8)同步强化练习一.单项选择题。
1. 重叠机器局部相关的处理方法有两类:推后后续指令对相关单元的读和〔 C 〕。
A.异步流动B.采用顺序流动C.设置相关直接通路D.调整指令流动的顺序2. CRAY-1的流水线是〔 C 〕。
A. 多条单功能流水线B.一条单功能流水线C.一条多功能流水线D.多条多功能流水线3. 指令间的“一次重叠〞是指〔 B 〕。
A.“K 执行〞与“1+K 取指〞重叠B.“1+K 分析〞与“K 执行〞重叠C.“1+K 取指〞与“K 分析〞重叠D. “K 分析〞与“1+K 执行〞重叠4. 指令缓冲器的容量越大,发生指令相关的概率将〔 A 〕。
A.增大B.降低C.不变D.不定5. “取指〞、“分析〞、“执行〞之间的流水属于〔 B 〕。
A.系统级流水B.处理机级流水C.部件级流水D.作业级流水6. 非线性流水线是指〔 B 〕。
A.流水线中某些功能段在各次运算中的作用不同B.一次运算中要屡次使用流水线中的某些功能段C.一次运算中使用流水线的多个功能段D.流水线的各个功能段在各种运算中有不同的组合7. 关于标量流水机的说法有错的是〔 B 〕。
A.没有向量数据表示B.不能对向量数据进展运算C.可对标量数据进展流水处理D.可以对向量、数组进展运算8. 与流水线最大吞吐率有关的是〔 D 〕。
A.最后子过程的时间B.各个子过程的时间C.最快子过程的时间D.最慢子过程的时间9. 在流水线的相关处理中,会发生“写一写〞相关和“先读后写〞相关的是〔 C 〕。
A.猜想法B.顺序流动C.异步流动D.相关专用通路10. 在流水机器中,全局性相关是指〔 D 〕。
A.先读后写相关B.指令相关C.先写后读相关D.由转移指令引起的相关11. IBM360/91机对指令中断的处理方法是〔 A 〕。
A.不准确断点法B.指令复执法C.准确断点法D.对流水线重新调度12. CRAY-1机的两条向量指令V1←V2+V3V4←V1*V5属于〔 B 〕。
流水方式
S2-2
S2-1 S1 1
2
4 1 2 3 4 5 6
5
… …
…
-2 -1 n
时间
吞吐率(续)
说明:
1.TP TP max 2.TP 与Dt0 , m, n有关 3.n m时, TP TP max 4.如各段时间不相等,则 : TP n , 其中: Dt j为最慢的一段时间。
j
Dt (n 1)Dt
规格化 1 2 3 4 5 6 7 尾数加 1 2 3 4 5 6 7 对阶 1 2 3 4 5 6 7 时间 求阶差 1 2 3 4 5 6 7 加数 A C E G A+B E+F A+B+C+D B D F H C+D G+H E+F+G+H A+B E+F A+B+C+D 结果 Z C+D G+H E+F+G+H
先行指令 分析器 译码
先行读数栈 先行操作栈 取操作数 先行控制方式 中的指令流水线
指令执 行部件 执行
后行 输出 写数栈 写结果
流水线的分类(续)
系统级:宏流水线 (Macro Pipelining) 每个处理机对同一个数据流的不同部分分别 进行处理
数据集
处理机1
处理机2
处理机n
处理机间的流水处理
… n … n
输 出
空间 S4 S3
S2
S1 1
1
2 SD t i
2
3
3
…
… n
n
时间
Tk
(n-1)Dt2
吞吐率(续)
计算机系统结构 第 3 章 流水线技术_标量
2014-3-10
27
非线性流水线
反馈回路
• 流水线的流动顺序: • S1→S2 →S3 →S2 →S3 →S4 →S1 →S2
2014-3-10
28
1 s1 s2 s3 s4 1
2 1
3
4 1
5
6
7 1
8 1
9
1
1 1
• 为了防止两条或两条以上的指令对同一功能段的 争用,非线性流水线需要对输入流水线的指令进 行比较复杂的控制。 • 非线性流水线通常使用预约表来进行分析。
i 2
n
2014-3-10
7
执行时间不等时的一次重叠工作方式
分析 k
执行 k 分析 k+1 执行 k+1 分析 k+2 执行 k+2 分析 k+3 执行 k+3
2014-3-10
8
3. 先行控制方式
• 先行控制方式的基本思想: • 通过设置先行读数栈,先行操作栈,后行写数 栈等,使分析部件和执行部件能够分别连续 不断地分析和执行指令。
1 t s t l
• 若每个流水段的延迟时间不等,则最高工作频率 为:
1
max t Si t l
n i 1
2014-3-10
16
流水技术的特点
• ⑴ 一条流水线通常由若干个有联系的流水段组成。 • 流水线中的段数也称为 “流水深度” 。 • ⑵ 每个流水段有专门的功能部件对指令进行某种 加工。 • ⑶ 各流水段所需时间应尽量相等,以减少流水线 的瓶颈影响。 • ⑷ 流水线工作阶段可分为建立(装入)、满载和排 空三个阶段。 • ⑸在理想情况下,当流水线充满后,每隔Δ t时间 将会有一个结果流出流水线。
计算机体系结构——流水线技术(Pipelining)
单功能流水线:流水线只完成一种固定功能 多功能流水线:流水线可以完成多种功能,如 TI公司的ASC机,8段流水线,能够实现:定点加减 法、定点乘法、浮点加法等功能 3.按同一时间内各段之间的连接方式分 静态多功能流水线 :同一时间内,多功能结构只能按一种功能的连接方式工作。 动态多功能流水线:在同一时间内,可以有多种功能的连接方式同时工作 4.按处理的数据类型 标量流水线 向量流水线 5.按控制方式 同步流水线 异步流水线:当Si功能段要向Si+1段传送数据时,首 先发出就绪信号,Si+1功能段收到信号后,向Si回送 一个回答信号。 6.按任务从输出端的流出顺序 顺序流水方式:指令流出顺序 = 指令流入顺序 乱序流水方式:指令流出顺序 != 指令流入顺序 7. 线性流水线——不带反馈回路的流水线
三、流水线的分类(了解)
四、流水线相关及冲突(重点) 1.流水线相关 2.流水线冲突 3.流水线冲突带来问题 4.数据冲突及其解决方案 5.结构冲突及其解决方案 6.控制冲突及其解决方案
五、流水线性能分析(含例题讲解) 1.流水线的基本参数——吞吐率 2.流水线的基本参数——加速比 3.流水线的基本参数——效率 4.结果分析 5.有关流水线性能的若干问题
整体评估、反馈、再改进
3. 指令周期
单周期处理机模型:一个周期完成一个指令(每个周期是等长的),指令长度可能不一样,会造成很大的浪费 多周期处理机模型:将一个指令的完成划分成若干个周期来实现 流水线模型
二、流水线技术 1. 什么是流水线? 计算机中的流水线是把一个重复的过程分解为若干个子过程,每个子过程与其他子过程并行进行。由于这种工作方式与工厂中的生产 流水线十分相似, 因此称为流水线技术 从本质上讲,流水线技术是一种时间并行技术。
3-2 流水线技术
IF
ID
IF
EX
MEM
WB
IF ID IF EX ID IF MEM EX ID IF WB MEM EX ID WB MEM EX
stall stall
3、控制冲突
由分支指令引起的延迟称为分支延迟。 分支指令在目标代码中出现的频度很高,性能 损失很大。
据统计,每3~4条指令就有一条是分支指令。 假设:分支指令出现的频度是30%, 流水线理想 CPI=1, 那么:流水线的实际 CPI = 1.9。系统性能损失将 近50%!
分支指令 分支目标指令 分支目标指令+1 分支目标指令+2 分支目标指令+3 IF ID IF EX MEM WB IF ID IF EX ID IF MEM EX ID IF WB MEM EX ID WB MEM EX
stall stall
简单处理分支指令:分支失败的情况
分支指令
分支后继指令 分支后继指令+1 分支后继指令+2 分支后继指令+3
将计算结果写入R1
6
7
8
9
MEM WB EX MEM ID IF EX ID IF
WB MEM WB EX MEM WB ID EX MEM
读R1
WB
(1)数据相关冲突的3种类型
根据指令读访问和写访问的顺序,可以将数据 冲突分为3种类型: 考虑两条指令i和j ,且i在j之前进入流水线, 可能发生的数据冲突有:
写后读冲突(RAW):在 i 写入之前,j 先去读。
j 读出的内容是错误的。这是最常见的一种数据
冲突,它对应于真数据相关。
数据相关冲突的3种类型
写后写冲突(WAW):在 i 写入之前,j 先写。最
课件:流水线概述(1)
Waste
8
即有流水线指令的平 均执行时间,见本
流水线加速比 ppt后P24。本例中为 200ps(不是单一某 条指令的执行时间, 本例为1000)
如果所有流水级操作平衡(时间相同)
Time between instructionspipelined = Time between instructionsnonpipelined Number of stages
Cycle 1 Cycle 2 Cycle 3 Cycle 4 Cycle 5
lw
IF
ID
Ex
Mem WB
3
单周期与流水线
假设功能单元的操作时间
寄存器读写:100ps 其余:200ps
对比流水线和单周期
Instr
lw sw R-format beq
Instr fetch Register read
lw
IF
sw
R-type
ID
Ex
Mem WB
IF
ID
Ex
Mem WB
每一步对 应动作
IF
ID
Exec Mem WB
流水线在一条指令完成之前开始另一条指令。
改善吞吐率(单位时间内完成的任务数)。
对于有些指令某些时钟周期是浪费的(Mem和WB是或 的关系,sw指令写回存储器,R型和lw写回寄存器)。
单条指令执行时间不减少,有时反而会增加(本例和前
I lw
n s
t Inst 1
r.
Mem Reg
Mem Reg
Reading data from memory
Mem Reg
Mem Reg
O Inst 2
r
6计算机组成原理第6章流水线原理
结果
6.1 先行控制技术
• 先行控制(look-ahead)技术最早在IBM公司研制的 STRETCH机器中采用。目前,许多处理机中都已经采 用了这种技术,包括超流水处理机和超标量处理机等。
6.4 线性流水线性能分析
衡量流水线的主要指标有吞吐率,加速比和效率。
6.4.1 吞吐率TP
吞吐率(TP ── ThroughPut)指流水线在单位时间内执行的任务数, 可以用输入任务数或输出任务数表示。
TP n Tk
其中k表示流水线划分的段数。
当满足 ti 条t 件时,有 Tk (n k 1) t。
第6章 流水线原理及其 §1 重叠方式
通常提高指令执行速度的途径有如下三种: 1. 提高处理机的工作主频。 2. 采用更好的算法和设计更好的功能部件。 3. 多条指令并行执行,称为指令级并行技术。
• 可以从两个方面来开发处理机内部的并行性:
– 空间并行性:即在一个处理机内设置多个独 立的操作部件,并让这些操作部件并行工作, 这种处理机称为多操作部件处理机或超标量 处理机;
• 超长指令字技术VLIW:指让一条指令包含多个独立的操 作字段,并且分别控制多个功能部件并行工作的技术。
一.重叠解释方式
1.一条指令的几个过程段
1)取指令:根据PC(指令计数器)从M(存储器)取 出指令送到IR(指令寄存器)
2)译码分析:译出指令的操作性质,准备好所需数 据
3)执行:将准备好的数按译出性质进行处理,主要 涉及ALU(算术逻辑运算部件)
流水线题解
• I1:
Hale Waihona Puke R1←A1+A2• I2:
R2←A3+A4
• I3:
R3←A5+A6
• I4:
R4←A7+A8
• I5:
R5←A9+A10
• I6:
R6←R1+R2
• I7:
R7←R3+R4
• I8:
R8←R5+R6
• I9:
F←R7+R8
这并不是唯一可能的计算方法。假设功能段的延迟
为Δt。时空图如下,图中的数字是指令号。
Z=A+B+C+D+E+F+G+H
1 2 34
5
6
解: TP=7/15△t E=7*4/(15*4)=7/15=46%
Sp=4*7/15=28/15=1.87
7
空间 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
1 23 4
5
6
7
1 2 34
5
6
7
12 3 4
5
6
1 23 4
部件
规格化 尾乘3 尾乘2 尾乘1 阶加
输入 A C BD
输出
A*B C*D
A*BC*D
11
时间
A*B*C*D
图(B)
流水线按图(b)组织时,实现A*B*C*D的时空关系如图(B) 吞吐率TP=3/(11⊿t) 效率E =(3×5⊿t)/(5×11⊿t)=3/11=27.3%
n TP=
m
Σ△ti+(n-1)△tj
i=1
n 4时,TP 4 4 (6 9)t 15t
计算机体系结构L5_CA流水线和向量处理机
计算机体系结构
北理工计算机学院
6
一次重叠执行方式
一种最简单的流水线方式 每次只重叠执行两条指令,故称为一次重叠 特点:在第K条指令完成之前就开始处理第
K+1条指令(重叠执行两条指令)
取指k 分析k 执行k 取指k+1 分析k+1 执行k+1 取指k+2 分析k+2 执行k+2
如果三个过程的时间相等,都为t,则执行n 条指令的时间为:T=(1+2n)t
计算机体系结构
北理工计算机学院
17
先行指令缓冲站
先行程序计数器 PC1
主
存 控
指令 缓冲
制 器
存储 区
控 制逻辑
现行程序计数器 PC
指令分析部件
指令寄存器 IR
先行指令缓冲站的组成
计算机体系结构
北理工计算机学院
18
先行指令缓冲站
指令缓冲存储区和相应的控制逻辑
按队列方式工作。 只要指令缓冲站不满,它就自动地向主存控制器发取指令请求,不断
取指k
分析k 执行k 取指k+1 分析k+1 执行k+1
取指k+2 分析k+2 执行k+2
如果三过程的时间相等,执行n条指令的 时间为:T=(2+n)t
采用二次重叠执行方式能够使指令的执行时 间缩短近三分之二。
计算机体系结构
北理工计算机学院
9
二次重叠执行方式
部件
执行
k k+1 k+2
分析
k k+1 k+2
计算机体系结构
北理工计算机学院
32
例题解答
第5章-计算机系统结构(第五版)李学干
第5章 标量处理机
图 5 - 11 B一次相关与二次相关
第5章 标量处理机
由图5 - 11可见,B二次相关时,只需推后“分析k+2”的 始点到“执行k”送入通用寄存器的运算结果能在“分析k+2” 开始时出现于通用寄存器输出总线上即可,如图5 - 12(a)所 示。至于推后多少拍,这取决于通用寄存器组译码、读
如图5 - 20(b)所示。即使流水线每隔Δt0流入一条指令,也会
因来不及处理被堆积于2段,致使流水线仍只能每隔 3Δt0才流出一条指令。
第5章 标量处理机
图 5 - 20 最大吞吐率取决于瓶颈段的时间
第5章 标量处理机
消除瓶颈的一种办法是将瓶颈子过程再细分。例如将2
段再细分成21、22、23三个子段,如图5-21(a)所示。让各子
同,如图5 - 23所示那样,则在T时间里,流水线各段的效率
都相同,均为η0,即
nΔt0 n 1 2 m 0 T m (n 1)
第5章 标量处理机
整个流水线的效率
1 2 m
m
m0 mnΔt0 0 m mT
式中,分母mT是时空图中m个段和流水总时间T所围成
第5章 标量处理机
图 5 - 3 一次重叠工作方式
第5章 标量处理机
(2) 要解决“分析”与“执行”操作的并行。 (3) 要解决“分析”与“执行”操作控制上的同步。 (4) 要解决指令间各种相关的处理。 图5 - 4示意出条件转移时第k条指令和第k+1条指令的时
间关系。
第5章 标量处理机
图 5 - 4 第k条指令和第k+1条指令的时间关系
由于运算结果是在“执行”周期的末尾才送入通用寄存
计算机组成与体系结构——流水线相关知识点(常考计算)
计算机组成与体系结构——流⽔线相关知识点(常考计算) 流⽔线是软考中经常考的⼀部分内容,并且常以要求计算的形式出现,所以,这⾥详细总结⼀下流⽔线的相关知识点。
流⽔线的概念 流⽔线是指在程序执⾏时多条指令重叠进⾏操作的⼀种准并⾏处理实现技术。
即可以同时为多条指令的不同部分进⾏⼯作,以提⾼各部件的利⽤率和指令的平均执⾏速度。
我们都知道,在执⾏⼀条指令的过程中,最少要经历取指分析执⾏三个步骤,也就是说,假设有三个指令1 、2、 3,当我们在正常情况下,在执⾏指令1的时候,会⾸先对指令1按照以上三个步骤进⾏处理,处理完毕后在对指令2进⾏处理,以此类推。
⽽流⽔线的应⽤,就是像我们在⼯⼚中⼀样,当对指令1进⾏分析⼯作时,同时对指令2进⾏取指,继续执⾏,当指令1到达执⾏阶段时,指令2进⼊分析阶段1同时对于指令3进⾏取指处理,这样就⼤⼤增加了对于时间的利⽤率。
流⽔线的计算 1、流⽔线的执⾏时长 ①关于流⽔线的周期,我们需要知道的是,流⽔线周期(△t)为指令执⾏阶段中执⾏时间最长的⼀段。
②流⽔线的计算公式为: 完成⼀条指令所需的时间+(指令条数-1)*流⽔线周期,在这个公式中,⼜存在理论公式和实践公式。
理论公式: 实践公式:(k+n-1)*△t k为⼀条指令所包含的部分的多少 例题:若指令流⽔线⼀条指令分为取指、分析、执⾏三个阶段,并且这三个阶段的时间分别为取指1ns,分析2ns,执⾏1ns,则流⽔线的周期为多少?100条指令全部执⾏完毕需要执⾏的时间是多少? 分析:上⾯已经说过,流⽔线的周期为花费时间最长的阶段所花费的时间,所以流⽔线的周期就是2ns。
根据理论公式,T=(1+2+1)+(100-1)*2=4+99*2=202ns 根据实践公式,T=(3+100-1)*2=204ns 在这⾥,需要注意的是,因为流⽔线的理论公式和实践公式的结果不⼀样,但是在考试过程中可能都会考到,所以,在应⽤时,先考虑理论公式,后考虑实践公式。
指令流水线的计算
若指令流水线把一条指令分为取指、分析和执行三部分,且三部分的时间分别是t取指=2ns ,t 分析=2ns,t 执行=1ns。
则100 条指令全部执行完毕需 (4) ns。
(4)A.163 B.183 C.193 D.203 答案:D本类题有两类:第一类是各指令段,有同步时间,即有指令流操作周期.当某指令段执行完毕后,必须等到下一个操作周期来临时,才能执行下一条指令的相同段.第一题与2005年的题就是这样.其计算公式是:(指令所分段数-1)*指令流操作周期 +指令数*指令流操作周期.第二类是各指令段,没有同步时间,每段执行完毕,不需要等待,直接执行下一条执令相同的段.2006的题就是这个.其计算方法是第一条指令执行时间+(指令数-1)*各指令段执行时间中最大的执行时间==========================================================本题为第二类:(2+2+1)+(100-1)*2=203指令流水线的计算1.现有四级指令流水线,分别完成取指、取作的时间依次为数、运算、传送结果四步操作。
若完成上述操9ns、10ns、6ns、8ns。
则流水线的操作周期应设计为(1)n s。
(1)A.6B.8C.9D.10试题解析:取最大的那个微指令时间作为流水线操作周期。
答案:D2.若每一条指令都可以分解为取指、分析和执行三步。
已知取指时间t取指=4△t,分析时间t分析=3△t,执行时间t执行=5△t。
如果按串行方式执行完100条指令需要(2)△t。
如果按照流水方式执行,执行完100条指令需要(3)△t。
(2)A.1190B.1195C.1200D.1205(3)A.504B.507C.508D.510试题解析:串行执行时,总执行时间=100×(t取指+ t分析+ t执行)=100×12△t=1200△t。
连续两条指令的执行时间差为t执行= 5△t,因此100条指令的总执行时间=(t取指+ t分析+ t执行)+99×t执行= 507△t。
第四章 流水线技术
流水时钟数
1
2
3
4
5
6
7
8
9
指令i
IF
ID
EX
MEM
WB
指令i+1
IF
ID
EX
MEM
WB
指令i+2
IF
ID
EX
MEM
WB
指令i+3
IF
ID
EX
MEM
WB
指令i+4
IF
ID
EX
MEM
WB
图4-7 MIPS R2000的整数流水线
其中:IF──取指ID──译码和取寄存器操作数
EX──执行或有效地址计算MEM──存储器访问
M1P1 M2 P2 M3 P3 M4
T1T2T3
图4-4处理器级流水M:存储器P:处理器T:任务
2.按完成的功能分类
有单功能流水线和多功能流水线。
单功能流水线只完成一种功能,如乘法或浮点运算;多功能流水线可以完成多种功能,其功能段可以按照不同功能的要求联接,当然功能段的种类比较多。如图4-5所示,流水线中包括了八个功能段,如果要完成浮点运算,可按图4-5(b)连接流水;如果完成乘法,则可按图4-5(c)方式连接流水。
4.1.2.1
简单的RISC处理器的指令集不是很复杂,我们可以来分析一下,处理器在工作时的硬件资源使用情况。图4-8显示了一个5级流水的简单处理器数据通路的流水工作过程。图中表明了主要功能单元在不同节拍中的使用情况和多指令重叠执行所带来的相应冲突。我们可以看出,图中时钟周期5(CC5)至少有如下几种冲突:
流水线设计最难的任务是确定每个流水级功能部件处理的时间长度,平衡每一流水各处理部件的处理时间。在理想条件下,流水线计算机每条指令的平均执行时间是:
1、 假设一条指令的解释分为取指、分析与执行三个阶段,每个阶段
9
解:根据题意,对算法经调整后,能使流水吞吐率尽量高的流水时 空图如图所示。图中已标出了流水线入、出端的数据变化情况。
S 4 1
2
3
4
5
6
7 8
9
3
2 1 1
A C
1 1 2 2 3 3 4 4 5 5 6 6 7 8 2
E F A B AC
9 9
21△t ACEF+GH ACD+AB
T t 取指 100t 分析 [max{ t 取指 , t 执行 }] t 执行
i 2
100
3)解:仅“执行k”、“分析k+1”和“取指k+2”重叠:
取指k 分析k 执行k
取指k+1 分析k+1 执行k+1 取指k+2 分析k+2 执行k+2
T t 取指 max{ t 分析,t 取指 } 98 max{ t 取指,t 分析,t 执行 } max{ t 执行,t 分析 } t 执行
(2)t取指= t分析=2t,t执行=3t:
1)顺序方式:
T (t取指 t分析 t执行 ) 700t
i 1 100
2)仅“执行k”、“取指k+1”重
叠:
T t取指 100t分析 [max{ t取指 , t执行 }] t执行 502t
i 2
100
3)仅“执行k”、“分析k+1”和“取指k+2”重叠:
各种调度方案及其相应的平均延迟: 调度方案 (5) (3) (1,1,1,5) (2,3) (3,2) (1,5) (1,1,5) (2,5) (2,3,5) (2,1,5) (3,5) (3,2,5) (2,1,2,5) (1,2,3,5) (2,1,2,3) 平均延迟 5 3 2 2.5 2.5 3 2.3 3.5 3.3 2.7 4 3.3 2.5 2.5 2
重叠流水和向量处理机PPT课件
相关)就不止会出现一次相关,还会出现二次相关。即当出现
B(k+1)=L3(k) 时 , 称 为 发 生 了 B 一 次 相 关 ; 而 当 出 现 B(k+2)=L3(k)时,称为发生了B二次相关,如图5.10所示。
图 5.9 用相关专用通路解决通 用寄存器组的数相关
第 5 章 重叠、流水和向量处理机
设操作数的有效地址
( X d ) (B2 ) (B2 0000 ) d2
由分析器内的地址加法器形成。由于通常情况下,“分析” 周期等于主存周期,所以,从时间关系上要求在“分析”周 期的前半段,就能由通用寄存器输出总线取得(B2),送入地址 加法器。由于运算结果是在“执行”周期的末尾才送入通用 寄存器组的,它当然不能立即出现在通用寄存器输出总线上。
图 5.20 瓶颈子过程再细分
第 5 章 重叠、流水和向量处理机
图 5.21 瓶颈子过程并联
第 5 章 重叠、流水和向量处理机
设一m段流水线的各段经过时间均为Δt0,则第1条指 令从流入到流出需要T0=mΔt0的流水建立时间,之后每隔Δt0 就可以流出一条指令,其时—空图如图5.22所示(这里设m=4)。 这样,完成n个任务的解释共需时间T=m·Δt0+(n-1)Δt0。在
3.
操作码 L1
L3
B2
或
操作码 L1
L3
d2 L2
第 5 章 重叠、流水和向量处理机 图 5.7 指令解释过程中与通用寄存器内容有关的微操作时间关系
指令的重叠执行方式
指令的重叠执行方式指令的重叠执行方式(Overlapping Instruction Execution)是计算机组成中经常使用的一种技术,特别是在多核或多线程处理器中。
顾名思义,指令的重叠执行方式就是在执行当前指令时,同时还执行下一条指令的一种方式。
这种技术的主要目的是提高处理器的并发性和吞吐量。
1. 流水线执行:流水线执行是指将处理器的执行过程分成多个阶段,每个阶段执行不同的或同一的指令,这样就可以在同一时刻执行多条指令。
流水线执行的主要优点是提高了处理器的吞吐量,但也存在一些问题,如分支预测错误、数据相关等因素会导致流水线执行效率降低。
2. 超标量执行:超标量执行是指同一时刻可以执行多条指令的一种方式。
这种方式能够充分利用现代处理器的多个执行单元从而提高处理器的并发性和吞吐量。
超标量执行的主要难点是如何发现并利用指令之间的并行性和充分利用处理器的执行资源。
3. 动态指令调度:动态指令调度是指在处理器执行过程中发现并调度可以并行执行的指令的一种方式。
这种方式通过硬件调度来提高指令执行的并发性和吞吐量。
动态指令调度的主要难点是如何在不增加处理器复杂度的情况下寻找可以并行执行的指令序列。
5. 指令长流执行:指令长流执行是指将多条指令组成一条长指令,在执行过程中,可以在不停顿的情况下执行多个指令的一种方式。
这种方式通过识别指令之间的依赖性来组合指令,从而充分利用处理器资源。
总之,指令的重叠执行方式是现代计算机体系结构中重要的技术之一,通过利用并发性和吞吐量来提高处理器的性能,实现指令的高效执行。
同时,这种方式也带来了一些问题,如处理器的复杂度提高、数据相关等,需要通过改进处理器体系结构和加强指令调度来克服这些问题。