(自考02325李学干版)计算机系统结构课后习题 联系客服

发布时间 : 星期二 文章(自考02325李学干版)计算机系统结构课后习题更新完毕开始阅读1a42c41b48d7c1c708a145a6

存中内容一开始未装入Cache中,请列出Cache中各块随时间的第2、3、6、7块只能映象装入或替换物理Cache的第2、3块。

13.采用组相联映象,LRU替换算法的Cache存储器,发现等效访问速度不高,为此建议: (1)增大主存容量;

(2)增大Cache的块数(块的大小不变); (3)增大组相联组的大小(块的大小不变);

(4)增大块的大小(组的大小和Cache总容量不变); (5)提高Cache本身器件的访问速度。

解答: (1)增大主存容量对Cache的访问时间ta基本不影响,从而对Cache的等效访问速度基本不影响。

(2)增大Cache的块数(块的大小不变)一般将使Cache的命中率Hc上升,从而使ta下降,从而提高Cache的等效访问速度。

(3)增大组相联组的大小(块的大小不变)一般将使Cache的命中率Hc上升,从而使ta下降,从而提高Cache的等效访问速度。

(4)增大块的大小(组的大小和Cache总容量不变)一般将使ta下降,

从而提高Cache的等效访问速度。

(5)提高Cache本身器件的访问速度一般将缩短ta,从而提高Cache的等效访问速度。

14.你对Cache存储器的速度不满,于是申请到一批有限的经费,为能发挥其最大经济效益,有人建议你再买一些同样速度的Cache片子以扩充其容量;而另有人建议你干脆去买更高速的Cache片子将现有的低速Cache片子全部换掉。你认为哪种建议可取?你如何做决定?为什么? 解答:

Cache本身的速度与容量都会影响Cache存储器的等效访问速度。如果对Cache存储器的等效访问速度不满,需要改进的话,就要作具体分析,看看现在Cache存储器的等效访问速度是否已接近于Cache本身的速度。如果差得较远,说明Cache的命中率低,应从提高Cache命中率着手,包括调整组的大小、块的大小、替换算法以及增大Cache容量等。如果

使用状况;

(4)对于(3),指出块失效又发生块争用的时刻; (5)对于(3),求出此期间Cache的命中率。

解答: (1)主存地址、Cache地址的各字段的位数及其对应关系如下图所示

(2)主存块、Cache块的映象对应关系如下图所示

(3)Cache中各块随时间的使用状况如下图所示。图中标*号的是候选替换块的块号,H:命中;R:替换;L:失效。

Cache存储器的等效访问速度已经非常接近于Cache本身的速度还不能满足需要,就应该更换更高速的Cache片子。

第五章 重叠、流水和向量处理机

1.假设指令的解释分取指、分析与执行3步,每步的时间相应为t取指、t分析、t执行,

(1)分别计算下列几种情况下,执行完100条指令所需时间的一般关系式: a.顺序方式;

b.仅“执行k”与“取指k+1”重叠;

c.仅“执行k”、“分析k+1”、“取指k+2”重叠;

(2)分别在t取指=t分析=2、t执行=1及t取指=t执行=5、t分析=2两种情况下,计算出上述各结果。 解:

(4)发生块失效又发生块争用的时刻有6、7、9、10、11、12、14、15。

(5)Cache的块命中率Hc=3/15=0.2。

剖析: 由于主存块、Cache块之间存在上述的映象对应关系,主存的第0、1、4、5块只能映象装入或替换物理Cache的第0、1块;主存的

(1)执行完100条指令所需时间: a.100*(t取指+t分析+t执行);

b.t取指+100*t分析+99*max(t取指+t执行)+t执行; c.t取指+max(t取指+t分析)+98*max(t取指+t分析+t执行)+max(t分析+t执行)+t执行。

9

(2)在t取指=t分析=2、t执行=1的情况下,执行完100 按图5.35(a)组织的流水线时,TP=3/13△t;η=3/11。 实现A*B*C*D的时空图如图0504所示: 图0504

条指令所需时间: a.500 b.401 c.203

在t取指=t执行=5、t分析=2的情况下,执行完100条指令所需时间: a.1200 b.705 c.510

2.流水线有4个功能部件组成,每个功能部件的延迟时间为△t,当输入10个数据后间歇5△t又输入10个数据,如此周期性地工作,求此时流水线的吞吐率,并画出时空图。 解:

TP=10/14△t=5/7△t 时空图:

按图5.35(a)组织的流水线时,TP=3/13△t;η=3/11。 实现A*B*C*D的时空图如图0504所示: 图0505

3.有一个浮点乘流水线如图5.35(a)所示,其乘积可直接返回输入端或暂存于相应缓冲寄存器中,画出实现A*B*C*D的时空图以及输入端的变化,并求出该流水线的吞吐率和效率;当流水线改为图5.35(b)形式实现同一计算时,求该流水线的效率及吞吐率。

图5.35(a)

剖析:

为了减少运算过程中的操作数相关,A*B*C*D应改为((A*B)*(C*D))进行运算。

