[发明专利]静态内存碎片整理方法、装置、计算机设备及存储介质有效
申请号: | 201810146230.7 | 申请日: | 2018-02-12 |
公开(公告)号: | CN110162483B | 公开(公告)日: | 2020-10-20 |
发明(设计)人: | 不公告发明人 | 申请(专利权)人: | 上海寒武纪信息科技有限公司 |
主分类号: | G06F12/02 | 分类号: | G06F12/02;G06F12/06 |
代理公司: | 北京华进京联知识产权代理有限公司 11606 | 代理人: | 孙岩 |
地址: | 200120 上海市浦*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 静态 内存 碎片 整理 方法 装置 计算机 设备 存储 介质 | ||
本发明涉及一种静态内存碎片的整理方法、装置、计算机设备及存储介质,可以在静态期进行内存碎片整理,包括如下步骤:访问的为指令列表中的静态内存碎片整理指令时首先获取内存的多个资源,以及该多个资源的当前地址;之后为各所述资源在预设内存区域重新分配的目标地址;最后将各资源从当前地址移动至目标地址,并在各资源的资源地址列表中记录目标地址和该目标地址对应的引用时段。上述静态内存碎片的整理方法、装置、计算机设备及存储介质可以使内存的利用效率提高。
技术领域
本发明涉及信息技术计算机技术领域,特别是涉及一种静态内存碎片整理方法、装置、计算机设备及存储介质。
背景技术
随着计算机技术的飞速发展,出现了诸如多核处理器计算机系统(Multi-coreprocessor Computing System)、异构计算机系统(Heterogeneous Computing System)等包含有多个处理器的多处理器计算机系统(Multi-processor Computing System)。在上述计算机系统的多个处理器可以根据多个处理器对应的指令列表并行处理不同的指令,提高该计算机系统的处理效率。
但是,上述计算机系统的多个处理器在根据指令列表引用资源执行相应操作时,可能会由于内存上存在内存碎片,导致在理论内存充足的情形下,程序执行失败。
因此,如何提高系统内存的利用效率便成为亟需解决的技术问题。
发明内容
基于此,有必要针对内存的利用效率低问题,提供一种静态内存碎片整理方法、装置、计算机设备及存储介质。
一种静态内存碎片整理方法,包括如下步骤:
判断当前访问的指令列表中的指令的指令类型;
若当前访问的指令的指令类型为静态内存碎片整理指令,则获取内存上的多个资源,以及所述多个资源中各资源的当前地址;
为各资源在预设存储区域重新分配目标地址;
将各资源从当前地址移动至为各资源分配的目标地址,并在各资源的资源地址列表中记录对应的目标地址和所述目标地址对应的引用时段。
在其中一个实施例中,包括:
若当前访问的指令的指令类型不是静态内存碎片整理指令,则查询当前访问的指令引用资源的资源地址列表,得到当前访问的指令引用资源的当前地址;
在所述当前访问的指令引用资源的当前地址上执行当前访问的指令的相应操作。
在其中一个实施例中,在获取内存上的多个资源,以及所述多个资源中各所述资源的当前地址的步骤之前,包括如下步骤:
若某一资源对应的所有指令完成相应操作,则释放完成相应操作的资源在所述内存上的相应存储区域。
在其中一个实施例中,所述为各所述资源在预设存储区域重新分配的目标地址的步骤包括:
获取各资源的生命周期;
按照各资源生命周期的长短,在所述预设存储区域为各资源从低地址向高地址依次分配目标地址,或者在所述预设存储区域为各资源从高地址向低地址依次分配目标地址。
在其中一个实施例中,所述为各资源在预设内存区域重新分配的目标地址的步骤包括:
分别获取第一内存区域上各资源的生命周期和/或第二内存区域上各资源的生命周期;
根据所述第一内存区域上的各资源的生命周期,在第一内存区域上为所述第一内存区域上的各资源从低地址向高地址依次分配目标地址;
根据所述第二内存区域上的各资源的生命周期,在第二内存区域上为所述第二内存区域上的各资源从高地址向低地址依次分配目标地址;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海寒武纪信息科技有限公司,未经上海寒武纪信息科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810146230.7/2.html,转载请声明来源钻瓜专利网。