存储管理装置、存储管理方法、处理器和计算机系统制造方法及图纸

技术编号:28034788 阅读:19 留言:0更新日期:2021-04-09 23:16
公开了一种存储管理装置、存储管理方法、处理器以及计算机系统。存储管理装置包括:至少一个转译后备缓冲器,用于存储多个缓存表项,多个缓存表项包括多个第1级缓存表项和多个第2级缓存表项;以及地址转换单元,与至少一个转译后备缓冲器耦接,适于根据多个第1级缓存表项之一将转译请求指定的虚拟地址转译为相应的转译地址,或在多个第1级缓存表项均未命中转译请求时根据多个第2级缓存表项之一将转译请求指定的虚拟地址转译为相应的转译地址。本公开实施例可以根据转译请求指定的虚拟地址对多个缓存表项进行分级查找,从而减少地址转译过程中查找缓存表项所需的时间,使得处理器的效率、频率和性能被提升、降低了功耗。

【技术实现步骤摘要】
存储管理装置、存储管理方法、处理器和计算机系统
本专利技术涉及处理器领域,更具体而言,涉及一种存储管理装置、存储管理方法、处理器和计算机系统。
技术介绍
在支持虚拟存储机制的计算机系统中,可使用虚拟地址(也可称为有效地址、逻辑地址、VirtualAddress或简称为VA)来指定数据,并利用多个虚拟地址管理计算机系统的虚拟存储空间。在访问内存的过程中,需要将虚拟地址转译为物理地址(也可称为实际地址、真实地址、PhysicalAddress或简称为PA)。为了实现地址转译,计算机系统需要存储大量的表项,每个表项用于将指定范围的虚拟地址转译为相应的物理地址。为了加快地址转译过程,可以采用转译后备缓冲器(TranslationLook-asideBuffer,TLB)将计算机系统中存储的一部分表项进行缓存,以避免每次地址转译过程均需要从计算机系统中存储的全部表项中进行查找。如果待转译的虚拟地址与TLB缓存的表项之一匹配(称为命中、匹配或hit),计算机系统可以直接利用TLB实现地址转译,而无需在TLB外部进行表项查找。对高性能的处理器而言,程序动态访问的虚拟地址的范围可能很广,为了尽可能的提高地址转译效率,TLB中存储的缓存表项的总数目被不断加大,以使TLB映射的地址范围被扩大、TLB的命中率被提升;另一方面,高性能的处理器对频率要求也很高、地址转译是出现频率极高的操作过程。在传统方案中,地址转译过程通常需要在多个缓存表项中逐一查找与待转译的虚拟地址匹配的缓存表项,当TLB中存储了大量的缓存表项时,地址转译过程产生的较大延时会阻碍处理器频率的进一步提升、影响处理器的效率和性能;在较多的缓存表项中查找与转译请求匹配的缓存表项的过程也会产生较大的功耗。
技术实现思路
有鉴于此,本专利技术实施例提供一种存储管理装置、存储管理方法、处理器和计算机系统,以解决以上问题。为了达到这个目的,第一方面,本专利技术提供一种存储管理装置,包括:至少一个转译后备缓冲器,用于存储多个缓存表项,所述多个缓存表项包括多个第1级缓存表项和多个第2级缓存表项;以及地址转换单元,与所述至少一个转译后备缓冲器耦接,适于根据所述多个第1级缓存表项之一将转译请求指定的虚拟地址转译为相应的转译地址,或在所述多个第1级缓存表项均未命中所述转译请求时根据所述多个第2级缓存表项之一将所述转译请求指定的虚拟地址转译为相应的转译地址。在一些实施例中,每个所述缓存表项由多个寄存器存储,所述多个寄存器包括:第一寄存器,用于存储虚拟地址标签,以指示该缓存表项映射的虚拟页;以及第二寄存器,用于存储转译地址标签,以指示所述虚拟页映射的转译页,每个所述缓存表项映射的虚拟页和转译页的页面尺寸一致。在一些实施例中,存储管理装置还包括控制单元,与所述地址转译单元耦接,并适于:当所述多个缓存表项的虚拟地址标签均未命中所述转译请求指定的虚拟地址时,从根页表中获取与所述转译请求指定的虚拟地址匹配的待回填表项,将所述待回填表项写入所述至少一个转移后备缓冲器。在一些实施例中,所述地址转换单元适于:判断所述多个第1级缓存表项是否命中所述转译请求指定的虚拟地址,若所述多个第1级缓存表项之一命中,则根据命中的所述第1级缓存表项将所述转译请求指定的虚拟地址转译为相应的转译地址,若所述多个第1级缓存表项均未命中,则判断所述多个第2级缓存表项是否命中所述转移请求指定的虚拟地址,若所述多个第2级缓存表项之一命中,则根据命中的所述第2级缓存表项将所述转译请求指定的虚拟地址转译为相应的转译地址,若所述多个第2级缓存表项均未命中,则向所述控制单元提供失配信息,以使所述控制单元获取所述待回填表项。在一些实施例中,所述控制单元还适于:在所述多个第1级缓存表项未命中且所述多个第2级缓存表项之一命中时,根据预设算法选择所述多个第1级缓存表项之一,并用命中的所述第2级缓存表项替换选定的所述多个第1级缓存表项之一。在一些实施例中,所述多个寄存器还包括:第三寄存器,用于存储引用标记位,以指示该缓存表项是否为最近最少被命中的所述缓存表项。在一些实施例中,在根据所述预设算法选择需要替换的所述多个第1级缓存表项时,所述控制单元适于根据各个所述第1级缓存表项的所述引用标记位选择最近最少被命中的所述第1级缓存表项。在一些实施例中,在根据所述预设算法选择需要替换的所述多个第1级缓存表项时,所述控制单元适于根据所述多个第1级缓存表项被写入所述至少一个转移后备缓冲器中的先后顺序选择最先被写入的所述第1级缓存表项。在一些实施例中,在所述多个第1级缓存表项未命中且所述多个第2级缓存表项之一命中时,所述控制单元还适于将被替换的所述第1级缓存表项作为一所述第2级缓存表项写入所述至少一个转移后备缓冲器。在一些实施例中,所述多个寄存器还包括:第四寄存器,用于存储尺寸标记位,以指示所述虚拟页/所述转译页的页面尺寸。在一些实施例中,在所述多个第1级缓存表项未命中且所述多个第2级缓存表项之一命中时,所述控制单元还适于根据所述尺寸标记位选择被替换的所述第1级缓存表项,使得命中的所述第2级缓存表项与被替换的所述第1级缓存表项映射的页面尺寸相等。在一些实施例中,在所述至少一个转译后备缓冲器中,所述第1级缓存表项的数目小于/等于第2级缓存表项的数目。第二方面,本专利技术提供一种处理器,包括如上任一实施例所述的存储管理装置。在一些实施例中,处理器还包括指令预取单元,所述指令预取单元向所述地址转换单元提供所述转译请求,所述转译请求指定预取指令的虚拟地址,所述地址转换单元与所述至少一个转译后备缓冲器中的第一转译后备缓冲器通信,并根据所述第一转译后备缓冲器提供的所述缓存表项向所述指令预取单元提供所述预取指令的转译地址。在一些实施例中,处理器还包括加载存储单元,所述加载存储单元向所述地址转换单元提供所述转译请求,所述转译请求指定访存指令的虚拟地址,所述地址转换单元与所述至少一个转译后备缓冲器中的第二转译后备缓冲器通信,并根据所述第二转译后备缓冲器提供的所述缓存表项向所述加载存储单元提供所述访存指令的转译地址。第三方面,本专利技术提供一种计算机系统,包括:如上任一实施例所述的处理器;以及存储器,与所述处理器耦接。第四方面,本专利技术提供一种存储管理方法,包括:提供多个缓存表项,所述多个缓存表项包括多个第1级缓存表项和多个第2级缓存表项;接收转译请求,所述转译请求指定待转译的虚拟地址;以及根据所述多个第1级缓存表项之一将转译请求指定的虚拟地址转译为相应的转译地址,或在所述多个第1级缓存表项均未命中所述转译请求时根据所述多个第2级缓存表项之一将所述转译请求指定的虚拟地址转译为相应的转译地址。在一些实施例中,每个所述缓存表项由多个寄存器存储,所述多个寄存器包括:第一寄存器,用于存储虚拟地址标签,以指示该缓存表项映射的虚拟页;以及第二寄存器,用于存储转译地址标签,以指示所述虚拟页映射的转译页,每个所述缓存表项映射的虚拟页和转译页的页面尺寸一致。在一些实施例中本文档来自技高网
...

