The invention provides a neural network microprocessor and a macroinstruction processing method. The neural network microprocessor consists of a mapping table, a microcode memory and a microcode decoding finite state machine. The mapping table maps a macro instruction to a microcode memory address on the microcode memory. According to the contents indicated by the microcode memory address on the microcode memory, the microcode decoding finite state machine decoding generates a plurality of microcode instructions. The above microinstructions include at least one microinstruction cycle. The above microinstructions loop repeatedly to operate a data path to complete the macroinstruction.
【技术实现步骤摘要】
神经网络微处理器与宏指令处理方法
本专利技术涉及处理器,特别涉及实现类神经网络算法的神经网络处理器或加速器。
技术介绍
人工智能技术常使用类神经网络建立机器学习架构。类神经网络涉及复杂且大量的运算,尤其涉及大量的张量(tensor)乘法和乘加运算。如何根据神经网络算法的特殊性,设计适用于神经网络算法的处理器架构,为本
一项重要课题。
技术实现思路
根据本申请一种实施方式所实现的一种神经网络微处理器,包括一映射表、一微码存储器以及一微码解码有限状态机。该映射表将一宏指令映射至该微码存储器上一微码存储器地址。根据该微码存储器上该微码存储器地址所指示的内容,该微码解码有限状态机解码产生多个微指令。上述多个微指令包括至少一微指令循环。上述微指令循环反复操作一数据路径以完成该宏指令。一种实施方式有关于一种神经网络微处理器对宏指令处理方法,包括:经一映射表将一宏指令映射至一微码存储器上一微码存储器地址;以及根据该微码存储器上该微码存储器地址所指示的内容解码产生多个微指令。上述多个微指令包括至少一微指令循环。上述微指令循环反复操作一数据路径以完成该宏指令。根据本申请技术,一条宏指令可以实现颗粒度更高的运算而不受限于数据路径的物理位宽(例如128bit)。该宏指令的操作数可以达到向量或矩阵级别。例如,两个256*256个元素的矩阵(每个元素的大小为16bit)乘法可以直接以一条宏指令实现。神经网络算法编程的复杂度大大简化。当数据路径的硬件设计更改,宏指令也无需改动,更新微码存储器中对应的微指令即可。一种实施方式中,上述微指令循环还包括至少一载入微指令和至少一运算微指令。 ...
【技术保护点】
1.一种神经网络微处理器,包括:映射表以及微码存储器,该映射表将宏指令映射至该微码存储器上一微码存储器地址;以及微码解码有限状态机,其根据该微码存储器上该微码存储器地址所指示的内容解码产生多个微指令,其中上述多个微指令包括至少一微指令循环,上述微指令循环反复操作数据路径以完成该宏指令。
【技术特征摘要】
1.一种神经网络微处理器,包括:映射表以及微码存储器,该映射表将宏指令映射至该微码存储器上一微码存储器地址;以及微码解码有限状态机,其根据该微码存储器上该微码存储器地址所指示的内容解码产生多个微指令,其中上述多个微指令包括至少一微指令循环,上述微指令循环反复操作数据路径以完成该宏指令。2.如权利要求1所述的神经网络微处理器,其中:该微码解码有限状态机还解码出该宏指令的信息;且所解码出的该宏指令的信息还指示该宏指令的至少一来源操作数尺寸及运算元尺寸,供该微码解码有限状态机将该来源操作数划分为多个运算元;且上述运算元尺寸由上述数据路径的数据位宽决定。3.如权利要求2所述的神经网络微处理器,其中:所解码出的该宏指令的信息存储上述来源操作数尺寸及上述运算元尺寸的多个寄存器的地址。4.如权利要求1所述的神经网络微处理器,其中上述微指令循环还包括至少一载入微指令和至少一运算微指令,其中上述载入微指令用于将上述运算微指令对应的运算元载入。5.如权利要求4所述的神经网络微处理器,其中:该宏指令指示张量相加,上述运算微指令包括加法微指令。6.如权利要求4所述的神经网络微处理器,其中:该宏指令指示张量相乘,上述运算微指令包括乘累加微指令及累加指令。7.如权利要求6所述的神经网络微处理器,其中:上述乘累加微指令将数量的上述运算元相乘后再累加,该数量由该数据路径的物理位宽和该运算元尺寸决定。8.如权利要求7所述的神经网络微处理器,其中:该微码解码有限状态机还解码出至少宏指令一张量一维大小;上述微指令还包括至少一累加微指令,该数据路径每次操作,上述累加微指令即指示累加该数据路径的运算结果;且上述微指令还包括至少一输出微指令,该数据路径反复操作至满足该张量一维大小时,上述输出微指令输出上述累加结果为一张量元素。9.如权利要求8所述的神经网络微处理器,其中:该微码解码有限状态机还解码出至少宏指令一张量二维大小;且该数据路径被反复操作至既满足该张量一维大小、又满足该张量二维大小。10.如权利要求1所述的神经网络微处理器,还包括:指令抓取模块以及初解码器,其中:该宏指令是经该指令抓取模...
【专利技术属性】
技术研发人员:陈静,李晓阳,宋娟丽,黄振华,王惟林,赖瑾,
申请(专利权)人:上海兆芯集成电路有限公司,
类型:发明
国别省市:上海,31
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。