利索能及
我要发布
收藏
专利号: 2020115764615
申请人: 电子科技大学
专利类型:发明专利
专利状态:已下证
更新日期:2025-12-17
缴费截止日期: 暂无
联系人

摘要:

权利要求书:

1.一种面向稀疏神经网络的片上系统,其特征在于,包括主处理器、协处理器、系统从设备以及片外存储器,所述主处理器与协处理器通信连接;

所述系统从设备与主处理器通信连接;

所述片外存储器从系统接口与所述系统从设备连接;

其中,

所述主处理器将神经网络算法中的矩阵计算分解为向量计算,将稀疏神经网络的神经元矩阵和权重矩阵展开成原始的稀疏向量,其中,所述原始的稀疏向量包括稀疏神经元向量和稀疏权重向量,所述片上系统采用直接索引的方式,存储稀疏神经元向量和稀疏权重向量中的非零元素以及稀疏神经元向量和稀疏权重向量对应的索引标志;

执行程序筛选重组稀疏神经网络中参与计算的非零神经元和非零权重,将稀疏神经网络中的稀疏向量转换成稠密的向量,并向所述协处理器发送加速指令,由所述协处理器执行稠密向量的加速计算,具体方式为:所述主处理器对稀疏神经元向量和稀疏权重向量的索引标志进行与计算,得到参与计算的稀疏神经元向量或稀疏权重向量在原始向量中索引标志,通过得到的索引标志对非零神经元计数向量和非零权重计数向量进行筛选,得到参与计算的非零神经元和非零权重分别在非零神经元组成向量和非零权重组成向量中的位置坐标,根据非零神经元组成向量和非零权重组成向量索引到最后参与计算的非零元素,并将索引到的非零元素按照顺序重组为稠密向量。

2.根据权利要求1所述的一种面向稀疏神经网络的片上系统,其特征在于,所述主处理器包括开源处理器、数据通路、一级数据缓存和一级指令缓存,其中:所述数据通路用于主处理器和协处理器之间的数据交互;

所述一级数据缓存用于存储主处理器和协处理器的计算数据;

所述一级指令缓存用于存储主处理器的处理指令;

所述主处理器和协处理器共享一级数据缓存。

3.根据权利要求1所述的一种面向稀疏神经网络的片上系统,其特征在于,所述系统从设备包括SPIFlash控制器和调试接口UART;

所述SPIFlash控制器用于利用SPI接口将所述片外存储器集成到所述片上系统中;

所述调试接口UART为所述片上系统的调试接口,用于接收上位机的指令或向上位机发送指令。

4.根据权利要求3所述的一种面向稀疏神经网络的片上系统,其特征在于,系统上电后,所述主处理器从SPIFlash控制器开始依次读取一个块的指令缓存到一级缓存地址中,执行程序筛选重组稀疏神经网络中参与计算的原始的稀疏向量。

5.根据权利要求1所述的一种面向稀疏神经网络的片上系统,其特征在于,当组成的稠密向量数据位宽达到所述主处理器与所述协处理器之间接口的位宽时,所述主处理器通过RoCC接口向所述协处理器发送加速指令。

6.根据权利要求5所述的一种面向稀疏神经网络的片上系统,其特征在于,所述主处理器将重组后的稠密向量存储到一级数据缓存中,所述协处理器接收到加速指令后直接从所述一级数据缓存中访问稠密向量。

7.根据权利要求1所述的一种面向稀疏神经网络的片上系统,其特征在于,所述协处理器包括控制译码单元、地址生成器、点积计算单元、向量加计算单元、激活函数计算单元、池化操作单元、最大值索引计算单元和编码器,其中:所述控制译码单元用于解析RoCC指令,得到协处理器访存起始地址,并且在算法执行过程中控制数据流的流向;

所述地址生成器用于计算卷积神经网络算法执行过程中的访存地址;所述卷积神经网络算法包括卷积层算法、全连接层算法和输出层算法;

所述点积计算单元、向量加计算单元、激活函数计算单元、最大值索引计算单元采用级联的结构,用于进行执行对应的点积计算、向量加计算、激活函数计算以及最大值索引计算;

所述编码器用于对所述点积计算单元、向量加计算单元、激活函数计算单元、池化操作单元的计算结果进行编码。

8.根据权利要求7所述的一种面向稀疏神经网络的片上系统,其特征在于,所述协处理器执行卷积层算法时,其数据流经过最大池化计算后发送至编码器压缩,然后将非零元素和非零元素对应的索引标志写入一级数据缓存中;

执行全连接层算法时,其数据流经过激活函数计算单元计算后即执行在线编码压缩,然后将非零元素和非零元素对应的索引标志写入一级数据缓存;其最后一层全连接层输出经过压缩之后发送给最大值索引单元进行计算;

执行输出层算法时,通过最大值索引计算单元的计算结果直接通过访存请求信号接口写入一级数据缓存。