4.一个4段的双输入端规格化浮点加法流水线,每段经过时间10ns,输出可直接返回输入或将结果暂存于相应缓冲器中,问最少需经多少时间能求(10)∑(i=1)Ai,并画出时空图。 答:

时空图如下:

图5.35(b)

解:

10

求(10)∑(i=1)Ai需要的最知时间是170ns。

剖析: 为了避免先写后读相关,使流水线性能尽可能高,需将(10)∑(i=1)Ai

((((A1+A2)+(A3+A4))+(A9+A10))+((A5+A6)+(A7+A8)))。

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

(1)分别计算在连续输入3条指令时和30条指令时的吞吐率和效率。 (2)按两种途径之一改进,画出你的流水线结构示意图,同时计算连续输入3条指令和30条指令时的吞吐率。

(3)通过对(1)、(2)两小题的计算比较可得出什么结论? 解答:

为提高流水线效率可采用瓶颈希再细分和瓶颈段并联两种主要途径来克服速度瓶颈。

(1)连续输入3条指令时的吞吐率TP3=3/11△t;效率η3=5/11。 连续输入30条指令时的吞吐率TP30=15/46△t;效率η3=25/46。 (2)改进后的流水线结构示意图大体如图5.35(a)和图5.35(b)。 连续输入3条指令时的吞吐率TP3=3/7△t;效率η3=3/7。 连续输入30条指令时的吞吐率TP30=15/17△t;效率η3=15/17。 (3)只有当连续输入流水线的指令足够多时,流水线的实际吞吐率和效率才会提高。

6.有一个双输入端的加-乘双功能静态流水线,由经过时间为△t、2△t、2△t,△t的1、2、3、4四个子过程构成。加按1->2->4连接,乘按1->3->4连接,流水线输出设有数据缓冲器,也可将数据直接返回输入。现要执行A*(B+C*(D+E*F))+G*H的运算,请调整计算顺序画出能获得尽量高的吞吐率的流水时空图,标出流水线入、出端数的变化情况,求出完成全部运算的时间及此期间流水线的效率。如对流水线瓶颈子过程再细分,最少只需多少时间可完成全部运算?若子过程3不能再细分,只能用并联方法改进,问流水线的效率为多少? 解:

根据题意,画出流水线吞吐率尽可能高的时空图如图0507: 图0507

在此期间的流水线效率η=(6*4△t+3*4△t)/4*24△t=3/8

如果将瓶颈子过程2和3均细分成两个子过程,则时空图如图0508所示: 图0508

由图可见,完成全部运算最少需要18△t。

若子过程3不能再细分,只能用并联方法改进,则则时空图如图0509所示: 图0509

这种情况下,流水线效率η=(24△t+12△t)/6*18△t=1/3 剖析:

因为是双功能静态流水线,为了能有高的吞吐率,应减少流水线的功能切换次数。因此,应将算法调整成先作一连串的乘,然后再切换成一连串的加。原式展开成A*B+A*C*D+A*C*E*F+G*H,先进行乘法流水,为了减少因先写后读相关而等待的时间,应尽量安排对计算式子项数最多的乘法先11

进行操作,即先计算A*C*E*F,再计算A*C*D,...

7.现有长度为8的向量A和B,请分别画出下列4种结构的处理器上求点积A*B的时空图,并求完成全部结果的最少时钟拍数。设处理器中每个部件的输出均可直接送到任何部件的输入或存入缓冲器中去,其间的传送延时不计,指令和源操作数均能连续提供。

(1)处理器有一个乘法部件和一个加法部件,不能同时工作,部件内也只能以顺序方式工作,完成一次加法或乘法均需5拍; (2)与(1)基本相同,只是乘法部件和加法部件可并行;

(3)处理器有一个乘、加法双功能静态流水线,乘、加法均由5个流水段构成,各段经过时间要1拍;

(4)处理器有乘、加法两条流水线,可同时工作,各由5段构成,每段经过时间为1拍。 解答:

(1)在这种结构的处理器上求点积A*B的时空图如图0510所示: 图0510

完成全部运算最少需要75拍。

(2)在这种结构的处理器上求点积A*B的时空图如图0511所示: 图0511

完成全部运算最少需要45拍。

(3)在这种结构的处理器上求点积A*B的时空图如图0512所示: 图0512

完成全部运算最少需要30拍。

(4)在这种结构的处理器上求点积A*B的时空图如图0513所示: 图0513

完成全部运算最少需要26拍。 剖析: 向

A*B

A*B=(8)

(i=1)ai*bi=a1*b1+a2*b2+a3*b3+a4*b4+a5*b*+a6*b*+a7*b7+a

8*b8,共需8次乘法和7次加法。

8.试总结IBM 360/91解决流水线控制的一般方法、途径和特点。 在流水线中设置相关直接通路解决局部相关; 用猜测法解决全局相关;

设置\向后8条\检查,加快短循环程序的处理; 对流水线的中断处理用\不精确断点法\。

9.在一个5段的流水线处理机上需经9拍才能完成一个任务,其预约表为:

t0 t1 t2 t3 t4 t5 t6 t7 t8 s1 ∨ ∨ s2 ∨ ∨ s3 ∨ ∨ ∨ s4 ∨ ∨ s5 ∨ ∨ 12