当前位置: 首页 > 专利查询>浙江大学专利>正文

一种低功耗存储器内计算处理器和处理运算方法技术

技术编号:29400539 阅读:14 留言:0更新日期:2021-07-23 22:37
本发明专利技术公开了一种低功耗存储器内计算处理器。输入接口分别和指令寄存器、第一寄存器组连接,指令寄存器和指令译码器连接,指令译码器分别和输入输出接口、第一寄存器组和向量处理单元连接,输出接口和第一寄存器组连接,输出接口作为处理器的输出;向量处理单元中,指令译码器分别和存储器内计算核、向量加法器和除法器连接,第一寄存器组均分别连接到存储器内计算核、向量加法器和除法器。本发明专利技术的低功耗存算处理器和处理运算方法,该处理器具有专用指令集,可以灵活运行多种神经网络算法;处理器包含基于存储器内计算技术的向量处理单元,计算能效比高,可以实现低功耗的语音关键词识别等功能。

【技术实现步骤摘要】
一种低功耗存储器内计算处理器和处理运算方法
本专利技术涉及存储器内计算技术和软硬件协同设计技术的一种用于神经网络运算的处理器架构,具体是涉及了一种低功耗存储器内计算处理器。
技术介绍
传统冯诺依曼架构的处理器中,存储器与计算单元分离,完成计算需要从存储器读取数据,送入计算单元执行计算,最终把结果写回存储器,其中存储器访问操作消耗了大部分能量。存储器内计算技术中,存储器除原有的存储功能外,嵌入了计算功能,从而大大减少了存储器访问的次数,降低了数据搬移的功耗。并且存储器内计算采用模拟电路执行计算,与传统由数字电路实现的计算单元相比,计算功耗更低。网络映射技术通过设计数据流,规定了神经网络算法中循环嵌套的顺序和并行度展开情况,使得硬件可以高效地执行神经网络算法。目前主流的数据流包括行固定数据流,输入固定数据流,输出固定数据流等。存储器内计算技术中,由于权重存储在存储器中,因此具有权重固定的特性。高效的数据流可以充分利用数据重用和硬件的并行度,提高硬件性能。网络映射技术同时也规定了网络参数与存储器内计算核指定位置的对应关系。虽然存储器内计算技术在能效比等方面取得了突破性优势,但是目前基于存储器内计算技术的处理器大多为专用处理器,功能单一。如何高效地把神经网络算法映射到处理器上,利用存储器内计算技术灵活地完成不同算法的执行还是一个挑战。
技术实现思路
为了解决
技术介绍
中存在的问题,本专利技术旨在利用存储器内计算低功耗、高能效比的优势,设计低功耗存算处理器。如图1所示,本专利技术所采用的技术方案是:<br>一、一种低功耗存储器内计算处理器:处理器包括输出接口、输入接口、指令寄存器、指令译码器、第一寄存器组和向量处理单元;输入接口分别和指令寄存器、第一寄存器组连接,指令寄存器和指令译码器连接,指令译码器分别和输入接口、输出接口、第一寄存器组和向量处理单元连接,输出接口和第一寄存器组连接,输出接口作为处理器的输出;所述的向量处理单元包括存储器内计算核、向量加法器和除法器,指令译码器均分别和存储器内计算核、向量加法器和除法器连接,第一寄存器组均分别连接到存储器内计算核、向量加法器和除法器,用于存储输入向量,存储器内计算核、向量加法器或者除法器处理获得的神经网络运算中间结果向量以及处理最终结果向量。本专利技术所述的处理器针对神经网络算法进行运算处理,神经网络算法的数据输入到本专利技术的处理器架构中进行运算后获得神经网络算法的运算结果。所述的输入接口,接收处理器外部发过来的输入向量;所述的指令寄存器存放网络编译后的指令;所述的指令译码器每个周期从指令寄存器中循环读取指令,对指令进行译码后输出控制信号到输入接口、输出接口、第一寄存器组和向量处理单元;所述的第一寄存器组,接收指令译码器发过来的控制信号,作为处理器的片上存储,同时接收输入接口发过来的输入向量进行存储,向向量处理单元的存储器内计算核、向量加法器或者除法器发送输入向量或者神经网络运算中间结果向量,从向量处理单元的存储器内计算核、向量加法器或者除法器接收神经网络运算中间结果向量或者处理最终结果向量,向输出接口发送处理最终结果;所述的输出接口,接收第一寄存器组发过来的处理最终结果进而输出到外部。神经网络算法具有重复执行的特性,编译生成的指令具有周期性。所述的指令寄存器中只需保存一个周期长度的指令。输入向量为输入到神经网络要处理的数据。所述的存储器内计算核,包括第二寄存器组、第一多路选通器MUX1、第二多路选通器MUX2、第三多路选通器MUX3、存储器内计算阵列和计算读取电路;第二寄存器组主要有多个寄存器reg构成,每个寄存器reg经各自的一个第一多路选通器MUX1、一个第二多路选通器MUX2后连接到存储器内计算阵列,存储器内计算阵列经第三多路选通器MUX3和计算读取电路连接;第二寄存器组,其中每个寄存器reg存储从第一寄存器组发送过来的输入向量或者神经网络运算中间结果向量划分后的多位数据,第二寄存器组中存储的全部向量构成参与向量矩阵乘法的向量;第一多路选通器MUX1,从寄存器reg的多位数据中遍历选择其中一位数据并输入到第二多路选通器MUX2;第二多路选通器MUX2,将从第一多路选通器MUX1接收到的一位数据的数字电平转换为模拟电平;存储器内计算阵列,划分为多个存算块,神经网络的总参数矩阵参数存储在存储器内计算阵列中,各个第二多路选通器MUX2输出的结果输入到存储器内计算阵列并和其中的一存算块作用;通过第三多路选通器MUX3选通存储器内计算阵列中的一存算块和各个第二多路选通器MUX2输出的结果进行作用并转换为电流形式结果,然后输出到计算读取电路;计算读取电路,接收第三多路选通器MUX3发送过来的电流形式结果后进行积分运算,并把积分运算结果以数字信号的形式输出,结果即向量矩阵乘法的最终结果,通过控制积分时间实现不同量化因子的量化。各个第一多路选通器MUX1的控制端和指令译码器输出的控制信号Baddr连接,指令译码器输出的控制信号Baddr对第一多路选通器MUX1的选通进行控制。第三多路选通器MUX3的控制端和指令译码器输出的控制信号sel连接,指令译码器输出的控制信号sel对第三多路选通器MUX3的选通进行控制。所述的向量加法器和除法器由数字电路实现,向量加法器支持向量的加法、减法操作,除法器支持向量与常数的除法操作。所述的指令译码器运行指令,指令包含4级流水线,4级流水线沿时间延迟一个阶段依次设置,每级流水线均分为:取指阶段IF、译码阶段ID/读取阶段RD、执行阶段EX、写回阶段WR;取指阶段IF:根据指令计数器,从指令寄存器中读取对应的指令,送入指令译码器中;译码阶段ID/读取阶段RD:指令译码器根据指令集对指令进行解码,得到输入接口、输出接口、第一寄存器组、存储器内计算核、向量加法器或者除法器的控制信号;若指令中包含读第一寄存器组操作,则发出读请求信号和读地址信号。执行阶段EX:进行向量矩阵乘法、向量加/减法和向量常数除法的三种操作类型,在向量处理单元中完成,由译码阶段得到的控制信号决定执行哪一种操作。写回阶段WR:把指令执行阶段的结果写回到第一寄存器组或第二寄存器组中,即发出写请求信号和写地址信号。二、一种神经网络处理运算方法:S01:输入神经网络的模型,包括神经网络各个层的结构以及网络各层尺寸;S02:对神经网络进行优化、映射;优化是在保证神经网络运算处理准确度的前提下;映射是完成数据流的构建,并完成神经网络中的各层参数到存储器内计算阵列中指定位置的排列设计,最终结果形成总参数矩阵,总参数矩阵包括了各层的参数矩阵;S03:神经网络算法编译,根据专用指令集,由编译脚本把神经网络算法编译为指令,保存到指令寄存器中;S04:指令、参数载入处理器:把S02得到的总参数矩阵以及S03中得到的指令从输入接口载入处理器,其中指令存储在指令寄存器中,总参数矩阵在经过本文档来自技高网...

