The invention provides a microprocessor for picking buss multiplication. The microprocessor includes a first space, a second space and a data path. The data path is used to execute a micro instruction. A first field of the microinstruction is used to indicate that the data path obtains a multiplier from the first space to supply data. A second field of the microinstruction is used to indicate that the data path obtains a multiplier supply data from the second space. A third field of the microinstruction is used to indicate a data bit width of the data path. The data path obtains the multiple buss multiplier number by multiplying the multiplier supply data. The data path divides the multiplicative supply data into multiple multiplicative data according to the data bit width, and multiplied the multiplicative number of the equal multiplicative and the same booth multiplicative to produce a number of partial products. The data path is based on the bit width of the data to select a part from the product of these parts to add and add in order to produce multiple products.
【技术实现步骤摘要】
采布斯乘法的微处理器
本专利技术涉及处理器,特别涉及实现类神经网络算法的神经网络处理器或加速器。
技术介绍
人工智能技术常使用类神经网络建立机器学习架构。类神经网络涉及复杂且大量的运算,尤其涉及大量的张量(tensor)乘法和乘加运算。如何根据神经网络算法的特殊性,设计适用于神经网络算法的处理器架构,为本
一项重要课题。
技术实现思路
根据本申请一种实施方式所实现的一种微处理器,包括一第一空间、一第二空间以及一数据路径。该数据路径执行一微指令。该微指令的一第一字段用于指示该数据路径自该第一空间取得一被乘数供应数据。该微指令的一第二字段用于指示该数据路径自该第二空间取得一乘数供应数据。该微指令的一第三字段用于指示该数据路径的一数据位宽。该数据路径依据该数据位宽将该被乘数供应数据划分为多个被乘数,并对该等被乘数与该等布斯乘法取数进行布斯乘法以产生多个部分乘积。该数据路径更根据该数据位宽从该等部分乘积中选择一部分进行移位相加以产生多个乘积。本申请微处理器实现兼容多种位宽的乘法运算硬件。下文特举实施例,并配合所附图示,详细说明本
技术实现思路
。附图说明图1根据本申请一种实施方式图解一微处理器100为类神经网络演算所提供的硬件架构;图2图解该数据位宽调整器108的一种实施方式;图3为流程图,根据本申请一种实施方式说明差值监控模块216以及小数位宽FL调整模块204的运作逻辑;图4为流程图,根据本申请一种实施方式说明判断模块224以及字长WL调整208的运作逻辑;图5根据本申请一种实施方式图解一微指令(μop)的格式;图6为方块图,根据本申请一种实施方式图解一微处理器 ...
【技术保护点】
1.一种微处理器,包括:第一空间以及第二空间;以及数据路径,用以执行微指令,其中:该微指令的第一字段用于指示该数据路径自该第一空间取得被乘数供应数据;该微指令的第二字段用于指示该数据路径自该第二空间取得乘数供应数据;该微指令的第三字段用于指示该数据路径的数据位宽;该数据路径对该乘数供应数据进行取数获得多个布斯乘法取数;该数据路径依据该数据位宽将该被乘数供应数据划分为多个被乘数,并对所述被乘数与所述布斯乘法取数进行布斯乘法以产生多个部分乘积,该数据路径还根据该数据位宽从所述部分乘积中选择一部分进行移位相加以产生多个乘积。
【技术特征摘要】
1.一种微处理器,包括:第一空间以及第二空间;以及数据路径,用以执行微指令,其中:该微指令的第一字段用于指示该数据路径自该第一空间取得被乘数供应数据;该微指令的第二字段用于指示该数据路径自该第二空间取得乘数供应数据;该微指令的第三字段用于指示该数据路径的数据位宽;该数据路径对该乘数供应数据进行取数获得多个布斯乘法取数;该数据路径依据该数据位宽将该被乘数供应数据划分为多个被乘数,并对所述被乘数与所述布斯乘法取数进行布斯乘法以产生多个部分乘积,该数据路径还根据该数据位宽从所述部分乘积中选择一部分进行移位相加以产生多个乘积。2.如权利要求1所述的微处理器,其中:该微指令的第四字段用于指示该数据路径的物理位宽,该物理位宽决定该被乘数供应数据及该被乘数供应数据的长度。3.如权利要求1所述的微处理器,其中:上述数据位宽可变。4.如权利要求1所述的微处理器,其中该数据路径包括:第一取数寄存器,在第一数据位宽下,暂存乘数供应数据所载的第一乘数的无符号尾端取数;第三取数寄存器,在该第一数据位宽下,暂存该乘数供应数据所载的第二乘数的起始取数;第四取数寄存器,在长于该第一数据位宽的第二数据位宽下,暂存该乘数供应数据所载的第三乘数的中段取数,其中,该第三乘数的上述中段取数由上述第一乘数的上述无符号尾端取数及上述第二乘数的上述起始取数组合而成;以及部分乘积选择电路,其中:在该第一数据位宽下,该部分乘积选择电路选择该第三取数寄存器内容与该第二乘数对应的被乘数进行布斯乘法产生的结果作为第三部分乘积;且在该第二数据位宽下,该部分乘积选择电路选择该第四取数寄存器内容与该第三乘数对应的被乘...
【专利技术属性】
技术研发人员:陈静,李晓阳,宋娟丽,黄振华,王惟林,赖瑾,
申请(专利权)人:上海兆芯集成电路有限公司,
类型:发明
国别省市:上海,31
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。