典型习题和题例分析与解答
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
5.3典型习题和题例分析与解答
题5.1假设指令的解释分取指、分析和执行3步,每步的时间相应地为
t取指、t分析、t执行,
(1) 分别计算下列几种情况下,执行完100条指令所需时间的一般关系式;
i. 顺序方式;
ii. 仅“执行x”与“取指x剩”重叠,
iii. 仅“执行x”、“分析叶:”,“取指。+:”重叠.
(2) 分别在t取指=t分析=2, t执行=I及t取指=t执行=5, t分析=2 两种情况下,计算出上述各结
果。
[分析]可先按指令间所要求的时间关系画出指令间的时间重叠关系图,由图就可以列出各种情况下,计算100条指令所需时间的一般关系式。再将给出的时间值代入,实际完成100条指令所需的时间就可以求得。
顺序方式工作的时间关系如图5. 1所示。
图5.1 顺序方式工作的时间关系图
仅“执行k ”与“取指k+1 ”、重叠方式工作的时间关系如图5. 2所示.
图5. 2 仅“执行k ”,与“取指k+1 ”重叠方式工作的时间关系图
仅“执行k ”、“分析k+1 ”、“取指k+2 ”重叠方式工作的时间关系如图5. 3所示.
' I I 1
取指k+2 : 分析k+2 ;执行k+2
il v
, 1
图5. 3仅“执行k ”、“分析k+1 ”、“取指k+2 ”重叠方式工作的时间关系图
[解答](1)计算执行完100条指令所需要的时间:
(i) 顺序方式工作时为
)
100 (t
取指t分析t执行
(ii) 仅“执行k ”,与“取指k+1 ”重叠方式工作时为
t取指10°t分析99 max t取指,执行t执行
(iii) 仅“执行k ”、“分析k+1 \ “取指k+2 ”重叠方式工作时为
t取指max t分析,取指98 max t取指,t分析,执行max t执行,t分析t执行
(2) 当t取指=t分析=2、t执行=I时,代入上面的各式,可求得100条指
令执行所需要的时间是:
顺序方式工作时为500。
仅“执行k ”,与“取指k+1 ”重叠方式工作时为401。
仅“执行k ”、“分析k+1 ”、“取指k+2 ”重叠方式工作时为203。
当t 取指=t 执行=5, t 分析=2,代入上面的各式,可求得100条指令执行 所需要的时间是:
顺序方式工作时为1200。
仅“执行k ”,与“取指k+1 ”重叠方式工作时为705。
仅“执行k ”、“分析k+1 ”、“取指k+2 ”重叠方式工作时为510。
题5. 2流水线由4个功能部件组成,每个功能部件的延迟时间t 。当输 入10个数据后,间歇5^ t ,又输入10个数据,如此周期性地工作,求此时流水 线的吞吐率,并画出其时空图
[分析]所谓输入10个数据后.间歇5^t .又输入10个数据的含义应当是 以输入时间为基准,即从第10个数据输入时算起.隔5^t 后又开始输入新的一 轮数据
[解
答]
T p
p
14 t 7 t
题5. 3有一个浮点乘流水线如图 5. 5(a)所示,其乘积可直接返回输入端 或暂存于相应缓冲寄存器中,画出实现 A*B*C*D 的时空图以及精入端的变化,并 求出该流水线的吞吐率和效率;当流水线改为图 5. 5(b)形式实现同一计算时,求 该流水线的效率及吞吐率
[分析]为了减少运算过程中的操作数相关, A*B*C*D 应改为采用((A*B) * (C*D))的算法步骤进行运算。
[解答]按图5. 5(a)组织.实现A*B*C, D 的时空关系如图5. 6所示。
部件
1
15
时间 (△ t )
按题意可得4个功能部件流水时的时空关系.如图 5. 4所示. 10 5
输入
432114
t
①②③④⑤⑥⑦⑧⑨⑩
图5. 4题5. 2的流水时空图 所
以,按周期性工作时的流水线平均吞吐宰为:
i 1
A ,并画出时空图
i=1
10
[分析]为了避免流水线的先写后读相关,使流水线性能尽可能高,需将 A
i=1
调整成
((((
A + A 2)+ ( A 十 A 4))十(t j A 9+A O )) + (( A S +A 6)+ ( A 7+AJ))
的算法步骤来进行。
[解答]按(((( A+A 2)+ ( A 3 十 A 4))十(A 8A 9+A 0)) + (( A 5+A 6)+ ( A 7+A 8))) 流水的时空图如图5. 8所示.
10
由图5. 8之时空图可知,求 A 所需要的最少时间为170ns 。
i=1
题5.5为提高流水线的效率可用哪两种主要途径来克服速度瓶颈?现有 3段流水 线各段经过的时间依次为△ t 、3△ t >△ t 。
(1) 分别计算在连续输入3条指令时和30条指令时的吞吐率和效率。 (2) 按两种逾径之一改进,画出你的流水线结构示意图.同时计算连续输入 3 条指令和30条指令时的吞吐率和效率。
(3) 通过对(1)、⑵两小题的计算比较可得出什么结论?
[分析]根据题意可以看出,原3段的流水线工作起来仍可看成是一条线性 流水线只是其中经过时间为3^ t 的段是瓶颈段,所以可以按
T -------------- ---------
p m t i (n 1) t j
效率
3 5 t 5 3 13 t 13
流水按图5.5 (b )组织时,实现A*B*C*D 的时空关系如图5.7所示。
吞吐率
p
11 t 效率
3 5 t 5
3 11 t 11
题5. 4 一个4段的双输入端规格化浮点加法流水线,每段经过时间 10ns , 吞吐率 T p
13 t
输出可直接返回输入或将结果暂存于相应缓冲器中,问最少需经多少时间能求出
10