CN104965795B - 嵌入式系统静态内存池的分配方法 - Google Patents

嵌入式系统静态内存池的分配方法 Download PDF

Info

Publication number
CN104965795B
CN104965795B CN201510332442.0A CN201510332442A CN104965795B CN 104965795 B CN104965795 B CN 104965795B CN 201510332442 A CN201510332442 A CN 201510332442A CN 104965795 B CN104965795 B CN 104965795B
Authority
CN
China
Prior art keywords
memory
memory pool
pool
boundary value
value
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201510332442.0A
Other languages
English (en)
Other versions
CN104965795A (zh
Inventor
吴广富
王俊伟
李云
曹傧
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Chongqing University of Post and Telecommunications
Original Assignee
Chongqing University of Post and Telecommunications
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Chongqing University of Post and Telecommunications filed Critical Chongqing University of Post and Telecommunications
Priority to CN201510332442.0A priority Critical patent/CN104965795B/zh
Publication of CN104965795A publication Critical patent/CN104965795A/zh
Application granted granted Critical
Publication of CN104965795B publication Critical patent/CN104965795B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

本发明公开了一种嵌入式系统静态内存池的分配方法,采用内存池裂变思想进行内存池分配,即通过内存池的逐次裂变,根据内存池的不同裂变方式下总内存碎片最小,选择最佳的内存池裂变方式,由此将原内存池中的一个内存池裂变为两个内存池。依次按照上述方式进行内存池裂变,内存池的每次裂变引入一个新内存池,当引入的内存池个数满足嵌入式系统即终止内存池裂变。本发明算法精度显著高于矢量量化法,而其算法复杂度仅为O(NM)。

Description

嵌入式系统静态内存池的分配方法
技术领域
本发明涉及一种静态内存分配方法,尤其是一种应用于移动终端系统静态内存池的分配方法。
背景技术
当前嵌入式系统的应用非常广泛,嵌入式系统受体积、功耗等限制,所集成的内存往往较小,因此在嵌入式系统设计中如何提高内存使用效率成为人们非常关心问题。嵌入式系统一般使用在实时性比较高的场合,一般情况下会集成一个实时操作系统,下面以应用于移动终端(手机终端或卫星终端)的操作系统Nucleus Plus为例进行说明。
Nucleus Plus操作系统是对物理内存进行管理,内存分配分为动态内存分配和静态内存分配。动态内存分配是从一块足够大的内存中动态地分配或回收请求大小内存块;而静态内存分配是从已分配好的内存池的单块内存(各单块内存大小相等)中的申请一块内存。在系统初始化过程中,需要根据系统申请静态内存的情况来确定初始内存池个数M、内存池的单块内存大小Y以及单块内存个数L。初始内存池个数越多,内存碎片越少,内存管理也越复杂。在实际嵌入式操作系统中,通常为了静态内存管理方便,而严格控制初始内存池个数,从而造成大量静态内存碎片,因此需要采用静态内存池分配算法将系统总内存碎片控制在一定范围内。
静态内存池分配方法评估准则为:在内存池个数一定情况下,总内存碎片是否最小。当前静态内存池分配方法为枚举法和矢量量化法。枚举法是:对申请的静态内存块X按照从小到大顺序排序;根据内存块X的最小、最大值确定内存池单块内存大小所有可能值Y,共N个;计算在N个值中取M个内存池的所有组合数;每个组合数可以确定1组内存池,将申请的静态内存块X根据在该组内存池按照其单块内存池大小进行分组,计算各内存池的总内存碎片;当总内存碎片最小时,其对应组合数所确定的M个内存池为最优内存池分配。其计算复杂度为其中N!表示N的阶乘。
矢量量化法是首先在申请的静态内存块X的最小、最大值之间,随机选取M个值G,将申请内存块X按照与G之间距离最小,分为M个内存池;计算每个内存池内所有内存块与其均值的均方误差并求和;用各内存池的内存块均值更新G并再次进行上述计算;当最近两次迭代得到的内存块均方误差和之间的误差足够小时,则由G确定的M个内存池作为最终分配的内存池。其计算复杂度与迭代次数有关。
使用枚举法进行静态内存池分配可以得到最小的内存碎片值,然而当静态内存块X的最大值较大(大于105字节),内存池个数M较大(大于20)时,其计算复杂度为几乎不可计算值。使用矢量量化法进行静态内存分配很难得到较小的总内存碎片值,该方法精度与初始M个内存池分布有关,并且该方法收敛性不好,因此算法精度很难提高。
发明内容
鉴于以上问题,本发明的目的在于提供一种适应于移动终端系统的嵌入式系统静态内存池分配方法。本方法采用内存池裂变思想进行内存池分配,即通过内存池的逐次裂变,根据内存池的不同裂变方式下总内存碎片最小,选择最佳的内存池裂变方式,由此将原内存池中的一个内存池裂变为两个内存池。依次按照上述方式进行内存池裂变,内存池的每次裂变引入一个新内存池,当引入的内存池个数满足嵌入式系统即终止内存池裂变。本发明算法精度显著高于矢量量化法,而其算法复杂度仅为O(NM)。
本发明提供的静态内存池的分配方法为递推过程,包含以下主要过程:
A.利用嵌入式操作系统统计,当前系统中静态内存块个数I及每个静态内存块大小X(i),同时初始化内存池个数M;
B.计算内存池的所有可能边界值;
C.计算第1个内存池的边界值;
D.将所述第1个内存池裂变为两个,并确定第2个内存池的边界值;
E.将D中得到的所述两个内存池裂变为三个,并确定第3个内存池的边界值;
F.逐次进行上述内存池裂变过程,当总内存池个数为M时,则静态内存池分配过程结束。
进一步的,所述计算内存池的所有可能边界值,具体为:假定内存池分配的最小单位值为S(其取值范围为字或字的整数倍);则内存池的最小边界值为其中表示向下取整,其最大边界值为其中表示向上取整;在内存池的最小和最大边界值之间,以步长S为间隔的所有内存值为内存池的所有可能边界值,见公式(1)。内存池则由其单块内存的最大边界值唯一决定。X(1)表示静态内存块大小。
进一步的,所述计算第一个内存池的边界值,具体为:最大边界值为第一个内存池的最大边界值,即所有申请的静态内存块都小于或等于该最大边界值。按照公式(2)计算此时总内存碎片值,即所有申请的静态内存块与最大边界值之差的绝对值并累加。
进一步的,所述将第一内存池裂变为两个,并确定第2个内存池边界值,具体为:在最小边界值与最大边界值之间,以步长为S,不包括最大边界值的所有边界值中,依次取1个边界值作为新边界值,将小于新边界值的所有申请静态内存块作为第2个内存池的最大边界值,将大于新边界值并且小于或等于最大边界值的所有申请静态内存块作为第1个内存池的最大边界值,按照公式(3)计算此时总内存碎片值,即各内存池的最大边界值与其中静态内存块之差的绝对值并累加。由于新边界值取值范围不同,因此可以得到若干个总内存碎片,取最小总内存碎片所在新边界值作为第2个内存池边界值。为方便描述,假定已确定的2个内存池的最大边界值按照从小到大顺序排序并进行更新。
进一步的,所述将两个内存池裂变为三个,并确定第3个内存池边界值,具体为:根据新边界值小于第1个内存池的最大边界值,还是大于第1个内存池的最大边界值并且小于或等于第2个内存池的最大边界值,分为两种情况。情况1中,将第1个内存池由新边界值裂变为2个内存池,将小于或等于此时3个内存池最大边界的静态内存块与各自内存池最大边界值之差的绝对值并累计,得到总内存碎片值,见公式(4)。情况2中,将第2个内存池由新边界值裂变为2个内存池,将小于或等于此时3个内存池最大边界的静态内存块与各自内存池最大边界值之差的绝对值并累计,得到总内存碎片值,见公式(4)。将情况1、2中,所有新边界值取值范围得到的总内存池碎片值最小所在新边界值作为第3个内存池的最大边界值。
为了进一步提高静态内存池划分精度,在M一定情况下使总内存池更好,可以采取下述过程:
a、初始化内存池个数为M1,使其满足M1>M;
b、按照所述B、C、D、E的方式使内存池裂变后其个数为M1,并得到其各内存池上边界值Y(n1),Y(n2),…,Y(nM1);
c、依次将内存池上边界值Y(n1),Y(n2),…,Y(nM1-1)取消,分别根据新的M1-1个边界值Y(n1),Y(n2),…,Y(nM1-1)对静态内存块X(i),i=1:I划分,得到为各内存池的单块内存,即X(i),i=1:I1,i=1:I2,…,i=1:IM1-1;则内存池上边界取消后总内存碎片C(n)为:
其中n=n1:nM1-1;取C(n)中最小值n所对应的内存池上边界值,将其取消,从而将M1个内存池减少为M1-1个内存池;
d、依次进行上述步骤c的内存池的取消过程,每次取消1个内存池,直到内存池个数为M时,终止内存池的取消过程,即最终完成M个静态内存池的分配过程。
采用本申请方法,不但使内存分配方法计算复杂度得到大幅度降低,而且尽可能减少了内存碎片,从而提高了内存利用率。
附图说明
图1是内存池裂变过程中,新边界值的取值范围示意图;
图2是第2次内存池裂变过程中,内存块与内存池边界关系示意图;
图3是本发明方法与矢量量化法得到总碎片值比较图。
具体实施方式
下面结合附图及实施例,以适用于移动终端系统(以手机终端系统为例),采用Nucleus Plus实时操作系统的ARM子系统的静态内存池分配过程为例,详细阐述本方法的具体实现策略。
实施例1:
1、统计静态内存块:对于工作在某一时刻的ARM(Advanced Reduced instructionset computer Machines,增强型精简指令集计算机)子系统,需要申请的静态内存块是可以由嵌入式操作系统统计得到。各静态内存块大小表示为X(i),其中i=1:I(即i=1,2,…,I),I表示静态内存块的个数,基本单位为字节(Byte)。初始化内存池个数M。
2、计算内存池边界值:尽管静态内存块以字节(Byte)为基本存取单位,然而内存分配则以字为基本单位。在手机终端ARM子系统中,字由4个字节组成。在本发明中,内存池的单块内存块大小分配的基本单位表示为S,则S值可以取字长度,也可以取字的整数倍长度。内存池的所有单块内存块大小值(即内存池的边界值)Y可以表示为Y(n),n=1:N,N表示边界值的个数,则内存池的最小边界值为其中表示向下取整,其最大边界值为其中表示向上取整。对于所有Y,满足下式:
S=Y(n+1)-Y(n) (1)
3、内存池首次裂变:对于首个内存池可以认为仅存在最大边界值Y(n1)(即Y(N)),其总内存碎片C表示为:
其中|·|表示取绝对值。n1为第1次新插入边界值的标示,同后边的n2、n3;I1表示新插入第1个内存池中申请静态内存块的个数,同理后边的I2、I3
若将该内存池裂变为两个内存池,新边界值取值范围为Y(n),n=1:n1-1。将小于或等于Y(n)的静态内存块X(i),i=1:I2作为第2个内存池的单块内存块,将大于Y(n)的内存块X(i),i=1:I1作为第1个内存池的单块内存块。其总内存碎片表示为:
此时n=1:n1-1。
计算C(n),n=1:n1-1中最小值,其对应的n值记为n2,即将由最大边界值Y(n1)构成的首个内存池,分割为以Y(n2)为上边界的第1个内存池,以及以Y(n2)为下边界、以Y(n1)为上边界的第2个内存池。对Y(n1),Y(n2)按照大小进行排序并更新,使其满足Y(n1)<Y(n2),如图1所示。
4、内存池2次裂变:对于以Y(n1)为上边界的第1个内存池,以及以Y(n1)为下边界、以Y(n2)为上边界的第2个内存池,进行内存池再次分裂,根据新边界值取值范围分为两种情况:Y(n),n=1:n1-1,n=n1+1:n2-1,如图2所示。
情况1:将小于或等于Y(n)的内存块X(i),i=1:I3作为第3个内存池的单块内存块,将大于Y(n)并且小于或等于Y(n1)的内存块X(i),i=1:I1作为第1个内存池的单块内存块,将大于Y(n1)并且小于或等于Y(n2)的内存块X(i),i=1:I2作为第2个内存池的单块内存块。其总内存碎片计算方法为:
此时n=1:n1-1。
情况2:将小于或等于Y(n1)的内存块X(i),i=1:I1作为第1个内存池的单块内存块,将大于Y(n1)并且小于或等于Y(n)的内存块X(i),i=1:I3作为第3个内存池的单块内存块,将大于Y(n)并且小于或等于Y(n2)的内存块X(i),i=1:I3作为第2个内存池的单块内存块。根据公式(4)计算总内存碎片,此时n=n1+1:n2-1。
取上述情况1、2的C(n),n=1:n1-1以及n=n1+1:n2-1的最小值,其对应的n值记为n3。即由内存池边界值Y(n1),Y(n2)构成的2个内存池分裂为由边界值Y(n1),Y(n2),Y(n3)构成3个新内存池。对Y(n1),Y(n2),Y(n3)按照大小进行排序并进行更新,使其满足Y(n1)<Y(n2)<Y(n3)。
5、内存池m次裂变:对于以Y(n1),Y(n2),…,Y(nm-1),Y(nm)为边界m个内存池,进行内存池裂变,则根据新边界值取值范围分为m种情况:
Y(n),n=1:n1-1,n=n1+1:n2-1,…,n=nm-1+1:nm-1。
情况1:由将小于或等于Y(n)的内存块X(i),i=1:Im+1作为第m+1个内存池的单块内存块,将大于Y(n)并且小于或等于Y(n1)的内存块X(i),i=1:I1作为第1个内存池的单块内存块,将大于Y(n1)并且小于或等于Y(n2)的内存块X(i),i=1:I2作为第2个内存池的单块内存块,…,将大于Y(nm-1)并且小于或等于Y(nm)的内存块X(i),i=1:Im作为第m个内存池的单块内存块。其总内存碎片计算方法为:
此时n=1:n1-1。
情况2:由将小于或等于Y(n1)的内存块X(i),i=1:I1作为第1个内存池的单块内存块,将大于Y(n1)并且小于或等于Y(n)的内存块X(i),i=1:Im+1作为第m+1个内存池的单块内存块,将大于Y(n)并且小于或等于Y(n2)的内存块X(i),i=1:I2作为第2个内存池的单块内存块,…,将大于Y(nm-1)并且小于或等于Y(nm)的内存块X(i),i=1:Im作为第m个内存池的单块内存块。根据公式(5)计算总内存碎片,此时n的取值范围为n1+1:n2-1。…
情况μ:由将小于或等于Y(n1)的内存块X(i),i=1:I1作为第1个内存池的单块内存块,将大于Y(n1)并且小于或等于Y(n2)的内存块X(i),i=1:I2作为第2个内存池的单块内存块,…,将大于Y(nμ-1)并且小于或等于Y(n)的内存块X(i),i=1:Im+1作为第m+1个内存池的单块内存块,将大于Y(n)并且小于或等于Y(nμ)的内存块X(i),i=1:Iμ作为第μ个内存池的单块内存块,…,将大于Y(nm-1)并且小于或等于Y(nm)的内存块X(i),i=1:Im作为第m个内存池的单块内存块。根据公式(5)计算总内存碎片,此时n的取值范围为nμ-1+1:nμ-1。
其中μ的取值范围为1:m,变量m的取值范围为3:M。取上述情况1:m的C(n),n=1:n1-1,n=n1+1:n2-1,…,n=nm-1+1:nm-1的最小值,其对应的n值记为nm+1。即由内存池边界值Y(n1),Y(n2),…,Y(nm)构成的m个内存池分裂为由边界值Y(n1),Y(n2),…,Y(nm+1)构成m+1个新内存池。对Y(n1),Y(n2),…,Y(nm+1)按照大小进行排序并进行重新定义,使其满足Y(n1)<Y(n2)<…<Y(nm+1)。
按照步骤5可以完成任意次内存池裂变过程,当内存池裂变个数达到M时,则终止内存池裂变。此时由内存池边界Y(n1)<Y(n2)<…<Y(nM)构成的M个内存池的单块内存大小,从而完成静态内存池的分配过程。
对于上述步骤3、4、5中,根据各内存池的上边界值,将静态内存块X(i),i=1:I划分为各内存池的单块内存,即X(i),i=1:I1,i=1:I2,…,i=1:Im。在各静态内存块X(i)大小未进行排序时,则上述对X(i)进行内存池划分的计算复杂度为O(I·(1+M)·M/2)。优选地,首先将静态内存块X(i)按照从小到大顺序排序(即满足X(i)≤X(i+1)),再根据各内存池的上边界值,对X(i)进行各内存池划分,此时计算复杂度仅为O(I·M)。
在数字移动通信终端系统中,对于采用Nucleus PLUS实时操作系统的ARM(Advanced Reduced instruction set computer Machines,增强型精简指令集计算机)子系统的静态内存池分配过程中,其所有申请静态内存块X(i),i=1:I字节,其中I=1400,内存分配基本单元S=4字节,X(i)范围为0:5*104字节,并且在该范围内X(i)的分布不是等概的,例如在0:500字节范围内,内存块比例为76%,即1064块;在500:5000字节范围内,内存块比例为18%,即252块;在5000:50000字节范围内,内存块比例为9%,即84块。按照上述特点随机生产的内存块X(i),在内存池数M=3:32时,分别使用本发明方法以及矢量量化法进行静态内存池分配,总内存碎片如图3所示。从图3可以看出,本发明方法比矢量量化法对嵌入式系统静态内存分配的总内存碎片要小。
实施例2:
为了进一步提高静态内存池划分精度,在M一定情况下使总内存池更好,可以采取下述过程:
a、首先采用实施例1所述过程,其初始化内存池个数为M1,使其满足M1>M;
b、进行实施例1所述内存池的裂变过程,使内存池裂变后其个数为M1,并得到其各内存池上边界值Y(n1),Y(n2),…,Y(nM1);
c、依次将上边界值Y(n1),Y(n2),…,Y(nM1-1)取消,分别根据新的M1-1个边界值Y(n1),Y(n2),…,Y(nM1-1)对静态内存块X(i),i=1:I划分,得到为各内存池的单块内存,即X(i),i=1:I1,i=1:I2,…,i=1:IM1-1。根据公式(6)计算1个内存池上边界取消后总内存碎片。
其中n=n1:nM1-1。取C(n)中最小所在n所有最终取消的内存池上边界值,从而将M1个内存池减少为M1-1个内存池。
d、依次进行上述步骤c、的内存池的取消过程,每次取消1个内存池,直到目前内存池个数为M时,终止内存池的取消过程,即最终完成M个静态内存池的分配过程。
当静态内存块X的最大值较大(大于105字节),内存池个数M较大(大于20)情况下,初始化内存池个数M1>2M时,采用实施例2的算法过程可显著提高算法精度。
本领域技术人员显然清楚并且理解,本发明方法所举的实施例仅用于说明本发明,而并不用于限制本发明。虽然通过实施例有效描述了本发明,本领域技术人员知道,本发明存在许多变化而不脱离本发明的精神。在不背离本发明精神及其实质情况下,本领域技术人员当根据本发明做出相应的改变或变形,但这些相应的改变或变形均属于本发明的权利要求保护范围。

Claims (7)

1.嵌入式系统静态内存池的分配方法,其特征在于:该分配方法为递推过程,具体如下:
A.利用嵌入式操作系统统计,当前系统中静态内存块个数及每个静态内存块大小,同时初始化内存池个数M;
B.计算内存池的所有可能边界值;B中所述内存池的所有可能边界值的计算,具体为:令内存池分配的最小单位值为S;则内存池的最小边界值为其中表示向下取整,其最大边界值为其中表示向上取整;在内存池的最小和最大边界值之间,以步长S为间隔的所有内存值为内存池的所有可能边界值;
C.计算第1个内存池的边界值;
D.将所述第1个内存池裂变为两个,并确定第2个内存池的边界值;
E.将D中得到的所述两个内存池裂变为三个,并确定第3个内存池的边界值;
F.逐次进行上述内存池裂变过程,当总内存池个数为M时,则静态内存池分配过程结束。
2.根据权利要求1所述嵌入式系统静态内存池的分配方法,其特征在于:所述S的取值范围为字或字的整数倍。
3.根据权利要求2所述嵌入式系统静态内存池的分配方法,其特征在于:所述第1个内存池的边界值为最大的内存池的边界值,即所有静态内存块都小于或等于所述内存池的最大边界值。
4.根据权利要求1所述嵌入式系统静态内存池的分配方法,其特征在于:D所述的第一次裂变,具体为:在最小边界值与最大边界值之间,以步长为S,不包括最大边界值的所有边界值中,依次取1个边界值作为新边界值,将小于新边界值的所有静态内存块作为第2个内存池的最大边界值,将大于新边界值并且小于或等于最大边界值的所有静态内存块作为第1个内存池的最大边界值。
5.根据权利要求1所述嵌入式系统静态内存池的分配方法,其特征在于:E所述两个内存池裂变为三个,具体为:以步长为S,依次取1个边界值作为新边界值,根据新边界值小于第1个内存池的最大边界值,还是大于第1个内存池的最大边界值并且小于或等于第2个内存池的最大边界值,分为两种情况;情况Ⅰ中,将第1个内存池由新边界值裂变为2个内存池,将小于或等于此时3个内存池最大边界的静态内存块的边界值与各自内存池最大边界值之差的绝对值累计,得到总内存碎片值;情况Ⅱ中,将第2个内存池由新边界值裂变为2个内存池,将小于或等于此时3个内存池最大边界的静态内存块的边界值与各自内存池最大边界值之差的绝对值累计,得到总内存碎片值;将情况Ⅰ和Ⅱ中,所有新边界值取值范围得到的总内存池碎片值最小所在新边界值作为第3个内存池的最大边界值。
6.根据权利要求1到5任一项所述嵌入式系统静态内存池的分配方法,其特征在于:还包括下述过程:
a、初始化内存池个数为M1,使其满足M1>M;
b、按照所述B、C、D、E的方式使内存池裂变后其个数为M1,并得到其各内存池上边界值Y(n1),Y(n2),…,Y(nM1);
c、依次将内存池上边界值Y(n1),Y(n2),…,Y(nM1-1)取消,分别根据新的M1-1个边界值Y(n1),Y(n2),…,Y(nM1-1)对静态内存块X(i),划分,i=1:I,得到为各内存池的单块内存,即X(i),i=1:I1,i=1:I2,…,i=1:IM1-1;I1表示新插入第一个内存池中申请静态内存块的个数,则内存池上边界取消后总内存碎片C(n)为:
<mrow> <mi>C</mi> <mrow> <mo>(</mo> <mi>n</mi> <mo>)</mo> </mrow> <mo>=</mo> <munderover> <mo>&amp;Sigma;</mo> <mrow> <mi>r</mi> <mo>=</mo> <mn>1</mn> </mrow> <mrow> <mi>M</mi> <mn>1</mn> <mo>&amp;CenterDot;</mo> <mn>1</mn> </mrow> </munderover> <munderover> <mo>&amp;Sigma;</mo> <mrow> <mi>i</mi> <mo>=</mo> <mn>1</mn> </mrow> <msub> <mi>l</mi> <mi>r</mi> </msub> </munderover> <mo>|</mo> <mi>X</mi> <mrow> <mo>(</mo> <mi>i</mi> <mo>)</mo> </mrow> <mo>-</mo> <mi>Y</mi> <mrow> <mo>(</mo> <msub> <mi>n</mi> <mi>r</mi> </msub> <mo>)</mo> </mrow> <mo>|</mo> </mrow>
其中n=n1:nM1-1;取C(n)中最小值n所对应的内存池上边界值,将其取消,从而将M1个内存池减少为M1-1个内存池;
d、依次进行上述步骤c的内存池的取消过程,每次取消1个内存池,直到内存池个数为M时,终止内存池的取消过程,即最终完成M个静态内存池的分配过程。
7.根据权利要求1到6任一项所述嵌入式系统静态内存池的分配方法,其特征在于:所述步骤F后,还可包括将静态内存块X(i)按照从小到大顺序排序,使满足X(i)≤X(i+1),再根据各内存池的上边界值,对X(i)进行各内存池划分。
CN201510332442.0A 2015-06-16 2015-06-16 嵌入式系统静态内存池的分配方法 Active CN104965795B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510332442.0A CN104965795B (zh) 2015-06-16 2015-06-16 嵌入式系统静态内存池的分配方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510332442.0A CN104965795B (zh) 2015-06-16 2015-06-16 嵌入式系统静态内存池的分配方法

Publications (2)

Publication Number Publication Date
CN104965795A CN104965795A (zh) 2015-10-07
CN104965795B true CN104965795B (zh) 2018-02-27

Family

ID=54219831

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510332442.0A Active CN104965795B (zh) 2015-06-16 2015-06-16 嵌入式系统静态内存池的分配方法

Country Status (1)

Country Link
CN (1) CN104965795B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101140531A (zh) * 2007-10-10 2008-03-12 中兴通讯股份有限公司 快速申请内存的方法
CN102063385A (zh) * 2010-12-23 2011-05-18 深圳市金宏威实业发展有限公司 一种内存管理方法和系统
CN102147770A (zh) * 2011-03-28 2011-08-10 杭州电子科技大学 一种存储资源管理系统及方法
CN102760080A (zh) * 2011-04-26 2012-10-31 腾讯科技(深圳)有限公司 一种内存管理的方法和装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101140531A (zh) * 2007-10-10 2008-03-12 中兴通讯股份有限公司 快速申请内存的方法
CN102063385A (zh) * 2010-12-23 2011-05-18 深圳市金宏威实业发展有限公司 一种内存管理方法和系统
CN102147770A (zh) * 2011-03-28 2011-08-10 杭州电子科技大学 一种存储资源管理系统及方法
CN102760080A (zh) * 2011-04-26 2012-10-31 腾讯科技(深圳)有限公司 一种内存管理的方法和装置

Also Published As

Publication number Publication date
CN104965795A (zh) 2015-10-07

Similar Documents

Publication Publication Date Title
CN108053028B (zh) 数据定点化处理方法、装置、电子设备及计算机存储介质
CN109934331B (zh) 用于执行人工神经网络正向运算的装置和方法
CN107340993B (zh) 运算装置和方法
EP3139270A1 (en) Data mining method and node
CN107958349B (zh) 任务分配方法、装置、计算机设备和存储介质
CN109189323B (zh) 扩容方法及设备
CN110246095B (zh) 一种图像修复方法、装置、存储介质及终端设备
CN112819157B (zh) 神经网络训练的方法及装置、智能行驶控制的方法及装置
WO2021133422A1 (en) Flexible accelerator for sparse tensors (fast) in machine learning
CN109523016A (zh) 面向嵌入式系统的多值量化深度神经网络压缩方法及系统
CN113126889A (zh) 管理存储空间的方法、设备和计算机程序产品
CN109063835B (zh) 神经网络的压缩装置及方法
CN104965795B (zh) 嵌入式系统静态内存池的分配方法
CN111383157A (zh) 图像处理方法、装置、车载运算平台、电子设备及系统
Li et al. Asymptotic multivariate finite-time ruin probability with statistically dependent heavy-tailed claims
CN106529679A (zh) 一种机器学习方法及系统
US20220036190A1 (en) Neural network compression device
CN104967856A (zh) 一种编码方法及相关设备
JP6236720B2 (ja) 記憶デバイスに対する書き込み方法および書き込み装置
WO2011150544A1 (en) 3d model comparison
CN111722923A (zh) 一种异构资源的调用方法、装置和计算机可读存储介质
KR101642823B1 (ko) 이웃 탐색 연산 시스템
CN112529732B (zh) 储能单元充放电控制方法、装置、计算机设备和存储介质
CN111475297A (zh) 一种作业柔性配置方法
CN109684602B (zh) 一种批处理方法和装置及计算机可读存储介质

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
EE01 Entry into force of recordation of patent licensing contract
EE01 Entry into force of recordation of patent licensing contract

Application publication date: 20151007

Assignee: Chongqing Yi Hong Technology Co. Ltd.

Assignor: Chongqing University of Posts and Telecommunications

Contract record no.: 2018500000003

Denomination of invention: Allocation method for embedded system static memory pool

Granted publication date: 20180227

License type: Common License

Record date: 20180402