[发明专利]采布斯乘法的微处理器有效
申请号: | 201810052753.5 | 申请日: | 2018-01-19 |
公开(公告)号: | CN108288091B | 公开(公告)日: | 2020-09-11 |
发明(设计)人: | 陈静;李晓阳;宋娟丽;黄振华;王惟林;赖瑾 | 申请(专利权)人: | 上海兆芯集成电路有限公司 |
主分类号: | G06N3/063 | 分类号: | G06N3/063 |
代理公司: | 北京市柳沈律师事务所 11105 | 代理人: | 徐协成 |
地址: | 上海市张江高科技*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 采布斯 乘法 微处理器 | ||
本发明提供一种采布斯乘法的微处理器。该微处理器包括一第一空间、一第二空间以及一数据路径。该数据路径用以执行一微指令。该微指令的一第一字段用于指示该数据路径自该第一空间取得一被乘数供应数据。该微指令的一第二字段用于指示该数据路径自该第二空间取得一乘数供应数据。该微指令的一第三字段用于指示该数据路径的一数据位宽。该数据路径对该乘数供应数据进行取数获得多个布斯乘法取数。该数据路径依据该数据位宽将该被乘数供应数据划分为多个被乘数,并对该等被乘数与该等布斯乘法取数进行布斯乘法以产生多个部分乘积。该数据路径更根据该数据位宽从该等部分乘积中选择一部分进行移位相加以产生多个乘积。
技术领域
本发明涉及处理器,特别涉及实现类神经网络算法的神经网络处理器或加速器。
背景技术
人工智能技术常使用类神经网络建立机器学习架构。类神经网络涉及复杂且大量的运算,尤其涉及大量的张量(tensor)乘法和乘加运算。如何根据神经网络算法的特殊性,设计适用于神经网络算法的处理器架构,为本技术领域一项重要课题。
发明内容
根据本申请一种实施方式所实现的一种微处理器,包括一第一空间、一第二空间以及一数据路径。该数据路径执行一微指令。该微指令的一第一字段用于指示该数据路径自该第一空间取得一被乘数供应数据。该微指令的一第二字段用于指示该数据路径自该第二空间取得一乘数供应数据。该微指令的一第三字段用于指示该数据路径的一数据位宽。该数据路径依据该数据位宽将该被乘数供应数据划分为多个被乘数,并对该等被乘数与该等布斯乘法取数进行布斯乘法以产生多个部分乘积。该数据路径更根据该数据位宽从该等部分乘积中选择一部分进行移位相加以产生多个乘积。
本申请微处理器实现兼容多种位宽的乘法运算硬件。
下文特举实施例,并配合所附图示,详细说明本发明内容。
附图说明
图1根据本申请一种实施方式图解一微处理器100为类神经网络演算所提供的硬件架构;
图2图解该数据位宽调整器108的一种实施方式;
图3为流程图,根据本申请一种实施方式说明差值监控模块216以及小数位宽FL调整模块204的运作逻辑;
图4为流程图,根据本申请一种实施方式说明判断模块224以及字长WL调整208的运作逻辑;
图5根据本申请一种实施方式图解一微指令(μop)的格式;
图6为方块图,根据本申请一种实施方式图解一微处理器600,其中聚焦于宏指令转换为微指令的技术;
图7根据本申请一种实施方式图解微码解码有限状态机612如何解码一宏指令以及所对应的多个微指令如何执行的流程图;
图8特别图解一二阶张量(即矩阵)相乘所对应的多个微指令如何执行;
图9图解图5微指令(μop)字段A与B所指示的各32位数据的各种数据位宽(WL);
图10根据本申请一种实施方式图解乘加运算的一数据路径1000;
图11以字长WL为8位为例,说明乘加运算所获得的数据M以及S;
图12A-1、图12A-2、图12B-1以及图12B-2因应字长WL不定,图解32位数据B的各种三位内容bn+1bnbn-1;
图13根据本申请一种实施方式图解乘法器1002的硬件架构;且
图14根据本申请一种实施方式图解数据路径1000执行的一微指令(可为SIMD微指令)1400。
【符号说明】
100~处理器;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海兆芯集成电路有限公司,未经上海兆芯集成电路有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810052753.5/2.html,转载请声明来源钻瓜专利网。