一种深度学习加速核及基于其的深度学习片上系统技术方案

技术编号:35865474 阅读:12 留言:0更新日期:2022-12-07 10:57
本发明专利技术公开了一种深度学习加速核及基于其的深度学习片上系统,深度学习加速核主要由运算管理单元、指令控制单元、存储器构成;运算管理单元内设数据传输仲裁选择逻辑单元以及各种运算单元;存储器将输入数据或权重数据经过数据传输仲裁选择逻辑单元传输至对应运算单元,各个运算单元将运算结果经过数据传输仲裁选择逻辑单元写入存储器;指令控制单元用于读取指令并完成指令分发,存储器和运算管理单元根据前一指令的执行时长以及该指令与其他指令间的依赖关系确定当前指令的执行时间。深度学习加速核内设各种运算单元,可以根据特定计算模式的特点,利用数据的复用性,设计内部电路,减少数据反复导入、导出的次数,减少不必要的能量消耗。要的能量消耗。要的能量消耗。

【技术实现步骤摘要】
一种深度学习加速核及基于其的深度学习片上系统


[0001]本专利技术涉及深度学习
,尤其是一种深度学习加速核及基于其的深度学习片上系统。

技术介绍

[0002]深度学习是近年来新兴的人工智能技术,也是目前研究和创新的热点。现如今,深度学习技术在计算机视觉、语音识别、自然语言处理等领域均获得巨大成功,其性能远超这些领域的传统方法。然而,深度学习的参数量及计算量极大,通常参数量能够可达上百兆字节的量级,计算量可达几十到几百GFLOPS的量级,如此之大的参数量及计算量,在传统CPU上是无法实现实时处理的(实时处理要求至少25FPS以上,即每秒推理25次以上)。
[0003]边缘侧应用不但对处理器的深度学习模型处理速度提出很高要求,而且对处理器的能耗有很强的限制;因此,研发新型人工智能处理器成为必需。这种新型人工智能处理器一方面需要提高算力,满足深度学习模型推理的实时需求;另一方面需要提高能效,满足边缘侧设备对芯片的功耗要求。
[0004]传统处理器,如CPU、DSP,一般采用冯诺依曼或哈弗结构,处理器中设置寄存器,由指令控制数据传输到寄存器,再由指令控制运算部件读取寄存器中的数据执行运算。此类架构的特点是比较灵活,每个指令完成一种非常基本的操作(如加法、减法、乘法、搬运一个或若干个数据),各种指令组合起来可以实现各种各样的功能,从而使得处理器可以实现丰富的软件,并在软件控制下完成各种丰富的功能。
[0005]但此类架构不太适用于对算力要求很高的人工智能芯片领域,原因有两个:
[0006]第一,大算力的人工智能芯片,其运算器件必然很多,因为算力是由具体的运算器件(如乘法器、乘累加器等)实现的。大量的运算器件全部工作时,必然需要大量的数据;这些数据需要在每一个工作周期由存储数据的硬件位置(寄存器或存储器)搬运到运算器件;而传统CPU、DSP使用指令驱动数据,使用指令控制需要的数据从寄存器(或存储器)传输到运算器件;显然,当处理器算力提升到很高时,需要大量数据由存储位置搬运到运算单位,这种处理方式是非常低效的。
[0007]第二,人工智能计算领域,存在一种现象,即一份数据会在一次计算中多次使用,例如,在多输入通道、多输出通道的二维卷积计算中,卷积核的权重会被反复使用,输入特征图在计算不同输出通道的卷积结果时也会被反复使用;如果不考虑这种数据的复用性,会导致数据反复从存储数据的位置(寄存器或存储器)导入到运算单元,造成不必要的能量消耗;而CPU、DSP是为通用计算设计的,其指令和运算单元都设计为执行基本的计算操作(如加法、减法、乘法、搬运一个或若干个数据),并未考虑深度学习模型训练这种特定领域的数据复用性,因而,利用传统CPU、DSP进行深度学习模型训练会造成数据反复搬移,造成能量的不必要消耗。

技术实现思路

[0008]针对传统CPU、DSP为代表的指令流处理器不太适用于对算力、能效要求非常高的深度学习应用场景的问题,本专利技术提出一种深度学习加速核及基于其的深度学习片上系统。
[0009]本专利技术保护一种深度学习加速核,主要由运算管理单元、指令控制单元、存储器构成;
[0010]所述运算管理单元内设数据传输仲裁选择逻辑单元以及各种运算单元,各种运算单元包括不限于矩阵运算单元、最大池化运算单元、softmax运算单元、激活函数运算单元、向量运算单元、稀疏运算单元、二值神经网络运算单元;
[0011]所述存储器与所述数据传输仲裁选择逻辑单元双向连接,所述数据传输仲裁选择逻辑单元与各个运算单元双向连接,所述存储器将输入数据或权重数据经过所述数据传输仲裁选择逻辑单元传输至对应运算单元,各个运算单元将运算结果经过所述数据传输仲裁选择逻辑单元写入所述存储器;
[0012]所述指令控制单元用于读取指令并完成指令分发,所述存储器和所述运算管理单元根据前一指令的执行时长以及该指令与其他指令间的依赖关系确定当前指令的执行时间,该指令与其他指令间的依赖关系符合指令执行的顺序要求。
[0013]进一步的,所述存储器采用ping

