当前位置: 首页 > 专利查询>ARM有限公司专利>正文

存储器地址变换管理制造技术

技术编号:18792179 阅读:18 留言:0更新日期:2018-08-29 10:29
一种数据处理装置(2)包括存储器管理电路(18),该存储器管理电路用于管理从虚拟地址VA到中间物理地址IPA然后从中间物理地址IPA到物理地址PA的二阶段地址变换。使用由执行于虚拟机执行环境内的虚拟机程序所控制的第一阶段变换数据(22)来执行第一阶段变换,该虚拟机执行环境由管理用于执行第二阶段变换的第二阶段变换数据(24)的超管理程序所提供。如果存储器区域被指定为可由给定虚拟机存取但不可由超管理程序存取的虚拟机专用区域且被指定为设备区域,则存储器管理电路(18)针对该区域执行专用设备区域管理(即,中间物理地址不可由第二阶段变换变更)。如果某区域既不是虚拟机专用区域又不是设备区域,则存储器管理电路(18)在该区域上执行非专用设备管理。

Memory address transformation management

A data processing apparatus (2) includes a memory management circuit (18) for managing a two-stage address translation from a virtual address VA to an intermediate physical address IPA and then from an intermediate physical address IPA to a physical address PA. The first phase transformation is performed using the first phase transformation data (22) controlled by a virtual machine program executed in a virtual machine execution environment provided by a hypermanager managing the second phase transformation data (24) for executing the second phase transformation. If the memory area is designated as a virtual machine-specific area accessible by a given virtual machine but not accessible by a hypermanager and is designated as a device area, the memory management circuit (18) performs dedicated device area management for that area (i.e., the intermediate physical address cannot be changed by a second-stage transformation). If an area is neither a virtual machine dedicated area nor a device area, the memory management circuit (18) performs non-dedicated device management in that area.

