计算机应用 ›› 2010, Vol. 30 ›› Issue (1): 274-276.
• 典型应用 • 上一篇 下一篇
雷一鸣1,洪一2,徐云3,姜海涛3
收稿日期:
修回日期:
发布日期:
出版日期:
通讯作者:
Received:
Revised:
Online:
Published:
Contact:
摘要: 寄存器是程序运行时最宝贵的资源之一,软件流水在对VLIW DSP指令调度的同时,会显著增加寄存器的压力,从而导致寄存器溢出,软件流水中止。在以往的研究中,软件流水之前的指令分簇会更多地考虑指令并行性,往往会把寄存器的压力交给寄存器分配阶段,当物理寄存器不够分配时会造成寄存器溢出。通过考察指令运行时的寄存器压力情况对指令进行分簇,这样可根据各个簇的寄存器压力的动态信息减少寄存器的溢出,提高指令运行效率。
关键词: 超长指令字, 编译器, 分簇, 寄存器压力, 软件流水
Abstract: Register is one of the most valuable resources. Software pipelining could bring about register pressure while scheduling instruction of VLIW DSP, which would cause register spill and software pipelining suspension. In the past research, instruction clustering pay more attension on instruction parallelism, and pass the register pressure to register allocator. In this paper, the authors clustered instruction through runtime inspection of the register command pressure. This is a dynamic method, according to all the pressure of each clusters register, which can reduce register spill and improve the efficiency of the program.
Key words: Very Long Instruction Word (VLIW), compiler, clustering, register pressure, software pipelining
雷一鸣 洪一 徐云 姜海涛. 一种基于寄存器压力的VLIW DSP分簇算法[J]. 计算机应用, 2010, 30(1): 274-276.
0 / 推荐
导出引用管理器 EndNote|Ris|BibTeX
链接本文: https://www.joca.cn/CN/
https://www.joca.cn/CN/Y2010/V30/I1/274