一种TLB表项管理的方法、装置及存储介质制造方法及图纸

技术编号:33967956 阅读:14 留言:0更新日期:2022-06-30 01:49
本申请公开了一种TLB表项的存储方法、装置及存储介质。该方法将一个大的TLB表拆分为多个TLB子表,并通过多个TLB子表对TLB表中的TLB表项进行分级或分类管理,其中,将指令通用的TLB表项存储至第一TLB子表,将其它TLB表项存储至其它一个或多个TLB子表中。如此,一方面可减少TLB表中的冗余信息,节省存储空间;另一方面,可使每个TLB子表中的表项数和记录数,特别是使第一TLB子表的表项数和记录数大幅减少,从而大大提高了表项的查询效率,进一步节省了计算能耗。省了计算能耗。省了计算能耗。

【技术实现步骤摘要】
一种TLB表项管理的方法、装置及存储介质


[0001]本申请涉及计算机数据处理领域,尤其涉及一种TLB表项管理的方法、装置及存储介质。

技术介绍

[0002]现代的多用户多进程操作系统,需要内存管理单元(Memory Management Unit MMU),才能达到每个用户进程都拥有自己独立的地址空间的目标。使用MMU,操作系统可以从内存单元中,为每个进程划分出一段地址区域,并将这块地址区域映射到每个进程所能使用的内存的逻辑地址。
[0003]而物理地址至逻辑地址的映射关系保存在页表中,并且存放在内存中,MMU在读取指令或数据时,需要访问两次内存:首先通过查询页表得到物理地址,然后访问该物理地址读取指令、数据。
[0004]然而页表一般都很大,为了减少因为MMU导致的处理器性能下降,引入了地址转换后援缓冲器(Translation Lookaside Buffer,TLB),也被简称为“快表”。简单地说,TLB就是页表的Cache,其中存储了当前最可能被访问到的页表项,其内容是部分页表项的一个副本。只有在TLB无法完成地址翻译任务时,才会到内存中查询页表,这样就减少了页表查询导致的处理器性能下降。

技术实现思路

