设有一指令流水线,由A,B,C三段组成,如图4-41a所示,由cache高速缓存每200ns连续提供4条指令。
(1)试画出在条件下,包括C面内的处理过程的时空图,并且求出其实际吞吐率和效率。
(2)将图4-41a改成4-41b的形式,画出此时处理过程得时空图并求其实际吞吐率和效率。
![img](https://img-mid.csdnimg.cn/release/static/image/mid/ask/562859636686189.jpg "#left
没有思路这道ti。谢谢
这里是一道典型的计算机体系结构的流水线问题。我来给你一些提示和思路:
- 根据题目提供的信息,我们知道有3段流水线A,B,C,cache每200ns提供4条指令。那么我们可以推算出每个流水线段的延迟时间应该是200/3=66ns。
- 由于cache提供的是4条指令,所以流水线应该是4级的,每个级别对应cache提供的一条指令。那么A,B,C3段应该分别对应流水线的3个级别。
- 我们可以画出流水线的时空图,横轴表示时间,纵轴表示流水线的级别。在cache提供指令的时间点,我们可以在对应级别画一个指令的符号表示有指令进入该级别。然后根据每个级别的延迟时间,我们可以画出指令在每个级别的推进。
- 实际吞吐率是流水线在单位时间内完成的指令数。这里我们有cache每200ns提供4条指令,而整个流水线的延迟是3*66=198ns。所以理论上吞吐率是4/0.198=20.2,实际吞吐率会略低一点,可以取18-20之间。
- 效率我们可以定义为实际吞吐率/理论吞吐率。这里理论吞吐率是cache提供指令的频率,为4/0.2=20条/ns。所以效率约为实际吞吐率/20。
根据这些思路,你可以画出流水线A,B,C的时空图,计算出实际吞吐率和效率。把图4-41a改为4-41b后,主要是cache提供指令的频率提高了,你需要根据新的频率重新计算各个流水线段的延迟和理论吞吐率,然后同样画图计算实际吞吐率和效率。