申请/专利权人:北京辉羲智能科技有限公司
申请日:2024-03-01
公开(公告)日:2024-06-11
公开(公告)号:CN118170438A
主分类号:G06F9/32
分类号:G06F9/32;G06F9/355
优先权:
专利状态码:在审-公开
法律状态:2024.06.11#公开
摘要:本发明涉及一种硬件循环指令循环地址设置方法,所述硬件支持硬件循环指令,包括多个loopstep寄存器,包括多个looplayer寄存器,用于执行循环地址设置方法函数程序;所述函数在硬件循环指令的循环迭代变量增长时,按照loopstep寄存器中存储的地址步长,同步增加计算指令的参数地址,得到硬件循环指令中的参数地址LoopAddress;包括以下步骤:S1、将函数中所有的BasicBlock按照BasicBlock间的跳转关系进行排序,使得顺序遍历函数中的所有BasicBlock时满足循环间的嵌套关系;S2、根据循环间的嵌套关系,自底向上计算循环的LoopStepID和LoopLayerID,并将公共的loopstep设置函数提升至父循环;自顶向下修正嵌套循环中的LoopStepID;根据LoopStepID和LoopLayerID,生成LoopAddress设置函数。有益效果是避免多项式计算指令性能开销。
主权项:1.一种硬件循环指令循环地址设置方法,所述硬件支持硬件循环指令,包括多个loopstep寄存器用于指定地址步长,包括多个looplayer寄存器用于指定嵌套循环中的循环层级,用于执行循环地址设置方法函数程序;其特征在于所述函数在硬件循环指令的循环迭代变量增长时,按照loopstep寄存器中存储的地址步长,同步增加计算指令的参数地址,得到硬件循环指令中的参数地址LoopAddress;具体包括以下步骤:S1、ReOrderBasicBlock,基本块重排序:将函数中所有的BasicBlock按照BasicBlock间的跳转关系进行排序,使得顺序遍历函数中的所有BasicBlock时满足循环间的嵌套关系;S2、LegalizeLoopAddress,循环地址合法化:根据循环间的嵌套关系,自底向上计算循环的LoopStepID和LoopLayerID,并将公共的loopstep设置函数提升至父循环;自顶向下修正嵌套循环中的LoopStepID;根据LoopStepID和LoopLayerID,生成LoopAddress设置函数。
全文数据:
权利要求:
百度查询: 北京辉羲智能科技有限公司 一种硬件循环指令循环地址设置方法
免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。