在上图中,是不是SUB BX,4忙(乱序调度)?为什么不忙?因为通过无序执行的定义,我们只是改变了我们安排指令的方式。只要没有依赖关系,我们就可以按任何顺序执行它们,而不是按顺序执行它们。任何人都可以给出填表15.4的逻辑吗?我可以按照表15.3而不是表15.4
答案 0 :(得分:0)
在乱序处理器中,SUB BX,4并不依赖于另一条指令的结果。因此它可以开始执行,因为#2管道可用,尽管该管道也忙于负载。这是一条有多个指令在运行的管道,而不是只有一个指令的两个周期功能单元。 MOV CX,2000也可用,因为它可用。
现在由于没有完成加载并且找不到另一条指令而出现了气泡。因此,它被标记为忙碌一个周期。现在,加载的结果在DL中可用,并且下一条指令可以在周期4的流水线1中执行。流水线2处于空闲状态,因为我认为SUB占用了两个周期。
您没有提供足够的有关指令等待时间的信息。