• 结构冒险:一个部件可能在被不同的指令使用;就是资源冲突,可以使用多个部件(增加一个读口和写口,采用读、写周期;或者分数据内存和指令内存),来避免冲突
  • 数据冒险:后面的指令用到前面指令的数据;采用转发、阻塞、编译优化等等
  • 控制冒险:程序不是顺序执行了,而后面的指令已经被取出运行