System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请实施例涉及数据处理,更具体地涉及一种缓存操作 方法、系统以及相关装置。
技术介绍
1、随着大数据技术的飞速发展,对计算机设备的功能需求越来越高,导致计算机设备运行过程中需要从内存传输到中央处理器(central processing unit,cpu)的数据量越来越大。现代计算机设备和芯片,以及多核/众核芯片在硬件上会设计缓存单元,用于减少cpu访问内存的时延。现有计算机架构中,直接内存访问可以完成从内存到外设之间的数据搬运,但是不能访问cpu的缓存,因此当需要完成从外部存储和缓存之间的数据搬运,依靠cpu通过指令主动发起的读写请求。导致计算机设备的cpu的计算资源的需求越来越大。
2、因此,亟需设计一种全新的解决方案,用于克服依靠cpu通过指令主动发起缓存的读写请求的技术问题,优化cpu的计算资源。
技术实现思路
1、本申请实施例提供了一种改进的缓存操作方法、系统以及相关装置,用以实现dma引擎对cpu的缓存信息的操作通道,优化cpu的计算资源,提升设备算力。
2、本申请的实施例期望提供一种缓存操作方法、系统以及相关装置。
3、在本申请的第一方面中,提供了一种缓存操作方法,应用于dma引擎,包括:
4、响应于cpu基于数据缓存请求发出的操作请求,从所述操作请求中获取待执行的操作类型;所述操作类型包括读写操作和/或原子操作;所述cpu包括多个缓存区域,所述缓存区域用于存储所述缓存数据;
5、根据所述操作类型确定对应的
6、判断所述目标缓存区域是否处于空闲状态;
7、若所述目标缓存区域处于空闲状态,根据所述操作类型在所述目标缓存区域中完成对所述cpu的缓存数据的操作。
8、在本申请的第二方面中,提供了一种dma引擎,所述dma引擎应用于实现如第一方面中任一所述的缓存操作方法;所述dma引擎包括:
9、请求响应模块,用于响应于cpu基于数据缓存请求发出的操作请求,从所述操作请求中获取待执行的操作类型;所述操作类型包括读写操作和/或原子操作;所述cpu包括多个缓存区域,所述缓存区域用于存储所述缓存数据;
10、步骤确定模块,用于根据所述操作类型确定对应的操作步骤,所述操作步骤用于确认在所述cpu的缓存区域中对应的目标缓存区域;
11、空闲判断模块,用于判断所述目标缓存区域是否处于空闲状态;
12、缓存操作模块,用于若所述目标缓存区域处于空闲状态,根据所述操作类型在所述目标缓存区域中完成对所述cpu的缓存数据的操作。
13、在本申请的第三方面中,提供了一种缓存操作系统,其特征在于,所述系统包括cpu以及应用于如第一方面中任一缓存操作方法所述的dma引擎;其中,
14、所述cpu,被配置为向所述dma引擎发送基于数据缓存请求的操作请求;所述cpu包括多个缓存区域,所述缓存区域用于存储所述缓存数据;
15、所述dma引擎,被配置为响应于所述cpu基于数据缓存请求发出的操作请求,从所述操作请求中获取待执行的操作类型;所述操作类型包括读写操作和/或原子操作;根据所述操作类型确定对应的操作步骤,所述操作步骤用于确认在所述cpu的缓存区域中对应的目标缓存区域;判断所述目标缓存区域是否处于空闲状态;若所述目标缓存区域处于空闲状态,根据所述操作类型在所述目标缓存区域中完成对所述cpu的缓存数据的操作。
16、在本申请的第四方面中,提供了一种计算机可读存储介质,其包括指令,当其在计算机上运行时,使得计算机执行第一方面中所述的缓存操作方法。
17、在本申请的第五方面中,提供了一种计算设备,被配置为:存储器,处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,所述处理器执行所述计算机程序时实现第一方面中所述的缓存操作方法。
18、本申请实施例提供的技术方案中,提供了一种缓存操作方法,应用于dma引擎。首先,dma引擎响应于cpu基于数据缓存请求发出的操作请求,从操作请求中获取待执行的操作类型,其中,操作类型包括读写操作和/或原子操作,cpu包括多个用于存储缓存数据缓存区域。进而,根据操作类型确定对应的操作步骤,操作步骤用于确认在cpu的缓存区域中对应的目标缓存区域。进而,判断目标缓存区域是否处于空闲状态。最终,若目标缓存区域处于空闲状态,根据操作类型在目标缓存区域中完成对所述cpu的缓存数据的操作。
19、相对于现有技术中依靠cpu通过指令主动发起缓存的读写请求的方式,本申请实施例中通过根据cpu发送的数据缓存请求对应的操作类型,确定操作类型对应的操作步骤,以及判断根据操作步骤确定的目标缓存区域是否处于空闲状态,使得dma引擎能够在确认目标缓存区域处于空闲状态时,根据操作类型在目标缓存区域中完成对cpu的缓存数据的操作,实现dma引擎与cpu的缓存数据的操作,克服依靠cpu通过指令主动发起缓存的读写请求的方式带来的cpu的计算资源的需求越来越大,存储空间占用过久等问题,优化cpu的计算资源,提升设备算力。
本文档来自技高网...【技术保护点】
1.一种缓存操作方法,其特征在于,应用于DMA引擎,包括:
2.根据权利要求1所述的方法,其特征在于,所述从所述操作请求中获取待执行的操作类型,包括:
3.根据权利要求2所述的方法,其特征在于,所述读写操作对应的操作请求还包括所述读写操作对应的操作区域标识;所述根据所述操作类型确定对应的操作步骤,所述操作步骤用于确认在所述CPU的缓存区域中对应的目标缓存区域,包括:
4.根据权利要求3所述的方法,其特征在于,所述读写操作对应的操作请求还包括待写入的数据;所述对所述第一目标缓存区域的缓存数据完成写入操作,包括:
5.根据权利要求3所述的方法,其特征在于,所述读写操作对应的操作请求还包括多个所述读写操作对应的操作区域标识;所述根据所述操作类型在所述目标缓存区域中完成对所述CPU的缓存数据的操作,包括:
6.根据权利要求2所述的方法,其特征在于,所述原子操作对应的操作请求还包括所述原子操作对应的操作码、原始数据和目的数据标识;所述根据所述操作类型确定对应的操作步骤,所述操作步骤用于确认在所述CPU的缓存区域中对应的目标缓存区域
7.根据权利要求6所述的方法,其特征在于,所述原子操作类型包括原子加法、原子比较或原子交换的任一项;所述根据所述原子操作类型和所述原始数据完成对所述第二目标缓存区域的缓存数据的原子操作,包括:
8.根据权利要求1所述的方法,其特征在于,所述判断所述目标缓存区域是否处于空闲状态,包括:
9.根据权利要求1所述的方法,其特征在于,若所述操作类型包括所述读写操作和所述原子操作;所述根据所述操作类型确定对应的操作步骤,所述操作步骤用于确认在所述CPU的缓存区域中对应的目标缓存区域,包括:
10.根据权利要求1所述的方法,其特征在于,在所述响应于CPU基于数据缓存请求发出的操作请求之前,所述方法还包括:
11.一种DMA引擎,其特征在于,所述DMA引擎应用于实现如权利要求1至10任一所述的缓存操作方法;所述DMA引擎包括:
12.一种缓存操作系统,其特征在于,所述系统包括CPU以及应用于如权利要求1至10任一缓存操作方法所述的DMA引擎;其中,
13.一种计算机可读存储介质,其包括指令,当其在计算机上运行时,使得计算机执行如权利要求1-10中任一项所述的缓存操作方法。
14.一种计算设备,包括:存储器,处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,所述处理器执行所述计算机程序时实现如权利要求1-10中任一项所述的缓存操作方法。
...【技术特征摘要】
1.一种缓存操作方法,其特征在于,应用于dma引擎,包括:
2.根据权利要求1所述的方法,其特征在于,所述从所述操作请求中获取待执行的操作类型,包括:
3.根据权利要求2所述的方法,其特征在于,所述读写操作对应的操作请求还包括所述读写操作对应的操作区域标识;所述根据所述操作类型确定对应的操作步骤,所述操作步骤用于确认在所述cpu的缓存区域中对应的目标缓存区域,包括:
4.根据权利要求3所述的方法,其特征在于,所述读写操作对应的操作请求还包括待写入的数据;所述对所述第一目标缓存区域的缓存数据完成写入操作,包括:
5.根据权利要求3所述的方法,其特征在于,所述读写操作对应的操作请求还包括多个所述读写操作对应的操作区域标识;所述根据所述操作类型在所述目标缓存区域中完成对所述cpu的缓存数据的操作,包括:
6.根据权利要求2所述的方法,其特征在于,所述原子操作对应的操作请求还包括所述原子操作对应的操作码、原始数据和目的数据标识;所述根据所述操作类型确定对应的操作步骤,所述操作步骤用于确认在所述cpu的缓存区域中对应的目标缓存区域,包括:
7.根据权利要求6所述的方法,其特征在于,所述原子操作类型包括原子加法、原子比较或原子交换的任一项;所述根据...
【专利技术属性】
技术研发人员:杨龚轶凡,郑瀚寻,闯小明,朱子祥,
申请(专利权)人:中昊芯英杭州科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。