数据共享系统及其数据共享方法技术方案

技术编号:30316316 阅读:67 留言:0更新日期:2021-10-09 23:10
一种数据共享系统,包括存储模块和至少两个处理模块,其中:至少两个处理模块共用存储模块;至少两个处理模块之间进行通信,以实现数据共享。以及一种数据共享系统的数据共享方法。本公开可降低存储通信的开销,有效降低数据访问的延时。据访问的延时。据访问的延时。

【技术实现步骤摘要】
数据共享系统及其数据共享方法


[0001]本公开涉及一种共享系统,尤其涉及一种数据共享系统及其数据共享方法。

技术介绍

[0002]随着人工智能技术的不断发展,机器学习技术和深度神经网络技术得到了广泛的应用,如可应用于语音识别、图像处理、数据分析、广告推荐系统、汽车自动驾驶等等,可以说,机器学习和深度神经网络已经被应用在了生活的各个方面。这些技术能够取得如此广泛的应用,和其能够很好地处理大数据的优势是分不开的。但随着数据量的越来越大,其计算量也随之增加,因此如何有效的组织和存储数据,成为了设计片上系统芯片(SoC芯片)时一个不得不面对的问题。
[0003]如图1所示,在现有的SoC芯片中,机器学习(可以做深度学习或其他)专用集成电路(ASIC模块)的数据时,通常都存在私有的静态随机存取存储器(SRAM)里,通过先进的可扩展接口(AXI)总线将数据放到片外动态随机存取存储器(DRAM)或片内的SRAM(类似缓存SRAM(Cache))里,再间接和其他模块交互。这使得系统开销提高、数据读取延时增大、数据共享和交互的能耗增多。

技术实现思路

