假设一条指令的执行过程分为“取指令”、“分析”和“执行”三段,每一段的时间分别是△ t、2△t 和 3△t
在下列各种情况下,分别写出连续执行n 条指令所需要的时间表达式
⑴顺序执行方式
⑵仅“取指令”和“执行”重叠
⑶“取指令”、“分析”和“执行”重叠
答:⑴顺序执行方式1 2
1 2 1 2 T=n1iiii)ttt(执行分析取址=n( △t +2△t +3△t) =6n△t ⑵仅“取指令”和“执行”重叠1 2
1 2 1 2 T=6△t +1-n1iii)tt(执行分析=6△t +(n-1)(2 △t +3△t) =(5n +1) △t ⑶“取指令”、“分析”和“执行”重叠1 2 3 4
1 2 3 4 1 2 3 4 T=6△t +1-n1ii )t(执行=6△t +(n-1)(3 △t) =(3n +3) △t△t2△t3△t△t2△t3△t△t2△t3△t2
一条线性流水线有4 个功能段组成,每个功能段的延迟时间都相等,都为△t
开始 5 个任务,每间隔一个△ t 向流水线输入一个任务,然后停顿2个△ t,如此重复
求流水线的实际吞吐率、加速比和效率
答:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 我们可以看出,在( 7n+1)Δ t 的时间内,可以输出5n 个结果,如果指令的序列足够长( n→∞),并且指令间不存在相关,那么,吞吐率可以认为满足:加速比为