【技术实现步骤摘要】
一种面向边缘计算的卷积神经网络处理器
本专利技术涉及一种卷积神经网络处理器。特别是涉及一种面向边缘计算的卷积神经网络处理器。
技术介绍
近些年来,云计算已经成为一种越来越主流的趋势。云计算使得公司能够在自己的物理硬件之外,通过远程服务器网络(俗称“云”)存储和处理数据(以及其他的计算任务)。云计算的整合和集中化性质被证明具有较高的成本效益和灵活性,但物联网和移动计算的兴起给网络带宽带来了不小的压力。最终,并不是所有的智能设备都需要利用云计算来运行。在某些情况下,这种数据的往返传输需要尽量减少或避免。同时,随着IoT(物联网)的蓬勃发展和无线网络的普及,网络边缘设备(移动终端、传感器等)数量和产生的数据都在快速增长,根据IDC预测,到2020年全球数据总量将大于40ZB(zettabyte),而物联网产生数据的45%都将在网络边缘处理。在这种情况下,以云计算模型为核心的集中式处理模式将无法高效处理边缘设备产生的数据。在万物互联的背景下,集中式云计算处理模型(传统云计算)主要有4个不足:实时性差、带宽不足、能耗较大、不利于数据安 ...
【技术保护点】
1.一种面向边缘计算的卷积神经网络处理器,其特征在于,包括有:/n指令缓存单元(1),用于存储面向卷积神经网络的指令集;/n译码器(2),用于从指令缓存单元(1)读取指令,并根据指令类型,读取指令类型对应长度的参数,根据参数类型输出相应类型的启动信号;/n控制单元(3),接收译码器(2)输出的启动信号,并根据启动信号的类型,启动相应类型的控制子单元输出控制信号;/n输入特征图缓存单元(4),保存有卷积计算过程中所需要的输入特征图数据,根据所接收的控制单元(3)输出的控制信号,输出相应的输入特征图数据;/n中间结果缓存单元(5),保存有计算过程中所产生的中间数据,根据所接收的 ...
【技术特征摘要】
1.一种面向边缘计算的卷积神经网络处理器,其特征在于,包括有:
指令缓存单元(1),用于存储面向卷积神经网络的指令集;
译码器(2),用于从指令缓存单元(1)读取指令,并根据指令类型,读取指令类型对应长度的参数,根据参数类型输出相应类型的启动信号;
控制单元(3),接收译码器(2)输出的启动信号,并根据启动信号的类型,启动相应类型的控制子单元输出控制信号;
输入特征图缓存单元(4),保存有卷积计算过程中所需要的输入特征图数据,根据所接收的控制单元(3)输出的控制信号,输出相应的输入特征图数据;
中间结果缓存单元(5),保存有计算过程中所产生的中间数据,根据所接收的控制单元(3)输出的控制信号,进行读取和输出相应的中间数据;
权重缓存单元(6),保存有卷积计算过程中所需要的权重数据,根据所接收的控制单元(3)输出的控制信号,输出相应的权重数据;
处理单元(7),根据所接收的控制单元(3)输出的控制信号,从输入特征图缓存单元(4)接收输入特征图数据,从中间结果缓存单元(5)接收中间数据,以及从权重缓存单元(6)接收权重数据,并对输入特征图数据、中间数据以及权重数据进行相应的处理,并将处理后的输入特征图数据存入输入特征图缓存单元(4),将处理后的中间数据存入中间结果缓存单元(5)。
2.根据权利要求1所述的一种面向边缘计算的卷积神经网络处理器,其特征在于,所述的指令缓存单元(1)中存储的面向卷积神经网络的指令集包括:
卷积计算指令参数,包括指令类型参数,输入特征图大小参数,权重大小参数,填充大小参数,跨步大小参数,乘加单元使用数参数,输入特征图缓存单元首地址参数,中间结果缓存单元首地址参数,并且,前6个参数均为8bit,后2个参数为16bit;
全连接计算指令参数,包括指令类型参数,输入特征图大小参数,权重大小参数,乘加单元使用数参数,输入特征图缓存单元首地址参数,中间结果缓存单元首地址参数,并且,前4个参数均为8bit,后2个参数为16bit;
池化计算指令参数,包括指令类型参数,池化类型参数,输入特征图大小参数,权重大小参数,跨步大小参数,输入特征图缓存单元首地址参数,中间结果缓存单元首地址参数,并且,前5个参数均为8bit,后2个参数为16bit。
3.根据权利要求2所述的一种面向边缘计算的卷积神经网络处理器,其特征在于,所述的面向卷积神经网络的指令集是以二进制格式保存到指令缓存单元(1)中;所述的指令缓存单元(1)是大小为64KB,位宽为8bit的静态随机存取存储器,具有8bit输入接口、8bit输出接口、16bit地址接口、1bit时钟信号、1bit读写信号与1bit开始信号。
4.根据权利要求1所述的一种面向边缘计算的卷积神经网络处理器,其特征在于,所述的译码器(2)开始运行时,译码器(2)首先从指令缓存单元读取指令,并根据指令类型,读取指令类型对应长度的参数,并给控制单元(3)中相应指令的控制子单元一个开始信号,当相应运算完成后,译码器(2)接收到一个结束信号,译码器(2)再从指令缓存单元(1)中读取下一条指令及相应参数,直到全部指令运行完成。
5.根据权利要求1所述的一种面向边缘计算的卷积神经网络处理器,其特征在于,所述的控制单元(3)包括有:
输入特征图控制子单元(3.1),接收来自译码器(2)的输入特征图控制子单元开始信号,用来控制输入特征图缓存单元(4)中数据的读取写入顺序,向输入特征图缓存单元(4)输出1bit使能信号、1bit读写信号和16bit输入特征图地址信号;
输入特征图地址的计算公式为:
Addr_c=Addr_a+Row×N+Col(1)
其中,Addr_c表示输入特征图地址;Addr_a表示来自指令缓存单元(1)的指令参数中的输入特征图缓存单元首地址;N表示来自指令缓存单元(1)的指令参数中的输入特征图大小;Row表示行位置寄存器;Col表示列位置寄存器;
权重控制子单元(3.2),接收来自译码器(2)的权重控制子单元开始信号,输出1bit使能信号、1bit读写信号和16bit权重地址到权重缓存单元(6),用来控制权重缓存单元(6)中数据的读取顺序,在开始信号中,权重地址在每个周期内加1;
脉动计算阵列控制子单元(3.3),接收来自译码器(2)的脉动计算阵列控制子单元开始信号,输出3个1bit信号,分别为输入特征图移位寄存器组开始信号,权重移位寄存器组开始信号,脉动计算阵列开始信号,用来控制处理单元(7)中的数据移位过程和脉动计算过程;
激活函数控制子单元(3.4),接收来自译码器(2)的激活函数控制子单元开始信号,输出1个1bit信号,用来控制处理单元(7)中的激活函数计算;
池化控制子单元(3.5),接收来自译码器的(2)的池化子单元开始信号,输出1个1bit,用来控制处理单元(7)中池化计算;
中间结果控制子单元(3.6),接收来自译码器的(2)的中间结果控制子单元开始信号,用来控制处理单元(7)中的中间结果缓存数据的读取写入顺序;中间结果控制子单元(3.6)的中间结果地址计算公式如下:
Addr_w=Addr_i+Row×M+Col(2)
M=(N+2×P-K)/(S+1)(3)
其中,Addr_w表示中间结果地址;Addr_i表示中间结果首地址;M为一个参数;N表示来自指令参数中的输入特征图大小;K表示来自指令参数中的权重大小;P表示来自指令参数中的填充大小;S表示来自指令参数中的跨步大小;Row表示行位置寄存器;Col表示列位置寄存器。
6.根据权利要求1所述的一种面向边缘计算的卷积神经网络处理器,其特征在于,所述的输入特征图缓存单元(4)在运行过程中,输出给处理单元(7)所需要的输入特征图数据,并保存处理单元(7)中的激活函数计算结果;所述的输入特征图缓存单元(4)还通过数据总线(8)连接外部存储单元(9)进行数据交换。
7.根据权利要求1所述的一种面向边缘计算的卷积神经网络处理器,其特征在于,所述的中...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。