系统结构习题 文档
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
题5.3 有一个浮点乘流水线如图5.5(a)所示,其乘积可直接返回输入端或暂存于相应缓冲寄存器中,画出实现A*B*C*D 的时空图以及精入端的变化,并求出该流水线的吞吐率和效率;当流水线改为图5.5(b)形式实现同一计算时,求该流水线的效率及吞吐率。
[解答] 按图5.5(a)组织.实现A*B*C ,D 的时空关系如图5.6所示。
吞吐率 313p T t
=
∆ 效率 35531313t t η⨯∆==⨯∆ 流水按图5.5(b )组织时,实现A*B*C*D 的时空关系如图5.7所示。
吞吐率 311p T t
=
∆ 效率 35531111t t η⨯∆==⨯∆ 题5.5 为提高流水线的效率可用哪两种主要途径来克服速度瓶颈?现有3段流水线各段经过的时间依次为△t 、3△t 、△t 。
(1)分别计算在连续输入3条指令时和30条指令时的吞吐率和效率。
(2)按两种逾径之一改进,画出你的流水线结构示意图.同时计算连续输入3条指令和30条指令时的吞吐率和效率。
(3)通过对(1)、(2)两小题的计算比较可得出什么结论?
[解答] 提高流水线效率,消除速度瓶颈主要有将瓶颈段再细分以及重复设置多个颈段并联工作,给其轮流分配任务的两种途径。
(1)在3段流水线,各段经过时间依次为△t 、3△t 、△t 的情况下,连续流入3条指令
时,将n=3,m =3,△1t =△t ,2t =3△t ,△3t =△t, △j t =3△t 代入,可得吞吐率p T ,和效率η为
13352311(1)p m i
j i n
T t t t
t n t ====∆+⨯∆∆∆+-∆∑ 1135531111
(1)m
i
i m i j i n t t t m t n t η==•∆⨯∆===⨯∆⎡⎤∆+-∆⎢⎥⎣⎦∑∑ 而连续流入30条指令时,只需将上式之n 改为30,其它参数不变,得 31303015529346(301)p i
j i T t t t
t t ===
=∆+⨯∆∆∆+-∆∑ 3052539246
t t η⨯∆==⨯∆ (2)若采取将2段细分成3个子段,每个子段均为△t ,构成的流水线结构如图5.92所示。
连续流入3条指令时,将n =3,m =5,△i t =△j t =△t 代入,得 51333527(31)p i
i i T t t t
t t ===
=∆+∆∆∆+-∆∑ 5
133515575717i
i t t t t t
η=•∆⨯∆===⨯∆⨯∆∆∑ 连续流入30条指令时,将n=30代入,其它参数不变,有
5130301552917(301)p i
i i T t t t
t t ===
=∆+∆∆∆+-∆∑ 3051553417
t t η⨯∆==⨯∆ 若采取将3个2段并联构成的流水线,其构成如图5.10所示。
连续流入3条指令及流入30条指令时的吞吐率p T ,和效率η所计算的结果
分别与子过程细分的相同。
(3)将(1)题的计算结果进行比较可以看出,只有当连续流入流水线的联指令越多时,流水线的实际吞吐率和效率才会提高。
将(1)、(2)题的计算结果进行比较,同样可以看出,无论采用瓶颈子过程再细分,还是将多个瓶颈子过程并联来消除流水线瓶颈,都只有在连续流入流水线的指令数越多时才能使实际吞吐率和效率得到显著的提高。若连续流入流水线的指令数太少,消除流水线瓶颈虽可以提高流水线的实际吞吐率
T,而效率 却可
p
能下降。