[0004]基于以上问题,本公开的主要目的在于提出一种数据共享系统及其数据共享方法,用于解决以上技术问题的至少之一。
[0005]为了实现上述目的,作为本公开的一个方面,本公开提出了一种数据共享系统,包括存储模块和至少两个处理模块,其中:
[0006]至少两个处理模块共用存储模块;
[0007]至少两个处理模块之间通过预设的规则进行通信,以实现数据共享。
[0008]在本公开的一些实施例中,上述预设的规则包括通信协议、传送协议、握手协议和/或总线协议。
[0009]在本公开的一些实施例中,上述通过预设的规则通信包括:至少两个处理模块包括第一处理模块和第二处理模块,第一处理模块向第二处理模块发送请求信号和相应的数据地址,第二处理模块根据请求信号和相应的数据地址,向第一处理模块回复有效信号和数据,以实现数据共享。
[0010]在本公开的一些实施例中,上述至少两个处理模块包括物理处理器。
[0011]在本公开的一些实施例中,上述物理处理器包括神经网络处理器。
[0012]在本公开的一些实施例中,上述神经网络处理器包括用于执行人工神经网络正向运算的装置。
[0013]在本公开的一些实施例中,上述用于执行人工神经网络正向运算的装置包括指令缓存单元和直接内存访问单元,其中:
[0014]指令缓存单元用于通过直接内存访问单元读入指令并缓存读入的指令。
[0015]在本公开的一些实施例中,上述用于执行人工神经网络正向运算的装置还包括:
[0016]控制器单元,用于从指令缓存单元读取指令,并将该指令译码成微指令。
[0017]在本公开的一些实施例中,上述用于执行人工神经网络正向运算的装置还包括H数模块、主运算模块、以及多个从运算模块,其中:
[0018]H树模块,用于在每层神经网络反向训练开始计算的阶段,主运算模块通过H树模块向所有的从运算模块传输本层的输入神经元向量,以及在从计算模块的计算过程完成后,H树模块用于逐级将各从计算模块的输出神经元值拼成中间结果向量;
[0019]主运算模块,用于利用中间结果向量完成后续计算。
[0020]在本公开的一些实施例中,上述直接内存访问单元,还用于从外部地址空间向主运算模块和各从运算模块的相应数据缓存单元中写数据,或从所述数据缓存单元向外部地址空间读数据。
[0021]在本公开的一些实施例中,上述至少两个处理模块包括两个互异结构的处理器;该两个互异结构的处理器的其中之一为神经网络处理器。
[0022]在本公开的一些实施例中,上述至少两个处理模块包括处理器的至少两个处理器内核;该至少两个处理器内核为相同/互异结构的处理器内核。
[0023]在本公开的一些实施例中,上述至少两个处理模块包括处理器内核的至少两个运算单元;该至少两个运算单元为相同/互异结构的运算单元。
[0024]在本公开的一些实施例中,上述共享系统还包括:
[0025]至少两个存储单元,分别连接至少两个运算单元的至少一个,至少两个运算单元中的任一个连接一个或多个存储单元;且至少两个存储单元共享所述存储模块。
[0026]在本公开的一些实施例中,上述至少两个运算单元共享同一个存储单元、或独享一个存储单元、或部分共享同一个存储单元,且部分独享一个存储单元。
[0027]在本公开的一些实施例中,上述至少两个处理模块包括处理器内核的三个运算单元,至少两个存储单元为两个,其中的两个运算单元同时连接其中的一个存储单元,其中的另外一个运算单元连接其中的另一个存储单元。
[0028]为了实现上述目的,作为本公开的另一个方面,本公开提出了一种数据共享方法,包括以下步骤:
[0029]至少两个处理模块之间通过预设的规则进行通信,以实现数据共享;
[0030]其中,两个处理模块共用存储模块。
[0031]在本公开的一些实施例中,上述预设的规则包括通信协议、传送协议、握手协议和/或总线协议。
[0032]在本公开的一些实施例中,上述通过预设的规则通信包括:至少两个处理模块包括第一处理模块和第二处理模块,第一处理模块向第二处理模块发送请求信号和相应的数据地址,第二处理模块根据请求信号和相应的数据地址,向第一处理模块回复有效信号和数据,以实现数据共享。
[0033]在本公开的一些实施例中,上述至少两个处理模块包括物理处理器。
[0034]在本公开的一些实施例中,上述物理处理器包括神经网络处理器。
[0035]在本公开的一些实施例中,上述神经网络处理器包括用于执行人工神经网络正向运算的装置。
[0036]在本公开的一些实施例中,上述用于执行人工神经网络正向运算的装置包括指令缓存单元和直接内存访问单元,其中:
[0037]指令缓存单元通过直接内存访问单元读入指令,并缓存读入指令。
[0038]在本公开的一些实施例中,上述用于执行人工神经网络正向运算的装置还包括控制器单元,该控制器单元从指令缓存单元读取指令,并译码该指令生成微指令。
[0039]在本公开的一些实施例中,上述用于执行人工神经网络正向运算的装置还包括H数模块、主运算模块、以及多个从运算模块,其中:
[0040]H树模块,在每层神经网络反向训练开始计算的阶段,主运算模块通过H树模块向所有的从运算模块传输本层的输入神经元向量,以及在从计算模块的计算过程完成后,H树模块逐级将各从计算模块的输出神经元值拼成中间结果向量;
[0041]主运算模块,利用中间结果向量完成后续计算。
[0042]在本公开的一些实施例中,上述直接内存访问单元,还从外部地址空间向主运算模块和各从运算模块的相应数据缓存单元中写数据,或从数据缓存单元向外部地址空间读数据。
[0043]在本公开的一些实施例中,上述至本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据共享系统,包括存储模块和至少两个处理模块,其中:所述至少两个处理模块共用所述存储模块;所述至少两个处理模块之间通过预设的规则进行通信,以实现数据共享,所述至少两个处理模块为相同/互异结构的处理器、相同/互异结构的处理器内核,及相同/互异结构处理器内核中相同/互异结构的运算单元中的一种。2.如权利要求1所述的数据共享系统,其中,所述预设的规则包括通信协议、传送协议、握手协议和/或总线协议。3.如权利要求1至2中任一项所述的数据共享系统,其中,所述通过预设的规则通信包括:至少两个处理模块包括第一处理模块和第二处理模块,第一处理模块向第二处理模块发送请求信号和相应的数据地址,所述第二处理模块根据所述请求信号和相应的数据地址,向第一处理模块回复有效信号和数据,以实现数据共享。4.如权利要求1至3中任一项所述的数据共享系统,其中,所述至少两个处理模块包括物理处理器。5.如权利要求4所述的数据共享系统,其中,所述物理处理器包括神经网络处理器。6.如权利要求5所述的数据共享系统,其中,所述神经网络处理器包括用于执行人工神经网络正向运算的装...

【专利技术属性】
技术研发人员:ꢀ五一IntClG零六F一五一六七
申请(专利权)人:上海寒武纪信息科技有限公司
类型:发明
国别省市:

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

1