什么是固定预测?
在固定预测中,不断进行类似的猜测,无论是“总是采用”还是“总是不采用”的方法。
“始终未采用的方法” -“始终未采用”方法(或简称为“未采用”方法)具有以下典型处理方案如下:
它可以检测到未解决的条件分支并猜测它没有被采用。
它可以继续执行顺序路径,但为错误猜测做准备,开始并行执行所采用的路径(例如,计算 BTA)。
当条件变得可评估时,检查猜测。
如果猜测正确,则继续执行顺序路径,并删除已取路径预处理。
如果猜测不正确,则通过顺序路径中的已执行指令删除所有推测性的并继续“采用的路径”处理。
“总是不采取”方法更喜欢“不采取”路径,因此采取的惩罚(TP)通常高于不采取的惩罚(NTP)。如表所示,对于采用这种固定预测的处理器的惩罚系数。
采用“始终未采用”预测方法的处理器的处罚数字
处理器类型 | 采取惩罚周期 | 未采取惩罚周期 |
---|---|---|
Z 80000 (1984p) | 3 | 0 |
80486 (1989p) | 2 | 0 |
Power1 (1990) | 3 | 0 |
R 4000 (1992p) | 3(D) | 0 |
SuperSparc (1992p) | 1(四) | 0 |
力量2 (1993) | 1 | 0 |
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) | 1 | 2 |
以上是 什么是固定预测? 的全部内容, 来源链接: utcz.com/z/322890.html