计算机工程
計算機工程
계산궤공정
COMPUTER ENGINEERING
2013年
9期
15-19
,共5页
软件流水%编译器%模调度%循环优化%循环寄存器文件%模变量扩展
軟件流水%編譯器%模調度%循環優化%循環寄存器文件%模變量擴展
연건류수%편역기%모조도%순배우화%순배기존기문건%모변량확전
Software Pipelining(SWP)%compiler%modulo scheduling%loop optimization%circulating register file%modulo variable expansion
由于缺乏相关硬件功能,Open64编译器的软件流水技术没有面向X86处理器的版本。为此,提出一种适用于X86平台的Open64软件流水实现框架。利用软件实现处理器的部分硬件行为,通过循环过滤方法剔除不适用的循环。针对缺乏循环寄存器文件的问题,设计寄存器分配算法达到使用通用寄存器的目的,并添加模变量扩展模块以保证执行的正确性。实验结果表明,与循环展开方案相比,该框架可使系统平均获得9%的性能提升。
由于缺乏相關硬件功能,Open64編譯器的軟件流水技術沒有麵嚮X86處理器的版本。為此,提齣一種適用于X86平檯的Open64軟件流水實現框架。利用軟件實現處理器的部分硬件行為,通過循環過濾方法剔除不適用的循環。針對缺乏循環寄存器文件的問題,設計寄存器分配算法達到使用通用寄存器的目的,併添加模變量擴展模塊以保證執行的正確性。實驗結果錶明,與循環展開方案相比,該框架可使繫統平均穫得9%的性能提升。
유우결핍상관경건공능,Open64편역기적연건류수기술몰유면향X86처리기적판본。위차,제출일충괄용우X86평태적Open64연건류수실현광가。이용연건실현처리기적부분경건행위,통과순배과려방법척제불괄용적순배。침대결핍순배기존기문건적문제,설계기존기분배산법체도사용통용기존기적목적,병첨가모변량확전모괴이보증집행적정학성。실험결과표명,여순배전개방안상비,해광가가사계통평균획득9%적성능제승。
Due to lack of some hardware functions, Software Pipelining(SWP) on Open64 can not work on X86 processors. To solve this problem, this paper proposes an Open64 software pipelining framework. This framework can make SWP work well on X86 processors by software implementation of some processor features, by some loop filtering and by rewriting the register allocation code for the lack of circulating register file to achieve the purpose of the use of general purpose registers and adding the modulo variable expansion modulo to ensure the correctness. Experimental results show that this framework can achieve an average of 9% performance improvement.