System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 数据传输装置及方法制造方法及图纸_技高网

数据传输装置及方法制造方法及图纸

技术编号:40271842 阅读:9 留言:0更新日期:2024-02-02 22:58
本公开提供了一种数据传输装置及方法,其中,该装置包括:寄存器模块,和直接内存访问控制模块。虽然现有的简单的一维直接内存访问指令得到了广泛的应用,但用处更大的则是二维直接内存访问指令,特别是在图像、视频等应用中。通过本公开的装置及方法,可以解决现有技术中存在的二维数据传送效率低下、多组数据交替传送时缺失过多的问题。

【技术实现步骤摘要】

本专利技术涉及计算机科学,尤其涉及一种数据传输装置及方法


技术介绍

1、直接内存访问(direct memory access,dma)是计算机科学中的一种内存访问技术。它允许某些硬件子系统(外存储器)独立地直接读写系统内存,而不需cpu介入处理。在同等程度的处理器负担下,dma是一种快速的数据传送方式。有时,数据除了往来处理器和外存储器之间之外,还需要在多个存储空间之间转移。我们并不希望让处理器在这种情况下也忙于数据拷贝,而dma就可以负担起此类工作,减少了系统资源的占用。此外,dma的传送能力并不总是用来移动数据,也可以用于将存储在外存储器中的将要运行的代码提前送入内存,加快执行效率。

2、dma控制器需要指令支持,才能正确执行处理器布置的多种任务。对于任何类型的dma传输,都需要规定源端地址、目标端地址和待传送数据的大小。这种类型的事务代表了简单的一维(“1d”)统一“跨度”(unity stride)的传输。不过,虽然1d dma得到了广泛的应用,但用处更大的则是二维(2d)dma,特别是在图像、视频等应用中。2d dma可以简单地理解为一个嵌套的循环,亦即对一个矩阵的行和列分别操作,最终完成遍历,每一层循环都相当于一个1d dma。

3、而更复杂的dma装置往往会同时与多个外存储器相连,一段时间内cpu需要交替从这些外存储器中获取多组数据,这些数据是根据任务所需不时切换的,但在同组内又是连续的。这时dma装置需要正确识别相关指令,确保同组数据的缓存尽可能命中,不受其他组的数据传送的影响。>

技术实现思路

1、本专利技术实施例提供的一种数据传输装置及方法,在图像、视频处理的应用场景下极大地提升了数据传送的效率和规范程度,弥补了数据密集型计算任务的i/o短板。

2、第一方面,本申请实施例提供了一种数据传输装置,包括:

3、寄存器模块,用于存储二维数据在源存储器中存储的源地址、所述二维数据在目的存储器中存储的目的地址和每次传输二维数据的数据量等参数;

4、dma控制模块,用于接收到dma指令;

5、所述dma控制模块,还用于根据所述dma指令,从所述寄存器模块中获取出待传输二维数据的源地址和待传输二维数据的目的地址;

6、所述dma控制模块,还用于根据所述待传输二维数据的源地址从所述源存储器中获取所述待传输二维数据,并将所述待传输二维数据传输至所述目的存储器中所述目的地址对应的存储空间。

7、其中,所述源存储器为所述二维数据的存储空间,所述目的存储器用于存储传输后的二维数据。

8、其中,所述将所述待传输二维数据传输至所述目的存储器中所述目的地址对应的存储空间包括:

9、所述dma控制模块从所述寄存器模块中获取所述每次传输二维数据的数据量;

10、根据所述每次传输二维数据的数据量将所述待传输二维数据传输至所述目的存储器中所述目的地址对应的存储空间。

11、在一种可行的实施例中,上述dma控制模块从所述dma指令获取所述待传输二维数据的源地址、待传输二维数据的目的地址和每次传输二维数据的数据量。

12、可选地,所述dma指令为载入/存储结构的指令。

13、可选地,所述dma指令为定长指令。

14、可选地,所述寄存器模块包括:

