首页> 外文会议> >Effective ahead pipelining of instruction block address generation
【24h】

Effective ahead pipelining of instruction block address generation

机译:指令块地址生成的有效提前流水线

获取原文

摘要

On a N-way issue superscalar processor, the front end instruction fetch engine must deliver instructions to the execution core at a sustained rate higher than N instructions per cycle. This means that the instruction address generator/predictor (IAG) has to predict the instruction flow at an even higher rate while the prediction accuracy can not be sacrificed.Achieving high accuracy on this prediction becomes more and more critical since the overall pipeline is becoming deeper and deeper with each new generation of processors. Then very complex IAGs featuring different predictors for jumps, returns, conditional and unconditional branches and complex logic are used. Usually, the IAG uses information (branch histories, fetch addresses, . . . ) available at a cycle to predict the next fetch address(es). Unfortunately, a complex IAG cannot deliver a prediction within a short cycle. Therefore, processors rely on a hierarchy of IAGs with increasing accuracies but also increasing latencies: the accuratebut slow IAG is used to correct the fast, but less accurate IAG. A significant part of the potential instruction bandwidth is often wasted in pipeline bubbles due to these corrections.As an alternative to the use of a hierarchy of IAGs, it is possible to initiate the instruction address generation several cycles ahead of its use. In this paper, we explore in details such an ahead pipelined IAG. The example illustrated in this paper shows that, even when the instruction address generation is (partially) initiated five cycles ahead of its use, it is possible to reach approximately the same prediction accuracy as the one of a conventional one-block ahead complex IAG. The solution presented in this paper allows to deliver a sustained address generation rate close to one instruction block per cycle with state-of-the art accuracy.
机译:在N向问题超标量处理器上,前端指令获取引擎必须以高于每个周期N条指令的持续速率向执行内核传递指令。这意味着指令地址生成器/预测器(IAG)必须以更高的速率预测指令流,同时又不能牺牲预测精度。由于整个流水线越来越深,因此要达到这种预测的高精度就变得越来越关键。随着新一代处理器的深入发展。然后使用非常复杂的IAG,这些IAG具有针对跳转,返回,有条件和无条件分支以及复杂逻辑的不同预测变量。通常,IAG使用一个周期可用的信息(分支历史,获取地址...)来预测下一个获取地址。不幸的是,复杂的IAG无法在短周期内提供预测。因此,处理器依赖于IAG的层次结构,这些IAG的准确性不断提高,但延迟也不断增加:准确但缓慢的IAG用于校正快速但准确性不高的IAG。由于这些校正,潜在指令带宽的很大一部分经常浪费在流水线气泡中。作为使用IAG层次结构的替代方法,可以在使用指令之前几个周期启动指令地址生成。在本文中,我们将详细探讨这种超前的流水线IAG。本文所示的示例表明,即使指令地址生成在使用之前(部分)启动了五个周期,也有可能达到与传统的单块前置复IAG大致相同的预测精度。本文提出的解决方案允许以最新的精度提供持续的地址生成速率,每个周期接近一个指令块。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号