| 摘要: |
| 提出一种采用软硬件结合的运行时消除指针别名歧义的新方法SHRTD(software/hardware run-time disambiguation).为延迟运行时不正确的内存访问及其后继操作,SHRTD的功能单元执行NOP操作.为保证所有延迟操作执行顺序的一致性,编译时就确定执行NOP操作的所有功能单元的顺序和NOP操作的数目.SHRTD方法适用于不可逆代码,同时它的代码空间受限,也不存在严重的代码可重入性问题.新方法有效地解决了指针别名问题,为获得潜在的指令级并行加速提供了可能. |
| 关键词: 指令级并行性,超长指令字,指针别名,运行时检查,运行时补偿. |
| DOI: |
| 分类号: |
| 基金项目:本文研究得到国家自然科学基金资助. |
|
| A New Run-Time Pointer Aliasing Disambiguation Method |
|
TANG Zhi-zhong,QIAO Lin,ZHANG Chi-hong,SU Bo-gong
|
| Abstract: |
| In this paper, a new run-time pointer aliasing disambiguation method, called SHRTD (software/hardware run-time disambiguation), which combines hardware and software techniques is presented. During run time, the SHRTD method lets function units execute NOPs to implement the postponement of the incorrect memory load operation and its successive operations. To guarantee the consistency of the execution sequence of all postponed operations, the order of function units which executes NOPs and the number of NOPs must be determined during compiler time. The SHRTD can be used for irreversible code, and it has very limited compensation code space and no serious rerollability problem. The SHRTD method solves pointer aliasing problem efficiently and makes it possible to obtain potential instruction-level parallel speedup. |
| Key words: Instruction-level parallelism, very-long instruction word, pointer aliasing, run-time checking, run-time compensation. |