SuperScalar订单外调度

问题描述 投票:1回答:1

enter image description here

在上图中,不是SUB BX,4很忙吗(在失序调度中)?为什么不忙呢?因为按照失序执行的定义,我们只是改变了指令的调度方式。我们不是按顺序做,而是只要没有依赖关系,就按任何顺序做。谁能给出填表15.4的逻辑?我可以按照表15.3来做,但不能按照表15.4来做。

cpu
1个回答
0
投票

在出序处理器中,SUB BX,4并不是数据依赖于另一条指令的结果。所以它可以开始执行,因为有一条流水线,#2,是可用的,尽管那条流水线也在忙着加载。这是一个 管道 具有多条指令的飞行,而不是简单的只有一条指令的双循环功能单元。MOV CX,2000也会出现问题,因为它是可用的。

现在有一个气泡,因为负载没有完成,找不到另一条指令执行。所以被标记为忙了一个周期。现在负载的结果在DL中可用,下一条指令可以在第4个周期的1号流水线中执行。2号流水线会空闲,因为,我猜想,SUB花了两个周期。

你没有给出足够的关于指令延迟的信息。

© www.soinside.com 2019 - 2024. All rights reserved.