摘要
寄存器是程序运行时最宝贵的资源之一,软件流水在对VLIW DSP指令调度的同时,会显著增加寄存器的压力,从而导致寄存器溢出,软件流水中止。在以往的研究中,软件流水之前的指令分簇会更多地考虑指令并行性,往往会把寄存器的压力交给寄存器分配阶段,当物理寄存器不够分配时会造成寄存器溢出。通过考察指令运行时的寄存器压力情况对指令进行分簇,这样可根据各个簇的寄存器压力的动态信息减少寄存器的溢出,提高指令运行效率。
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 run-time inspection of the register command pressure. This is a dynamic method, according to all the pressure of each cluster's register, which can reduce register spill and improve the efficiency of the program.
出处
《计算机应用》
CSCD
北大核心
2010年第1期274-276,共3页
journal of Computer Applications
关键词
超长指令字
编译器
分簇
寄存器压力
软件流水
模变量扩展
Very Long Instruction Word (VLIW)
compiler
clustering
register pressure
software pipelining
modulo variable extension