15、标量寄存器堆,用于存储数据规模、二维数据的源地址、二维数据的目的地址、二维数据在原地址的摆放间隔大小、二维数据在目的地址的摆放间隔大小、访存次数和数据变换规模;

16、其中所述数据规模为二维数据的每次传输的数据量,数据变换规模是二维数据需要进行数据变换的数据量。

17、可选地,所述源地址和目的地址还标记所属的存储空间的类型;若该存储空间为外存储器,则原地址和目的地址还标记所属的流;若该存储空间为内存储器,则原地址和目的地址还标记所属内存储器的子模块;

18、其中,所述流为多组数据交替传送时的分组。

19、可选地,所述dma指令包括但不限定于数据传送(data transfer,dtt)指令和地址跳转(address jump,adj)指令。

20、可选地,所述dma指令包括一个操作码和五个操作域,所述操作码用于指示该dma指令的功能;所述五个操作域分别为第一操作域、第二操作域、第三操作域、第四操作域和第五操作域;

21、其中,所述第一操作域用于指示二维数据的源地址所属的存储空间,所述第二操作域用于指示二维数据的源地址,所述第三操作域用于指示二维数据的目的地址所属的存储空间,所述第四操作域用于指示二维数据的目的地址,所述第五操作域用于指示二维数据的每次所传输的数据量;

22、可选地,所述所述adj指令包括两个操作域,分别为第六操作域和第七操作域;所述第六操作域用于指示地址寄存器的编号,所述第七操作域用于指示跳转值寄存器的编号。

23、其中,所述地址寄存器用于存储所述源地址,所述跳转值寄存器用于存储源地址的跳转值。

24、可选地,所述数据传输装置还包括:

25、数据缓存单元,用于临时存储根据所述源地址从源存储器中读取的二维数据。

26、可选地,所述数据缓存单元包括:

27、高速暂存存储器,用于支持不同大小的二维数据的传输,并写入所述目的存储器中所述目的地址对应的存储空间。

28、可选地,所述dma控制模块包括:

29、指令单元,用于处理所述原始dma指令,以得到处理后的dma指令;

30、加法单元,用于根据处理后的dma指令,计算得到二维数据的源地址和二维数据的目的地址;

31、读写单元,用于根据所述源地址从所述源存储器中读取所述二维数据,并将所述二维数据送至目的存储器中所述目的地址对应的存储空间。

32、可选地,所述加法单元和读写单元为多流水级结构,且所述加法单元处于第一流水级,所述读写单元处于第二流水级。

33、可选地,所述指令单元包括:

34、指令展开单元,用于将所述dma指令展开为系统dma指令;

35、指令缓存单元,用于存储所述系统dma指令;

36、指令处理单元,用于处理所述指令缓存单元中的系统dma指令。

37、可选地,所述指令缓存单元包括:

38、重排序缓存,用于存储所述系统dma指令。

39、可选地,当所述系统dma指令执行完之后,如果该系统dma指令同时也是指令缓存单元中未被提交指令中最早的一条系统dma指令,则该系统dma指令将被提交,该系统dma指令进行的操作对数据传输装置状态的改变将无法撤销。

40、可选地,所述指令处理单元包括:

41、取指单元,用于从所述指令缓存单元中获取所述系统dma指令;

42、译码单元,用于对所述系统dma指令进行译码;

4本文档来自技高网...

【技术保护点】

1.一种数据传输装置,其特征在于,包括:

2.根据权利要求1所述的装置,其特征在于,所述源存储器和目的存储器均包括外部的各个存储设备和内部各个存储模块。

3.根据权利要求1或2所述的装置,其特征在于,所述DMA指令为载入/存储结构的指令。

4.根据权利要求1-3任一项所述的装置,其特征在于,所述DMA指令为定长指令。

5.根据权利要求1所述的装置,其特征在于,所述寄存器模块包括:

6.根据权利要求1-5任一项所述的装置,其特征在于,所述二维数据的源地址和目的地址还标记所属的存储空间的类型,若所述存储空间是外存储器,则所述二维数据的源地址和目的地址还标记所属的流;若所述存储空间为内存储器,则所述二维数据的源地址和目的地址还标记所属内存储器的子模块;

