《计算机学报》文章摘要 全文下载 | |
文章题目 | 优化RSE开销的过程间栈寄存器分配 |
作者 | 刘旸 张兆庆 |
作者单位 | (中国科学院计算技术研究所 北京 100080) (中国科学院研究生院 北京 100080) |
发表年份 | 2004 |
发表月份 | 9期(1198—1206) |
文章摘要 | 摘要 安腾处理器引入了硬件控制的寄存器栈,寄存器栈引擎能够自动地改变寄存器栈帧指针,对栈寄存器进行保存和恢复,从而有效地减少跨越过程调用时的寄存器值的保存和重新载入.每个过程使用的栈寄存器数量可以通过alloc指令显式地指定.通常的过程内寄存器分配方法给过程分配最大需要数量的栈寄存器.但过多的栈寄存器使用会引起寄存器栈溢出/载入.如果频繁出现这样的寄存器栈溢出/载入,将严重影响程序执行性能.该文提出了一种创新的算法,能够有效地减少RSE代价.该算法已经在开放源码编译器ORC中得到了实现.实验表明,SpecINT2000在使用该算法后性能普遍提高,perlbmk的性能提高了14%,而crafty也有3.2%的性能提高. 关键词 寄存器栈;寄存器栈引擎;寄存器栈溢出/载入 中图法分类号 TP302 |