一种面向数字信号处理器的多谓词控制及编译优化方法技术

技术编号:16353286 阅读:120 留言:0更新日期:2017-10-10 09:59
本发明专利技术涉及一种面向数字信号处理器的多谓词控制及编译优化方法,多谓词控制指令格式为:(p(1),p(2),…,p(n))Rs=Rm op Rn,含义为p(1),p(2),…,p(n),n>=1,n个控制谓词都为真时,指令Rs=Rm op Rn正常执行,否则Rs=Rm op Rn作废;其中,Rs=Rm op Rn指代计算指令或访存指令,p(1),p(2),…,p(n)为虚拟谓词寄存器;Rm、Rn、Rs为通用寄存器。本发明专利技术采用多谓词控制形式可以更为灵活高效地支持多个条件转换为谓词,生成的代码效率更高;多谓词形式消除了谓词定义嵌套的现象,多谓词控制使得谓词计算全局化、扁平化。

A multi predicate control and compiler optimization method for digital signal processor

The invention relates to a multiple predicate control and compiling optimization method for a digital signal processor, wherein the multiple predicate control instruction formats are: (P (1), P (2),... P, (n) Rs) = Rm op Rn, meaning P (1), P (2),... (n), P, n> n = 1, the control predicates are true, Rs = Rm OP instruction Rn normal execution, Rs = Rm or op Rn Rs = Rm void; among them, Op Rn refers to the calculation instruction or access instruction, P (1). P (2),... P (n) is a virtual predicate register, and Rm, Rn, and Rs are general registers. The invention adopts multi predicate control form can be more flexible and efficient support for multiple conditions into a predicate, the generated code is more efficient; multi predicate form eliminates nested predicate defined phenomenon, multi predicate control makes the predicate calculation, global flat.

【技术实现步骤摘要】

