因为必须要等待所有子任务完成后才能发送控制信号将上一个子任务的数据传输给下一个子任务,所以必须要等待最慢的子任务完成后才可以进行下一步。就是MAXtao,从寄存器到任务执行的部件也需要时间,因此加上taol。
频率与时钟周期成反比。时钟周期分之一就是频率。
加速比就是不使用流水线的指令与使用流水线的指令的比值。
n个指令,每个指令有k个子任务,每个指令执行时间为tao,分子就是nKtao。
分母使用流水线方式所以就是k个任务所以就是Ktao + (n-1)tao,
上下约去tao,就是如图所示公式。
实际吞吐率就是全部命令的数量与全部时间的比值。
2400×19的-9次方是将ns转换成s。
流水CPU的相关冲突
MEM需要访问主存,IF也需要访问主存,发生冲突。
ADD还没有将数据写入,SUB指令就取出,肯定是错误的数据,发生冲突。
只有JMP才能引起控制相关。
当JMP到第五个cpu周期时开始写入,pc地址要写MOV指令的地址,中间进入流水线的指令都无效,直接跳过执行MOV,需要重新把四条指令插入到MOV后。