一种指令转化方法及系统
    11.
    发明公开

    公开(公告)号:CN102981802A

    公开(公告)日:2013-03-20

    申请号:CN201210441177.6

    申请日:2012-11-06

    Abstract: 本发明提供的一种指令转化方法及系统,获得处理器对外部存储器中第一地址进行访问的指令并判断是否为常数,如果是,则判断第一地址中保存的数据的宽度是否满足预设的第一宽度要求,如果是,则对所述该指令进行转化,生成处理器对内部指令缓存器访问的立即数指令。本发明针对没有数据缓存器的处理器,可以将处理器对外部存储器中地址进行访问的指令转化为处理器对内部指令缓存器访问的立即数指令,从而无需处理器再对外部存储器进行访问。因此,本发明可以不再使处理器的处理速度受限于对外部存储器的访问速度,有效的解决了“存储墙”的问题,提高了处理器的实际处理速度。

    一种程序调试方法及系统
    12.
    发明公开

    公开(公告)号:CN102541727A

    公开(公告)日:2012-07-04

    申请号:CN201010594006.8

    申请日:2010-12-17

    Abstract: 本发明公开了一种程序调试方法及系统,能够将针对尚未研制成功的CPU芯片的程序转换为针对已研制成功并可靠性高的CPU芯片体系结构上的程序,并使用标准的调试器进行调试,对程序的正确性和性能进行分析和评估,从而避免了使用体系结构模拟器进行模拟所带来的处理速度慢、可靠性低的缺点。由于使用了已有的硬件资源和标准的调试器,所以处理速度较快,并且可靠性较高。

    一种实现编译器错误的自动定位方法和装置

    公开(公告)号:CN102446134A

    公开(公告)日:2012-05-09

    申请号:CN201010508986.5

    申请日:2010-10-13

    Abstract: 本发明公开了一种实现编译器错误的自动定位方法和装置,其中,所述方法包括:利用编译器编译可执行程序的源文件,包括:分别用标准的编译器生成正确的第一可执行码,用待定位错误的编译器生成第二可执行码;利用程序加载工具读入所述第一可执行码和第二可执行码,完成对应所述第一可执行码的第一可执行程序及对应所述第二可执行码的第二可执行程序的运行;利用所述程序加载工具控制从第一可执行程序和第二可执行程序中选取函数,利用二分法和替代法定位实现对第二可执行程序中错误函数的定位。通过本发明,能够把错误定位到函数一级,直接针对可执行码中的函数进行错误定位,并且,错误定位的时间更快。

    基于异构众核的轻量级线程快速触发方法

    公开(公告)号:CN105242962B

    公开(公告)日:2018-07-03

    申请号:CN201510828182.6

    申请日:2015-11-24

    Abstract: 本发明提供了一种基于异构众核的轻量级线程快速触发方法,包括:在轻量级线程库中编写异构众核的多线程程序,其中多线程程序在轻量级线程库中的创建和回收以显式的接口来调用,然后完成多线程程序代码的编译,生成一个异构融合的可执行代码;运行该可执行码;其中,首先执行在主处理器上运行的程序加载器,再将可执行代码作为参数传入给程序加载器;程序加载器将整个当做一个文件读入,然后解析出符合ELF格式的段信息,并将其写入内存的相应位置,并完成程序执行环境变量的配置。

    指针别名关系判断方法和代码多版本优化方法

    公开(公告)号:CN102981837B

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

    申请号:CN201210439950.5

    申请日:2012-11-06

    Abstract: 本发明提供了一种指针别名关系判断方法和代码多版本优化方法。所述指针别名关系判断方法包括:判断第一循环体在执行一次循环操作时所述第一循环体内的第一指针所指向的第一地址段偏移和第二循环体在执行相同次循环操作时第二循环体内的第二指针所指向的第二地址段偏移是否重合,所述第一循环体和第二循环体是根据待优化循环体生成的两个不同版本;判断所述第一循环体在结束上一次循环操作转入下一次循环操作时所述第一指针指向的第一地址段跨步和所述第二循环体在结束上一次循环操作转入下一次循环操作时所述第二指针指向的第二地址段跨步是否相等;以及如果上述两个判断步骤结果均为是,则确定所述第一指针和所述第二指针互为指针别名关系。

    一种指令转化方法及系统
    16.
    发明授权

    公开(公告)号:CN102981802B

    公开(公告)日:2015-10-07

    申请号:CN201210441177.6

    申请日:2012-11-06

    Abstract: 本发明提供的一种指令转化方法及系统,获得处理器对外部存储器中第一地址进行访问的指令并判断是否为常数,如果是,则判断第一地址中保存的数据的宽度是否满足预设的第一宽度要求,如果是,则对所述该指令进行转化,生成处理器对内部指令缓存器访问的立即数指令。本发明针对没有数据缓存器的处理器,可以将处理器对外部存储器中地址进行访问的指令转化为处理器对内部指令缓存器访问的立即数指令,从而无需处理器再对外部存储器进行访问。因此,本发明可以不再使处理器的处理速度受限于对外部存储器的访问速度,有效的解决了“存储墙”的问题,提高了处理器的实际处理速度。

    一种实现编译器错误的自动定位方法和装置

    公开(公告)号:CN102446134B

    公开(公告)日:2015-04-08

    申请号:CN201010508986.5

    申请日:2010-10-13

    Abstract: 本发明公开了一种实现编译器错误的自动定位方法和装置,其中,所述方法包括:利用编译器编译可执行程序的源文件,包括:分别用标准的编译器生成正确的第一可执行码,用待定位错误的编译器生成第二可执行码;利用程序加载工具读入所述第一可执行码和第二可执行码,完成对应所述第一可执行码的第一可执行程序及对应所述第二可执行码的第二可执行程序的运行;利用所述程序加载工具控制从第一可执行程序和第二可执行程序中选取函数,利用二分法和替代法定位实现对第二可执行程序中错误函数的定位。通过本发明,能够把错误定位到函数一级,直接针对可执行码中的函数进行错误定位,并且,错误定位的时间更快。

    编译方法和编译器
    18.
    发明公开

    公开(公告)号:CN101452394A

    公开(公告)日:2009-06-10

    申请号:CN200710094327.X

    申请日:2007-11-28

    Abstract: 一种编译方法和编译器。所述编译方法包括:识别包含第一指令的循环,所述循环在执行过程中有确定的控制参数,所述循环不包含转移指令,且所有的第一指令不存在迭代间的相关性;统计所述循环中第一指令和第二指令的指令数,并根据第一指令执行部件和第二指令执行部件的执行能力计算循环展开次数和第一指令转换成第二指令的循环次数;若所述循环展开次数不等于1,对所述循环进行循环展开,并根据所述第一指令转换成第二指令的循环次数将所述循环展开中的第一指令转换成对应的第二指令。所述编译方法和编译器可以充分利用处理器中的指令执行部件的并行性,提高程序的执行效率,减轻用户的编程负担。

Patent Agency Ranking