本专利技术涉及数字信号处理器体系结构设计以及编译优化
,尤其是一种面向数字信号处理器的多谓词控制及编译优化方法
技术介绍
分支跳转是进行指令级开发的基本障碍,谓词执行是一种有效消除分支跳转的机制,它是将程序进行控制依赖到数据依赖的变换。分支跳转的消除可以提高程序的执行性能,从硬件体系结构上讲,分支跳转的消除可以减小分支预测失败导致的硬件开销;从编译层面讲,分支跳转的消除可以扩大调度范围,允许了多个条件路径指令的重叠并行执行,挖掘了跨越多个程序路径的指令级并行性。一般的经典谓词形式为:p1,p2=RmcondRn(p1)op1(p2)op2如果条件计算RmcondRn成立(其中cond为某种比较计算,例如大于),则p1为0,p2为1,从而指令op1作废,op2正常运行;反之,如果条件RmcondRn不成立,则p1为1,p2为0,从而指令op1正常运行,op2作废。这种谓词实现形式具有较强的通用性,也便于编译优化支持,但其具有一定的局限性:第一,不能消除谓词控制的条件跳转语句;第二,有可能导致较长的谓词计算依赖路径。
技术实现思路
本专利技术的首要目的在于提供一种既可以高效利用数字信号处理器提供的丰富的逻辑运算资源,又可以提高条件分支的执行效率的面向数字信号处理器的多谓词控制及编译优化方法。为实现上述目的,本专利技术采用了以下技术方案:一种面向数字信号处理器的多谓词控制及编译优化方法,多谓词控制指令格式为:(p(1),p(2),…,p(n))Rs=RmopRn,含义为p(1),p(2),…,p(n),n>=1,n个控制谓词都为真时,指令Rs=RmopRn正常执行,否则Rs=RmopRn作废;其中,Rs=RmopRn指代计算指令或访存指令,p(1),p(2),…,p(n)为虚拟谓词寄存器;Rm、Rn、Rs为通用寄存器;这种多谓词控制格式的执行步骤为:(1)谓词寄存器设计为32位物理寄存器Pred的0位、1位、2位、…、31位,当0位为1时,表示物理谓词寄存器p0为1,物理谓词寄存器p1为0,当0位为0时,表示物理谓词寄存器p0为0,物理谓词寄存器p1为1;当1位为1时,表示物理谓词寄存器p2为1,物理谓词寄存器p3为0,当1位为0时,表示物理谓词寄存器p2为0,物理谓词寄存器p3为1;依次类推;其中p0,p2、…、p30称为真物理谓词寄存器,p1,p3、…、p31称为假物理谓词寄存器;(2)读取当前指令的多个控制谓词,即p(1),p(2),…,p(n),根据以上对应关系,生成对应该32位物理寄存器的Mask和C,其中Mask为当前指令的控制谓词对应的物理寄存器对应位二进制权重的和,C为当前指令的多谓词对应的物理寄存器对应位的权重与对应真谓词寄存器的值乘积的累加和;(3)判断多谓词控制指令的Pred[Mask]==C是否为真,如果为真,则当前指令正常执行,如果为假,则当前指令作废。定义多谓词的指令格式为:p(1),p(2)=RmcondRn,其中cond为比较条件,包括大于、大于等于、等于、不等于、小于、小于等于,当条件为真,p(1)为假,p(2)为真;反之,p(1)为真,p(2)为假。在编译时,其步骤如下:步骤一:在编译优化后端,按照区域依次处理,计算谓词转换代价,选择合适的区域进行谓词转换;步骤二:通过控制流分析,识别每个基本块的局部谓词;步骤三:遍历当前区域控制流,计算属于每个基本块的绝对控制谓词路径,沿着控制流方向依次计算,该过程是迭代的,直至找到每个基本块的全部控制谓词路径;步骤四:合并基本块,为基本块的指令放置对应谓词,多个基本块合并为一个基本块,最终生成谓词中间代码;在合并基本块阶段,把全部的条件计算放置合并基本块的靠前位置,而把有效的多谓词控制指令放置在合并基本块的靠后位置,最终形成多谓词的计算形式。由上述技术方案可知,本专利技术的优点在于:第一,多谓词控制形式可以更为灵活高效地支持多个条件转换为谓词,生成的代码效率更高;第二,多谓词形式消除了谓词定义嵌套的现象,多谓词控制使得谓词计算全局化、扁平化;第三,多谓词控制形式消除了谓词之间的依赖关系,简化了谓词数据依赖分析,使得编译优化更为高效。附图说明图1为经典谓词编译框架;图2为多谓词控制编译框架;图3为识别局部谓词;图4为识别谓词控制的绝对路径;图5为多谓词控制基本块。具体实施方式一种面向数字信号处理器的多谓词控制及编译优化方法,多谓词控制指令格式为:(p(1),p(2),…,p(n))Rs=RmopRn,含义为p(1),p(2),…,p(n),n>=1,n个控制谓词都为真时,指令Rs=RmopRn正常执行,否则Rs=RmopRn作废;其中,Rs=RmopRn指代计算指令或访存指令,p(1),p(2),…,p(n)为虚拟谓词寄存器;Rm、Rn、Rs为通用寄存器;这种多谓词控制格式的执行步骤为:(1)谓词寄存器设计为32位物理寄存器Pred的0位、1位、2位、…、31位,当0位为1时,表示物理谓词寄存器p0为1,物理谓词寄存器p1为0,当0位为0时,表示物理谓词寄存器p0为0,物理谓词寄存器p1为1;当1位为1时,表示物理谓词寄存器p2为1,物理谓词寄存器p3为0,当1位为0时,表示物理谓词寄存器p2为0,物理谓词寄存器p3为1;依次类推;其中p0,p2、…、p30称为真物理谓词寄存器,p1,p3、…、p31称为假物理谓词寄存器;(2)读取当前指令的多个控制谓词,即p(1),p(2),…,p(n),根据以上对应关系,生成对应该32位物理寄存器的Mask和C,其中Mask为当前指令的控制谓词对应的物理寄存器对应位二进制权重的和,C为当前指令的多谓词对应的物理寄存器对应位的权重与对应真谓词寄存器的值乘积的累加和;(3)判断多谓词控制指令的Pred[Mask]==C是否为真,如果为真,则当前指令正常执行,如果为假,则当前指令作废。定义多谓词的指令格式为:p(1),p(2)=RmcondRn,其中cond为比较条件,包括大于、大于等于、等于、不等于、小于、小于等于,当条件为真,p(1)为假,p(2)为真;反之,p(1)为真,p(2)为假。在编译时,其步骤如下:步骤一:在编译优化后端,按照区域依次处理,计算谓词转换代价,选择合适的区域进行谓词转换;步骤二:通过控制流分析,识别每个基本块的局部谓词;步骤三:遍历当前区域控制流,计算属于每个基本块的绝对控制谓词路径,沿着控制流方向依次计算,该过程是迭代的,直至找到每个基本块的全部控制谓词路径;步骤四:合并基本块,为基本块的指令放置对应谓词,多个基本块合并为一个基本块,最终生成谓词中间代码;在合并基本块阶段,把全部的条件计算放置合并基本块的靠前位置,而把有效的多谓词控制指令放置在合并基本块的靠后位置,最终形成多谓词的计算形式。图1为经典谓词编译框架,先选择适合谓词转换的region,然后进行数据流分析,识别每个基本块的谓词,根据基本块谓词之间的依赖关系,插入相应的谓词定义语句,此时会引入谓词控制的谓词定义指令或跳转指令,最后为每个基本块的指令放置谓词控制寄存器,并进行基本块合并,生成谓词中间代码。图2为多谓词识别框架,先选择适合谓词转换的region,通过控制流分析,识别每个基本块的控制谓词,一本文档来自技高网...
一种面向数字信号处理器的多谓词控制及编译优化方法

