【问题标题】:How to implement a simple stride predictor?如何实现一个简单的步幅预测器?
【发布时间】:2023-11-23 22:18:01
【问题描述】:

我已经实现了一个上下文 Markov predictor,我需要创建一个 stride predictor 以自信地将它们组合成一个 hybrid predictor
一开始我需要实现这个stride predictor。我读过它,我发现了这个figure,但我想让它更简单。
经典公式是Vn=V(n-1)+(V(n-1)-V(n-2)),我想有2个变量difference1等于V(n-1)-V(n-2)difference2等于V(n-2)-V(n-3),然后比较它们,如果它们相等则Vn=V(n-1)+difference1 .

任何想法将不胜感激。

【问题讨论】:

    标签: prediction hybrid markov stride


    【解决方案1】:

    我认为没有必要改变经典公式。

    其背后的原因是你只需要知道两个变量就可以做出假设。事实上,您每次做出假设,而不仅仅是为了防止步幅与上一个步幅相同。

    预测器具有三种运行状态:

    initial - 当没有关于步幅的信息时

    transient - 变量的前一个值和当前值之间有一个跨度

    稳定 - 之前的预测是正确的

    我猜状态转换是不言自明的,但以防万一:

    initial -> 当变量采用新值时发生瞬态 当使用预测器移动到瞬态时计算的步幅的预测正确时,瞬态 -> 稳定发生 稳定 -> 瞬态发生在使用步幅的预测不正确时,新的步幅成为活动步幅

    【讨论】: