一种通用神经网络加速器制造技术

技术编号:24094030 阅读:54 留言:0更新日期:2020-05-09 09:24
本发明专利技术公开一种通用神经网络加速器,属于片上系统技术领域。所述通用神经网络加速器,面向片上系统,所述片上系统包括主处理器,所述通用神经网络加速器被集成到SoC中,以协处理器的形式通过协处理器接口与所述主处理器耦合,实现基于所述主处理器扩展指令设计的自定义指令集;所述通用神经网络加速器和所述主处理器共享一级缓存L1 DCache。加速器设计完成后,用户可以在指令层面调度神经网络算法,并且针对不同的神经网络算法设定不同的向量参数,能够适应不断发展的新型神经网络算法和变化多样的应用场景。

A general neural network accelerator

【技术实现步骤摘要】
一种通用神经网络加速器
本专利技术是一种面向片上系统的通用神经网络加速器,涉及片上系统
,特别涉及加速器设计领域。
技术介绍
在大数据分析和大规模高速计算平台的支撑下,神经网络技术得到了可足的发展。一方面,神经网络算法不断改进,继CNN(ConvolutionalNeuralNetworks,卷积神经网络)之后,诸如RNN(RecurrentNeuralNetwork,循环神经网络)、GAN(GenerativeAdversarialNetworks,生成式对抗网络)等新型网络模型层出不穷;另一方面,由于神经网络算法在图像识别、语音分析和自然语言处理等领域表现突出,被广泛地应用到嵌入式系统中。嵌入式系统是一个专用的片上系统,它对系统的性能和功耗有着严格的要求。因此,在片上系统中集成神经网络加速器成为一个研究热点。随着各类神经网络算法的提出,各式各样的神经网络加速器应运而生。但是,这些神经网络加速器往往是针对特定网络模型而设计的,不具有通用型,灵活性差。“寒武纪”芯片提出了基于领域专用指令集架构的神经网络加速器设计方法,从指令层面加速算法的执行,灵活度高。但是,在片上系统中,CPU负责任务的分配和调度。“寒武纪”实现了单独的基于专用指令集的神经网络处理器,加速器完全独立于CPU。CPU无法对神经网络任务在指令级别调度。并且,单独的神经网络处理器需要增加额外的译码单元和编译器,增加了硬件资源的消耗,也不适合轻量级的设计。现存的CPU指令集不断完善,一些通用处理器指令集陆陆续续地支持扩展指令,用户根据扩展指令可以自定义指令。因此,在片上系统中实现基于CPU扩展指令的神经网络加速指令成为一种设计片上神经网络加速器的方法。
技术实现思路
本专利技术的目的在于提供一种通用神经网络加速器,以解决现有的片上系统无法适应自定义指令集的问题。为解决上述技术问题,本专利技术提供一种通用神经网络加速器,面向片上系统,所述片上系统包括主处理器,所述通用神经网络加速器被集成到SoC中,以协处理器的形式通过协处理器接口与所述主处理器耦合,实现基于所述主处理器扩展指令设计的自定义指令集;所述通用神经网络加速器和所述主处理器共享一级缓存L1DCache。所述通用神经网络加速器包括输入数据通路、输出数据通路、算术逻辑单元、地址生成器和译码控制单元;所述地址生成器产生每次获取源向量的地址vctxAddr和vctyAddr,以及将结果写回内存的地址rsltAddr;在译码控制单元的作用下,输入数据通路通过MEM响应接口从一级缓存L1DCache中交替读取两个源向量,每次读取64位数,并分别存储在vctx寄存器和vcty寄存器;算术逻辑单元接收到译码控制单元的使能信号后执行计算;计算完成后,将计算结果存储到输出数据通路的寄存器中,其中vsum寄存器存储向量点积结果,sumVect存储向量加结果,译码控制单元根据指令的功能码,在输出端选择输出计算结果。可选的,所述协处理器接口包括四个通道:控制通道,用于所述通用神经网络加速器与所述主处理器之间传递状态信息;请求通道,用于所述主处理器为所述通用神经网络加速器传递指令信息;存储器请求通道,用于所述通用神经网络加速器向所述主处理器中的存储器发起读写请求;存储器响应通道,用于所述主处理器向所述通用神经网络加速器返回数据读出结果。可选的,所述算术逻辑单元包括加法器阵列、乘法器阵列和加法器;译码控制单元输出vaen信号使能加法器阵列执行向量加计算;译码控制单元输出mulen信号使能乘法器阵列执行向量点积计算,将两向量对应元素相乘,当译码控制单元输出adden信号时,加法器将对应元素乘积相加,得到最终的点积计算结果。可选的,所述译码控制单元由一个有限状态机电路实现,包括空闲、取指、译码、访存、执行和写回6个状态;片上系统复位后,所述通用神经网络加速器处于空闲状态,准备接收自定义指令集,直到主处理器解析到定制指令,通用神经网络加速器进入取指状态,通过请求通道从主处理器获取指令信息;通用神经网络加速器解析指令的功能码来确定要执行的操作;通用神经网络加速器通过存储器请求通道向一级缓存L1DCache发送向量地址,通过存储器响应通道从一级缓存L1DCache中获取操作数;再执行指令指定的操作,执行完一次向量计算操作之后,根据指令内的向量长度信息判断计算是否完成,如果完成,通用神经网络加速器进入下一个状态,将执行结果写回指令指定的目的操作数地址;否则,根据地址生成器产生的新的地址,再次从L1DCache中获取源向量,继续执行向量计算,直到执行完向量计算,将执行结果通过存储器请求通道写回L1DCache,并且产生一个中断信号Interrupt告知主处理器;通用神经网络加速器回到空闲状态,并且将Busy信号拉低,等待下一次被调度。可选的,所述自定义指令集包括向量加指令和向量点积指令,能够实现向量加运算和向量点积。在本专利技术中提供了一种通用神经网络加速器,面向片上系统,所述片上系统包括主处理器,所述通用神经网络加速器被集成到SoC中,以协处理器的形式通过协处理器接口与所述主处理器耦合,实现基于所述主处理器扩展指令设计的自定义指令集;所述通用神经网络加速器和所述主处理器共享一级缓存L1DCache。加速器设计完成后,用户可以在指令层面调度神经网络算法,并且针对不同的神经网络算法设定不同的向量参数,能够适应不断发展的新型神经网络算法和变化多样的应用场景。附图说明图1是包括本专利技术提供的通用神经网络加速器的片上系统框架图示意图;图2是本专利技术提供的通用神经网络加速器内部逻辑示意图;图3是有限状态机状态转移图。具体实施方式以下结合附图和具体实施例对本专利技术提出的一种通用神经网络加速器作进一步详细说明。根据下面说明和权利要求书,本专利技术的优点和特征将更清楚。需说明的是,附图均采用非常简化的形式且均使用非精准的比例,仅用以方便、明晰地辅助说明本专利技术实施例的目的。实施例一本专利技术提供了一种通用神经网络加速器,面向片上系统,所述片上系统包括主处理器,如图1所示,所述通用神经网络加速器被集成到SoC中,以协处理器的形式通过协处理器接口与所述主处理器(即CPU)耦合,实现基于所述主处理器扩展指令设计的自定义指令集;所述通用神经网络加速器和所述主处理器共享一级缓存L1DCache。所述自定义指令集包括向量加指令和向量点积指令,能够实现向量加运算和向量点积。请继续参阅图1,所述协处理器接口包括控制通道(ControlChannel)、请求通道(RequestChannel)、存储器请求通道(RequestChannel)和存储器响应通道(MEMResponseChannel)这四个通道,所述控制通道用于所述通用神经网络加速器与所述主处理器之间传递状态信息;所述请求通道用于所述主处理器为所述通用神经网络加速器传递指令信息;所述存储器请求通道用于所述通用神经网络加速器向所述主处理器中的本文档来自技高网
...

