...
【24h】

Register Windows vs. Register Allocation

机译:注册Windows与注册分配

获取原文
获取原文并翻译 | 示例

摘要

A large register set can be exploited by keeping variables and constants in registers instead of in memory. Hardware register windows and compile-time or link-time global register allocation are ways to do this. A measure of the effectiveness of any of these register management schemes is how thoroughly they remove loads and stores. This measure must also count extra loads and stores executed because of window overflow or conflicts between procedures. By combining profiling, instrumentation, and in-line simulation, we measured the effectiveness of several register management schemes. These included compile-time and link-time schemes for allocating registers, and register window schemes using fixed-size or variable-sized windows. Link-time allocation based on profile information was the clear winner in some cases and did about as well as windows in the rest, Even link-time allocation based on an estimated profile was about as good as windows. Variable-sized windows sometimes did better than fixed-sized windows, but the difference was usually small. Register windows require extra logic in the data path, which may slow the machine cycle slightly, and often use more chip real estate for additional registers. Proponents of windows suppose that they trade these drawbacks for a reduction in the number of memory references they must make. Our results show that this tradeoff should be made the other way. Keep the hardware simple, because a link-time register allocator can nearly duplicate the improvement in memory reference frequency. Then the cycle time can be as small as possible, resulting in faster programs overall.
机译:通过将变量和常量保留在寄存器中而不是内存中,可以利用较大的寄存器集。硬件寄存器窗口和编译时或链接时全局寄存器分配是实现此目的的方法。这些寄存器管理方案中任何一个的有效性的衡量标准是它们彻底消除负载和存储的方式。此措施还必须计算由于窗口溢出或过程之间的冲突而执行的额外负载和存储。通过将性能分析,检测和在线模拟相结合,我们测量了几种寄存器管理方案的有效性。这些包括用于分配寄存器的编译时和链接时方案,以及使用固定大小或可变大小窗口的寄存器窗口方案。基于配置文件信息的链接时间分配在某些情况下是明显的赢家,而其余时间与Windows一样好。即使基于估计的配置文件的链接时间分配也与Windows差不多。可变大小的窗口有时要比固定大小的窗口好,但差异通常很小。寄存器窗口在数据路径中需要额外的逻辑,这可能会稍微降低机器周期,并经常将更多的芯片空间用于额外的寄存器。 Windows的支持者认为,他们以减少这些缺点为代价,必须减少必须执行的内存引用的数量。我们的结果表明,应该以其他方式进行权衡。保持硬件简单,因为链接时间寄存器分配器几乎可以复制内存参考频率方面的改进。这样循环时间就可以尽可能的短,从而使程序总体上更快。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号