搬运数据的方法、直接存储器访问装置以及计算机系统制造方法及图纸

技术编号:33244936 阅读:11 留言:0更新日期:2022-04-27 17:54
公开了一种搬运数据的方法、直接存储器访问装置以及计算机系统,所述搬运数据的方法,用于神经网络处理器,所述神经网络处理器包括至少一个处理单元阵列,所述方法包括:接收第一指令,其中,所述第一指令指示要搬运的目标数据的地址信息,所述目标数据的地址信息基于所述目标数据与所述处理单元阵列中的至少一个处理单元之间的映射关系得到;根据所述目标数据的地址信息生成数据搬运请求;以及根据所述数据搬运请求针对所述神经网络处理器进行所述目标数据的搬运。所述目标数据的搬运。所述目标数据的搬运。

【技术实现步骤摘要】
搬运数据的方法、直接存储器访问装置以及计算机系统


[0001]本公开涉及芯片领域,更具体地涉及一种搬运数据的方法、直接存储器访问装置以及计算机系统。

技术介绍

[0002]在计算机系统中,经常需要在I/O内存、内存与内存之间交换数据。直接存储器访问(Direct Memory Access,DMA)技术是一种高速的数据传输方式,允许在外部设备和存储器之间、存储器与存储器之间等直接传输数据。DMA过程主要由硬件来实现,此时外部设备和内存之间进行数据交换不通过中央处理器(Central Processing Unit,CPU)的控制,而是利用系统总线,由DMA硬件控制器控制总线直接完成外部设备和内存之间的数据交换。

技术实现思路