[0005]通常,TLB表项由两部分组成:标识和数据。标识中存放的是逻辑地址的一部分,而数据部分中存放物理页号、存储保护信息以及其他一些辅助信息。在现有技术中上述信息都存在一个表里。但对于其中的某些信息来说,几乎有一批指令都会用到而且值基本相同;而对于另一些信息来说,可能并不是每条指令都会用到且每条指令的值都是该指令特有的。这样就造成部分信息冗余,TLB表空间较大,访问TLB表所产生的能耗也较大。
[0006]本申请人创造性地提供一种TLB表项管理的方法、装置及存储介质。
[0007]根据本申请实施例第一方面,提供一种TLB表项管理的方法,该方法包括:获取待缓存至目标TLB表的TLB表项,其中,目标TLB表包括至少两个TLB子表,至少两个TLB子表中的第一TLB子表用于存储第一类型的TLB表项,第一类型的TLB表项包括指令通用的TLB表项;确定TLB表项所属的类型;若TLB表项所属的类型是第一类型,则将TLB表项存储至目标TLB表的第一TLB子表。
[0008]根据本申请一实施例,至少两个TLB子表中的第二TLB子表用于存储第二类型的TLB表项,第二类型的TLB表项包括指令专用的TLB表项,该方法还包括:若TLB表项所属的类型是第二类型,则将TLB表项存储至目标TLB表的第二TLB子表。
[0009]根据本申请一实施例,该方法还包括响应于针对在目标TLB表中查询TLB表项的访问请求,执行以下操作:在第一TLB子表中查询与访问请求匹配的记录;若存在与访问请求匹配的第一记录,则根据第一记录获取TLB表项的值。
[0010]根据本申请一实施例,该方法还包括:在目标TLB表中的第二TLB子表中查询与访问请求匹配的第二记录,根据第一记录和第二记录,获取TLB表项的值。
[0011]根据本申请一实施例,第二TLB子表存储有与第一TLB子表的关联关系,关联关系用于确定与第二TLB子表的记录关联的第一TLB子表的记录,相应地,根据第一记录和第二记录,获取TLB表项的值,包括:根据第二记录中的关联关系,确定与第二记录关联的第一TLB子表的记录,得到第一记录;合并第一记录和第二记录中TLB表项的值,得到TLB表项的值。
[0012]根据本申请一实施例,该方法还包括:若不存在与访问请求匹配的第一记录,则结束对目标TLB表的本次访问。
[0013]根据本申请一实施例,该方法还包括:配置TLB表项的类型。
[0014]根据本申请一实施例,配置TLB表项的类型,包括:将在预设周期内被访问次数大于等于次数阈值的TLB表项,确定为第一类型的TLB表项。
[0015]根据本申请实施例第二方面,提供一种TLB表项管理的装置,该装置包括:表项获取模块,用于获取待缓存至目标TLB表的TLB表项,其中,目标TLB表包括至少两个TLB子表,至少两个TLB子表中的第一TLB子表用于存储第一类型的TLB表项,第一类型的TLB表项包括指令通用的TLB表项;表项类型确定模块,用于确定TLB表项所属的类型;表项存储模块,用于若TLB表项所属的类型是第一类型,则将TLB表项存储至目标TLB表的第一TLB子表。
[0016]根据本申请实施例第三方面,提供一种计算机存储介质,存储介质包括一组计算机可执行指令,当指令被执行时用于执行上述任一项TLB表项的管理方法。
[0017]本申请实施例提供一种TLB表项管理的方法、装置及存储介质,该方法将一个大的TLB表拆分为多个TLB子表,并通过多个TLB子表对TLB表中的TLB表项进行分级或分类管理,其中,将指令通用的TLB表项存储至第一TLB子表,将其它TLB表项存储至其它一个或多个TLB子表中。如此,一方面可减少TLB表中的冗余信息,节省存储空间;另一方面,可使每个TLB子表中的表项数和记录数,特别是使第一TLB子表的表项数和记录数大幅减少,从而大大提高了表项的查询效率,进一步节省了计算能耗。
[0018]需要理解的是,本申请的实施并不需要实现上面所述的全部有益效果,而是特定的技术方案可以实现特定的技术效果,并且本申请的其他实施方式还能够实现上面未提到的有益效果。
附图说明
[0019]通过参考附图阅读下文的详细描述,本申请示例性实施方式的上述以及其他目的、特征和优点将变得易于理解。在附图中,以示例性而非限制性的方式示出了本申请的若干实施方式,其中:在附图中,相同或对应的标号表示相同或对应的部分。
[0020]图1为本申请一实施例TLB表结构示意图;图2为本申请一实施例实现TLB表项管理的方法的流程示意图之一;图3为本申请一实施例实现TLB表项管理的方法的流程示意图之二;图4为本申请另一实施例TLB表项的示意图;图5为本申请另一实施例实现TLB表项管理的方法的流程示意图之一;
图6为本申请另一实施例实现TLB表项管理的方法的流程示意图之二;图7为本申请实施例TLB表项管理的装置的组成结构示意图。
具体实施方式
[0021]为使本申请的目的、特征、优点能够更加的明显和易懂,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而非全部实施例。基于本申请中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0022]在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施例或示例中。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种TLB表项管理的方法,其特征在于,所述方法包括:获取待缓存至目标TLB表的TLB表项,其中,所述目标TLB表包括至少两个TLB子表,所述至少两个TLB子表中的第一TLB子表用于存储第一类型的TLB表项,所述第一类型的TLB表项包括指令通用的TLB表项;确定所述TLB表项所属的类型;若所述TLB表项所属的类型是第一类型,则将所述TLB表项存储至目标TLB表的第一TLB子表。2.根据权利要求1所述的方法,其特征在于,所述至少两个TLB子表中的第二TLB子表用于存储第二类型的TLB表项,所述第二类型的TLB表项包括指令专用的TLB表项,所述方法还包括:若所述TLB表项所属的类型是第二类型,则将所述TLB表项存储至所述目标TLB表的第二TLB子表。3.根据权利要求1所述的方法,其特征在于,所述方法还包括响应于针对在所述目标TLB表中查询TLB表项的访问请求,执行以下操作:在所述第一TLB子表中查询与所述访问请求匹配的记录;若存在与所述访问请求匹配的第一记录,则根据所述第一记录获取所述TLB表项的值。4.根据权利要求3所述的方法,其特征在于,所述方法还包括:在所述目标TLB表中的第二TLB子表中查询与所述访问请求匹配的第二记录,根据所述第一记录和所述第二记录,获取所述TLB表项的值。5.根据权利要求4所述的方法,其特征在于,所述第二TLB子表存储有与所述第一TLB子表的关联关系,所述关联关系用于确定与所述第二TLB子表的记录关联的所述第一TLB子...

【专利技术属性】
技术研发人员:郭丽丽赵天磊丁哲薛洪波淮泽远
申请(专利权)人:飞腾信息技术有限公司
类型:发明
国别省市:

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

1