一种计算机程序的优化方法及系统

    公开(公告)号:CN101876899B

    公开(公告)日:2014-06-25

    申请号:CN200910243303.5

    申请日:2009-12-18

    Abstract: 本发明涉及一种计算机程序的优化方法及系统。该优化方法包括:步骤1,通过值编号分析计算得到每个变量和表达式的值编号;步骤2,将静态单赋值形式的计算机程序转换为半稀疏值流图形式的计算机程序;步骤3,计算半稀疏值流图形式的计算机程序进行标量优化所需的初始属性;如果初始属性已经包含所有所需优化信息则执行步骤4,否则扩展半稀疏值流图形式的计算机程序为稀疏值流图形式的计算机程序,并计算进行标量优化所需的属性,直到所有所需属性计算完毕,执行步骤4;步骤4,根据计算得到的属性对半稀疏值流图形式的计算机程序或稀疏值流图形式的计算机程序进行程序变换以优化计算机程序。本发明能够提高程序优化的效率。

    一种解释器中间接跳转预测方法及系统

    公开(公告)号:CN103294518B

    公开(公告)日:2016-04-27

    申请号:CN201310052296.7

    申请日:2013-02-18

    Abstract: 本发明公开了一种解释器中间接跳转预测方法及系统,其方法包括:在解释器中插入引导指令,将字节码指针包含在引导指令中;转移预测器识别引导指令,并将所需的字节码指针保存至转移预测器中;当间接跳转指令运行时,转移预测器识别间接跳转指令,使用间接跳转指令的指针和所保存的字节码指针进行散列运算,并以散列运算得到的索引值访问转移目标缓冲,获得预测的转移目标地址。本发明以字节码指针作为关联信息,以引导指令的方式软硬件协作指导间接跳转,从而可以根据字节码指针准确地对解释器中间接跳转进行预测。

    一种基于分组全局历史的分支预测方法及系统

    公开(公告)号:CN105204819A

    公开(公告)日:2015-12-30

    申请号:CN201510658510.2

    申请日:2015-10-12

    CPC classification number: G06F9/3848

    Abstract: 本发明涉及一种基于分组全局历史的分支预测方法及系统,包括:将分支预测器常用的全局历史改造成分组的形式,分支历史保存在分组全局历史表中;当分支指令提交时,根据分支指令地址低位在分组全局历史表中选择对应的表项,将分支指令实际方向移入对应表项;当预测分支指令方向时,将分组全局历史表中的历史拼接起来使用。本发明的核心是分组保存,全部使用,即以分组的方式保存全局历史,能有效地减少分支指令之间的历史冲突,从而提高所保留历史的有效性,捕获更远的历史信息;将其应用于先进的Perceptron分支预测器中,可提高分支预测命中率及处理器的性能和能效性。

    基于模调度实现循环指令调度的编译方法及装置

    公开(公告)号:CN102200924B

    公开(公告)日:2014-07-16

    申请号:CN201110128054.2

    申请日:2011-05-17

    CPC classification number: G06F8/4452 G06F8/452

    Abstract: 本发明披露了基于模调度实现循环指令调度的编译方法及装置,其中方法包括由编译器执行的下列步骤:读入并解析源程序,获取控制流图信息;建立循环体结构的数据依赖约束和资源依赖约束;在对循环体结构执行模调度过程中,针对检测指令调度结果发生的数据依赖冲突和/或资源冲突根据符合相应约束的回溯模型解决。本发明可避免循环体中相邻指令的数据相关,减小生成代码的执行时间,从而有效地挖掘指令级并行性,提高处理器系统乃至计算机系统性能。

    一种实现值关联间接跳转预测的方法

    公开(公告)号:CN102156634B

    公开(公告)日:2013-05-01

    申请号:CN201110099440.3

    申请日:2011-04-20

    Abstract: 本发明披露了一种实现值关联间接跳转预测的方法,涉及编译器和处理器,该方法包括:编译器对处理器执行可执行程序的过程进行剖视,并获取剖视信息;编译器根据该剖视信息通过再次编译过程识别源程序中间接跳转指令对应的子程序结构及其关联数据值,并在源程序中插入用以标识关联数据值的引导指令,再次生成可执行程序。处理器在执行编译器再次生成的可执行程序过程中,根据引导指令动态收集所述关联数据值,并对难预测指令进行预测。本发明有效地提高了间接跳转指令的预测准确率,提高了处理器及其应用整体的系统性能。

    基于模调度实现循环指令调度的编译方法及装置

    公开(公告)号:CN102200924A

    公开(公告)日:2011-09-28

    申请号:CN201110128054.2

    申请日:2011-05-17

    CPC classification number: G06F8/4452 G06F8/452

    Abstract: 本发明披露了基于模调度实现循环指令调度的编译方法及装置,其中方法包括由编译器执行的下列步骤:读入并解析源程序,获取控制流图信息;建立循环体结构的数据依赖约束和资源依赖约束;在对循环体结构执行模调度过程中,针对检测指令调度结果发生的数据依赖冲突和/或资源冲突根据符合相应约束的回溯模型解决。本发明可避免循环体中相邻指令的数据相关,减小生成代码的执行时间,从而有效地挖掘指令级并行性,提高处理器系统乃至计算机系统性能。

    一种实现值关联间接跳转预测的装置

    公开(公告)号:CN102156636A

    公开(公告)日:2011-08-17

    申请号:CN201110108302.7

    申请日:2011-04-28

    CPC classification number: G06F9/3844

    Abstract: 本发明披露了一种实现值关联间接跳转预测的装置,可有效地提高预测准确率,包括:指令取指模块将取指到的引导指令输出给引导指令发射模块;引导指令发射模块在引导指令的发射阶段从寄存器堆读取间接跳转指令所对应的关联数据值,并向分类移位器输出携带该关联数据值的分类移位命令;分类移位器将据分类移位命令对关联数据值移位的关联信息输出给值历史模式寄存器;值历史模式寄存器将前一值历史模式移位,将移位的值历史模式与关联信息组合形成更新的值历史模式;目标地址缓冲区根据间接跳转指令的PC值和关联数据值作为索引,保存间接跳转指令所对应的目标地址。

Patent Agency Ranking