[0003]根据本公开的第一方面,提出了一种搬运数据的方法,用于神经网络处理器,所述神经网络处理器包括至少一个处理单元阵列,所述方法包括:接收第一指令,其中,所述第一指令指示要搬运的目标数据的地址信息,所述目标数据的地址信息基于所述目标数据与所述处理单元阵列中的至少一个处理单元之间的映射关系得到;根据所述目标数据的地址信息生成数据搬运请求;以及根据所述数据搬运请求针对所述神经网络处理器进行所述目标数据的搬运。
[0004]在一些实施例中,在根据所述目标数据的地址信息生成所述数据搬运请求之前,所述方法还包括:对所述第一指令进行译码以得到所述目标数据的地址信息。
[0005]在一些实施例中,所述第一指令还包括通道标识,所述通道标识指示所述神经网络处理器中的多个通道中的目标通道,所述方法还包括:对所述第一指令进行译码以得到所述通道标识;以及根据所述通道标识将所述第一指令写入目标存储区域,其中所述目标存储区域与所述目标通道具有对应关系。
[0006]在一些实施例中,所述方法还包括:根据所述神经网络处理器发送的用于握手的信号,将所述第一指令从所述目标存储区域读出以用于生成所述数据搬运请求。
[0007]在一些实施例中,由目标直接存储器访问装置接收所述第一指令并响应所述数据搬运请求,所述方法还包括:接收初始指令,对所述初始指令进行译码得到所述第一指令以及用于执行所述第一指令的所述目标直接存储器访问装置的DMA标识;以及根据所述 DMA标识将所述第一指令提供至所述目标直接存储器访问装置。
[0008]在一些实施例中,所述初始指令还指示指令类型,所述方法还包括:对所述初始指令进行译码以在得到所述第一指令的过程中还得到所述指令类型;以及响应于所述指令类型为预设指令类型,将所述第一指令写入所述目标存储区域。
[0009]在一些实施例中,还包括:响应于对所述第一指令的写入或读出,控制有效数的减少或增加,其中,所述有效数指示所述目标存储区域用于存储指令的空间大小。
[0010]在一些实施例中,所述根据所述神经网络处理器发送的用于握手的信号,将所述
第一指令从所述目标存储区域读出以用于生成所述数据搬运请求,包括:对所述多个通道进行轮询调度以选中所述目标通道;以及根据所述目标通道发送的用于握手的信号,将所述第一指令从所述目标存储区域读出以用于生成所述数据搬运请求。
[0011]在一些实施例中,在将所述第一指令从所述目标存储区域读出之前,所述方法还包括:确定所述目标存储区域是否为空;以及响应于所述目标存储区域为非空,从所述目标存储区域读出所述第一指令。
[0012]在一些实施例中,在将所述第一指令写入目标存储区域之前,所述方法还包括:确定所述目标存储区域是否为满;以及响应于所述目标存储区域为非满,将所述第一指令写入至所述目标存储区域。
[0013]根据本公开的第二方面,提出了一种直接存储器访问装置,用于神经网络处理器,其中,所述神经网络处理器包括至少一个处理单元阵列,所述装置包括:接收单元,其配置为接收第一指令,其中,所述第一指令指示要搬运的目标数据的地址信息,所述目标数据的地址信息基于所述目标数据与所述处理单元阵列中的至少一个处理单元之间的映射关系得到;接口控制单元,其配置为根据所述目标数据的地址信息生成数据搬运请求,根据所述数据搬运请求针对所述神经网络处理器进行所述目标数据的搬运。
[0014]在一些实施例中,所述接口控制单元还包括:第一译码单元,其配置为对所述第一指令进行译码以得到所述目标数据的地址信息。
[0015]在一些实施例中,所述第一指令还包括通道标识,所述通道标识指示所述神经网络处理器中的多个通道中的目标通道,所述装置还包括:第二译码单元,其配置为对所述第一指令进行译码以得到所述通道标识;指令虚拟通道存储单元;以及指令写控制单元,其配置为根据所述通道标识将所述第一指令写入所述指令虚拟通道存储单元的目标存储区域,其中所述目标存储区域与所述目标通道具有对应关系。
[0016]在一些实施例中,还包括:指令读控制单元,其配置为根据所述神经网络处理器发送的用于握手的信号,将所述第一指令从所述目标存储区域读出以用于生成所述数据搬运请求。
[0017]在一些实施例中,由目标直接存储器访问装置接收所述第一指令并响应所述数据搬运请求,所述目标直接存储器访问装置耦合至接口解码器,所述接口解码器包括:第三译码单元,其配置为接收初始指令,对所述初始指令进行译码得到所述第一指令以及用于执行所述第一指令的所述目标直接存储器访问装置的DMA标识;以及根据所述DMA标识将所述第一指令提供至所述目标直接存储器访问装置。
[0018]在一些实施例中,所述初始指令还指示指令类型,所述接口解码器还包括:第四译码单元,其配置为对所述初始指令进行译码以在得到所述第一指令的过程中还得到所述指令类型,响应于所述指令类型为预设指令类型,将所述第一指令写入所述目标存储区域。
[0019]在一些实施例中,还包括:有效数记录单元,其配置用于响应于对所述第一指令的写入或读出,控制有效数的减少或增加,其中,所述有效数指示所述目标存储区域用于存储指令的空间大小。
[0020]在一些实施例中,所述指令读控制单元还包括:轮询调度单元,其配置对所述多个通道进行轮询调度以选中所述目标通道;以及指令读控制模块,其配置为根据所述目标通道发送的用于握手的信号,将所述第一指令从所述目标存储区域读出以用于生成所述数据
搬运请求。
[0021]在一些实施例中,所述指令读控制单元还配置为:在将所述第一指令从所述目标存储区域读出之前,确定所述目标存储区域是否为空;以及响应于所述目标存储区域为非空,从所述目标存储区域读取所述第一指令。
[0022]在一些实施例中,所述指令写控制单元还配置为:在将所述第一指令写入目标存储区域之前,确定所述目标存储区域是否为满;以及响应于所述目标存储区域为非满,将所述第一指令存储至所述目标存储区域。
[0023]根据本公开的第三方面,提出了一种计算机系统,包括:根据本公开第二方面的任一所述直接存储器访问装置;以及所述神经网络处理器,其中,所述神经网络处理器与所述直接存储器访问装置电性耦合。
[0024本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种搬运数据的方法,用于神经网络处理器,所述神经网络处理器包括至少一个处理单元阵列,所述方法包括:接收第一指令,其中,所述第一指令指示要搬运的目标数据的地址信息,所述目标数据的地址信息基于所述目标数据与所述处理单元阵列中的至少一个处理单元之间的映射关系得到;根据所述目标数据的地址信息生成数据搬运请求;以及根据所述数据搬运请求针对所述神经网络处理器进行所述目标数据的搬运。2.根据权利要求1所述的方法,在根据所述目标数据的地址信息生成所述数据搬运请求之前,所述方法还包括:对所述第一指令进行译码以得到所述目标数据的地址信息。3.根据权利要求1所述的方法,其中,所述第一指令还包括通道标识,所述通道标识指示所述神经网络处理器中的多个通道中的目标通道,所述方法还包括:对所述第一指令进行译码以得到所述通道标识;以及根据所述通道标识将所述第一指令写入目标存储区域,其中所述目标存储区域与所述目标通道具有对应关系。4.根据权利要求3所述的方法,所述方法还包括:根据所述神经网络处理器发送的用于握手的信号,将所述第一指令从所述目标存储区域读出以用于生成所述数据搬运请求。5.根据权利要求1

4任一所述的方法,其中,由目标直接存储器访问装置接收所述第一指令并响应所述数据搬运请求,所述方法还包括:接收初始指令,对所述初始指令进行译码得到所述第一指令以及用于执行所述第一指令的所述目标直接存储器访问装置的DMA标识;以及根据所述DMA标识将所述第一指令提供至所述目标直接存储器访问装置。6.根据权利要求5所述的方法,其中所述初始指令还指示指令类型,所述方法还包括:对所述初始指令进行译码以在得到所述第一指令的过程中还得到所述指令类型;以及响应于所述指令类型为预设指令类型,将所述第一指令写入所述目标存储区域。7.根据权利要求6所述的方法,还包括:响应于对所述第一指令的写入或读出,控制有效数的减少或增加,其中,所述有效数指示所述目标存储区域用于存储指令的空间大小。8.根据权利要求4所述的方法,所述根据所述神经网络处理器发送的用于握手的信号,将所述第一指令从所述目标存储区域读出以用于生成所述数据搬运请求,包括:对所述多个通道进行轮询调度以选中所述目标通道;以及根据所述目标通道发送的用于握手的信号,将所述第一指令从所述目标存储区域读出以用于生成所述数据搬运请求。9.根据权利要求4所述的方法,在将所述第一指令从所述目标存储区域读出之前,所述方法还包括:
确定所述目标存储区域是否为空;以及响应于所述目标存储区域为非空,从所述目标存储区域读出所述第一指令。10.根据权利要求3所述的方法,在将所述第一指令写入目标存储区域之前,所述方法还包括:确定所述目标存储区域是否为满;以及响应于所述目标存储区域为非满,将所述第一指令写入至所述目标存储区域。11.一种直接存储器访问装置,用于神经网络处理器,其中,所述神经网络处理器包括至少一个处理单元阵列,所述装置包括:接收单元,其配置为接收第一指令,其中,所述第一指令指示要搬运的目标数据的地址信息,所述目标数据的地址信息基于所述目标数据与所述处理单元阵列中的至少一个处理单元之间的映射关系得到;接口控制单元,其配置为根据所述目标数据的地址信息生成数据搬运请求,根据所述数据搬运请求针对所述神经网络处理器进行所述目标数据的搬运。12.根据权利要求11所述的装置,所述接口控制单元还...

【专利技术属性】
技术研发人员:罗仕麟
申请(专利权)人:北京奕斯伟计算技术有限公司
类型:发明
国别省市:

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

1