下载此文档

[分享]图染色法的寄存器分配+-+北京大学教务部欢迎您.doc


文档分类:高等教育 | 页数:约21页 举报非法文档有奖
1/21
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/21 下载此文档
文档列表 文档介绍
[分享]图染色法的寄存器分配-北京大学教务部欢迎您图染色法的寄存器分配-北京大学教务部欢迎您值得拥有的资料是来自平时学****积累总结的有问题的地方肯定有的还请大家批评指正~图染色法的寄存器分配计算机科学与技术系98级吴汉唐摘要本文讲述了寄存器分配的图染色法理论Chaitin和他的同伴在IBM的YorktownHeights研究中心实现了第一个基于图染色法的全局的寄存器分配器后来Rice大学的PrestonBriggs对Chaitin的算法进行了改进和扩展Chaitin的算法悲观地假设任何高度数的结点都不能被染色只能被抛出(spilled)Briggs的算法乐观地认为高度数的结点有可能被染色从而获得更低的抛出开销(spillcosts)和更快的代码一介绍(一)编译器和优化一个优化编译器分为三个层次:*前端把源语言转换为中间代码这个转换依赖于源语言的结构需要几遍扫描(pass)代码才能完成编译时的错误检查就在这一层我们可以理想地认为前端是只与语言有关的、与机器无关的*优化器包含几遍的扫描(pass)每一遍扫描对中间代码执行特定的转换我们感兴趣的是全局优化就是从整个函数搜集有用信息再去做优化一般的全局优化包括强度削减(strengthreduction)循环不变量移动(loop-invariantcodemotion)monsubexpressionelimination)优化器最好是与语言和机器都无关的*后端把中间代码转换为针对特定机器的目标代码这个转换过程又称为代码生成也需要几遍扫描才能完成这几遍扫描包括指令选择(instructionselection),指令调度(instructionscheduling),寄存器分配(registerallocation)后端在很大程度上是与语言无关的与机器有关的这个划分简化了每一个层次的开发和维护使得在不同的编译器中复用每个层次成为可能例如一个完全与机器无关的FORTRAN语言前端可以用到为不同机器设计的编译器中当然这还是一个理想的观点在实际中每个层次都表现出既与语言相关又与机器相关这些相关限制复用和维护也成为编译器设计人员努力要克服的难关(二)优化和寄存器分配寄存器是位于CPU内部的少量的高速存储器寄存器与内存有很大的不同:*寄存器很少一个寄存器可以用几个比特直接定位内存空间很大内存的定位一般是通过间接的"寻址方式"其中可能包含一个或多个对寄存器的引用*寄存器很快在一个周期内可以同时读两个寄存器写第三个寄存器内存要慢些一次访问就需要几个周期因为寄存器的个数受限和高速度它们成为大多数计算机体系结构中的关键资源之一寄存器分配器作为后端的一个模块控制寄存器的分配和使用寄存器很重要最简单的情况每条机器指令的操作数要放在寄存器里在计算复杂表达式的过程中产生的中间结果也要在寄存器里更复杂的编译器会把经常使用的变量放在寄存器里来避免反复地存取如果是一个带优化的编译器它会把公共子表达式消除或者循环不变量移动以后的重用值放在寄存器里分配寄存器的任务有几个层次*寄存器只在一个表达式的范围内分配这是一项为了减少寄存器需求量的指令调度的技术*更先进的分配器可以在一个基本块的范围内管理寄存器*全局分配器在一个函数的范围内工作Chaitin的分配器就在这样的例子*程序间的寄存器分配是对一些函数工作通常是一个完整的程序为了支持全局的优化全局的寄存器分配是必须的(三)寄存器分配和图染色法实现好的寄存器分配总是很困难即使是最简单的实现也会因为机器的特殊细节变得复杂可靠的分配器必要能很好地对付复杂的程序和稀少的寄存器的情况图染色法提供了一种简化的抽象它建立一张表示分配过程中的各种限制的冲突图(interferencegraph)并对它染色把许多表面上各异的细节纳入统一的模式图中的结点代表生命期(liverange)边代表生命期之间的冲突关系一般说来如果两个生命期在函数的某一点是同时活跃(live)的它们就相互冲突不能占有同一个寄存器假设k就是机器中可供分配的寄存器数目如果图中的所有结点可以用k种或者更少的颜色染色有边相连的一对顶点接受不同的颜色那么这种图染色方案对应一种寄存器分配方案如果找不到一种k,:

[分享]图染色法的寄存器分配+-+北京大学教务部欢迎您 来自淘豆网www.taodocs.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数21
  • 收藏数0 收藏
  • 顶次数0
  • 上传人文库旗舰店
  • 文件大小41 KB
  • 时间2019-11-16