CPU
1.流水线处理
经典流水线–5级
IF:读取指令
ID:解码
EX:执行,ALU
MEM:内存访问
WB:结果写会寄存器堆
/*****************************************************************/
流水线可以使处理效率提升,减少其他等待时间
2.流水线冒险:
A。构造冒险
由于硬件资源的竞争,操作无法同时进行
例如:IF阶段和MEM阶段都涉及内存访问。
冯诺依曼架构:指令和数据放在一起,而访问内存使用的总线是共享资源,无法同时进行操作。
哈佛架构:指令和数据分开存放,就算指令访问和数据访问同时发生,也不会发生冒险的情况。但是,也有指令和数据地址空间不同的缺点。
将CPU直接访问的缓存基本上都分为指令用和数据用俩种,成为指令缓存和数据缓存。利用带有缓存的CPU构造,通过俩种缓存的使用,解决了指令访问和数据访问之间发生的构造冒险问题。
B。数据冒险
由于指令执行所需要的数据还未准备好所引起的冒险情况。
直通方法:
原本回写运算结果是在WB阶段,但实际决定运算结果是在EX阶段,直通是在运算结果确定的EX阶段,将数据直接传递给下个指令
C。控制冒险
控制冒险是指无法确定下一条指令而引发的冒险情况。