节点文献
控制与数据投机优化技术的研究
Using Control and Data Speculation to Improve Instruction Level Parallelism
【摘要】 控制投机和数据投机是提高程序指令级并行度的有效方法 .为了保证投机指令的正确执行 ,须解决两个问题 ,即延迟触发控制投机指令导致的异常和数据投机中的别名歧义 .这需要硬件的支持才能做到 ,所以以前在这方面的研究大多是在模拟器上进行的[1~ 6] ,侧重于描述对模拟器结构的扩展 .而IA 6 4是第一个同时支持这两种优化的体系结构[7] .基于此 ,作者用一个统一的框架在IA 6 4开放源码研究编译器 (ORC)中首次实现了控制与投机优化 .该文以编译器为侧重点 ,介绍了投机优化中的几个核心问题及其解决方法 ,其中包括一种新的用来维护投机代码正确性的算法 .实验结果表明这种方法是有效的 .
【Abstract】 Control & Data speculations are effective ways to improve instruction level parallelism. In order to make the speculative code run correctly, people must solve two problems: delay the signaling of exceptions caused by control speculation and disambiguate alias memory references in data speculation. Because these issues can only be fixed under the support from hardware, previous works in this field were done on simulators, and were focused on problems of the architecture side. For now, IA-64 is the first architecture that support both control & data speculation. So, authors implemented control & data speculation in a unified framework in Open Research Compiler for IA-64. This paper introduces several important issues in control & data speculation and together with their solutions in the compiler side. Meanwhile, a new algorithm to maintain the correctness of speculative code is also covered. The experiment result shows that the algorithm has got considerable performance achievement.
【Key words】 speculation; control speculation; data speculation; speculative chain; recovery code; cascaded speculation;
- 【文献出处】 计算机学报 ,Chinese Journal of Computers , 编辑部邮箱 ,2004年07期
- 【分类号】TN305
- 【被引频次】1
- 【下载频次】50