数据存取方法、装置、处理器、计算机系统及存储介质与流程

文档序号:35567792发布日期:2023-09-24 06:17阅读:28来源:国知局
本发明涉及处理器领域,且特别是有关于一种数据存取方法、装置、处理器、计算机系统及存储介质。
背景技术
::1、在现有的计算机系统中,处理器的应用程序基本上都是利用虚拟内存的虚拟地址(virtual address va)调用相关资源,并利用虚拟地址管理计算机系统的虚拟存储空间。2、在内存的访存过程中,需要将虚拟地址转译为物理地址(physical address pa)。为了实现虚拟地址与物理地址之间的转译,计算机系统需要存储大量的表项,每个表项用于将指定范围的虚拟地址转译为相应的物理地址。3、翻译后备缓存(translation look-aside buffer tlb)是一种高速缓存,用于缓存计算机系统中存储的一部分表项,以避免每次地址转译过程均需要从计算机系统内存中所存储的表项中进行查找。如果待转译的虚拟地址与tlb缓存的表项之一匹配(又称为命中或hit),内存管理单元(memory management unit mmu)可以直接利用tlb中缓存的匹配表项实现地址转译,而无需在tlb外部的存储设备中进行查找。如果tlb中缓存的表项均不能匹配待转译的虚拟地址,则失配(又称为未命中或miss)。4、如果tlb未命中,则通过页表查找器(page table walker ptw)访问计算机系统内存中存储的页表项作为回填表项来完成虚拟地址与物理地址的转译。现有的处理器需要支持多种页面尺寸(例如4k、64k、2m等)的页表,将tlb预设为缓存小页面尺寸(4k)的页表,会造成大量不必要的失配,导致访存延迟,还会给内存管理单元增加巨大的流量压力。将tlb预设为缓存大页面尺寸(64k)的页表,虽然能够有效降低tlb的失配率,提高命中率,但会导致地址转译错误率增加。5、因此,如何能够既提高翻译后备缓存的命中率,又能降低延迟,减轻内存管理单元流量压力实为需要解决的问题之一。技术实现思路1、本发明的实施例提供一种数据存取方法、装置、处理器、计算机系统及存储介质,通过再次在tlb中查找页表项,使得翻译后备缓存可以设置为概率最大的页面尺寸,能够提高tlb命中率,降低自身延迟,并同时减轻内存管理单元的流量压力,提高地址转译效率。2、本发明一实施方式的数据存取方法,包括:根据转译请求指定的虚拟地址在翻译后备缓存中查找是否存在匹配的缓存表项,所述虚拟地址对应于第一页面尺寸;当所述翻译后备缓存中不存在所述匹配的缓存表项,分配一缓存行,所述缓存行对应于所述第一页面尺寸;从根页表获取与所述虚拟地址匹配的待回填表项,所述待回填表项映射第二页面尺寸;当所述第二页面尺寸小于所述第一页面尺寸时,将所述虚拟地址设置为对应于所述第二页面尺寸,并再次在所述翻译后备缓存中查找相匹配的缓存表项。3、上述的方法,其中,每一所述缓存行对应一缓存行标签,所述缓存行标签中具有一尺寸标记位,所述尺寸标记位用于指示所述缓存行对应的页面尺寸。4、上述的方法,其中,所述方法进一步包括:5、当所述第二页面尺寸小于所述第一页面尺寸时,将所述尺寸标记位修改为对应于所述第二页面尺寸。6、上述的方法,其中,每一所述缓存行对应一缓存行索引,所述缓存行索引具有一重复查找标记位,所述重复查找标记位用于指示是否需要再次在所述翻译后备缓存中查找相匹配的缓存表项。7、上述的方法,其中,所述方法进一步包括:8、当所述第二页面尺寸小于所述第一页面尺寸时,所述重复查找标记位设置为有效。9、上述的方法,其中,当所述转译请求的数量超出未命中状态保持寄存器的最大容量时,则不再接收新的转译请求。10、上述的方法,其中,所述方法进一步包括:11、当所述第二页面尺寸大于等于所述第一页面尺寸时,将所述虚拟地址转译成一物理地址。12、本发明一实施方式的数据存取装置,包括一内存管理单元及一翻译后备缓存,其中,所述数据存取装置被配置为用于:根据所述内存管理单元所接收转译请求指定的虚拟地址在翻译后备缓存中查找是否存在匹配的缓存表项,所述虚拟地址对应于第一页面尺寸;当所述翻译后备缓存中不存在所述匹配的缓存表项,分配一缓存行,所述缓存行对应于所述第一页面尺寸;从根页表获取与所述虚拟地址匹配的待回填表项,所述待回填表项映射第二页面尺寸;当所述第二页面尺寸小于所述第一页面尺寸时,将所述虚拟地址设置为对应于所述第二页面尺寸,并再次在所述翻译后备缓存中查找相匹配的缓存表项。13、上述的装置,其中,每一所述缓存行对应一缓存行标签,所述缓存行标签中具有一尺寸标记位,所述尺寸标记位用于指示所述缓存行对应的页面尺寸。14、上述的装置,其中,当所述第二页面尺寸小于所述第一页面尺寸时,将所述尺寸标记位修改为对应于所述第二页面尺寸。15、上述的装置,其中,每一所述缓存行对应一缓存行索引,所述缓存行索引具有一重复查找标记位,所述重复查找标记位用于指示是否需要再次在所述翻译后备缓存中查找相匹配的缓存表项。16、上述的装置,其中,当所述第二页面尺寸小于所述第一页面尺寸时,所述重复查找标记位设置为有效。17、上述的装置,其中,当所述转译请求的数量超出未命中状态保持寄存器的最大容量时,则不再接收新的转译请求。18、上述的装置,其中,所述方法进一步包括:19、当所述第二页面尺寸大于等于所述第一页面尺寸时,将所述虚拟地址转译成一物理地址。20、本发明一实施方式的处理器,其中,包括如上所述的任意一种数据存取装置。21、本发明一实施方式的计算机系统,其特征在于,包括如权利要求15所述的任意一种处理器。22、本发明一实施方式的存储介质,用于存储计算机程序,其中,所述计算机程序用于执行如上所述的任意一种数据运算方法。23、考虑到以下描述和参考附图的附加权利要求,所公开的系统、方法和硬件设备的这些特征和其他特征,以及相关结构元件的操作方法和功能,以及部件和制造经济性的组合将变得更加明显,其中,相似的参考数字表示图中的相应部分。然而,应当理解的是,附图仅用于说明和描述,并不打算作为本发明限制的定义。24、以下结合附图和具体实施例对本发明进行详细描述,但不作为对本发明的限定。技术特征:1.一种数据存取方法,其特征在于,包括:2.根据权利要求1所述的方法,其特征在于,每一所述缓存行对应一缓存行标签,所述缓存行标签中具有一尺寸标记位,所述尺寸标记位用于指示所述缓存行对应的页面尺寸。3.根据权利要求2所述的方法,其特征在于,所述方法进一步包括:4.根据权利要求3所述的方法,其特征在于,每一所述缓存行对应一缓存行索引,所述缓存行索引具有一重复查找标记位,所述重复查找标记位用于指示是否需要再次在所述翻译后备缓存中查找相匹配的缓存表项。5.根据权利要求4所述的方法,其特征在于,所述方法进一步包括:6.根据权利要求5所述的方法,其特征在于,当所述转译请求的数量超出未命中状态保持寄存器的最大容量时,则不再接收新的转译请求。7.根据权利要求6所述的方法,其特征在于,所述方法进一步包括:8.一种数据存取装置,包括一内存管理单元及一翻译后备缓存,其特征在于,所述数据存取装置被配置为用于:9.根据权利要求8所述的装置,其特征在于,每一所述缓存行对应一缓存行标签,所述缓存行标签中具有一尺寸标记位,所述尺寸标记位用于指示所述缓存行对应的页面尺寸。10.根据权利要求9所述的装置,其特征在于,当所述第二页面尺寸小于所述第一页面尺寸时,将所述尺寸标记位修改为对应于所述第二页面尺寸。11.根据权利要求10所述的装置,其特征在于,每一所述缓存行对应一缓存行索引,所述缓存行索引具有一重复查找标记位,所述重复查找标记位用于指示是否需要再次在所述翻译后备缓存中查找相匹配的缓存表项。12.根据权利要求11所述的装置,其特征在于,当所述第二页面尺寸小于所述第一页面尺寸时,所述重复查找标记位设置为有效。13.根据权利要求12所述的装置,其特征在于,当所述转译请求的数量超出未命中状态保持寄存器的最大容量时,则不再接收新的转译请求。14.根据权利要求13所述的装置,其特征在于,所述方法进一步包括:15.一种处理器,其特征在于,包括如权利要求8-14所述的任意一种数据存取装置。16.一种计算机系统,其特征在于,包括如权利要求15所述的任意一种处理器。17.一种存储介质,用于存储计算机程序,其特征在于,所述计算机程序用于执行如权利要求1-7所述的任意一种数据运算方法。技术总结本发明提供一种数据存取方法、装置、处理器、计算机系统及存储介质。数据存取方法包括:根据转译请求指定的虚拟地址在翻译后备缓存中查找是否存在匹配的缓存表项,所述虚拟地址对应于第一页面尺寸;当所述翻译后备缓存中不存在所述匹配的缓存表项,分配一缓存行,所述缓存行对应于所述第一页面尺寸;从根页表获取与所述虚拟地址匹配的待回填表项,所述待回填表项映射第二页面尺寸;当所述第二页面尺寸小于所述第一页面尺寸时,将所述虚拟地址设置为对应于所述第二页面尺寸,并再次在所述翻译后备缓存中查找相匹配的缓存表项。使得预设页表可以为概率最大的页面尺寸,能够提高翻译后备缓存的命中率,降低延迟,减轻了内存管理单元的流量压力。技术研发人员:张淼,邹云晓,王灿,李寅受保护的技术使用者:平头哥(上海)半导体技术有限公司技术研发日:技术公布日:2024/1/15
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1