检索规则说明:AND代表“并且”;OR代表“或者”;NOT代表“不包含”;(注意必须大写,运算符两边需空一格)
检 索 范 例 :范例一: (K=图书馆学 OR K=情报学) AND A=范并思 范例二:J=计算机应用与软件 AND (U=C++ OR U=Basic) NOT M=Visual
机构地区:[1]清华大学计算机科学与技术系,北京100084
出 处:《清华大学学报(自然科学版)》2003年第7期997-1000,共4页Journal of Tsinghua University(Science and Technology)
基 金:国家自然科学基金资助项目(60173010);国家"八六三"高技术计划资助项目(2001AA111060)
摘 要:软件流水是开发指令级并行性的重要方法之一。IA-64是支持软件流水的EPIC(显式并行指令计算)体系结构。通过对NASBenchmarks和MediaBench中软件流水所需的寄存器进行分析,指出静态通用寄存器是导致软件流水失败的主要因素。提出了解决IA-64中软件流水失败的两种方法:限制循环展开因子的启发式算法(RSU)和堆栈寄存器分配算法(SRA)。RSU通过适当减小循环展开因子,增加了软件流水的成功率;SRA在静态寄存器和旋转寄存器之间达到了动态的平衡,提高了寄存器的利用率,更有效地提高了编译器的性能。Software pipelining is a l oo p scheduling technique that explores instruction level parallelism by overlappin g execution of several consecutive iterations. IA-64 is a new EPIC architecture that provides hardware support for software pipelining. Analysis of the registe r requirements for software pipelined loops showed that the static general regis ter played a key role in software pipelining failure. A heuristic algorithm call ed register sensitive unrolling was developed to increase the number of software pipelined loops by limiting unrolling factors. The stacked register allocation algorithm was developed to improve register usage efficiency by allocating stack ed general registers as static general registers, and the algorithm markedly boosts compiler perform ance.
关 键 词:软件开发 软件流水 指令调度 IA-64 循环展开启发式算法 堆栈寄存器分配算法
分 类 号:TP311.52[自动化与计算机技术—计算机软件与理论]
正在载入数据...
正在载入数据...
正在载入数据...
正在载入数据...
正在载入数据...
正在载入数据...
正在载入数据...
正在链接到云南高校图书馆文献保障联盟下载...
云南高校图书馆联盟文献共享服务平台 版权所有©
您的IP:216.73.216.7