指令流水线的吞吐率

来源:互联网 发布:whatsapp电脑版 mac 编辑:程序博客网 时间:2024/04/30 15:18

假设一个四段流水线,取指段的时间为t,译码段的时间为t,取数段的时间为3t,执行段的时间为t。流水线示意图如下:

 

吞吐率01

    为了便于计算假设取指和译码段总是连续执行的。流水线执行n条指令时其执行过程的时空图如下图所示:

 吞吐率02

 

    从图中不难看出,第一条指令的执行时间是6t;第二条指令在执行时停顿了两个周期,第二条指令的完成时间比第一条指令的完成时间晚3t;第三条、第四条......第n条与此相同。

    因此,该流水线执行n条指令的时间就是:6t+(n-1)3t

    流水线的实际吞吐率就是:n/6t+(n-1)3t

 

流水线时间计算公式:一条指令所需时间+(指令条数-1)*时间最长的指令的一段 // 6t+(n-1)3t

吞吐率公式:指令条数 除以 流水线时间 // n/(6t+(n-1)3t)

 

----------相关内容整理自网络

0 0
原创粉丝点击