【技术保护点】
1.一种低功耗存储器内计算处理器,其特征在于:包括输出接口、输入接口、指令寄存器、指令译码器、第一寄存器组和向量处理单元;输入接口分别和指令寄存器、第一寄存器组连接,指令寄存器和指令译码器连接,指令译码器分别和输入接口、输出接口、第一寄存器组和向量处理单元连接,输出接口和第一寄存器组连接,输出接口作为处理器的输出;/n所述的向量处理单元包括存储器内计算核、向量加法器和除法器,指令译码器均分别和存储器内计算核、向量加法器和除法器连接,第一寄存器组均分别连接到存储器内计算核、向量加法器和除法器,用于存储输入向量,存储器内计算核、向量加法器或者除法器处理获得的神经网络运算中间结果向量以及处理最终结果向量。/n

【技术特征摘要】
20210127 CN 20211011135811.一种低功耗存储器内计算处理器,其特征在于:包括输出接口、输入接口、指令寄存器、指令译码器、第一寄存器组和向量处理单元;输入接口分别和指令寄存器、第一寄存器组连接,指令寄存器和指令译码器连接,指令译码器分别和输入接口、输出接口、第一寄存器组和向量处理单元连接,输出接口和第一寄存器组连接,输出接口作为处理器的输出;
所述的向量处理单元包括存储器内计算核、向量加法器和除法器,指令译码器均分别和存储器内计算核、向量加法器和除法器连接,第一寄存器组均分别连接到存储器内计算核、向量加法器和除法器,用于存储输入向量,存储器内计算核、向量加法器或者除法器处理获得的神经网络运算中间结果向量以及处理最终结果向量。