【技术实现步骤摘要】
【国外来华专利技术】存储器地址变换管理
本公开涉及数据处理系统领域。更具体而言,本公开涉及在数据处理系统内管理从虚拟地址到物理地址的变换。
技术介绍
已知提供了这样的数据处理系统,该数据处理系统提供由超管理程序管理的虚拟机执行环境并将由虚拟机程序所生成的虚拟地址变换为存储器的物理地址。
技术实现思路
本公开的至少一些实施例提供了用于处理数据的装置,该装置包括:处理电路,用以执行超管理程序以提供虚拟机执行环境并使用所述虚拟机执行环境来执行虚拟机程序;以及存储器管理电路,用以管理使用第一阶段变换数据及第二阶段变换数据来将由所述虚拟机程序所生成的虚拟地址变换为存储器的物理地址的处理,该第一阶段变换数据指定从所述虚拟地址到中间物理地址的变换,该第二阶段变换数据指定从所述中间物理地址到所述物理地址的变换;其中所述存储器管理电路控制对于所述存储器的存取,以在所述存储器内提供一个或多个虚拟机专用区域,该一个或多个虚拟机专用区域可由所述虚拟机程序存取且至少被标示为不可由所述超管理程序存取;所述第一阶段变换数据包括用以将所述存储器的各个区域标示为一个或多个设备区域中的一者或标示为一个或多个非设备区域中的一者的属性数据;并且在由所述虚拟机程序做出的存储器存取请求针对所述存储器的既是虚拟机专用区域又是设备区域的目标区域时,所述存储器管理电路更改对于根据所述第二阶段变换数据执行的所述变换的管理,以提供专用设备区域管理。本公开的至少一些实施例提供了用于处理数据的装置,该装置包括:处理部件,用于执行超管理程序以提供虚拟机执行环境并用于使用所述虚拟机执行环境来执行虚拟机程序;以及存储器管理部件,用于管理使用第一阶段变换数据及第二阶段变换数据来将由所述虚拟机程序所生成的虚拟地址变换为存储器的物理地址的处理,该第一阶段变换数据指定从所述虚拟地址到中间物理地址的变换,该第二阶段变换数据指定从所述中间物理地址到所述物理地址的变换;其中所述存储器管理部件控制对于所述存储器的存取,以在所述存储器内提供一个或多个虚拟机专用区域,该一个或多个虚拟机专用区域可由所述虚拟机程序存取且至少被标示为不可由所述超管理程序存取;所述第一阶段变换数据包括用以将所述存储器的各个区域标示为一个或多个设备区域中的一者或标示为一个或多个非设备区域中的一者的属性数据;并且在由所述虚拟机程序做出的存储器存取请求针对所述存储器的既是虚拟机专用区域又是设备区域的目标区域时,所述存储器管理部件更改对于根据所述第二阶段变换数据执行的所述变换的管理,以提供专用设备区域管理。本公开的至少一些实施例提供了处理数据的方法,包括:执行超管理程序以提供虚拟机执行环境;使用所述虚拟机执行环境来执行虚拟机程序;管理使用第一阶段变换数据及第二阶段变换数据来将由所述虚拟机程序所生成的虚拟地址变换为存储器的物理地址的处理,该第一阶段变换数据指定从所述虚拟地址到中间物理地址的变换,该第二阶段变换数据指定从所述中间物理地址到所述物理地址的变换;以及控制对于所述存储器的存取,以在所述存储器内提供一个或多个虚拟机专用区域,该一个或多个虚拟机专用区域可由所述虚拟机程序存取且至少被标示为不可由所述超管理程序存取;其中所述第一阶段变换数据包括用以将所述存储器的各个区域标示为一个或多个设备区域中的一者或标示为一个或多个非设备区域中的一者的属性数据;并且在由所述虚拟机程序做出的存储器存取请求针对所述存储器的既是虚拟机专用区域又是设备区域的目标区域时,更改对于根据所述第二阶段变换数据执行的所述变换的管理,以提供专用设备区域管理。附图说明现在将参考附图,仅通过示例的方式描述示例实施例,在附图中:图1示意性地示出了支持执行超管理程序的数据处理系统,该超管理程序向虚拟机程序提供虚拟机执行环境;图2示意性地示出了存储器管理电路,其用以管理使用第一阶段变换数据及第二阶段变换数据来将虚拟地址变换为物理地址的处理;图3示意性地示出了第一阶段变换数据项;图4示意性地示出了向在各个虚拟机执行环境中执行的多个程序提供这些虚拟机执行环境的超管理程序;以及图5为示意性地示出图2的存储器管理电路的操作的流程图。具体实施方式图1示意性地示出了包括处理器核4及存储器6的数据处理系统2。处理器核4包括用于执行来自指令管线12的、由译码器10译码的程序指令的处理电路8,这些程序指令由提取单元14提取到指令管线中。处理电路8执行超管理程序以提供一个或多个虚拟机执行环境,各虚拟机执行环境用于执行利用这些虚拟机执行环境的一个或多个相应程序(以下称为虚拟机程序)。加载/存储单元16对由处理电路8执行的程序指令所指定的存储器6执行存储器存取操作。存储器管理电路18用以对由加载/存储单元16所执行的存储器存取操作执行存储器管理操作。由存储器管理电路18所执行的存储器管理操作包括管理由虚拟机程序所生成的虚拟地址(VA)与用以对存储器6内的存储地址进行寻址的物理地址(PA)之间的变换。存储器管理电路18还可使用定义例如,存储器6内的存储器地址空间的特定区域(分页)为只读的、只写的、读/写的、可高速缓存的、还是可缓存的等特征的属性来管理存取。存储器6提供包括通用存储器区域30及设备存储器区域3的存储器地址空间。通用存储器区域20一般用于存储程序及数据,例如,超管理程序、虚拟机程序(例如,运行于由超管理程序所提供的虚拟机执行环境中的操作系统及应用程序)、用于操控的数据、及存储器管理数据(例如,第一阶段变换数据22及第二阶段变换数据24)。在图1的实施例中,通用存储器区域20的不同部分被提供作为虚拟机专用区域26、共享区域28、或超管理器区域30。设备存储器区域23包括为存储器映射的硬件设备(例如,实时时钟设备、随机数生成器、系统安全状态缓存器(register,也称为寄存器)、及各种存储器映射的输入/输出设备(例如,UART))专用的存储器地址。存储器管理电路18使用第一阶段变换数据22及第二阶段变换数据24来管理对于存储器6的存储器地址空间内的各种区域的存取,使得超管理器区域30可由超管理程序存取但一般不可由具有较低等级的权限(较低的例外等级状态)的程序存取。虚拟机专用区域26由存储器管理电路18使用第一阶段变换数据22及第二阶段变换数据24来管理,该虚拟机专用区域可由相应的虚拟机程序存取但不可由超管理程序存取,即使超管理程序具有较高等级的权限(一般,期望较高例外等级具有由较低等级权限的程序所使用的存储器区域上的存取许可权)。共享区域28由存储器管理电路18使用第一阶段变换数据22及第二阶段变换数据24来管理,该共享区域可由超管理程序及虚拟机程序二者存取。针对存储器映射的硬件设备提供设备存储器区域23。对于设备存储器区域23中的至少某些部分的存取由第一阶段变换数据22及第二阶段变换数据24所控制,以作为虚拟机专用区域。据此,存储器6的存储器地址空间内的给定的存储器映射的设备可对应于既是设备存储器区域又是虚拟机专用区域的存储器地址空间内的地址。虚拟机专用区域内的存储器映射的设备可存取该虚拟机专用区域,该存取由存储器管理电路18在第一阶变换数据及第二阶变换数据24的控制下所管理,使得向相对应的虚拟机程序提供存取,但不向其他程序(例如,超管理程序)提供存取。为了有助于对由超管理程序所提供本文档来自技高网...

