缓存区的动态分配方法、装置、计算机设备及介质制造方法及图纸

技术编号:37374583 阅读:13 留言:0更新日期:2023-04-27 07:18
本发明专利技术涉及存储管理技术领域,尤其涉及一种缓存区的动态分配方法、装置、计算机设备及介质。该方法获取缓存区数量和内存总空间,计算内存总空间和数量的比值作为最大子空间,获取等级表格,确定满足预设条件的预设等级为目标等级,更新目标等级对应的参考子空间,获取实际数据量和最小缓存空间,针对任一预设等级的相邻等级,读取相邻等级的更新子空间,当实际数据量小于预设等级的参考数据量且最小缓存空间小于更新子空间,以更新子空间作为目标数据的分配缓存空间,通过实时获取到的内存总空间、缓存区数量、目标数据的实际数据量和最小缓存空间,对等级表格实时更新,动态确定目标数据的分配缓存空间,提高内存分配的效率和准确率。准确率。准确率。

【技术实现步骤摘要】
缓存区的动态分配方法、装置、计算机设备及介质


[0001]本专利技术涉及存储管理
,尤其涉及一种缓存区的动态分配方法、装置、计算机设备及介质。

技术介绍

[0002]目前,随着高性能算子的需求增加,处理的数据量越来越大,在嵌入式编程中,通常采用数据分块的方式对当前数据进行处理,并且为了保证数据搬移与数据算力并行,提高嵌入式平台的紧耦合内存空间的有效利用,通常采用乒乓缓存区或者循环缓存区方式对紧耦合内存进行管理分配,这样就能够为处理当前数据块提供数据算力,并且同时能进行下一个数据块的数据搬移。
[0003]但是,现有的内存管理方法中数据块的缓存区大小通常是固定值,导致数据块数量可能过少,无法保证通过多个数据块进行数据搬移与数据算力并发,或者数据块数量可能过多,额外增加了数据搬移的调度耗时,从而导致内存管理的效率较低,因此,如何提高内存管理的效率成为亟待解决的问题。

技术实现思路

