流水线的总体效率取决于最耽误事的那个结点,即流水线级数中最长延迟那个。(由于流水线是先后顺序传递的)效率
之因此会有超级流水线,就是由于有多级流水线中最耽误事的结点存在,因此将这个结点细分。由于这是这是影响全局的关键因素,但并非说越细分就越越好,细分是有成本的,增长流水线寄存器也是要有延迟的。因此当增长的流水线延迟大于细分分开的延迟,那就得不偿失了。并行
一共三种冒险,分别是数据冒险、结构冒险、控制冒险,能够直接从其名字加以区分,可是理解不到位,容易混淆。方法
数据冒险:与数据有关,数据的产生与ALU有关,因此,这里的冒险是指,ALU计算出数据尚未回写时就要被用到,那正常状况必定是用不到的。(不过有解决方法:数据前递,但也不是彻底解决,好比正在进行ALU计算时就要这个数据,那也是得不到的)cpu
结构冒险:与结构有关,好比指令和数据放在了同一个存储器,由于一次容许一个指令读,因此要冒险;还有读寄存器和写寄存器同时发生,又是发生争抢,要冒险。数据
控制冒险:控制去哪呗,好比一个分支指令,还不清楚下一步要去哪的时候,执行紧随它以后的指令是很悬的,因此又要冒险了。时间