这是一道略有点复杂的流水线问题。第三题,几个参数的计算:TP:实际吞吐量 完成的指令数量除以花费的时间 最大吞吐量大于实际吞吐量 加速比S:不用流水线和用流水线两种方式消耗的时间之比 效率E:完成指令的个数/总面积.
一开始看题都看不懂,十级流水线就是指S1-S10。50个结构相同的小程序,每个小程序包含15个指令,也就是总共有50*15=750条指令。一开始的想法是找出程序的执行规律,
也就是根据这个图,先执行四条指令然后再跳到第十条执行到15条不停继续执行1-4,按这样的规律来算
后来老师把题给改了,加了三问(3)假如现在从第九条跳转到14条然后从14条跳转到15条求参数。(4)奇数的指令跳转偶数的指令不跳转求参数(5)有30%的指令跳转,求参数。 题目这样改了之后你再继续找规律等于找死...所以换了种方式来求。也就是先假设不留空隙,把上图中10和4压缩在一起,也就是不考虑跳转最原始的流水线(第一个加上(n-1)*(没多久完成一个))。算完之后再加上空隙,空隙产生的干扰在于使流水线要重新进行装填,也就是每跳转一次就要重新装填,跳转多少次就要在最后加上多少个(每次跳转花费的时间)。算出来最后的结构即是答案。
也就是老师手指向的那个地方写的思路。