2.根据权利要求1所述的一种低功耗存储器内计算处理器,其特征在于:
所述的输入接口,接收处理器外部发过来的输入向量;
所述的指令寄存器存放网络编译后的指令;
所述的指令译码器每个周期从指令寄存器中循环读取指令,对指令进行译码后输出控制信号到输入接口、输出接口、第一寄存器组和向量处理单元;
所述的第一寄存器组,接收指令译码器发过来的控制信号,作为处理器的片上存储,同时接收输入接口发过来的输入向量进行存储,向向量处理单元的存储器内计算核、向量加法器或者除法器发送输入向量或者神经网络运算中间结果向量,从向量处理单元的存储器内计算核、向量加法器或者除法器接收神经网络运算中间结果向量或者处理最终结果向量,向输出接口发送处理最终结果;
所述的输出接口,接收第一寄存器组发过来的处理最终结果进而输出到外部。


3.根据权利要求1所述的一种低功耗存储器内计算处理器,其特征在于:
所述的存储器内计算核,包括第二寄存器组、第一多路选通器MUX1、第二多路选通器MUX2、第三多路选通器MUX3、存储器内计算阵列和计算读取电路;第二寄存器组主要有多个寄存器reg构成,每个寄存器reg经各自的一个第一多路选通器MUX1、一个第二多路选通器MUX2后连接到存储器内计算阵列,存储器内计算阵列经第三多路选通器MUX3和计算读取电路连接;
第二寄存器组,其中每个寄存器reg存储从第一寄存器组发送过来的输入向量或者神经网络运算中间结果向量划分后的多位数据,第二寄存器组中存储的全部向量构成参与向量矩阵乘法的向量;
第一多路选通器MUX1,从寄存器reg的多位数据中遍历选择其中一位数据并输入到第二多路选通器MUX2;
第二多路选通器MUX2,将从第一多路选通器MUX1接收到的一位数据的数字电平转换为模拟电平;
存储器内计算阵列,划分为多个存算块,神经网络的总参数矩阵参数存储在存储器内计算阵列中,各个第二多路选通器MUX2输出的结果输入到存储器内计算阵列并和其中的一存算块作用;
通过第三多路选通器MUX3选通存储器内计算阵列中的一存算块和各个第二多路选通器MUX2输出的结果进行作用并转换为电流形式结果,然后输出到计算...

【专利技术属性】
技术研发人员:黄科杰杨树园沈海斌
申请(专利权)人:浙江大学
类型:发明
国别省市:浙江;33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1