[发明专利]用于在一个或多个虚拟内存页的虚拟内存子页内编译和执行代码的系统和方法有效
申请号: | 201780096871.X | 申请日: | 2017-12-01 |
公开(公告)号: | CN111344667B | 公开(公告)日: | 2021-10-15 |
发明(设计)人: | 安东尼奥·巴巴拉斯;陈熠;亚尼·科科宁;亚历山大·斯皮里达基斯 | 申请(专利权)人: | 华为技术有限公司 |
主分类号: | G06F8/41 | 分类号: | G06F8/41;G06F12/02 |
代理公司: | 北京三高永信知识产权代理有限责任公司 11138 | 代理人: | 颜晶 |
地址: | 518129 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 一个 虚拟内存 子页内 编译 执行 代码 系统 方法 | ||
提供一种编译程序用于:接收用于编译的预编译代码,所述预编译代码在编译和加载到内存时,是至少一个虚拟内存子页的大小,所述一个虚拟内存子页对应于映射至虚拟内存页的一个物理内存块;将所述预编译代码划分为块,当编译为相应的可执行二进制块时,其小于或等于虚拟内存子页的大小;将所述块编译成可执行二进制块;以及将所述可执行二进制块链接到程序中,并且包括由管理程序软件将所述程序加载到分配虚拟存储器页面中所述可执行二进制块的指定,通过根据虚拟内存子页与分配的物理内存块的集群之间的映射将所述可执行二进制块加载到物理内存块中。其中每个物理内存块的大小对应于虚拟内存子页大小。
背景技术
本发明在其一些实施例中涉及虚拟内存管理,更具体地说,但不限于,涉及用于群集虚拟内存页的子页的系统和方法。
在具有大量核心的多处理器/多核心处理器的框架和/或妨碍多个逻辑执行单元(任务)共同执行的软件中,由于性能和能效原因,在执行实体之间共享对内存资源的存取越来越重要。内存资源包括例如处理器高速缓存,其包括以下各项中的一个或多个:L1、L2、L3和L4(例如,L1、L1-L2、L1-L3和L3-L4)(最高级被称为最后一级高速缓存(last levelcache,LLC)、通过其LLC互连多个群组/集群的处理器内存总线/环以及内存控制器和其与并行内存元件(存储体)的(并行)互连线。
为了在不同的执行实体之间划分内存资源的使用,已经引入了不同的技术,其包括页着色,这是一种需要实现虚拟内存的纯软件技术。在高速缓存分区的情况下,页着色至少需要LLC物理索引和标记的高速缓存。在内存带宽分区的情况下,页着色可能需要内存交错的软件配置。
发明内容
本发明的目的是提供一种装置、系统、方法和/或代码指令,用于编译用于在虚拟内存页的虚拟内存子页内在运行时执行的代码,和/或用于加载用于在虚拟虚拟内存页的虚拟内存子页内执行的代码。
上述和其它目的通过独立权利要求的特征来实现。根据从属权利要求、说明书和附图,进一步的实施形式是显而易见的。
根据第一方面,一种用于在至少一个虚拟内存页的多个虚拟内存子页内编译在运行时执行代码的装置,所述装置包括:编译程序,所述编译程序可由处理器执行,所述编译程序用于接收用于编译的预编译代码,其中,所述预编译代码的大小,在将所述预编译代码编译和加载到内存时,是至少一个虚拟内存子页的大小,其中所述至少一个虚拟内存子页对应于多个映射于虚拟内存页的多个物理内存块中的一个,每个物理内存块的大小是虚拟内存子页的所述大小;将所述预编译代码划分为多个块,从而所述多个块的每个块,在编译为多个可执行二进制块中的相应的可执行二进制块时,小于或等于所述至少一个虚拟内存子页的一个虚拟内存子页的所述大小,所述一个虚拟内存子页的大小对应于一个物理内存块的所述大小;将所述多个块编译为所述多个可执行二进制块;以及将所述多个可执行二进制块链接到程序中,并且包括指定所述多个可执行二进制块用于:根据所述至少一个虚拟内存页的虚拟内存子页与分配的多个物理内存块的集群间的映射,通过将所述多个可执行二进制块加载到物理内存块中,由管理程序软件将所述程序加载到分配的至少一个虚拟内存页中,其中所述物理内存块的每个的所述大小对应于虚拟内存子页的所述大小。
根据第二方面,一种用于加载用于在至少一个虚拟内存页的多个虚拟内存子页内加载执行代码的装置包括:处理器、内存,所述内存存储处理器执行的代码指令,包括:用于识别被划分为多个块的应用程序的二进制文件的代码,其中所述多个块中的每个块的大小小于或等于虚拟内存子页的大小,用于检索物理内存块中多个集群的初始分配的代码,物理内存块中的每个的大小对应于所述应用程序的虚拟内存子页大小,用于接收用于所述应用程序的至少一个虚拟内存页的分配的代码,其中所述至少一个虚拟内存页的所述大小映射至相同大小的连续物理内存区中,其中虚拟内存页至少包括多个虚拟内存子页,所述虚拟内存子页映射至物理内存块的所述多个集群中,所述物理内存快的每个的大小对应于虚拟内存子页的大小,用于将所述应用程序的所述二进制文件的所述多个块加载至所述分配的至少一虚拟内存页的代码,其中所述多个块,根据所述虚拟内存子页和所述分配的物理内存块的多个集群间的映射,加载到物理内存区。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201780096871.X/2.html,转载请声明来源钻瓜专利网。