3. 1 -3.3为术语解释等解答题。
3.4设一条指令的执行过程分为取指令,分析指令和执行指令3个阶段,每个阶段所需时间分别为AT, 2AT,分别求出下列各种情况下,连续执行N条指令所需的时间。
(1)顺序执行方式
(2)只有“取指令”与“执行指令”重叠
(3)“取指令”,“分析指令”与“执行指令”重叠
解:
(1)4NAT
(2)(3N+1) AT
(3)2(N+1) AT
3.6解决流水线瓶颈问题有哪两种常用方法?
解:
(1)细分瓶颈段
将瓶颈段细分为若干个子瓶颈段
(2)重复设置瓶颈段
重复设置瓶颈段,使之并行工作,以此错开处理任务
3.9列举下面循环中的所有相关,包括输出相关,反相关, 真数据相关。
for (i = 2; i < 100; i二i+1)
a[i]二b[i] + a[i]; (1)
c[i+1]二a[i] + d[i]; ---- (2)
a[i-1]二2*b[i]; (3)
b[i+1]二2*b[i]; ⑷
}
解:输出相关:第k次循环时(1)与第k+1轮时(3)
反相关:第k次循环时⑴和⑵与第k-1轮时(3)
真数据相关:每次循环(1)与(2),第k次循环⑷与k+1次循环⑴,(3), (4) 3. 12有一指令流水线如下所示
50ns 50ns 100ns
200ns
⑴求连续如入10条指令的情况下,该流水线的实际吞吐率和效
率
⑵该流水线的“瓶颈”在哪一段?请采用两种不同的措施消除
此“瓶颈”。对于你所给出的两种新的流水线连续输入10条指令时,其实际吞吐率和效率各是多少?
解:(1)(m表示流水线级数,n表示任务数)
=(50 +50+ 100+ 200)+ 9 x 20()
=2200(」⑸
m
VAtj 皿童
厶400 5
E = TP ?—=TP ——=—^ 45.45%
m 4 11 (2)瓶颈在3、4段。
方法一:变成八级流水线(细分)
m
Tpipeline = 工Ati 十(II - 1 )Atmax
i?!
= 50x8 + 9x50
= 850(ns)
m
V Ati
厶40() 1()
E = TP ?且—=TP ------- -- - a 58.82%
in 8 17
11.7e8
方法二:变成两级流水线(合并)
I pipeline =A t i + (11 — 1 ) A tnux i = l
=100 X4 +9x100
=1300(ns)
TP 叽*ok)
VAti
p J = W 型』“6.9%
m 4 13 方法四:重复设置部件,设置2个部件 和第一种方法结果相同 TP=%+ = %20(卅)
m
E = TP ?— m
TP ?
型 方法三:将段1、2合并为一段,段4 细化流水为两段 3, 4个部件4, 山
200ns 200ns
I pipeline =〉: A ti 4- (tl — 1 ) A t max
i=l
=200 x 2 + 9 x 200 =22()()(ns)