7.根据权利要求1-4任一项所述的装置,其特征在于,所述DMA指令包括一个操作码和至少一个操作域,操作码用于指示该指令的功能,操作域用于指示该指令的数据地址;所述DMA指令包括数据传送指令和地址跳转指令;

8.根据权利要求1-7中任一项所述的装置,其特征在于,所述数据传输装置还包括:

9.根据权利要求8所述的装置,其特征在于,所述数据缓存单元包括:

10.根据权利要求1所述的装置,其特征在于,所述DMA控制模块包括:

11.根据权利要求1-10任一项所述的装置,其特征在于,所述数据传输装置还包括:

12.根据权利要求7所述的装置,其特征在于,所述DMA指令还包括用于指示对二维数据进行数据转换的方式的操作域。

13.根据权利要求1-12任一项所述的装置,其特征在于,所述数据传输装置还包括:

14.根据权利要求10所述的装置,其特征在于,所述加法单元和读写单元为多流水级结构,所述加法单元处于第一流水级,所述读写单元在第二流水级。

15.根据权利要求10所述的装置,其特征在于,所述指令单元包括:

16.根据权利要求15所述的装置,其特征在于,所述指令缓存单元包括:

17.根据权利要求15或16所述的装置,其特征在于,当所述系统DMA指令执行完之后,如果该系统DMA指令同时也是所述指令缓存单元中未被提交指令中最早的一条系统DMA指令,则该系统DMA指令将被提交,一旦提交,该系统DMA指令进行的操作对所述数据传输装置状态的改变将无法撤销。

18.根据权利要求15至16所述的装置,其特征在于,所述指令处理单元包括:

19.一种数据传输方法,其特征在于,包括步骤:

20.根据权利19所述的方法,其特征在于,所述原始直接内存访问指令包括数据处理指令和地址跳转指令;

21.根据权利要求19或20所述的方法,其特征在于,当系统DMA指令执行完之后,如果该系统DMA指令同时也是DMA控制模块中的指令缓存单元中,未被提交指令中最早的一条系统DMA指令,则该系统DMA指令将被提交,一旦提交,该系统DMA指令进行的操作对二维数据传输的状态的改变将无法撤销。

...

【技术特征摘要】

1.一种数据传输装置,其特征在于,包括:

2.根据权利要求1所述的装置,其特征在于,所述源存储器和目的存储器均包括外部的各个存储设备和内部各个存储模块。

3.根据权利要求1或2所述的装置,其特征在于,所述dma指令为载入/存储结构的指令。

4.根据权利要求1-3任一项所述的装置,其特征在于,所述dma指令为定长指令。

5.根据权利要求1所述的装置,其特征在于,所述寄存器模块包括:

6.根据权利要求1-5任一项所述的装置,其特征在于,所述二维数据的源地址和目的地址还标记所属的存储空间的类型,若所述存储空间是外存储器,则所述二维数据的源地址和目的地址还标记所属的流;若所述存储空间为内存储器,则所述二维数据的源地址和目的地址还标记所属内存储器的子模块;

7.根据权利要求1-4任一项所述的装置,其特征在于,所述dma指令包括一个操作码和至少一个操作域,操作码用于指示该指令的功能,操作域用于指示该指令的数据地址;所述dma指令包括数据传送指令和地址跳转指令;

8.根据权利要求1-7中任一项所述的装置,其特征在于,所述数据传输装置还包括:

9.根据权利要求8所述的装置,其特征在于,所述数据缓存单元包括:

10.根据权利要求1所述的装置,其特征在于,所述dma控制模块包括:

11.根据权利要求1-10任一项所述的装置,其特征在于,所述数据传输装置还包括:

12.根据权利要求7所述的装置,其特...

【专利技术属性】
技术研发人员:请求不公布姓名请求不公布姓名请求不公布姓名请求不公布姓名
申请(专利权)人:上海寒武纪信息科技有限公司
类型:发明
国别省市:

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

1