【技术保护点】
1.一种用于处理数据的装置,包括:处理电路,用以执行超管理程序以提供虚拟机执行环境并使用所述虚拟机执行环境来执行虚拟机程序;以及存储器管理电路,用以管理使用第一阶段变换数据及第二阶段变换数据来将由所述虚拟机程序所生成的虚拟地址变换为存储器的物理地址的处理,所述第一阶段变换数据指定从所述虚拟地址到中间物理地址的变换,所述第二阶段变换数据指定从所述中间物理地址到所述物理地址的变换;其中所述存储器管理电路控制对于所述存储器的存取,以在所述存储器内提供一个或多个虚拟机专用区域,该一个或多个虚拟机专用区域可由所述虚拟机程序存取且至少被标示为不可由所述超管理程序存取;所述第一阶段变换数据包括用以将所述存储器的各个区域标示为一个或多个设备区域中的一者或标示为一个或多个非设备区域中的一者的属性数据;并且在由所述虚拟机程序做出的存储器存取请求针对所述存储器的既是虚拟机专用区域又是设备区域的目标区域时,所述存储器管理电路更改对根据所述第二阶段变换数据执行的所述变换的管理,以提供专用设备区域管理。

【技术特征摘要】
【国外来华专利技术】2016.01.26 GB 1601423.51.一种用于处理数据的装置,包括:处理电路,用以执行超管理程序以提供虚拟机执行环境并使用所述虚拟机执行环境来执行虚拟机程序;以及存储器管理电路,用以管理使用第一阶段变换数据及第二阶段变换数据来将由所述虚拟机程序所生成的虚拟地址变换为存储器的物理地址的处理,所述第一阶段变换数据指定从所述虚拟地址到中间物理地址的变换,所述第二阶段变换数据指定从所述中间物理地址到所述物理地址的变换;其中所述存储器管理电路控制对于所述存储器的存取,以在所述存储器内提供一个或多个虚拟机专用区域,该一个或多个虚拟机专用区域可由所述虚拟机程序存取且至少被标示为不可由所述超管理程序存取;所述第一阶段变换数据包括用以将所述存储器的各个区域标示为一个或多个设备区域中的一者或标示为一个或多个非设备区域中的一者的属性数据;并且在由所述虚拟机程序做出的存储器存取请求针对所述存储器的既是虚拟机专用区域又是设备区域的目标区域时,所述存储器管理电路更改对根据所述第二阶段变换数据执行的所述变换的管理,以提供专用设备区域管理。2.如权利要求1所述的装置,其中,所述专用设备区域管理包括确定所述第二阶段变换数据是否将所述存储器存取的所述中间物理地址变换为与所述中间物理地址匹配的所述存储器存取的物理地址。3.如权利要求2所述的装置,其中,当所述物理地址与所述中间物理地址相同时,所述物理地址与所述中间物理地址匹配。4.如权利要求2和3中任一项所述的装置,其中,当所述存储器存取的所述中间物理地址被变换为与所述中间物理地址不匹配的所述存储器存取的物理地址时,所述存储器管理单元向所述虚拟机程序返回错误指示。5.如权利要求4所述的装置,其中,所述错误指示为变换错误指示。6.如权利要求4和5中任一项所述的装置,其中,当所述存储器存取的所述中间物理地址被变换为与所述中间物理地址不匹配的所述存储器存取的物理地址时,所述存储器管理单元向所述超管理程序返回错误指示。7.如前述任一权利要求所述的装置,其中,所述专用设备区域管理包括响应于在所述第二阶段变换数据内不存在用以将所述中间物理地址变换为所述物理地址的变换数据,向所述超管理程序发送错误指示并向所述虚拟机程序发送错误指示。8.如权利要求7所述的装置,其中,发送至所述超管理程序的错误指示触发从执行所述虚拟机程序到由所述超管理程序进行例外处置的切换,且发送至所述虚拟机程序的错误指示在所述超管理程序重新开始执行所述虚拟机程序时触发由所述虚拟机程序进行例外处置。9.如前述任一权利要求所述的装置,当所述存储器的所述目标区域既不是虚拟机专用区域又不是设备区域时,根据所第二阶段变换数据执行的所述变换提供与所述专用设备区域管理不同的区域管理。10.如权利要求9所述的装置,其中,所述非专用设备管理包括容许所述存储器管理电路使用所述第二阶段变换数据来将所述中间物理地址变换为与所述中间物理地址不同的物理地址。11.如权利要求9和10中任一项所述的装置,其中,所述非专用设备管理包括通过在不向所述虚拟机程序发送错误指示的情况下向所述超管理程序发送错误指示,来响应在所述第二阶段变换数据内不存在用以将所述中间物理地...

【专利技术属性】
技术研发人员:詹森·帕克
申请(专利权)人:ARM有限公司
类型:发明
国别省市:英国,GB

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

1