[0004]有鉴于此,本专利技术实施例提供了一种缓存区的动态分配方法、装置、计算机设备及介质,以解决内存管理的效率较低的问题。
[0005]第一方面,本专利技术实施例提供一种缓存区的动态分配方法,所述动态分配方法包括:
[0006]获取缓存区的数量和剩余的内存总空间,计算所述内存总空间和所述数量的比值,确定比值计算结果为最大子空间;
[0007]获取预设的等级表格,所述等级表格包括N个预设等级及其对应的参考子空间和参考数据量,N为大于零的整数;
[0008]确定所有大于所述最大子空间的参考子空间对应的预设等级中的最小预设等级作为目标等级,在所述等级表格中以所述最大子空间对所述目标等级对应的参考子空间进行更新,得到更新后的等级表格;
[0009]获取目标数据的实际数据量和最小缓存空间,并根据预设值和所述目标等级确定可用等级范围,针对所述可用等级范围内的任一预设等级,确定所述预设等级的相邻等级,从所述更新后的等级表格中读取所述相邻等级的更新子空间;
[0010]若所述实际数据量小于所述预设等级的参考数据量且所述最小缓存空间小于所述更新子空间,则以所述更新子空间作为所述目标数据的分配缓存空间。
[0011]第二方面,本专利技术实施例提供一种缓存区的动态分配装置,所述动态分配装置包括:
[0012]空间获取模块,用于获取缓存区的数量和剩余的内存总空间,计算所述内存总空间和所述数量的比值,确定比值计算结果为最大子空间;
[0013]表格获取模块,用于获取预设的等级表格,所述等级表格包括N个预设等级及其对应的参考子空间和参考数据量,N为大于零的整数;
[0014]表格更新模块,用于确定所有大于所述最大子空间的参考子空间对应的预设等级中的最小预设等级作为目标等级,在所述等级表格中以所述最大子空间对所述目标等级对应的参考子空间进行更新,得到更新后的等级表格;
[0015]空间读取模块,用于获取目标数据的实际数据量和最小缓存空间,并根据预设值和所述目标等级确定可用等级范围,针对所述可用等级范围内的任一预设等级,确定所述预设等级的相邻等级,从所述更新后的等级表格中读取所述相邻等级的更新子空间;
[0016]空间分配模块,用于若所述实际数据量小于所述预设等级的参考数据量且所述最小缓存空间小于所述更新子空间,则以所述更新子空间作为所述目标数据的分配缓存空间。
[0017]第三方面,本专利技术实施例提供一种计算机设备,所述计算机设备包括处理器、存储器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如第一方面所述的动态分配方法。
[0018]第四方面,本专利技术实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面所述的动态分配方法。
[0019]本专利技术实施例与现有技术相比存在的有益效果是:
[0020]获取缓存区的数量和剩余的内存总空间,计算内存总空间和数量的比值,确定比值计算结果为最大子空间,获取预设的等级表格,等级表格包括N个预设等级及其对应的参考子空间和参考数据量,确定所有大于最大子空间的参考子空间对应的预设等级中的最小预设等级作为目标等级,在等级表格中以最大子空间对目标等级对应的参考子空间进行更新,得到更新后的等级表格,获取目标数据的实际数据量和最小缓存空间,并根据预设值和目标等级确定可用等级范围,针对可用等级范围内的任一预设等级,确定预设等级的相邻等级,从更新后的等级表格中读取相邻等级的更新子空间,若实际数据量小于预设等级的参考数据量且最小缓存空间小于更新子空间,则以更新子空间作为目标数据的分配缓存空间,通过实时获取到的内存总空间、缓存区数量、目标数据的实际数据量和最小缓存空间,对等级表格实时更新,并根据更新后的等级表格动态确定目标数据的分配缓存空间,平衡数据搬移与数据算力的缓存空间分配,从而提高了内存分配的效率和准确率。
附图说明
[0021]为了更清楚地说明本专利技术实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0022]图1是本专利技术实施例一提供的一种缓存区的动态分配方法的一应用环境示意图;
[0023]图2是本专利技术实施例一提供的一种缓存区的动态分配方法的流程示意图;
[0024]图3是本专利技术实施例二提供的一种缓存区的动态分配装置的结构示意图;
[0025]图4是本专利技术实施例三提供的一种计算机设备的结构示意图。
具体实施方式
[0026]以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本专利技术实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本专利技术。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本专利技术的描述。
[0027]应当理解,当在本专利技术说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
[0028]还应当理解,在本专利技术说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
[0029]如在本专利技术说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
[0030]另外,在本专利技术说明书和所附权利要求书的描述本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种缓存区的动态分配方法,其特征在于,所述动态分配方法包括:获取缓存区的数量和剩余的内存总空间,计算所述内存总空间和所述数量的比值,确定比值计算结果为最大子空间;获取预设的等级表格,所述等级表格包括N个预设等级及其对应的参考子空间和参考数据量,N为大于零的整数;确定所有大于所述最大子空间的参考子空间对应的预设等级中的最小预设等级作为目标等级,在所述等级表格中以所述最大子空间对所述目标等级对应的参考子空间进行更新,得到更新后的等级表格;获取目标数据的实际数据量和最小缓存空间,并根据预设值和所述目标等级确定可用等级范围,针对所述可用等级范围内的任一预设等级,确定所述预设等级的相邻等级,从所述更新后的等级表格中读取所述相邻等级的更新子空间;若所述实际数据量小于所述预设等级的参考数据量且所述最小缓存空间小于所述更新子空间,则以所述更新子空间作为所述目标数据的分配缓存空间。2.根据权利要求1所述的动态分配方法,其特征在于,所述获取预设的等级表格包括:建立N个预设等级分别和对应参考子空间的映射关系,得到N个第一映射关系;针对任一参考子空间,将所述参考子空间和预设系数相乘,确定相乘结果为所述参考子空间对应的参考数据量,遍历每个参考子空间,得到对应参考子空间的参考数据量,建立N个预设等级分别和对应参考数据量的第二映射关系;按照所述N个预设等级的从小至大的顺序将N组预设等级、参考子空间和参考数据量进行拼接,得到所述等级表格。3.根据权利要求1所述的动态分配方法,其特征在于,所述确定所有大于所述最大子空间的参考子空间对应的预设等级中的最小预设等级作为目标等级包括:初始化迭代次数为零,将与所述迭代次数相同的预设等级作为临时等级;将所述最大子空间和所述临时等级对应的参考子空间进行比较,若所述最大子空间小于所述临时等级对应的参考子空间,则确定所述临时等级为所述目标等级;若所述最大子空间大于所述临时等级对应的参考子空间,则将所述迭代次数增加一,返回执行将与所述迭代次数相同的预设等级作为临时等级,将所述最大子空间和所述临时等级对应的参考子空间进行比较的步骤,直至所述最大子空间大于所述临时等级对应的参考子空间或者所述迭代次数与所述N个预设等级中的最大值相同,停止迭代。4.根据权利要求3所述的动态分配方法,其特征在于,在所述迭代次数与所述N个预设等级中的最大值相同之后,还包括:若所述最大子空间仍小于所述临时等级对应的参考子空间,则按照顺序在所述N个预设等级之后增加新的预设等级,得到初步更新的等级表格;确定所述初步更新的等级表格中所有预设等级的最大值为所述...

【专利技术属性】
技术研发人员:吴金进蔡万伟
申请(专利权)人:深圳云天励飞技术股份有限公司
类型:发明
国别省市:

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

1