一种集成芯片及指令处理方法技术

技术编号:36581355 阅读:20 留言:0更新日期:2023-02-04 17:41
本申请实施例公开了一种集成芯片及指令处理方法,可以用于图像处理领域或机器学习领域,可以用于GPU或NPU芯片中。该集成芯片包括指令处理模块,指令处理模块用于在完成一个DMA指令指示的DMA传输任务后,为该DMA指令添加对应的记录,在后续获取指示相同DMA传输任务的DMA指令时,可以通过该记录在不执行新获取的DMA指令的情况下完成该DMA指令,有利于减少DMA方式下的数据搬移次数,进而有利于提高DMA方式下的数据传输效率,提高处理器和程序的运行速度。的运行速度。的运行速度。

【技术实现步骤摘要】
一种集成芯片及指令处理方法


[0001]本申请涉及计算机
,尤其涉及一种集成芯片及指令处理方法。

技术介绍

[0002]直接存储器访问(direct memory access,DMA)是一种快速数据交换模式,它在不通过处理器且不需要处理器干预的情况下,即可完成不同存储模块之间的直接数据传输。采用DMA方式传输数据的过程中,处理器只须向DMA控制器下达指令,指示DMA控制器执行数据传输任务,数据传输任务完毕再把传输结束信息反馈给处理器,有利于减轻数据传输过程对处理器资源的占用,节约处理器资源。
[0003]但是,随着高性能处理器日益增长的算力需求,现有DMA传输过程仍然存在改进空间。

技术实现思路

