[发明专利]一种指令硬件架构的构建方法、装置及存储介质在审
申请号: | 201811585212.5 | 申请日: | 2018-12-24 |
公开(公告)号: | CN111428327A | 公开(公告)日: | 2020-07-17 |
发明(设计)人: | 王呈健 | 申请(专利权)人: | 深圳市中兴微电子技术有限公司 |
主分类号: | G06F30/20 | 分类号: | G06F30/20;G06F117/08 |
代理公司: | 北京天昊联合知识产权代理有限公司 11112 | 代理人: | 彭瑞欣;张天舒 |
地址: | 518055 广东省深*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 指令 硬件 架构 构建 方法 装置 存储 介质 | ||
本发明公开了一种指令硬件架构的构建方法,包括:获取应用程序包含的运算函数;获取处理策略,根据所述处理策略处理所述运算函数,获得第一专用汇编指令;根据预设的通用处理器体系框架优化所述第一专用汇编指令,根据优化后获得的第二专用汇编指令对应的指令机器码和编码信息确定硬件需求列表,根据所述硬件需求列表构建所述第二专用汇编指令的硬件架构。本发明还公开了一种指令硬件架构的构建装置及存储介质。
技术领域
本发明公开人工智能处理器技术,尤其涉及一种指令硬件架构的构建方法、装置及存储介质。
背景技术
在业界人工智能专用处理器设计领域,一般采用的指令设计方法是:首先进行指令硬件架构的实现,再进行专用微指令在高级语言编译器中的软件封装。由于缺乏上层应用软件及编译器的优化指导,其硬件架构设计相对比较冗余。
另一方面,通用的高级语言编译器在设计时,并不事先知晓需要支持哪些专用指令,因此其现有优化方法对专用自定义指令的优化程度极低,甚至毫无优化。在专用指令的移植上,业界也一般采用简单封装的方式,导致专用指令的软件利用效率很低。
发明内容
为解决现有存在的技术问题,本发明实施例期望提供一种指令硬件架构的构建方法、装置及存储介质。
本发明实施例的技术方案是这样实现的:
本发明实施例提供了一种指令硬件架构的构建方法,所述方法包括:
获取应用程序包含的运算函数;
获取处理策略,根据所述处理策略处理所述运算函数,获得第一专用汇编指令;
根据预设的通用处理器体系框架优化所述第一专用汇编指令,根据优化后获得的第二专用汇编指令对应的指令机器码和编码信息确定硬件需求列表,根据所述硬件需求列表构建所述第二专用汇编指令的硬件架构。
上述方案中,所述处理策略,包括:第一处理策略;根据所述第一处理策略处理所述运算函数,包括:
确定所述运算函数包含的循环体;
确定所述循环体存在循环嵌套时,检测所述循环体的内层循环的指令之间是否存在依赖关系;确定所述内层循环的指令之间存在依赖关系时,将存在依赖关系的指令变成外层循环携带依赖;
直至所述循环体的内层循环或非嵌套循环均不携带指令间依赖,对所述循环体进行循环展开,获得循环展开后的所述循环体包含的第一指令;
对所述循环展开后的循环体包含的第一指令进行向量化合成,获得向量指令,作为所述第一专用汇编指令。
上述方案中,确定所述循环体的内层循环或非嵌套循环均不携带指令间依赖之后,所述方法还包括:
检测所述运算函数内包含的不存在依赖关系的各循环体对应的循环次数,确定各循环体对应的循环次数的最大公约数,将所述最大公约数作为并行级数;
相应的,所述对所述循环展开后的循环体包含的第一指令进行向量化合成,包括:
根据所述并行级数对所述循环展开后的循环体包含的第一指令进行向量化合成。
上述方案中,针对所述向量指令,所述根据预设的通用处理器体系框架优化所述第一专用汇编指令,根据优化后获得的第二专用汇编指令对应的指令机器码和编码信息确定硬件需求列表,包括:
优化所述向量指令,获得优化后的向量指令,根据所述优化后的向量指令获得所述优化后的向量指令对应的指令机器码;所述指令机器码中包含编码信息;
解析所述指令机器码,确定所述指令机器码包含的编码信息,根据所述编码信息确定硬件需求列表;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳市中兴微电子技术有限公司,未经深圳市中兴微电子技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811585212.5/2.html,转载请声明来源钻瓜专利网。