统一存储器地址转换的制作方法

文档序号:36091682发布日期:2023-11-18 10:32阅读:54来源:国知局
统一存储器地址转换的制作方法

本发明一般涉及计算机系统,并且特别地涉及管理支持多个操作系统的处理系统中的存储器表。


背景技术:

1、近年来,计算平台的操作系统使用硬件和软件的组合来将程序所使用的存储器地址(有时称为虚拟地址)映射到计算机的存储器中的物理地址。这样,主存储器在连续地址空间中表现为统一的段。操作系统管理虚拟地址空间和实际(物理)存储器到虚拟存储器的分配。处理器中的地址转换硬件(有时称为存储器管理单元(mmu))将虚拟地址转换为物理地址。操作系统内的软件可以提供大于实存储器容量的虚拟地址空间,从而引用比计算平台中物理存在的更多的存储器。通过使用虚拟存储器,软件可以使用比物理上可用的存储器更多的存储器。虚拟存储器通过伪装物理存储器的碎片化来简化应用程序编程。

2、当今的计算系统基于所使用的操作系统的类型使用不同的地址转换机制。为了支持多个计算机系统环境,当从有效地址(ea)转换到真实地址(ra)时,地址转换硬件应当支持多个寻址模式。如在此所使用的,有效地址(ea)是程序看到的地址;虚拟地址(va)是os使用的地址;而真实地址(ra)是实际存储器硬件的地址。当将ea转换为最终ra时,处理器通常执行遍历(walk)转换表的时间密集型过程,以便产生正确的地址,从而可访问适当的存储器地址。页表是操作系统存储其虚拟地址(va)到物理地址的映射的地方,其中每一映射也称为页表条目(pte)。将ea转换为va并最终转换为ra的时间密集型过程可能涉及许多存储器读取、缓存访问,并且可能停止硬件线程或整个处理器核的进展。


技术实现思路

1、根据本发明的一个方面,统一存储器地址转换系统包括转换队列模块,其被配置为接收针对物理存储器的真实地址(ra)的不同模式的转换请求。转换缓存(xltc)接口被配置为接收针对ra的先前请求的成功的转换结果,并将先前成功的转换结果提供给转换队列模块。多个表条目组(pteg)搜索模块(例如,页和/或段条目表组pteg和steg)耦合到转换队列模块。统一转换遍历地址生成(utwag)模块被配置为针对不同模式的转换请求中的每个模式提供转换支持。存储器接口耦合在utwag与物理存储器之间。

2、在一个实施例中,由utwag模块的所有转换支持共享xltc接口、pteg搜索模块和转换队列模块。

3、在一个实施例中,转换请求的模式包括以下中的至少一个:散列页表(hpt)请求;段表请求;非嵌套基数请求;或者嵌套基数请求。

4、在一个实施例中,由转换队列模块的序列模块处理每个转换请求。

5、在一个实施例中,转换队列模块的序列模块被配置为在转换请求之间提供循环(round robin)仲裁。

6、在一个实施例中,utwag模块的转换支持包括以下中的至少一个:分区表条目真实地址生成(pate ra gen);段表条目组虚拟地址生成(steg va gen),用于提供从有效地址(ea)到虚拟地址(va)的转换;段表条目组真实地址生成(steg ra gen),用于限定中间虚拟地址(steg va)到ra的转换;页表条目组真实地址生成(pteg ra gen);基数主机真实地址生成(radix host ra gen);或者基数客户真实地址生成(radix guest ra gen)。

7、在一个实施例中,有限状态机耦合到每个转换队列条目。

8、在一个实施例中,由utwag模块的所有转换支持共享状态机。

