典型习题和题例分析与解答

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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

相关文档
最新文档