【技术保护点】
一种面向数字信号处理器的多谓词控制及编译优化方法,其特征在于:多谓词控制指令格式为:(p(1),p(2),…,p(n))Rs=Rm op Rn,含义为p(1),p(2),…,p(n),n>=1,n个控制谓词都为真时,指令Rs=Rm op Rn正常执行,否则Rs=Rm op Rn作废;其中,Rs=Rm op Rn指代计算指令或访存指令,p(1),p(2),…,p(n)为虚拟谓词寄存器;Rm、Rn、Rs为通用寄存器;这种多谓词控制格式的执行步骤为:(1)谓词寄存器设计为32位物理寄存器Pred的0位、1位、2位、…、31位,当0位为1时,表示物理谓词寄存器p0为1,物理谓词寄存器p1为0,当0位为0时,表示物理谓词寄存器p0为0,物理谓词寄存器p1为1;当1位为1时,表示物理谓词寄存器p2为1,物理谓词寄存器p3为0,当1位为0时,表示物理谓词寄存器p2为0,物理谓词寄存器p3为1;依次类推;其中p0,p2、…、p30称为真物理谓词寄存器,p1,p3、…、p31称为假物理谓词寄存器;(2)读取当前指令的多个控制谓词,即p(1),p(2),…,p(n),根据以上对应关系,生成对应该32位物理寄存器的Mask和C,其中Mask为当前指令的控制谓词对应的物理寄存器对应位二进制权重的和,C为当前指令的多谓词对应的物理寄存器对应位的权重与对应真谓词寄存器的值乘积的累加和;(3)判断多谓词控制指令的Pred[Mask]==C是否为真,如果为真,则当前指令正常执行,如果为假,则当前指令作废。...

【技术特征摘要】
1.一种面向数字信号处理器的多谓词控制及编译优化方法,其特征在于:多谓词控制指令格式为:(p(1),p(2),…,p(n))Rs=RmopRn,含义为p(1),p(2),…,p(n),n>=1,n个控制谓词都为真时,指令Rs=RmopRn正常执行,否则Rs=RmopRn作废;其中,Rs=RmopRn指代计算指令或访存指令,p(1),p(2),…,p(n)为虚拟谓词寄存器;Rm、Rn、Rs为通用寄存器;这种多谓词控制格式的执行步骤为:(1)谓词寄存器设计为32位物理寄存器Pred的0位、1位、2位、…、31位,当0位为1时,表示物理谓词寄存器p0为1,物理谓词寄存器p1为0,当0位为0时,表示物理谓词寄存器p0为0,物理谓词寄存器p1为1;当1位为1时,表示物理谓词寄存器p2为1,物理谓词寄存器p3为0,当1位为0时,表示物理谓词寄存器p2为0,物理谓词寄存器p3为1;依次类推;其中p0,p2、…、p30称为真物理谓词寄存器,p1,p3、…、p31称为假物理谓词寄存器;(2)读取当前指令的多个控制谓词,即p(1),p(2),…,p(n),根据以上对应关系,生成对应该32位物理寄存器的Mask和C,其中Mask为当前指令的控制谓词对应的物理寄存器对应位二进制权重的和,C为当前指令的...

【专利技术属性】
技术研发人员:王向前王昊项利萍郭二辉洪一孙立宏
申请(专利权)人:中国电子科技集团公司第三十八研究所
类型:发明
国别省市:安徽;34

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1