CN116909945A - 内存管理方法、装置、芯片模组、电子设备及存储介质 - Google Patents
内存管理方法、装置、芯片模组、电子设备及存储介质 Download PDFInfo
- Publication number
- CN116909945A CN116909945A CN202310921908.5A CN202310921908A CN116909945A CN 116909945 A CN116909945 A CN 116909945A CN 202310921908 A CN202310921908 A CN 202310921908A CN 116909945 A CN116909945 A CN 116909945A
- Authority
- CN
- China
- Prior art keywords
- virtual address
- address space
- control layer
- image
- physical
- 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.)
- Pending
Links
- 230000015654 memory Effects 0.000 title claims abstract description 80
- 238000007726 management method Methods 0.000 title claims abstract description 26
- 238000013507 mapping Methods 0.000 claims abstract description 82
- 230000004044 response Effects 0.000 claims abstract description 15
- 238000000034 method Methods 0.000 claims description 34
- 239000000872 buffer Substances 0.000 claims description 19
- 238000004590 computer program Methods 0.000 claims description 10
- 238000001514 detection method Methods 0.000 claims 2
- 230000009286 beneficial effect Effects 0.000 abstract description 7
- 230000000875 corresponding effect Effects 0.000 description 32
- 238000012545 processing Methods 0.000 description 12
- 238000010586 diagram Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 7
- 230000005236 sound signal Effects 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 238000010295 mobile communication Methods 0.000 description 4
- 238000004091 panning Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 230000009467 reduction Effects 0.000 description 3
- 238000013528 artificial neural network Methods 0.000 description 2
- 230000003416 augmentation Effects 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 2
- 230000001276 controlling effect Effects 0.000 description 2
- 230000007547 defect Effects 0.000 description 2
- 238000003384 imaging method Methods 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 230000010076 replication Effects 0.000 description 2
- 239000006173 Good's buffer Substances 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0877—Cache access modes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
- G06F12/0646—Configuration or reconfiguration
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本申请实施例提出了一种内存管理方法、装置、芯片模组、电子设备及存储介质,能够在确保物理缓存能够正常缓存被执行丢帧操作的图像,或者暂未分配到合法缓存的图像的情况下,减少对内存的占用,有利于芯片小型化。其中,内存管理方法包括:响应于待生成图像的实际字节数,逻辑控制层申请目标字节数的物理缓存;逻辑控制层向硬件控制层虚拟地址空间创建命令;硬件控制层基于实际字节数与目标字节数确定出虚拟地址空间数量;并建立虚拟地址空间数量对应的虚拟地址空间与物理地址的映射关系,形成第一总虚拟地址空间;响应于符合第一预设条件,硬件控制层基于第一映射关系,将第一已生成图像存储到第一总虚拟地址空间对应的物理缓存。
Description
【技术领域】
本申请实施例涉及终端技术领域,尤其涉及一种内存管理方法、装置、芯片模组、电子设备及存储介质。
【背景技术】
目前,在图像处理过程中,可能涉及到需要进行丢帧操作,或者出现没有及时分配合法缓存的情况。相关技术中,会根据实时处理的图像大小,单独分配一个物理缓存。当需要丢帧操作,或者暂无合法缓存时,便会将上述图像存储在物理缓存中,而上述方式所占用的内存空间较大,不利于芯片面积小型化。
【发明内容】
本申请实施例提出了一种内存管理方法、装置、芯片模组、电子设备及存储介质,能够在确保物理缓存能够正常缓存被执行丢帧操作的图像,或者暂未分配到合法缓存的图像的情况下,减少对内存的占用,有利于芯片小型化。
第一方面,本申请实施例提供了一种内存管理方法,适用于电子设备中,所述电子设备包括逻辑控制层与硬件控制层,所述方法包括:
响应于所确定的待生成图像的实际字节数,所述逻辑控制层申请目标字节数的物理缓存,所述目标字节数小于所述实际字节数,所述实际字节数为相机应用初始化所确定的,或者相机应用的摄像参数更新后所确定的,或者相机应用中摄像头被切换后所确定的;
所述逻辑控制层向所述硬件控制层虚拟地址空间创建命令,所述虚拟地址空间创建命令包括所述物理缓存的物理地址,所述目标字节数、所述实际字节数;
所述硬件控制层响应于所述虚拟地址空间创建命令,基于所述实际字节数与所述目标字节数确定出基本虚拟地址空间数量;并建立所述基本虚拟地址空间数量对应的基本虚拟地址空间与所述物理地址的第一映射关系,形成第一总虚拟地址空间;
响应于所述实际字节数对应的第一已生成图像符合第一预设条件,所述硬件控制层基于所述第一映射关系,将所述第一已生成图像存储到所述第一总虚拟地址空间对应的所述物理缓存,所述第一已生成图像为预览图像或拍照图像。
本申请实施例中,待生成图像的实际字节数是可以预先确定的,那么逻辑控制层可以以小于实际字节数的目标字节数来申请对应的物理缓存,然后再经通过重复映射的方式,从较小的物理缓存中映射出多个与目标字节数等大小的基本虚拟地址空间,那么这多个基本虚拟地址空间就构成了与实际字节数等大小的第一总虚拟地址空间,然后在相机处于某一特定模式时,确保该特定模式下出现特定场景时,可以正常存储具有实际字节数的第一已生成图像的同时,降低了对电子设备中内存的占用,从而有利于芯片小型化,有利于降低芯片成本。
可选的,在建立所述基本虚拟地址空间数量对应的基本虚拟地址空间与所述物理地址的映射关系,形成第一总虚拟地址空间之后,所述方法还包括:
生成与所述物理地址具有第二映射关系的第二总虚拟地址空间,所述第二总虚拟地址空间的大小等于所述第一总虚拟地址空间的大小;
响应于所述实际字节数对应的第二已生成图像符合所述第一预设条件,所述硬件控制层基于所述第二映射关系,将所述第二已生成图像存储到所述第二总虚拟地址空间对应的所述物理缓存,所述第二已生成图像为预览图像或拍照图像,所述第二已生成图像与所述第一已生成图像类型不相同。
本申请实施例中,在创建第一总虚拟地址空间的基础上,再生成与第一总虚拟地址空间等大小的第二总虚拟地址空间,然后在相机处于另一特定模式时,确保该特定模式下出现特定场景时,可以正常存储具有实际字节数的第二已生成图像的同时,降低了对电子设备中内存的占用,从而有利于芯片小型化,有利于降低芯片成本。
可选的,所述硬件控制层生成与所述物理地址具有第二映射关系的第二总虚拟地址空间,包括:
所述硬件控制层对所述第一总虚拟地址空间以及所述第一映射关系进行复制操作,生成与所述物理地址具有所述第二映射关系的所述第二总虚拟地址空间。
本申请实施例中,通过直接复制的方式,在映射出第一总虚拟地址空间的基础上,生成与等大小的第二总虚拟地址空间,简化了第二总虚拟地址空间的生成流程,提高了第二总虚拟地址空间的生成效率。
可选的,所述方法还包括:
响应于符合第二预设条件,所述逻辑控制层删除存储于所述物理缓存中的所述第一已生成图像与所述第二已生成图像,并向所述硬件控制层发送虚拟地址空间释放命令,所述第二预设条件为检测到所述相机应用的关闭事件,或者检测到所述相机应用中摄像头的切换事件;
所述硬件控制层响应于所述虚拟地址空间释放命令,解除所述第一映射关系与所述第二映射关系。
本申请实施例中,当相机应用被关闭,或者存在摄像头的切换时,便可以释放原申请的物理缓存以及映射出虚拟地址空间,从而提高内存以及虚拟地址空间的利用率。
可选的,所述物理缓存为单个物理页。
本申请实施例中,当申请的目标字节数的物理缓存为单个物理页时,可以在确保正常存储具有实际字节数的第一已生成图像或第二已生成图像的同时,最大程度降低了对电子设备中内存的占用,从而有利于芯片小型化,有利于降低芯片成本。
第二方面,本申请实施例提供了一种内存管理装置,所述内存管理装置设置于电子设备中,所述电子设备包括逻辑控制层与硬件控制层;
所述逻辑控制层,用于响应于所确定的待生成图像的实际字节数,申请目标字节数的物理缓存,所述目标字节数小于所述实际字节数,所述实际字节数为相机应用初始化所确定的,或者相机应用的摄像参数更新后所确定的,或者相机应用中摄像头被切换后所确定的;
所述逻辑控制层,还用于向所述硬件控制层虚拟地址空间创建命令,所述虚拟地址空间创建命令包括所述物理缓存的物理地址,所述目标字节数、所述实际字节数;
所述硬件控制层,用于响应于所述虚拟地址空间创建命令,基于所述实际字节数与所述目标字节数确定出基本虚拟地址空间数量;并建立所述基本虚拟地址空间数量对应的基本虚拟地址空间与所述物理地址的第一映射关系,形成第一总虚拟地址空间;
所述硬件控制层,还用于响应于所述实际字节数对应的第一已生成图像符合第一预设条件,所述硬件控制层基于所述第一映射关系,将所述第一类型图像存储到所述第一总虚拟地址空间对应的所述物理缓存,所述第一已生成图像为预览图像或拍照图像。
可选的,所述硬件控制层,还用于生成与所述物理地址具有第二映射关系的第二总虚拟地址空间,所述第二总虚拟地址空间的大小等于所述第一总虚拟地址空间的大小;
所述硬件控制层,还用于响应于所述实际字节数对应的第二已生成图像符合所述第一预设条件,所述硬件控制层基于所述第二映射关系,将所述第二已生成图像存储到所述第二总虚拟地址空间对应的所述物理缓存,所述第二已生成图像为预览图像或拍照图像,所述第二已生成图像与所述第一已生成图像类型不相同。
可选的,所述硬件控制层具体用于:
对所述第一总虚拟地址空间以及所述第一映射关系进行复制操作,生成与所述物理地址具有所述第二映射关系的所述第二总虚拟地址空间。
可选的,所述逻辑控制单元,还用于响应于符合第二预设条件,删除存储于所述物理缓存中的所述第一已生成图像与所述第二已生成图像,并向所述硬件控制层发送虚拟地址空间释放命令,所述第二预设条件为检测到所述相机应用的关闭事件,或者检测到所述相机应用中摄像头的切换事件;
所述硬件控制层,还用于响应于所述虚拟地址空间释放命令,解除所述第一映射关系与所述第二映射关系。
可选的,所述物理缓存为单个物理页。
第三方面,本申请实施例提供了一种芯片模组,所述芯片模组包括处理器和存储器,所述处理器用于执行所述存储器中存储的计算机程序时实现如第一方面任一实施例所述方法的步骤。
第四方面,本发明实施例提供一种电子设备,所述电子设备包括处理器和存储器,所述处理器用于执行所述存储器中存储的计算机程序时实现如第一方面任一实施例所述方法的步骤。
第五方面,本发明实施例提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面任一实施例所述方法的步骤。
应当理解的是,本发明实施例的第二~五方面与本发明实施例的第一方面的技术方案一致,各方面及对应的可行实施方式所取得的有益效果相似,不再赘述。
【附图说明】
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本申请实施例提供的一种内存管理方法的流程示意图;
图2为本申请实施例提供的一种虚拟地址空间与物理缓存之间建立映射的示意图;
图3为本申请实施例提供的一种基于第二总虚拟地址空间对应的物理缓存存储生成图像的方法流程图;
图4为本申请实施例提供的一种生成第二总虚拟地址空间的方法的流程示意图;
图5为本申请实施例提供的一种复制虚拟地址空间及映射关系的示意图;
图6为本申请实施例提供的一种释放内存与释放虚拟地址空间方法的流程示意图;
图7为本申请实施例提供的一种内存管理装置的结构示意图;
图8为本申请实施例提供的一种芯片模组的结构示意图;
图9为本申请实施例提供的一种子设备的结构示意图。
【具体实施方式】
为了更好的理解本说明书的技术方案,下面结合附图对本申请实施例进行详细描述。
应当明确,所描述的实施例仅仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本说明书保护的范围。
在本申请实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书。在本申请实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。
随着可移动电子设备的功能性越来越丰富,对于可移动电子设备的内存占用就越来越大,尤其是相机应用所产生的图像对于内存的占用尤为显著。而在芯片中将内存空间设计得较大,那么芯片的面积也会增加,一方面会导致芯片成本增加,另一方面,无法适应于芯片小型化的需求。因此,一个良好的缓存机制对于减少内存占用,降低芯片面积十分重要。
目前,在图像处理过程中,可能涉及到需要对某帧进行丢帧操作,或者出现没有及时为某帧分配合法缓存的情况。相关技术中,会根据实时处理的图像大小,单独分配一个物理缓存。当需要执行丢帧操作,或者暂无合法缓存时,便会将上述图像存储在物理缓存中,而上述方式所占用的内存空间较大,不利于芯片面积小型化。
鉴于此,本申请实施例提供了一种内存管理方法,该方法中,申请小于图像实际字节数的物理缓存,然后通过对该物理缓存进行重复映射的方式,映射出一个与图像实际字节数等大小的虚拟地址空间,从而在可以正常存储具有实际字节数的图像的同时,降低了对电子设备中内存的占用,从而有利于芯片小型化,有利于降低芯片成本。
下面结合附图对本申请实施例提供的技术方案进行介绍。请参见图1,本申请实施例提供了一种内存管理方法的流程示意图,该方法应用于电子设备之中,例如,电子设备可以智能手机、平板电脑、智能穿戴设备、数码相机等,此处不做特别限制。该方法的流程描述如下:
步骤101:响应于所确定的待生成图像的实际字节数,逻辑控制层申请目标字节数的物理缓存。
本申请实施例中,在电子设备处于下列三种状态时,逻辑控制层可以在图像还未正式生成的情况下,获知待生成图像的实际字节数:第一、在电子设备中的相机应用被开启且完成初始化后,可以确定出待生成图像的实际字节数;第二、在电子设备中的相机应用已被开启的情况下,调整了摄像参数(例如,曝光量、快门速度、光圈大小等)后,可以确定出新的摄像参数下待生成图像的实际字节数;第三、在电子设备中的相机应用已被开启且电子设备配置有不同方位的摄像头情况下,切换了摄像头,例如由后摄切换为前摄,或者,由前摄切换为后摄,可以确定切换摄像头之后待生成图像的实际字节数。应理解,待生成图像的实际字节数与摄像头分辨率、待输出图像尺寸、图像处理算法等相关。
在确定出待生成图像的实际字节数之后,为了节省所占用的内存大小,可以以小于上述实际字节数的目标字节数来申请物理缓存。应理解,第一种申请方式为:根据实际字节数乘以小于1的预设系数,得到目标字节数,也就是说,在确定目标字节数小于实际字节数的情况下,目标字节数与实际字节数强关联,例如预设系数可以是1/2,1/3,或1/4,此处不做特别限制;或者,第二种申请方式,直接申请单个物理页来作为物理缓存,由于单个物理页可存储字节数通常为4kb、8kb、16kb、或者64kb等,因此目标字节数可以为4kb、8kb、16kb、或者64kb。也就是说,在确定目标字节数小于实际字节数的情况下,目标字节数与实际字节数是相互独立的。
步骤102:逻辑控制层向硬件控制层虚拟地址空间创建命令。
本申请实施例中,逻辑控制层在申请目标字节数的物理缓存之后,便可以发送虚拟地址空间创建命令来通知硬件控制层建立虚拟地址空间,以便于后续基于虚拟地址空间与物理缓存之间的映射关系,来对相关图像进行存储。
应理解,虚拟地址空间创建命令中主要携带了三方面信息:第一、在逻辑控制层申请了物理缓存之后,便可以获得该物理缓存的物理地址,逻辑控制层需要将该物理缓存的物理地址告知硬件控制层,以便于硬件控制层可以在生成虚拟地址空间确定所需映射的具体地址;第二、逻辑控制层需要将待生成图像的实际字节数告知硬件控制层,以便于硬件控制层可以确定所需生成的虚拟地址空间的大小;第三、逻辑控制层需要将物理缓存的目标字节数告知硬件控制层,以便于硬件控制层可以确定单个基本虚拟地址空间的大小。
步骤103:硬件控制层响应于虚拟地址空间创建命令,基于实际字节数与目标字节数确定出基本虚拟地址空间数量;并建立基本虚拟地址空间数量对应的基本虚拟地址空间与所述物理地址的第一映射关系,形成第一总虚拟地址空间。
本申请实施例中,可以以目标字节数作为一个基本虚拟地址空间的大小,由于实际字节数大于目标字节数,那么实际字节数与目标字节数的比值,便可以认为需要生成的基本虚拟地址空间数量。然后再分别建立基本虚拟地址空间数量对应的基本虚拟地址空间与物理缓存的物理地址的映射关系,从而形成第一总虚拟地址空间,即第一总虚拟地址空间的大小等于待生成图像的实际字节数。应理解,当基本虚拟地址空间数量为小数时,可以向上取整。
例如,请参见图2,为本申请实施例提供的一种虚拟地址空间与物理缓存之间建立映射的示意图。待生成图像的实际字节数为8M,目标字节数为4kb,那么以4kb作为一个基本虚拟地址空间的大小,则需要生成(8*1024)/4=2048个基本虚拟地址空间,而这2048个虚拟地址空间分均映射到同一个物理缓存的物理地址,便形成了8M的第一总虚拟地址空间。
步骤104:响应于实际字节数对应的第一已生成图像符合第一预设条件,硬件控制层基于第一映射关系,将第一已生成图像存储到第一总虚拟地址空间对应的物理缓存。
本申请实施例中,实际的生成图像只有在符合第一预设条件的情况下才会被存储到物理缓存,而不符合第一预设条件的生成图像则正常存储在合法缓存中。
例如,相机应用处于预览模式时,那么实际生成的第一已生成图像便可以认为是预览图像,若第一已生成图像为首帧预览图像,那么第一已生成图像中可能携带有噪声等缺陷,此时若需要对第一已生成图像进行丢帧操作,可以将第一已生成图像基于步骤103中所建立的第一映射关系,存储到第一总虚拟地址空间所第一的物理缓存。也就是说,相机应用处于预览模式下,需要对第一已生成图像执行丢帧操作是一种第一预设条件。或者,在无需对第一已生成图像进行丢帧操作的情况下,暂未为第一已生成图像分配到合法缓存,此时第一已生成图像便会直接覆盖在第一已生成图像之前生成的图像,为了避免上述情况,同样可以将第一已生成图像基于步骤103中所建立的第一映射关系,存储到第一总虚拟地址空间所第一的物理缓存。也就是说,相机应用处于预览模式下,无法及时为第一已生成图像分配合法缓存也是一种第一预设条件。,
又例如,相机应用处于拍照模式时,那么实际生成的第一已生成图像便可以认为是拍照图像,若第一已生成图像为首帧拍照图像,而这首帧拍照图像为相机应用启动后所采集到的首帧图像,那么第一已生成图像中可能携带有噪声等缺陷,此时若需要对第一已生成图像进行丢帧操作,可以将第一已生成图像基于步骤103中所建立的第一映射关系,存储到第一总虚拟地址空间所第一的物理缓存。也就是说,相机应用处于拍照模式下,需要对第一已生成图像执行丢帧操作是一种第一预设条件。或者,在无需对第一已生成图像进行丢帧操作的情况下,暂未为第一已生成图像分配到合法缓存,此时第一已生成图像便会直接覆盖在第一已生成图像之前生成的图像,为了避免上述情况,同样可以将第一已生成图像基于步骤103中所建立的第一映射关系,存储到第一总虚拟地址空间所第一的物理缓存。也就是说,相机应用处于拍照模式下,无法及时为第一已生成图像分配合法缓存也是一种第一预设条件。
在一些实施例中,相机应用可能在不同时刻处于不同的模式,例如相机启动后处于预览模式,后续处于拍照模式,而预览模式与拍照模式下均可能出现符合第一预设条件的情况出现,因此,可以分别创建不同的虚拟地址空间来管理上述不同模式下符合第一预设条件的生成图像。
请参见图3,为本申请实施例提供的一种基于第二总虚拟地址空间对应的物理缓存存储生成图像的方法流程图。在步骤103之后,还可以继续执行步骤105与步骤106:
步骤105:生成与物理地址具有第二映射关系的第二总虚拟地址空间。
步骤106:响应于实际字节数对应的第二已生成图像符合第一预设条件,硬件控制层基于第二映射关系,将第二已生成图像存储到第二总虚拟地址空间对应的物理缓存。
本申请实施例中,相机应用虽然在不同时刻可能处于不同模式(预览模式或者拍照模式),但是只要未调整摄像参数或者图像处理参数,那么在不同模式下所生成的图像的大小可以认为是相同的,即预览图像的大小等于拍照图像的大小,两者均等于待生成图像的实际字节数。由于第一总虚拟地址空间的大小等于实际字节数,在此基础上,可以生成与第一总虚拟地址空间等大小的第二总虚拟地址空间,并且该第二总虚拟地址空间同样与物理缓存的物理地址建立有映射关系,例如,第二总虚拟地址空间与保存缓存区的物理地址之间为第二映射关系。
在此基础上,当第一生成图像为预览模式下的预览图像,且符合第一预设条件,则基于第一映射关系,将第一已生成图像存储到第一总虚拟地址空间所对应的物理缓存。当第二已生成图像为拍照模式下的拍照图像,且符合第一预设条件,则基于第二映射关系,将第二已生成图像存储到第二总虚拟地址空间所对应的物理缓存。或者,当第一已生成图像拍照模式下的拍照图像,且符合第一预设条件,则基于第一映射关系,将第一已生成图像存储到第一总虚拟地址空间所对应的物理缓存。当第二已生成图像为预览模式下的预览图像,且符合第一预设条件,则基于第二映射关系,将第二已生成图像存储到第二总虚拟地址空间所对应的物理缓存。此处对第一已生成图像与第二已生成图像基于哪个映射关系存储仅物理缓存不做特别限制。
在一些实施例中,若按照第一总虚拟地址空间的生成方式来生成第二总虚拟地址空间,则操作较为繁琐,导致第二总虚拟地址空间的生成效率较低。
请参见图4,为本申请实施例提供的一种生成第二总虚拟地址空间的方法的流程示意图。步骤105具体可以通过执行子步骤1051来实现:
步骤1051:硬件控制层对第一总虚拟地址空间以及第一映射关系进行复制操作,生成与物理地址具有第二映射关系的第二总虚拟地址空间。
本申请实施例中,请参见图5,为本申请实施例提供的一种复制虚拟地址空间及映射关系的示意图。通过直接复制的方式,在映射出第一总虚拟地址空间的基础上,生成与等大小的第二总虚拟地址空间,简化了第二总虚拟地址空间的生成流程,提高了第二总虚拟地址空间的生成效率。应理解,上述复制操作不仅是对第一总虚拟地址空间进行复制,同时也是第一映射关系进行复制,所得到的第二映射关系使第二总虚拟地址空间同样是指向物理缓存的物理地址。
在一些实施例中,某些场景下,创建的虚拟地址空间以及所申请的物理缓存不再被需要,此时便可以对物理缓存以及虚拟地址空间进行释放,从而提高内存以及虚拟地址空间的利用率。
请参见图6,为本申请实施例提供的一种释放内存与释放虚拟地址空间方法的流程示意图。在执行步骤106之后,还可以继续执行步骤107与步骤109:
步骤107:响应于符合第二预设条件,逻辑控制层删除存储于物理缓存中的第一已生成图像与第二已生成图像。
步骤108:逻辑控制层向硬件控制层发送虚拟地址空间释放命令。
步骤109:硬件控制层响应于虚拟地址空间释放命令,解除第一映射关系与第二映射关系。
本申请实施例中,当第二预设条件为相机应用中的摄像头发生切换时,由于不同方位摄像头的摄像头参数通常不相同,这就意味着,一旦发生摄像头切换,待生成图像的大小便会相应发生变化,那么已映射出的虚拟地址空间大小不再与待生成图像大小相符,此时需要释放虚拟地址空间,即解除第一总虚拟地址空间与物理缓存的物理地址之间的第一映射关系,以及解除第二总虚拟地址空间与物理缓存的物理地址之间的第二映射关系,与此同时,若保存缓存区为基于上述第一种申请方式来申请的,此时还需要释放保存缓存区,即删除保存缓存区中的第一已生成图像与第二已生成图像,或者,若物理缓存为基于上述第二种申请方式来申请的,此时则无需释放内存,后续基于变化后待生成图像的实际字节数从已申请的物理缓存的物理地址直接映射出新的虚拟地址空间。
当第二预设条件为相机应用被关闭时,这就意味着不再生成新的图像,即不再生成预览图像,也不再生成拍照图像,此时需要同时释放物理缓存以及虚拟地址空间,即解除第一总虚拟地址空间与物理缓存的物理地址之间的第一映射关系,以及解除第二总虚拟地址空间与物理缓存的物理地址之间的第二映射关系,同时,删除保存缓存区中的第一已生成图像与第二已生成图像。
请参见图7,基于同一发明构思,为本申请实施例提供的一种内存管理装置,该内存管理装置设置于电子设备中,电子设备包括逻辑控制层201与硬件控制层202;
逻辑控制层201,用于响应于所确定的待生成图像的实际字节数,申请目标字节数的物理缓存,目标字节数小于实际字节数,实际字节数为相机应用初始化所确定的,或者相机应用的摄像参数更新后所确定的,或者相机应用中摄像头被切换后所确定的;
逻辑控制层201,还用于向硬件控制层202虚拟地址空间创建命令,虚拟地址空间创建命令包括物理缓存的物理地址,目标字节数、实际字节数;
硬件控制层202,用于响应于虚拟地址空间创建命令,基于实际字节数与目标字节数确定出基本虚拟地址空间数量;并建立基本虚拟地址空间数量对应的基本虚拟地址空间与物理地址的第一映射关系,形成第一总虚拟地址空间;
硬件控制层202,还用于响应于实际字节数对应的第一已生成图像符合第一预设条件,基于所述第一映射关系,将第一类型图像存储到第一总虚拟地址空间对应的物理缓存,第一已生成图像为预览图像或拍照图像。
可选的,硬件控制层202,还用于生成与物理地址具有第二映射关系的第二总虚拟地址空间,第二总虚拟地址空间的大小等于第一总虚拟地址空间的大小;
硬件控制层202,还用于响应于实际字节数对应的第二已生成图像符合第一预设条件,基于所述第二映射关系,将第二已生成图像存储到第二总虚拟地址空间对应的物理缓存,第二已生成图像为预览图像或拍照图像,第二已生成图像与第一已生成图像类型不相同。
可选的,硬件控制层202具体用于:
对第一总虚拟地址空间以及第一映射关系进行复制操作,生成与物理地址具有第二映射关系的第二总虚拟地址空间。
可选的,逻辑控制单元201,还用于响应于符合第二预设条件,删除存储于物理缓存中的所述第一已生成图像与所述第二已生成图像,并向硬件控制层202发送虚拟地址空间释放命令,第二预设条件为检测到相机应用的关闭事件,或者检测到相机应用中摄像头的切换事件;
硬件控制层202,还用于响应于虚拟地址空间释放命令,解除第一映射关系与第二映射关系。
可选的,物理缓存为单个物理页。
请参见图8,基于同一发明构思,本申请实施例还提供一种芯片模组,该芯片模组包括至少一个处理器301,处理器301用于执行存储器中存储的计算机程序,实现本申请实施例提供的如图1、图3-4以及图6所示的内存管理方法的流程示意图步骤。
可选的,处理器301具体可以是中央处理器、特定ASIC,可以是一个或多个用于控制程序执行的集成电路。
可选的,该芯片模组还可以包括与至少一个处理器301连接的存储器302,存储器302可以包括ROM、RAM和磁盘存储器。存储器302用于存储处理器301运行时所需的数据,即存储有可被至少一个处理器301执行的指令,至少一个处理器301通过执行存储器302存储的指令,执行如图1、图3-4以及图6所示的方法。其中,存储器302数量为一个或多个。其中,存储器302的数量为一个或多个。
请参见图9,基于同一发明构思,本申请实施例还提供了一种电子设备100,该电子设备100可以包括至少一个处理器,该至少一个处理器用于执行存储器中存储的计算机程序,实现本申请实施例提供的如图1、图3-4以及图6所示的内存管理方法的步骤。
可选的,上述处理器具体可以是中央处理器、特定ASIC,可以是一个或多个用于控制程序执行的集成电路。
可选的,该电子设备100还可以包括与至少一个处理器连接的存储器,存储器可以包括ROM、RAM和磁盘存储器。存储器用于存储处理器运行时所需的数据,即存储有可被至少一个处理器执行的指令,至少一个处理器通过执行存储器存储的指令,执行如图1、图3-4以及图6所示的方法。其中,存储器的数量为一个或多个。
其中,逻辑控制层201与硬件控制层202所对应的实体设备均可以是前述的处理器。该电子设备可以用于执行图1、图3-4以及图6所示的实施例所提供的方法。因此关于该电子设备中各功能模块所能够实现的功能,可参考图1-9所示的实施例中的相应描述,不多赘述。
其中,上述电子设备100可以为智能手机、平板电脑等智能电子设备,本实施例对上述电子设备的形式不作限定。
实例性的,图9以智能手机为例示出了电子设备100的结构示意图,如图9所示,电子设备100可以包括处理器110,外部存储器接口120,内部存储器121,通用串行总线(universal serial bus,USB)接口130,充电管理模块140,电源管理模块141,电池142,天线1,天线2,移动通信模块150,无线通信模块160,音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,传感器模块180,按键190,马达191,指示器192,摄像头193,显示屏194,以及用户识别卡(subscriber identification module,SIM)卡接口195等。
可以理解的是,本申请实施例示意的结构并不构成对电子设备100的具体限定。在本申请另一些实施例中,电子设备100可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器110的等待时间,因而提高了系统的效率。
在一些实施例中,处理器110可以包括一个或多个接口。接口可以包括集成电路(inter-integrated circuit,I2C)接口,集成电路内置音频(inter-integrated circuitsound,I2S)接口,脉冲编码调制(pulse code modulation,PCM)接口,通用异步收发传输器(universal asynchronous receiver/transmitter,UART)接口,移动产业处理器接口(mobile industry processor interface,MIPI),通用输入输出(general-purposeinput/output,GPIO)接口,用户标识模块(subscriber identity module,SIM)接口,和/或通用串行总线(universal serial bus,USB)接口等。
充电管理模块140用于从充电器接收充电输入。
电源管理模块141用于连接电池142,充电管理模块140与处理器110。
在一些实施例中,电子设备100的天线1和移动通信模块150耦合,天线2和无线通信模块160耦合,使得电子设备100可以通过无线通信技术与网络以及其他设备通信。所述无线通信技术可以包括全球移动通讯系统(global system for mobile communications,GSM),通用分组无线服务(general packet radio service,GPRS),码分多址接入(codedivision multiple access,CDMA),宽带码分多址(wideband code division multipleaccess,WCDMA),时分码分多址(time-division code division multiple access,TD-SCDMA),长期演进(long term evolution,LTE),BT,GNSS,WLAN,NFC,FM,和/或IR技术等。所述GNSS可以包括全球卫星定位系统(global positioning system,GPS),全球导航卫星系统(global navigation satellite system,GLONASS),北斗卫星导航系统(beidounavigation satellite system,BDS),准天顶卫星系统(quasi-zenith satellitesystem,QZSS)和/或星基增强系统(satellite based augmentation systems,SBAS)。
电子设备100通过GPU,显示屏194,以及应用处理器等实现显示功能。
显示屏194用于显示图像,视频等。显示屏194包括显示面板。
ISP用于处理摄像头193反馈的数据。
摄像头193用于捕获静态图像或视频。
数字信号处理器用于处理数字信号,除了可以处理数字图像信号,还可以处理其他数字信号。例如,当电子设备100在频点选择时,数字信号处理器用于对频点能量进行傅里叶变换等。
视频编解码器用于对数字视频压缩或解压缩。电子设备100可以支持一种或多种视频编解码器。这样,电子设备100可以播放或录制多种编码格式的视频,例如:动态图像专家组(moving picture experts group,MPEG)1,MPEG2,MPEG3,MPEG4等。
外部存储器接口120可以用于连接外部存储卡,例如Micro SD卡,实现扩展电子设备100的存储能力。外部存储卡通过外部存储器接口120与处理器110通信,实现数据存储功能。例如将音乐,视频等文件保存在外部存储卡中。
内部存储器121可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。内部存储器121可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,至少一个功能所需的应用程序(比如声音播放功能,图像播放功能等)等。存储数据区可存储电子设备100使用过程中所创建的数据(比如音频数据,电话本等)等。此外,内部存储器121可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,UFS)等。处理器110通过运行存储在内部存储器121的指令,和/或存储在设置于处理器中的存储器的指令,执行电子设备100的各种功能应用以及数据处理。
电子设备100可以通过音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,以及应用处理器等实现音频功能。例如音乐播放,录音等。
音频模块170用于将数字音频信息转换成模拟音频信号输出,也用于将模拟音频输入转换为数字音频信号。
扬声器170A,也称“喇叭”,用于将音频电信号转换为声音信号。
受话器170B,也称“听筒”,用于将音频电信号转换成声音信号。
麦克风170C,也称“话筒”,“传声器”,用于将声音信号转换为电信号。
耳机接口170D用于连接有线耳机。耳机接口170D可以是USB接口130,也可以是3.5mm的开放移动电子设备平台(open mobile terminal platform,OMTP)标准接口,美国蜂窝电信工业协会(cellular telecommunications industry association of the USA,CTIA)标准接口。
按键190包括开机键,音量键等。
马达191可以产生振动提示。
指示器192可以是指示灯,可以用于指示充电状态,电量变化,也可以用于指示消息,未接来电,通知等。
SIM卡接口195用于连接SIM卡。在一些实施例中,电子设备100采用eSIM,即:嵌入式SIM卡。eSIM卡可以嵌在电子设备100中,不能和电子设备100分离。
本申请实施例还提供一种计算机存储介质,其中,计算机存储介质存储有计算机指令,当计算机指令在计算机上运行时,使得计算机执行如图1、图3-4以及图6所述的方法。
以上所述仅为本说明书的较佳实施例而已,并不用以限制本说明书,凡在本说明书的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本说明书保护的范围之内。
Claims (13)
1.一种内存管理方法,其特征在于,适用于电子设备中,所述电子设备包括逻辑控制层与硬件控制层,所述方法包括:
响应于所确定的待生成图像的实际字节数,所述逻辑控制层申请目标字节数的物理缓存,所述目标字节数小于所述实际字节数,所述实际字节数为相机应用初始化所确定的,或者相机应用的摄像参数更新后所确定的,或者相机应用中摄像头被切换后所确定的;
所述逻辑控制层向所述硬件控制层虚拟地址空间创建命令,所述虚拟地址空间创建命令包括所述物理缓存的物理地址,所述目标字节数、所述实际字节数;
所述硬件控制层响应于所述虚拟地址空间创建命令,基于所述实际字节数与所述目标字节数确定出基本虚拟地址空间数量;并建立所述基本虚拟地址空间数量对应的基本虚拟地址空间与所述物理地址的映射关系,形成第一总虚拟地址空间;
响应于所述实际字节数对应的第一已生成图像符合第一预设条件,所述硬件控制层基于所述第一映射关系,将所述第一已生成图像存储到所述第一总虚拟地址空间对应的所述物理缓存,所述第一已生成图像为预览图像或拍照图像。
2.根据权利要求1所述的方法,其特征在于,在建立所述基本虚拟地址空间数量对应的基本虚拟地址空间与所述物理地址的映射关系,形成第一总虚拟地址空间之后,所述方法还包括:
生成与所述物理地址具有第二映射关系的第二总虚拟地址空间,所述第二总虚拟地址空间的大小等于所述第一总虚拟地址空间的大小;
响应于所述实际字节数对应的第二已生成图像符合所述第一预设条件,所述硬件控制层基于所述第二映射关系,将所述第二已生成图像存储到所述第二总虚拟地址空间对应的所述物理缓存,所述第二已生成图像为预览图像或拍照图像,所述第二已生成图像与所述第一已生成图像类型不相同。
3.根据权利要求2所述的方法,其特征在于,所述硬件控制层生成与所述物理地址具有第二映射关系的第二总虚拟地址空间,包括:
所述硬件控制层对所述第一总虚拟地址空间以及所述第一映射关系进行复制操作,生成与所述物理地址具有所述第二映射关系的所述第二总虚拟地址空间。
4.根据权利要求2所述的方法,其特征在于,所述方法还包括:
响应于符合第二预设条件,所述逻辑控制层删除存储于所述物理缓存中的所述第一已生成图像与所述第二已生成图像,并向所述硬件控制层发送虚拟地址空间释放命令,所述第二预设条件为检测到所述相机应用的关闭事件,或者检测到所述相机应用中摄像头的切换事件;
所述硬件控制层响应于所述虚拟地址空间释放命令,解除所述第一映射关系与所述第二映射关系。
5.根据权利要求1-4任一项所述的方法,其特征在于,所述物理缓存为单个物理页。
6.一种内存管理装置,其特征在于,所述内存管理装置设置于电子设备中,所述电子设备包括逻辑控制层与硬件控制层;
所述逻辑控制层,用于响应于所确定的待生成图像的实际字节数,申请目标字节数的物理缓存,所述目标字节数小于所述实际字节数,所述实际字节数为相机应用初始化所确定的,或者相机应用的摄像参数更新后所确定的,或者相机应用中摄像头被切换后所确定的;
所述逻辑控制层,还用于向所述硬件控制层虚拟地址空间创建命令,所述虚拟地址空间创建命令包括所述物理缓存的物理地址,所述目标字节数、所述实际字节数;
所述硬件控制层,用于响应于所述虚拟地址空间创建命令,基于所述实际字节数与所述目标字节数确定出基本虚拟地址空间数量;并建立所述基本虚拟地址空间数量对应的基本虚拟地址空间与所述物理地址的映射关系,形成第一总虚拟地址空间;
所述硬件控制层,还用于响应于所述实际字节数对应的第一已生成图像符合第一预设条件,所述硬件控制层基于所述第一映射关系,将所述第一类型图像存储到所述第一总虚拟地址空间对应的所述物理缓存,所述第一已生成图像为预览图像或拍照图像。
7.根据权利要求6所述的装置,其特征在于,所述硬件控制层,还用于生成与所述物理地址具有第二映射关系的第二总虚拟地址空间,所述第二总虚拟地址空间的大小等于所述第一总虚拟地址空间的大小;
所述硬件控制层,还用于响应于所述实际字节数对应的第二已生成图像符合所述第一预设条件,所述硬件控制层基于所述第二映射关系,将所述第二已生成图像存储到所述第二总虚拟地址空间对应的所述物理缓存,所述第二已生成图像为预览图像或拍照图像,所述第二已生成图像与所述第一已生成图像类型不相同。
8.根据权利要求7所述的装置,其特征在于,所述硬件控制层具体用于:
对所述第一总虚拟地址空间以及所述第一映射关系进行复制操作,生成与所述物理地址具有所述第二映射关系的所述第二总虚拟地址空间。
9.根据权利要求7所述的装置,其特征在于,所述逻辑控制单元,还用于响应于符合第二预设条件,删除存储于所述物理缓存中的所述第一已生成图像与所述第二已生成图像,并向所述硬件控制层发送虚拟地址空间释放命令,所述第二预设条件为检测到所述相机应用的关闭事件,或者检测到所述相机应用中摄像头的切换事件;
所述硬件控制层,还用于响应于所述虚拟地址空间释放命令,解除所述第一映射关系与所述第二映射关系。
10.根据权利要求6-9任一项所述的装置,其特征在于,所述物理缓存为单个物理页。
11.一种芯片模组,其特征在于,所述芯片模组包括至少一个处理器以及与所述至少一个处理器连接的存储器,所述至少一个处理器用于执行所述存储器中存储的计算机程序时实现如权利要求1-5中任一项所述方法的步骤。
12.一种电子设备,其特征在于,所述电子设备包括至少一个处理器以及与所述至少一个处理器连接的存储器,所述至少一个处理器用于执行所述存储器中存储的计算机程序时实现如权利要求1-5中任一项所述方法的步骤。
13.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-5任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310921908.5A CN116909945A (zh) | 2023-07-25 | 2023-07-25 | 内存管理方法、装置、芯片模组、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310921908.5A CN116909945A (zh) | 2023-07-25 | 2023-07-25 | 内存管理方法、装置、芯片模组、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116909945A true CN116909945A (zh) | 2023-10-20 |
Family
ID=88357960
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310921908.5A Pending CN116909945A (zh) | 2023-07-25 | 2023-07-25 | 内存管理方法、装置、芯片模组、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116909945A (zh) |
-
2023
- 2023-07-25 CN CN202310921908.5A patent/CN116909945A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112527403B (zh) | 一种应用启动方法及电子设备 | |
CN116244067B (zh) | 虚拟内存管理方法和电子设备 | |
CN114697527B (zh) | 一种拍摄方法、系统及电子设备 | |
CN113129202B (zh) | 数据传输方法、装置及数据处理系统、存储介质 | |
CN115499579B (zh) | 基于零秒延迟zsl的处理方法和装置 | |
CN114461375B (zh) | 内存资源管理方法及电子设备 | |
CN114996168B (zh) | 一种多设备协同测试方法、测试设备及可读存储介质 | |
CN111078376A (zh) | 一种进程管理方法及设备 | |
CN114726950A (zh) | 一种摄像头模组的开启方法和装置 | |
CN113126948B (zh) | 一种音频播放方法及相关设备 | |
CN115065767A (zh) | 一种天线功率调节方法及其电子设备 | |
WO2024027544A1 (zh) | 内存管理方法及电子设备 | |
CN115103304B (zh) | 位置信息的调用方法及装置 | |
CN116909945A (zh) | 内存管理方法、装置、芯片模组、电子设备及存储介质 | |
CN117135257A (zh) | 一种图像显示方法及电子设备 | |
CN117014720A (zh) | 图像拍摄方法、装置、终端、存储介质及产品 | |
CN117667369A (zh) | 内存管理方法、电子设备、芯片系统及可读存储介质 | |
CN111131019B (zh) | 一种多路http通道复用的方法及终端 | |
CN113837338A (zh) | 一种检测方法、终端、用户识别卡、电子设备及存储介质 | |
CN114240722A (zh) | 一种图像仿真数据的生成方法、电子设备及存储介质 | |
CN113902608A (zh) | 图像处理架构、方法、存储介质及电子设备 | |
CN115065651B (zh) | 一种对话消息的管理方法、装置、电子设备及存储介质 | |
CN115243023A (zh) | 一种图像处理方法、装置、电子设备及存储介质 | |
CN116339893A (zh) | 一种高性能场景的识别方法、装置、电子设备及存储介质 | |
CN116028383B (zh) | 缓存管理方法及电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |