【24h】

Boosting beyond static scheduling in a superscalar processor

机译:超越超标量处理器中的静态调度

获取原文
获取外文期刊封面目录资料

摘要

This paper describes a superscalar processor that combines the best qualities of static and dynamic instruction scheduling to increase the performance of non-numerical applications. The architecture performs all instruction scheduling statically to take advantage of the compiler's ability to efficiently schedule operations across many basic blocks. Since the conditional branches in non-numerical code are highly data dependent, the architecture introduces the concept of boosted instructions, instructions that are committed conditionally upon the result of later branch instructions. Boosting effectively removes the dependencies caused by branches and makes the scheduling of side-effect instructions as simple as those that are side-effect free. For efficiency, boosting is supported in the hardware by shadow structures that temporarily hold the side effects of boosted instructions until the conditional branches that the boosted instructions depend upon are executed. When the branch condition is determined, the buffered side effects are either committed or squashed. The limited static scheduler in our evaluation system shows that a 1.6-times speedup over scalar code is achievable by boosting instructions above only a single conditional branch. This performance is similar to the performance of a pure dynamic scheduler.

机译:

本文介绍了一种超标量处理器,该处理器结合了静态和动态指令调度的最佳质量,以提高非数值应用程序的性能。该体系结构静态执行所有指令调度,以利用编译器有效地调度许多基本块上的操作的能力。由于非数字代码中的条件分支高度依赖于数据,因此该体系结构引入了增强的指令的概念,这些指令是根据后续分支指令的结果有条件地提交的。 Boosting有效消除了由分支引起的依赖性,并使副作用指令的调度与无副作用的指令一样简单。为了提高效率,硬件中的阴​​影结构支持增强,该结构临时保留增强指令的副作用,直到执行增强指令所依赖的条件分支为止。确定分支条件后,缓冲的副作用就会发生或被挤压。我们评估系统中有限的静态调度程序显示,仅通过将指令提升到单个条件分支上方,就可以实现标量代码1.6倍的加速。这种性能类似于纯动态调度程序的性能。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号