【技术保护点】
1.一种通用神经网络加速器,面向片上系统,所述片上系统包括主处理器,其特征在于,所述通用神经网络加速器被集成到SoC中,以协处理器的形式通过协处理器接口与所述主处理器耦合,实现基于所述主处理器扩展指令设计的自定义指令集;所述通用神经网络加速器和所述主处理器共享一级缓存L1 DCache。/n

【技术特征摘要】
1.一种通用神经网络加速器,面向片上系统,所述片上系统包括主处理器,其特征在于,所述通用神经网络加速器被集成到SoC中,以协处理器的形式通过协处理器接口与所述主处理器耦合,实现基于所述主处理器扩展指令设计的自定义指令集;所述通用神经网络加速器和所述主处理器共享一级缓存L1DCache。


2.如权利要求1所述的通用神经网络加速器,其特征在于,所述通用神经网络加速器包括输入数据通路、输出数据通路、算术逻辑单元、地址生成器和译码控制单元;
所述地址生成器产生每次获取源向量的地址vctxAddr和vctyAddr,以及将结果写回内存的地址rsltAddr;在译码控制单元的作用下,输入数据通路通过MEM响应接口从一级缓存L1DCache中交替读取两个源向量,每次读取64位数,并分别存储在vctx寄存器和vcty寄存器;算术逻辑单元接收到译码控制单元的使能信号后执行计算;计算完成后,将计算结果存储到输出数据通路的寄存器中,其中vsum寄存器存储向量点积结果,sumVect存储向量加结果,译码控制单元根据指令的功能码,在输出端选择输出计算结果。


3.如权利要求2所述的通用神经网络加速器,其特征在于,所述协处理器接口包括四个通道:
控制通道,用于所述通用神经网络加速器与所述主处理器之间传递状态信息;
请求通道,用于所述主处理器为所述通用神经网络加速器传递指令信息;
存储器请求通道,用于所述通用神经网络加速器向所述主处理器中的存储器发起读写请求;
存储器响应通道,用于所述主处理器向所述通用神经网络加速器返回数据读出结果。


4.如权利要求2所述的通用神经...

【专利技术属性】
技术研发人员:魏敬和黄乐天明小满
申请(专利权)人:中国电子科技集团公司第五十八研究所
类型:发明
国别省市:江苏;32

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

1