什么是固定预测?


在**固定预测**中,会持续做出类似的猜测,要么是“总是取”要么是“总是未取”的方法。

**“总是未取方法”** - “总是未取”方法(或简称“未取”方法)具有以下典型的处理方案:

  • 它可以检测到未解决的条件分支并将其猜测为“未取”。

  • 它可以继续执行顺序路径,但为了准备错误的猜测,可以并行开始执行取路径的执行(例如,计算 BTA)。

  • 当条件变得可评估时,检查猜测。

  • 如果猜测正确,则继续执行顺序路径,并删除取路径预处理。

  • 如果猜测不正确,则删除顺序路径中所有投机的已执行指令,并继续执行“取路径”处理。

“总是未取”方法优先选择“未取”路径,因此取罚分 (TP) 通常高于未取罚分 (NTP)。如表所示,对于采用这种固定预测的处理器的罚分数字。

采用“总是未取”预测方法的处理器的罚分数字

处理器类型取罚分周期未取罚分周期
Z 80000 (1984p)30
80486 (1989p)20
Power1 (1990)30
R 4000 (1992p)3(D)0
SuperSparc (1992p)1(D)0
Power2 (1993)10
MicroSparc (1992)1(D)1(D)

D: 延迟分支

如表所示,大多数使用“未取”预测方法的处理器在没有任何罚分的情况下执行未取条件分支。相反,取分支在大多数情况下会导致 1-3 个周期的罚分。在提供延迟分支的处理器(如 R4000 或 Sparc 处理器 Supersparc 和 MicroSparc)中,这些罚分值可以有效地减少一个周期。

另一方面,“未取”方案比“取”方案更容易实现。大量流水线微处理器采用此方案,包括某些早期处理器(如 i486),以及 1990 年代初出现的许多处理器。例如,SuperSparc、Power1 和 Power2,以及 α 21064 和 α 21064A。

**“总是取”方法** - “总是取”方法具有以下典型的处理方案:

  • 它总是将未解决的条件分支猜测为“取”。

  • 为了预期错误的猜测,保存处理状态(例如,PC),并开始执行取路径。

  • 当条件可用时,检查猜测。

  • 如果猜测正确,则继续执行取路径并删除保存的状态。

  • 如果猜测不正确,则删除取路径上的投机处理,并使用保存的处理状态继续执行顺序路径。

取罚分 (TP) 预计将小于未取分支的罚分 (NTP)。如表所示,显示了 MC 68040 的这些值。

“总是取”预测方法的罚分数字

处理器类型取罚分周期未取罚分周期
MC 68040 (1990)12

更新于: 2021-07-23

207 次查看

启动您的 职业生涯

通过完成课程获得认证

开始
广告

© . All rights reserved.