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

相关主题
  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”、“分析r+:”,“取指。+:”重叠.

(2)分别在t

取指=

t

分析=2,

t

执行=l及

t

取指=

t

执行=5,

t

分析 =2

两种情况下,计算出上述各结果。

[分析] 可先按指令间所要求的时间关系画出指令间的时间重叠关系图,由图就可以列出各种情况下,计算100条指令所需时间的一般关系式。再将给出的时间值代入,实际完成100条指令所需的时间就可以求得。

*

顺序方式工作的时间关系如图5.1所示。

取指k分析k执行k取指k+1分析k+1执行k+1取指k+2分析k+2执行k+2

图顺序方式工作的时间关系图

仅“执行k”与“取指k+1”、重叠方式工作的时间关系如图5.2所示.

取指k分析k执行k

取指k+1分析k+1执行k+1

'

取指k+2分析k+2执行k+2

图5.2 仅“执行k”,与“取指k+1”重叠方式工作的时间关系图

仅“执行k”、“分析k+1”、“取指k+2”重叠方式工作的时间关系如图5.3所示.取指k分析k执行k

取指k+1分析k+1执行k+1

^

取指k+2分析k+2执行k+2

图5.3 仅“执行k”、“分析k+1”、“取指k+2”重叠方式工作的时间关系图

[解答] (1)计算执行完100条指令所需要的时间:

(i)顺序方式工作时为

100(t t t

⨯++

取指分析执行

(ii)仅“执行k”,与“取指k+1”重叠方式工作时为

{}

10099max

t t t t t

++⨯+

取指分析取指执行执行

(iii)仅“执行k”、“分析k+1”、“取指k+2”重叠方式工作时为

{}{}{} max98max max,

t t t t t t t t t ++⨯++

取指分析取指取指分析执行执行分析执行,,,

(2)当t

取指=

t

分析=2、

t

执行=l时,代入上面的各式,可求得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 。当输

① ② ③ ④ ⑤ ⑥ ⑦ ⑧ ⑨ ⑩ ① ②

图5.4 题5. 2的流水时空图

所以,按周期性工作时的流水线平均吞吐宰为: 《 105

147p T t 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所示。

-

吞吐率 3

13p T t =∆

效率 355

31313

t t η⨯∆==⨯∆

流水按图(b )组织时,实现A*B*C*D 的时空关系如图所示。

吞吐率 3

11p T t =∆

效率 355

31111

t t η⨯∆==⨯∆

题5.4 一个4段的双输入端规格化浮点加法流水线,每段经过时间10ns ,输出可直接返回输入或将结果暂存于相应缓冲器中,问最少需经多少时间能求出

10

∑i

i=1

A

,并画出时空图。

[分析] 为了避免流水线的先写后读相关,使流水线性能尽可能高,需将10

∑i i=1

A

调整成

$

((((1A +2A )+(3A 十4A ))十(j t 9A +10A ))+((5A +6A )+(7A +8A ))) 的算法步骤来进行。

[解答] 按((((1A +2A )+(3A 十4A ))十(8A 9A +10A ))+((5A +6A )+(7A +8A ))) 流水的时空图如图5.8所示.

由图5.8之时空图可知,求10

∑i i=1A 所需要的最少时间为170ns 。

题 为提高流水线的效率可用哪两种主要途径来克服速度瓶颈现有3段流水线各段经过的时间依次为△t 、3△t 、△t 。 |

(1)分别计算在连续输入3条指令时和30条指令时的吞吐率和效率。

相关文档
最新文档