【技术保护点】
1.一种存储管理装置,其特征在于,包括:/n至少一个转译后备缓冲器,用于存储多个缓存表项,所述多个缓存表项包括多个第1级缓存表项和多个第2级缓存表项;以及/n地址转换单元,与所述至少一个转译后备缓冲器耦接,适于根据所述多个第1级缓存表项之一将转译请求指定的虚拟地址转译为相应的转译地址,或在所述多个第1级缓存表项均未命中所述转译请求时根据所述多个第2级缓存表项之一将所述转译请求指定的虚拟地址转译为相应的转译地址。/n

【技术特征摘要】
1.一种存储管理装置,其特征在于,包括:
至少一个转译后备缓冲器,用于存储多个缓存表项,所述多个缓存表项包括多个第1级缓存表项和多个第2级缓存表项;以及
地址转换单元,与所述至少一个转译后备缓冲器耦接,适于根据所述多个第1级缓存表项之一将转译请求指定的虚拟地址转译为相应的转译地址,或在所述多个第1级缓存表项均未命中所述转译请求时根据所述多个第2级缓存表项之一将所述转译请求指定的虚拟地址转译为相应的转译地址。


2.根据权利要求1所述的存储管理装置,其特征在于,每个所述缓存表项由多个寄存器存储,所述多个寄存器包括:
第一寄存器,用于存储虚拟地址标签,以指示该缓存表项映射的虚拟页;以及
第二寄存器,用于存储转译地址标签,以指示所述虚拟页映射的转译页,每个所述缓存表项映射的虚拟页和转译页的页面尺寸一致。


