https://www.icourses.cn/web/sword/portal/shareDetails?&cId=3266#/course/assignments
吞吐率:单位时间内流水线所完成的任务数量或输出结果的数量
加速比:使用顺序处理方式处理一批任务所用的时间与按流水处理方式处理同一 批任务所用的时间之比
效率:即流水线设备的利用率,指流水线中的设备实际使用时间与整个运行时间的比值
3.12 有一指令流水线如下所示
(1) 求连续输入 10 条指令,该流水线的实际吞吐率和效率;
(2) 该流水线的“瓶颈”在哪一段?请采取两种不同的措施消除此“瓶颈”。对于你
所给出的两种新的流水线,连续输入 10 条指令时,其实际吞吐率和效率各是多
少?
解:(1)
这个效率E的计算没太懂,按照定义算发现也可以
E
= 设备实际使用时间 / 整个运行时间
= ( 每条指令耗时 * 指令数量 ) / ( 流水线运行时间 * 流水线级数 )
= ( 50ns + 50ns + 100ns + 200ns ) * 10 / ( 2200ns * 4 )
= 5 / 11
≈ 45.45%
(2)瓶颈在 3、4 段。
方法一,变成八级流水线(细分)
E
= 设备实际使用时间 / 整个运行时间
= ( 50ns + 50ns + 100ns + 200ns ) * 10 / ( 850ns * 8 )
= 10 / 17
≈ 58.82%
方法二,重复设置部件
3.13 有一个流水线由 4 段组成,其中每当流经第 3 段时,总要在该段循环一次,然后才能流到第 4 段。如果每段经过一次所需要的时间都是 Δt ,问:
(1) 当在流水线的输入端连续地每 Δt 时间输入任务时,该流水线会发生什么情况?
(2) 此流水线的最大吞吐率为多少?如果每 2Δt 输入一个任务,连续处理 10 个任务
时的实际吞吐率和效率是多少?
(3) 当每段时间不变时,如何提高该流水线的吞吐率?仍连续处理 10 个任务时,其
吞吐率提高多少?
解:(1)会发生流水线阻塞情况。
(2)
E = 5Δt * 10 / ( 23Δt * 4 ) ≈ 54.35%
(3)重复设置部件
这题的效率计算就是按定义算的
不过感觉从11Δt开始可以一个时钟周期发射?总共就只需要17Δt了