9、根据本发明的另一方面,一种提供统一存储器地址转换的方法包括由转换队列模块接收针对物理存储器的真实地址(ra)的多个转换请求。将多个转换请求中的每一个分配给转换队列模块的转换遍历队列条目。对于每个转换遍历队列条目,确定来自对应转换请求的起始虚拟地址(va)和转换模式。将va和转换模式提供给统一转换遍历地址生成(utwag)模块,该utwag模块包括适应不同转换模式的多个转换支持。由utwag模块基于转换模式将va转换为ra。utwag本身不将va转换为ra;相反,遵循基于hpt请求的hpt转换流程。ea到va是“段表转换”的目标。当“hpt转换”开始时,访问xltc以找到先前的ea到va的转换,然后转换遍历队列条目与该“起始va”一起执行表遍历以找到ra。

10、在一个实施例中,多个转换请求不是统一模式的。

11、在一个实施例中,多个转换请求包括以下中的至少一个:散列页表(hpt)请求;段表请求;非嵌套基数请求;或者嵌套基数请求。

12、在一个实施例中,由转换缓存(xltc)接口从操作用于存储一个或多个先前成功的转换结果的转换缓存(xltc)接收多个转换请求中的转换请求。

13、在一个实施例中,由utwag模块的所有转换支持共享xltc接口、一个或多个页表条目组(pteg)搜索模块和转换队列模块。

14、在一个实施例中,在确定在xltc中没有找到匹配的先前结果后,将每个转换请求分配给多个转换遍历队列条目中的一个。

15、在一个实施例中,对于处理器的每个时钟周期,每个转换遍历队列条目是不同的。

16、在一个实施例中,在多个转换遍历队列条目之间提供循环仲裁。

17、在一个实施例中,utwag模块的转换支持提供以下中的至少一个:分区表条目真实地址生成(pate ra gen);段表条目组虚拟地址生成(steg va gen),用于提供有效地址(ea)到虚拟地址(va)转换;段表条目组真实地址生成(steg ra gen),用于限定steg va的va到ra转换;页表条目组真实地址生成(pteg ra gen);基数主机真实地址生成(radixhost ra gen);或者基数客户真实地址生成(radix guest ra gen)。

18、在一个实施例中,有限状态机耦合到每个转换队列条目。

19、在一个实施例中,由utwag模块的所有转换支持共享状态机。

20、根据本发明的另一方面,一种计算设备包括:处理器;转换队列模块,其被配置为接收针对物理存储器的真实地址(ra)的不同模式的转换请求;转换缓存(xltc)接口,其被配置为接收针对ra的先前请求的成功的转换结果,并且将先前成功的转换结果提供给转换队列模块;以及多个页表条目组(pteg)搜索模块,其耦合到转换队列模块。存在耦合到处理器的存储器。统一转换遍历地址生成(utwag)软件模块被存储在存储器中,其中由处理器执行utwag配置计算设备以提供用于不同模式的转换请求中的每个模式的转换模式。存在耦合在utwag与物理存储器之间的存储器接口。

21、在一个实施例中,由utwag模块的所有转换支持共享xltc接口、pteg搜索模块和转换队列模块。

22、在一个实施例中,转换请求的模式包括以下中的至少一个:散列页表(hpt)请求;段表请求;非嵌套基数请求;或者嵌套基数请求。

23、在一个实施例中,utwag模块的转换支持包括以下中的至少一个:分区表条目真实地址生成(pate ra gen);段表条目组虚拟地址生成(steg va gen),用于提供有效地址(ea)到虚拟地址(va);段表条目组真实地址生成(steg ra gen),用于限定中间虚拟地址(steg va)到ra的转换;页表条目组真实地址生成(pteg ra gen);基数主机真实地址生成(radix host ra gen);或者基数客户真实地址生成(radix guest ra gen)。

24、在一个实施例中,有限状态机耦合到每个转换队列条目。

25、在一个实施例中,由utwag模块的所有转换支持共享状态机。

26、通过由各种转换模式共享各种硬件和/或软件组件,为地址转换提供了改进的面积和功率效率。实际上,转换遍历队列的迭代过程与utwag的组合导致了芯片有效面积的有效使用、降低的功耗以及改进的转换请求的性能。从以下结合附图阅读的对本发明的说明性实施例的详细描述中,这些和其它特征将变得显而易见。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1