3.根据权利要求2所述的存储管理装置,其特征在于,还包括控制单元,与所述地址转译单元耦接,并适于:
当所述多个缓存表项的虚拟地址标签均未命中所述转译请求指定的虚拟地址时,从根页表中获取与所述转译请求指定的虚拟地址匹配的待回填表项,
将所述待回填表项写入所述至少一个转移后备缓冲器。


4.根据权利要求3所述的存储管理装置,其特征在于,所述地址转换单元适于:
判断所述多个第1级缓存表项是否命中所述转译请求指定的虚拟地址,若所述多个第1级缓存表项之一命中,则根据命中的所述第1级缓存表项将所述转译请求指定的虚拟地址转译为相应的转译地址,
若所述多个第1级缓存表项均未命中,则判断所述多个第2级缓存表项是否命中所述转移请求指定的虚拟地址,
若所述多个第2级缓存表项之一命中,则根据命中的所述第2级缓存表项将所述转译请求指定的虚拟地址转译为相应的转译地址,
若所述多个第2级缓存表项均未命中,则向所述控制单元提供失配信息,以使所述控制单元获取所述待回填表项。


5.根据权利要求2所述的存储管理装置,其特征在于,所述控制单元还适于:
在所述多个第1级缓存表项未命中且所述多个第2级缓存表项之一命中时,根据预设算法选择所述多个第1级缓存表项之一,并用命中的所述第2级缓存表项替换选定的所述多个第1级缓存表项之一。


6.根据权利要求5所述的存储管理装置,其特征在于,所述多个寄存器还包括:
第三寄存器,用于存储引用标记位,以指示该缓存表项是否为最近最少被命中的所述缓存表项。


7.根据权利要求6所述的存储管理装置,其特征在于,在根据所述预设算法选择需要替换的所述多个第1级缓存表项时,所述控制单元适于根据各个所述第1级缓存表项的所述引用标记位选择最近最少被命中的所述第1级缓存表项。


8.根据权利要求6所述的存储管理装置,其特征在于,在根据所述预设算法选择需要替换的所述多个第1级缓存表项时,所述控制单元适于根据所述多个第1级缓存表项被写入所述至少一个转移后备缓冲器中的先后顺序选择最先被写入的所述第1级缓存表项。


9.根据权利要求5所述的存储管理装置,其特征在于,在所述多个第1级缓存表项未命中且所述多个第2级缓存表项之一命中时,所述控制单元还适于将被替换的所述第1级缓存表项作为一所述第2级缓存表项写入所述至少一个转移后备缓冲器。


10.根据权利要求5所述的存储管理装置,其特征在于,所述多个寄存器还包括:
第四寄存器,用于存储尺寸标记位,以指示所述虚拟页/所述转译页的页面尺寸。


11.根据权利要求10所述的存储管理装置,其特征在于,在所述多个第1级缓存表项未命中且所述多个第2级缓存表项之一命中时,所述控制单元还适于根据所述尺寸标记位选择被替换的所述第1级缓存表项,使得命中的所述第2级缓存表项与被替换的所述第1级缓存表项映射的页面尺寸相等。


12.根据权利要求1所述的存储管理装置,其特征在于,在所述至少一个转译后备缓冲器中,所述第1级缓存表项的数目小于/等于第2级缓存表项的数目。


13.一种处理器,其特征在于,包括如权利要求1至12任一项所述的存储管理装置。


14.根据权利要求13所述的处理器,其特征在于,还包括指令预取单元,所述指令预取单元向所述地址转换单元提供所述转译请求,所述转译请求指定预取指令的虚拟地址,
所述地址转换单元与所述至少一个转译后备缓冲器中的第一转译后备缓冲器通信,并根据所述第一转译后备缓冲器提供的所述缓存表项向所述指令预取单元提供所述预取指令的转译地址。


15.根据权利要求13所述的处理器...

【专利技术属性】
技术研发人员:郝子轶陈晨项晓燕朱峰
申请(专利权)人:阿里巴巴集团控股有限公司
类型:发明
国别省市:开曼群岛;KY

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

1