[0004]本申请提供一种集成芯片及指令处理方法,用于进一步提高DMA传输效率,用以满足处理器日益增长的算力需求。
[0005]本申请实施例第一方面提供一种集成芯片,该集成芯片包括指令处理模块。其中,指令处理模块用于获取第一DMA指令,第一DMA指令指示通过DMA方式将第一源存储位置中的第一数据搬运到第一目的存储位置;之后,确定DMA存储信息中是否包括第一记录,第一记录用于指示第一数据已被搬运到第一目的存储位置,DMA存储信息用于保存已执行的DMA指令所对应的记录;在DMA存储信息中包括第一记录时,不执行第一DMA指令。
[0006]在第一方面提供的集成芯片中,指令处理模块可以通过DMA存储信息确定获取的第一DMA指令对应的第一数据是否已经搬运到第一DMA指令对应的第一目的存储位置,在第一数据已经搬运到第一目的存储位置时,由于第一DMA指令对应的数据搬运任务(即把第一数据搬运到第一目的存储位置)已经完成,指令处理模块可以不执行第一DMA指令,这样有利于减少DMA指令对应的数据搬运次数,进而有利于进一步提高DMA指令对应的数据传输效率,用以满足处理器日益增长的算力需求。
[0007]在一种可能的实现方式中,指令处理模块还用于,在DMA存储信息不包括第一记录时,执行第一DMA指令,并且,在DMA存储信息中保存第一DMA指令所对应的记录。
[0008]在一种可能的实现方式中,基于DMA存储信息不包括第一记录,并且,DMA存储信息包括第二记录,第二记录用于指示第二数据已被搬运到第一目的存储位置,指令处理模块还用于删除第二记录。当DMA存储信息的记录对应的目的存储位置中的数据发生改变时,可以删除相应记录,有利于提高DMA存储信息的准确性。
[0009]在一种可能的实现方式中,第一源存储位置指向第一存储模块,第一目的存储位置指向第二存储模块,并且,第一存储模块的访存速度低于第二存储模块的访存速度。和访存速度较低的第一存储模块相比,访存速度更快的第二存储模块中的数据对处理器或程序的运行速度的影响一般更大,因此通过提高第一存储模块至第二存储模块的DMA传输效率,
有利于更加显著的提高处理器和程序的运行速度。
[0010]在一种可能的实现方式中,第一目的存储位置指向集成在处理器中的缓存。在一种可能的实现方式中,第一源存储位置指向内存。
[0011]在一种可能的实现方式中,集成芯片还包括处理器,指令处理模块集成在处理器中。在一种可能的实现方式中,指令处理模块在不执行第一DMA指令时,具体用于,不向DMA控制器发送将第一数据从第一源存储位置搬运到第一目的存储位置的DMA指令,并且,获取下一条指令。
[0012]在一种可能的实现方式中,集成芯片还包括DMA控制器,指令处理模块集成在DMA控制器中。在一种可能的实现方式中,第一DMA指令来自处理器。指令处理模块在不执行第一DMA指令时,具体用于,不执行将第一数据从第一源存储位置搬运到第一目的存储位置的操作,并且,向处理器反馈已完成第一DMA指令。
[0013]在一种可能的实现方式中,第一记录包括第一数据的标识。指令处理模块可以根据第一记录中第一数据的标识匹配第一DMA指令对应的第一数据。示例性的,第一数据的标识可以为第一数据的哈希值。
[0014]在一种可能的实现方式中,第一DMA指令包括第一数据的标识。指令处理模块获取第一DMA指令后,基于DMA存储信息不包括第一记录,指令处理模块可以直接将第一DMA指令中第一数据的标识保存在DMA存储信息中,有利于降低保存第一DMA指令对应的记录的复杂度。并且,指令处理模块获取第一DMA指令后,可以直接使用第一DMA指令中的第一数据的标识匹配到第一记录中第一数据的标识,有利于提高匹配效率和准确性。
[0015]在一种可能的实现方式中,第一DMA指令为在目标程序的运行过程中获取的,目标程序用于处理目标数据,目标数据包括第一数据,第一数据的标识用于在目标数据中唯一确定第一数据。指令处理模块可以为运行的目标程序维护专用的DMA存储信息,DMA存储信息可以用于保存在目标程序运行过程中已执行的DMA指令的记录,相应的,第一数据的标识仅需用于在目标数据中唯一确定第一数据即可,有利于降低确定第一数据的标识的复杂度,同时,有利于提高DMA指令对应的数据与DMA存储信息对应的数据的匹配结果的准确性。
[0016]在一种可能的实现方式中,目标程序包括第一子程序和第二子程序,第一子程序和第二子程序均用于处理目标数据,DMA存储信息包括第一记录,第一子程序在第二子程序之前运行,指令处理模块可以为在第一子程序的运行过程中获取并执行的DMA指令保存第一记录,之后在第二子程序运行过程中获取第一DMA指令。DMA存储信息可以被处理相同数据的多个程序共享,由于多个程序一般涉及更多的DMA指令,因此,多个程序运行的过程将涉及更多的重复DMA传输任务,将本申请实施例方法拓展到多个程序共用DMA存储信息,有利于避免更多次数的重复DMA传输过程,从而有利于进一步提高DMA方式下的数据传输效率,节约数据传输资源,并且提高处理器和程序的运行速度。
[0017]在一种可能的实现方式中,目标数据为图像数据。在一种可能的实现方式中,图像数据是图像的数据表示,为了便于描述,本申请实施例将第一数据对应的图像称作第一图像。图像数据的尺寸一般很大,通常需要对图像进行分块,之后再对图像块进行处理。在一种可能的实现方式中,第一数据为第一图像中第一图像块的图像数据。其中,第一图像块为第一图像中的一个或多个图像块。对图像块进行处理的过程一般涉及更多的重复DMA传输过程,将本申请实施例方法应用于图像处理领域,有利于避免更多次数的重复DMA传输过
程,从而有利于进一步提高DMA方式下的数据传输效率,节约数据传输资源,并且提高处理器和程序的运行速度。
[0018]第二方面,本申请实施例提供一种指令处理方法,该方法可以包括:获取第一直接存储器访问DMA指令,第一DMA指令指示通过DMA方式将第一源存储位置中的第一数据搬运到第一目的存储位置;确定DMA存储信息中是否包括第一记录,第一记录用于指示第一数据已被搬运到第一目的存储位置,DMA存储信息用于保存已执行的DMA指令所对应的记录;在DMA存储信息中包括第一记录时本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种集成芯片,其特征在于,包括指令处理模块,所述指令处理模块用于:获取第一直接存储器访问DMA指令,所述第一DMA指令指示通过DMA方式将第一数据从第一源存储位置搬运到第一目的存储位置;确定DMA存储信息中是否包括第一记录,所述第一记录用于指示所述第一数据已被搬运到所述第一目的存储位置,所述DMA存储信息用于保存已执行的DMA指令所对应的记录;在所述DMA存储信息中包括所述第一记录时,不执行所述第一DMA指令。2.根据权利要求1所述的集成芯片,其特征在于,所述第一记录包括所述第一数据的标识。3.根据权利要求2所述的集成芯片,其特征在于,所述第一DMA指令包括所述第一数据的标识。4.根据权利要求2或3所述的集成芯片,其特征在于,所述第一DMA指令为在目标程序的运行过程中获取的,所述目标程序用于处理目标数据,所述目标数据包括所述第一数据,所述第一数据的标识用于在所述目标数据中唯一确定所述第一数据。5.根据权利要求4所述的集成芯片,其特征在于,所述目标程序包括第一子程序和第二子程序,所述第一子程序和所述第二子程序均用于处理所述目标数据,所述第一子程序在所述第二子程序之前运行,所述第一记录是为在所述第一子程序的运行过程中获取并执行的DMA指令所保存的记录,所述第一DMA指令为在所述第二子程序运行过程中获取的。6.根据权利要求4或5所述的集成芯片,其特征在于,所述目标数据是第一图像的图像数据,所述第一数据是所述第一图像中第一图像块的图像数据。7.根据权利要求1至6中任一项所述的集成芯片,其特征在于,所述指令处理模块还用于:在所述DMA存储信息不包括所述第一记录时,执行所述第一DMA指令,并且,在所述DMA存储信息中保存所述第一DMA指令所对应的记录。8.根据权利要求7所述的集成芯片,其特征在于,在所述DMA存储信息不包括所述第一记录,并且,所述...

【专利技术属性】
技术研发人员:黄小敏邹斯骋张敏仪
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:

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

1