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

层级转换表控制制造技术

技术编号:7999125 阅读:230 留言:0更新日期:2012-11-22 08:35
内存地址转换电路(14)使用储存在转换表(28、32、36、38、40、42)层级中的转换数据,执行由上而下页表移走操作以将虚拟内存地址VA转换为物理内存地址PA。页大小变量S被用于控制内存地址转换电路(14)以使用物理内存地址、虚拟内存地址及转换表的不同大小S的页进行操作。这些不同大小可全部为4kB或全部为64kB。该系统可支持多个虚拟机运行环境。如同相关联超管理器(62)设定其页大小一样,这些虚拟机运行环境可独立地设定其自身的页大小变量。

【技术实现步骤摘要】
【国外来华专利技术】
本专利技术涉及数据处理系统的领域。更具体而言,本专利技术涉及用于在数据处理系统中将虚拟内存(memory)地址转换为物理内存地址的内存地址转换机构。
技术介绍
已知提供了具有诸如内存管理单元的内存地址转换电路的数据处理系统,该内存地址转换电路用以将由处理器产生的虚拟地址转换为物理地址以便访问内存系统。执行该所需转换的一种方法为使用转换表。这些转换表可被配置为转换表层级,该层级的每一级将虚拟地址的一部分编入对表的索引中,以寻找至表的另一级的指针,或提供目标物理地址的描述符。由上而下页表移走操作被执行,在该操作中,执行了对页表的不同级之一系列索引化查找,直至全部有虚拟地址已完全转换为目标物理地址为止。“由上而下”的意义为表的第一级将虚拟地址的最高有效位编入对该表的索引。 在许多系统中,通常将地址空间分成4kB页并以此页大小的粒度(granularity)执行地址转换。此外,页表(转换表)也被配置为具有4kB大小,以便有效适合被分配以储存这些页表的内存的页中。存在相当数量的软件,这些软件显式或隐式地依赖于分成4kB页的内存地址空间。若页大小变化,则此类软件可能不可正确地操作。
技术实现思路
本专利技术的一方面提供一种用于处理数据的装置,其包含内存地址转换电路,其被配置为使用储存在转换表层级结构中的转换数据,执行由上而下页表移走操作,以将虚拟内存地址转换为物理内存地址;其中转换数据指定虚拟内存地址的2n个连续字节的页与相应物理内存地址的2N个连续字节的页之间的转换,其中N为正整数;转换表层级结构包含大小为2n个连续字节的转换表,以使得完整转换表被储存在物理内存的一页中;并且内存地址转换电路响应于指定N的当前值的页大小变量,控制内存址转换电路以使用选定大小的物理内存地址、虚拟内存地址及转换表的页来进行操作。本技术认识到,利用现提供的内存空间大小的显著增加(例如,更大的内存容量及从32位地址至64位地址的变化),利用4kB内存页对内存控制提供了在实践中并非经常需要的粒度等级。此外,本技术认识到,为了使用具有更大物理地址的4kB页,在支持由上而下页表移走操作的页表层级结构中需要更多页表级。举例而言,若每一级页表能够将虚拟地址的九位转换为物理地址的九位,则将64位虚拟地址转换为64位实体地址可能占用多达六级之页表移走。此引入了不希望的延迟增加。本技术认识到这些问题,并通过假定物理内存及虚拟内存的页大小与转换表(页表)大小可在不同的值之间切换,并且内存地址转换电路适合以当前选定的内存页及转换表大小执行所需由上而下页表移走操作,来解决这些问题。这些转换表仍可在内存页中有效适合并且更大的转换表允许增加每一页表级将虚拟地址的位转换为物理地址的位的位数。这减少了在转换中需要访问的页表级数,因此减少了相关的延迟。本技术可在具有运行提供多个虚拟机运行环境的程序指令的处理器的系统中使用。这些虚拟机运行环境可具有独立设定的页大小变量,以使得在相同硬件上操作并使用相同内存地址转换电路的不同虚拟机运行环境可具有不同页大小。当使用提供虚拟机运行环境的系统时,虚拟机将其自身的转换数据储存在虚拟机转换表层级结构中,并且内存地址转换电路对虚拟机转换表的每一访问需要内存地址转换电路进行另一地址转换来识别基础物理地址。因此,若通过虚拟机转换表的页表移走为四级移走,则通过虚拟机转换表层级结构的每一级移走自身将需要执行多个页表移走来识别物理地址(例如,执行其它四级页表移走来识别下一虚拟机转换表的物理地址),由此快速增加了每当激活由上而下页表移走时所需的页表转换的总级数。因此,准许使用更大的页 表并因此即使对于大内存地址空间而言也能减少需要执行的页表移走级数的本技术在被应用于提供虚拟机运行环境的系统时具有显著优势。用于另一地址转换的页大小变量(其与对虚拟机转换表的每一访问相关)可使用独立于多个个虚拟机运行环境的页大小变量而设定的页大小变量。在本专利技术的一些实施例中,提示数据可与较小页大小相关联以指示彼此连续地挨着位于虚拟内存内的多个这些较小页也彼此连续地挨着位于物理内存内,因此全部这些较小页可通过更大大小的页的单个虚拟至物理地址转换而被表示。当连续性提示数据在允许缓存虚拟地址至物理地址转换的机构识别这样的连续页何时出现并将所涉及的转换标记为具有有效的较大页大小的机构中有用,从而节省那些转换缓存机构(例如,转换后援缓冲器)的储存容量中的空间。在这样的实施例中,若所述有效的较大页大小对应于可由页大小变量选择的较大的不同大小的页,则尤其理想。应了解,若并非期望所有内存地址空间供使用,则可通过将自所需虚拟地址的最高有效位端起扩展的该虚拟地址的一部分配置为固定值(通常全部为O或全部为I)来减少所需要的页表移走级数,因此避免需要执行最高级的转换表移走。因此,若内存地址提供64位内存地址空间,则在实际实施例中可以为仅需要此地址空间的48位,并因此需要虚拟地址空间的靠上16位全部为O或全部为1,否则将发生内存转换错误。已发现实践中希望提供包括4kB及64kB(即对应于212及216)的页表大小。本专利技术的另一方面提供一种用于处理数据之装置,其包含内存地址转换构件,用以使用储存在转换表侧记结构中的转换数据执行由上而下页表移走操作,以将虚拟内存地址转换为物理内存地址;其中转换数据指定虚拟内存地址的2n个连续字节的页与物理内存地址的相应2N个连续字节的页之间的转换,其中N为正整数;转换表层级结构包含大小为2^*#个连续字节的转换表,以使得完整转换表被储存物理内存的一页中;并且内存地址转换构件响应于指定N的当前值的页大小变量,控制内存地址转换电路以使用选定大小的物理内存地址、虚拟内存地址及转换表的页来进行操作。本专利技术的另一方面提供一种用于处理数据之方法,其包含以下步骤利用储存在转换表层级结构中的转换数据执行由上而下页表移走操作,以将虚拟内存地址转换为物理内存地址;其中转换数据指定虚拟内存地址的2n个连续字节的页与物理内存地址的相应2N个连续字节的页之间的转换,其中N为正整数;转换表层级机构包含大小为2n个连续字节的转换表,以使得完整转换表被储存在物理内存的一页中;并且响应于指定N的当前值的页大小变量,使用选定大小的物理内存地址、虚拟内存地址及转换表的页来进行操作。附图说明 现在将参考附图通过示例来描述本专利技术的实施例,在附图中图I示意地图示数据处理系统,该数据处理系统包括耦接至内存的处理器,其中该处理器包括内存地址转换电路;图2示意地图示利用4kB转换表及64位地址的由上而下页表移走操作(up downpage table walk operation);图3示意地图示利用64kB转换表及64位内存地址的由上而下页表移走操作;图4为示意地图示该内存地址转换电路在接收到要转换的虚拟地址后的操作的流程图;以及图5示意地图示具有不同页大小的多个虚拟机运行环境的提供。具体实施例方式图I图示意地图示数据处理系统2,数据处理系统2包含耦接至内存6的处理器4。该处理器4包括数据处理核心8、高速缓存10、加载储存单元(LSU) 12及内存管理单元(MMU) 14 (内存地址转换电路)。内存6储存转换表16 (也称为页表)及物理寻址页的数据18。当运行程序指令时,数据处理核心8产生虚拟地址VA,虚拟地址本文档来自技高网...

【技术保护点】

【技术特征摘要】
【国外来华专利技术】...

【专利技术属性】
技术研发人员:理查德·罗伊·格里森思怀特
申请(专利权)人:ARM有限公司
类型:发明
国别省市:

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

1