pang结构,即包含存储器ping和存储器pang;所述存储器ping和所述存储器pang均包含三个存储阵列;在执行矩阵乘法时,三个存储阵列分别用于存储左矩阵数据、右矩阵数据和结果矩阵数据;在执行二维卷积计算时,三个存储阵列分别用于存储输入特征图数据、卷积核权重数据和输出特征图数据。
[0014]进一步的,该指令与其他指令间的依赖关系通过指令中的依赖关系标志位及其之间的逻辑关系实现,标志位包括依赖标志位和通知标志位,依赖标志位包括依赖存储器ping标志、依赖存储器pang标志、依赖计算单元标志,通知标志位包括通知存储器ping标志、通知存储器pang标志、通知计算单元标志;若一条指令不需要依赖任何指令便可以执行,则该指令的依赖标志位均配置为0;若一条指令何时执行完毕不会影响到其他任何指令,则该指令的通知标志位均配置为0。
[0015]进一步的,若运算管理单元收到的指令中依赖存储器ping标志=1,则该指令必须接收到存储器ping发来的通知后才执行,而存储器ping只有在正在执行的执行中通知计算单元标志=1并已经执行完毕时,才会向运算管理单元发送通知;
[0016]若运算管理单元收到的指令中依赖存储器pang标志=1,则该指令必须接收到存储器pang发来的通知后才执行,而存储器pang只有在正在执行的执行中通知计算单元标志=1并已经执行完毕时,才会向运算管理单元发送通知;
[0017]若存储器ping收到的指令中依赖计算单元标志=1,则该指令必须接收到运算管理单元发来的通知后才执行,而运算管理单元只有在正在执行的执行中通知存储器ping标志=1并已经执行完毕时,才会向存储器ping发送通知;
[0018]若存储器pang收到的指令中依赖计算单元标志=1,则该指令必须接收到运算管理单元发来的通知后才执行,而运算管理单元只有在正在执行的执行中通知存储器pang标志=1并已经执行完毕时,才会向存储器pang发送通知。
[0019]进一步的,所述运算管理单元、所述存储器ping、所述存储器pang均设置指令队列
和指令解析逻辑单元;所述指令队列用于接收所述指令控制单元传输来的指令并传输至所述指令解析逻辑单元,所述指令解析逻辑单元用于指令解析并对该指令与其他指令间的依赖关系进行逻辑判断和控制。
[0020]本专利技术还保护一种深度学习片上系统,包括CPU、存储系统和上述深度学习加速核;CPU解析深度学习模型结构和权重参数文件,并将输入数据及权重存放在深度学习加速核可以访问到的位置,再根据硬件特点及深度学习模型结构生成指令,并发送至深度学习加速核,然后等待指令执行结束后,深度学习加速核反馈的中断,再进行后续处理。
[0021]本专利技术的有益效果:
[0022]1、深度学习加速核内设各种运算单元,每个运算单元负责一种深度学习模型推理领域的常用计算,可以根据特定计算模式的特点,利用数据的复用性本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种深度学习加速核,其特征在于,主要由运算管理单元、指令控制单元、存储器构成;所述运算管理单元内设数据传输仲裁选择逻辑单元以及各种运算单元,各种运算单元包括不限于矩阵运算单元、最大池化运算单元、softmax运算单元、激活函数运算单元、向量运算单元、稀疏运算单元、二值神经网络运算单元;所述存储器与所述数据传输仲裁选择逻辑单元双向连接,所述数据传输仲裁选择逻辑单元与各个运算单元双向连接,所述存储器将输入数据或权重数据经过所述数据传输仲裁选择逻辑单元传输至对应运算单元,各个运算单元将运算结果经过所述数据传输仲裁选择逻辑单元写入所述存储器;所述指令控制单元用于读取指令并完成指令分发,所述存储器和所述运算管理单元根据前一指令的执行时长以及该指令与其他指令间的依赖关系确定当前指令的执行时间,该指令与其他指令间的依赖关系符合指令执行的顺序要求。2.根据权利要求1所述的深度学习加速核,其特征在于,所述存储器采用ping

pang结构,即包含存储器ping和存储器pang。3.根据权利要求2所述的深度学习加速核,其特征在于,所述存储器ping和所述存储器pang均包含三个存储阵列;在执行矩阵乘法时,三个存储阵列分别用于存储左矩阵数据、右矩阵数据和结果矩阵数据;在执行二维卷积计算时,三个存储阵列分别用于存储输入特征图数据、卷积核权重数据和输出特征图数据。4.根据权利要求2所述的深度学习加速核,其特征在于,该指令与其他指令间的依赖关系通过指令中的依赖关系标志位及其之间的逻辑关系实现,标志位包括依赖标志位和通知标志位,依赖标志位包括依赖存储器ping标志、依赖存储器pang标志、依赖计算单元标志,通知标志位包括通知存储器ping标志、通知存储器pang标志、通知计算单元标志;若一条指令不需要依赖任何指令便可以执行,则该指令的依赖标志位均配置为0;若一条指令何时执行完毕不会影响到其他任何指令...

【专利技术属性】
技术研发人员:林广栋陆俊峰黄光红刘小明
申请(专利权)人:安徽芯纪元科技有限公司
类型:发明
国别省市:

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

1