题名 ORC的代码生成的关键技术
1
作者
薛丽萍
张兆庆
机构
中科院计算技术研究所先进编译技术研究组
出处
《计算机科学》
CSCD
北大核心
2004年第8期159-163,共5页
基金
国家836计划(合同号2001AA11061)
国家自然科学基金(批准号69933020)的资助
文摘
处理机的指令级并行能力只有通过编译器才得以发挥。代码生成是编译器后端中直接针对目标处理机的优化阶段的集合,因而它是提高目标处理机指令级并行的重要组成部分。ORC(Open Research Compiler)是一款针对IA-64体系结构的开放源码编译器,它具有丰富的优化阶段和良好的性能。本文介绍了 ORC 的代码生成的关键技术,这些技术包括区域构造、谓词相关优化、全局指令调度、参数化的机器描述以及微调度。实测结果表明,这些技术取得了显著的优化结果,ORC 相对于 Pro64能取得平均23%的加速比。
关键词
ORC
代码生成
IA-64体系结构
编译器
Pro64
Keywords
ORC
IA-64
Pro64
Code generator
分类号
TP311.5
[自动化与计算机技术—计算机软件与理论]
题名 全局指令调度综述
被引量:1
2
作者
杨书鑫
张兆庆
机构
中科院计算技术研究所先进编译技术研究组
出处
《计算机工程与应用》
CSCD
北大核心
2004年第21期44-48,89,共6页
基金
国家自然科学基金项目(编号:69933020)
国家863高技术研究发展计划项目(编号:2001AA11061)资助
文摘
指令调度通过调整指令之间的顺序来提高指令级并行度(ILP)。然而基本块通常很小,因而潜在的ILP也很小。随着芯片设计技术的发展,现代的处理机所包含的资源却越来越丰富。指令调度只有跨越基本块的边界(即全局指令调度)才能够充分发挥处理机潜在的和程序中固有的ILP。全局指令调度可划分为有环和无环两种。该文介绍了无环全局指令调度的几种影响力较大的算法。同时还简单介绍了有关全局指令调度的新的热点。
关键词
全局指令调度
指令级并行
Keywords
global instruction scheduling,instruction level parallelism
分类号
TP31
[自动化与计算机技术—计算机软件与理论]
题名 迭代式全局指令调度
3
作者
杨书鑫
薛丽萍
张兆庆
机构
中科院计算技术研究所先进编译技术研究组
出处
《计算机科学》
CSCD
北大核心
2004年第7期118-122,共5页
基金
国家863计划(合同号 2001AA11061)
国家自然科学基金(批准号69933020)
文摘
基于非线性控制流图的全局指令调度由于非线性控制流的控制流图的复杂性不易计算出一条指令在其所在控制流图中的优先级,因此也不易判断来自不同基本块的指令的优先顺序,从而导致在决定一条指令何时被调度出该指令所在的基本块以及调度到哪儿时倾向于保守和随意。例如D.Bernstetin的全局指令调度的启发性方法优先来自这些基本块的指令:调度器当前正在调度的基本块以及与当前基本块控制等价的基本块。然而,这种启发性方法往往导致处在关键路径上的指令被滞后。本文提出的迭代式全局指令调度算法基于D.Bernstein的全局调度算法。它采用与D.Bernstein相同的启发性方法,但有选择地多次调度一个基本块使得处在关键路径上的指令被尽早调度。实验结果表明该算法以增加10%的调度时间开销提高调度器8%的性能。
关键词
迭代式
全局指令调度
非线性控制流图
启发性方法
Keywords
Global instruction scheduler, Heuristic, Iterative, Non-linear control flow
分类号
TP311.5
[自动化与计算机技术—计算机软件与理论]