本题出自清华大学出版社计算机系统结构教程第 3 版习题 3-6 。

当流水线各段的时间不完全相等时,流水线的最大吞吐率和实际吞吐率由时间最长的那个段决定,这个段就成为了整个流水线的瓶颈。消除流水线瓶颈的两种方法:
第一问
TP=i=1∑kΔti+(n−1)1≤i≤nmax{Δti}n=(50+50+100+200)+9×20010=2201ns−1
计算流水线效率的一般公式为
E=k个段总的时空区面积n个任务实际占用的时空区面积
对于此题
E=k[i=1∑kΔti+(n−1)1≤i≤nmax{Δti}]n⋅i=1∑kΔti=4×[(50+50+100+200)+9×200]10×(50+50+100+200)=115
第二问
该流水线的瓶颈为第 3 、 4 段。
-
措施一:细分瓶颈段,将流水线变为八级流水线

此时
TP=i=1∑kΔti+(n−1)1≤i≤nmax{Δti}n=50×8+9×5010=851ns−1
E=k+n−1n=1710
-
措施二:重复设置部件

在这种情况下,流水线的时空图为

效率为
E=850×8400×10=1710