旁路转换缓冲器以及在其中进行地址匹配的方法和装置制造方法及图纸

技术编号:4319321 阅读:217 留言:0更新日期:2012-04-11 18:40
本发明专利技术涉及一种旁路转换缓冲器TLB以及在其中进行地址匹配的方法和装置。其中TLB包括多个条目,每个条目包含一个逻辑地址与一个物理地址,每一个物理地址对应于一个存储页面,其中,所述多个条目中至少一个条目还包含第一数目的附加位,所述附加位中的每一位代表该条目中的物理地址所对应的存储页面中的一个子页面被其他逻辑地址占用的状态。还提供了在上述TLB中进行有效地址匹配的方法,所述有效地址包含有效地址页号和页内偏移,该方法包括:将有效地址页号与逻辑地址相比较,若相同,则:根据页内偏移中最高的第二数目的比特位,确定该有效地址指向的目标子页面;根据附加位的状态,判断该目标子页面是否被其他逻辑地址占用。

【技术实现步骤摘要】

本专利技术涉及计算机存储管理技术,更具体地,涉及旁路转换緩冲器TLB以及在TLB中进行地址匹配的方法和装置。
技术介绍
在计算机进行数据存取和处理的时候,需要将各个应用程序所使用的 逻辑地址转换为存储器的物理地址,以便访问该存储器及其I/O设备。其 中,逻辑地址又称虛拟地址,物理地址又称实际地址。在上述地址转换中, 通常是将存储器分为多个固定长度的存储块,又称页面(page),以页面 为单位进行地址转换。以页面为单位的逻辑地址和物理地址的映射关系存 储在页表中。也就是说,页表中包含多个条目,或称页表项,每个页表项 对应于一个页面的逻辑地址和物理地址的映射关系。由于页表存储在内存中,而处理器与内存之间通常需要通过总线进行 连接,因此如果处理器每次处理数据都要通过页表来查找逻辑地址和物理 地址的映射关系,系统运行速度和性能会非常不理想。因此,很多处理器 使用旁路转换緩冲器TLB (translation look-aside buffer)来实现地址的映 射和转换。具体地,TLB是处理器中的一部分高速緩存,用于存储最近常 用的一些页表项。这样,在大部分情况下,处理器只需要利用TLB进行地 址匹配,而不必每次都去内存中查找页表项,大大提高了系统的运行速度 和性能。由于TLB是处理器高速緩存的一部分,因此其资源非常有限,不可能 存储大量的页表项。另一方面,才艮据TLB的作用和特点,如果存储的页表 项太多,就不适合处理器快速查找需要的页表项;然而如果存储的页表项太少,那么有可能使得处理器查找特定地址时命中率不够高。在现有的处理器中,TLB中条目的数目典型地为几十或几百条。例如,在Godson2 处理器中TLB条目数目小于64;在IntelX86处理器中,TLB条目为128。 因此,在TLB设计中,有效利用有限的页表项是十分重要的问题。另一方面,如上所述,页表是以页面为单位存储地址映射关系的。对 于固定大小的存储器,如果页面大小非常小,则页面数目将非常大,页表 需要大量的条目存储每个页面的地址映射关系。相应地,需要在TLB中存 储的条目数量也会非常大,占用大量TLB资源,十分不利。如果页面大小 非常大,那么很容易出现大量的地址碎片无法利用的情况,造成页面空间 的浪费。为了解决上述矛盾,现在多种处理器支持多页面大小的设置。例 如,Intel X86处理器支持4k和4M的页面大小;X86—64支持4k, 1M, 2M, 4M的页面大小;Itanium2支持4k, 16k, 64k, 256k, 1M, 4M, 16M, 64M, 256M和1G的页面大小。为此,TLB中的页表项也必须针 对不同页面大小进行地址映射。当使用不同大小的页面组合时,现有的TLB结构带来许多问题。下面 以4k和64k的页面组合为例说明该问题。图1示意性示出多页面大小情 况下的地址分配。如图所示,假设内存中存在连续的128k的空间,其中前 64k是一个完整的未被占用的64k页面,接下来的4k,也就是64k-68k 已经被一个4k的逻辑页面地址占用。如果这时某些程序请求60k的空间, 那么只能有两种解决方案。 一种是为其分配15个4k的页面,例如将68k -128k之间的空间划分为15个4k页面,分配给该程序。然而,这种情况 下就需要15个TLB条目来记录每个页面的地址映射,占用大量TLB资源。 另一种方案是为其重新分配一个新的64k页面,例如0k-64k页面。然而 这种情况下,就增加64k页面中的最后4k页面成为存储碎片的可能。因此,需要一种TLB方案,能够合理利用存储空间,同时高效利用页 表条目,便于处理器快速查找和匹配所需地址。
技术实现思路
考虑到上述问题,本专利技术提供一种旁路转换緩冲器以及在其中进行地 址匹配的方法和装置。根据本专利技术第一方面,提供一种旁路转换緩冲器TLB,包括多个条目, 每个条目包含一个逻辑地址与一个物理地址,每一个物理地址对应于一个 存储页面,其中,所述多个条目中至少一个条目还包含第一数目的附加位, 所述附加位中的每一位代表该条目中的物理地址所对应的存储页面中的一 个子页面被其他逻辑地址占用的状态。根据本专利技术第二方面,提供一种在旁路转换緩冲器TLB中进行有效地 址匹配的方法,其中所述有效地址包含有效地址页号和页内偏移,所述 TLB包括多个条目,每个条目包含一个逻辑地址与一个物理地址,每一个 物理地址对应于一个存储页面,所述多个条目中至少一个条目还包含第一 数目的附加位,所述附加位中的每一位代表该条目中的物理地址所对应的 存储页面中的一个子页面被其他逻辑地址占用的状态,所述方法包括将 所述有效地址页号与所述逻辑地址相比较,如果相同,则根据所述页内 偏移中最高的第二数目的比特位,确定该有效地址指向的目标子页面;以 及根据所述附加位的状态,判断该目标子页面是否被其他逻辑地址占用。根据本专利技术第三方面,提供一种在旁路转换緩冲器TLB中进行有效地 址匹配的装置,其中所述有效地址包含有效地址页号和页内偏移,所述 TLB包括多个条目,每个条目包含一个逻辑地址与一个物理地址,每一个 物理地址对应于一个存储页面,所述多个条目中至少一个条目还包含第一 数目的附加位,所述附加位中的每一位代表该条目中的物理地址所对应的 存储页面中的一个子页面被其他逻辑地址占用的状态,所述装置包括有 效地址页号匹配单元,用于将所述有效地址页号与所述逻辑地址相比较; 目标子页面确定单元,用于根据所述页内偏移中最高的第二数目的比特位, 确定该有效地址指向的目标子页面;目标子页面判断单元,用于才艮据所述 附加位的状态,判断该目标子页面是否被其他逻辑地址占用。利用本专利技术的TLB以及地址匹配方法和装置,能够更为有效地利用页面存储资源和TLB条目资源,从而提高处理器的性能。 附图说明图1示意性示出多页面大小情况下的地址分配; 图2示意性示出TLB中条目的结构; 图3示意性示出有效地址的结构; 图4A-4C示出根据一个实施例的附加位的示意图; 图5示出才艮据一个实施例的有效地址匹配方法的流程图; 图6示出才艮据一个实施例的页内偏移最高4比特位和16比特位映射 表;以及图7示意性示出有效地址匹配的装置的结构框图。具体实施例方式下面结合附图说明本专利技术的具体实施方式。如前所述,TLB中包含多个条目,每一条目包含逻辑地址和物理地址 及其映射关系。图2示意性示出TLB中条目的结构。如图所示, 一个TLB 条目可分为高位字段和低位字段。高位字段的前52位,即0-51位,以有 效页面号EPN ( Effective Page Number )的形式存储逻辑地址。 一个EPN 对应一个虛拟存储页面。TLB低位字段的中间部分以实际页面号RPN(Real Page Number)的形式存储物理地址。 一个RPN对应内存中的一 个实际存储页面。同一条目中的EPN和RPN相互对应。除了 RPN和EPN, TLB条目中还包含一些必要的保护位和保留位。另一方面,当处理器需要进行数据存取时,就以该数据的有效地址EA(Effective Address )来查找TLB中的条目,看TLB中是否存在与该有效 地址EA匹配的条目。现有的处理器多采用64个比特位的格式记录数据的 有效地址。图3示意性示出有效本文档来自技高网
...

【技术保护点】
一种旁路转换缓冲器TLB,包括多个条目,每个条目包含一个逻辑地址与一个物理地址,每一个物理地址对应于一个存储页面,其中,所述多个条目中至少一个条目还包含第一数目的附加位,所述附加位中的每一位代表该条目中的物理地址所对应的存储页面中的一个子页面被其他逻辑地址占用的状态。

【技术特征摘要】

【专利技术属性】
技术研发人员:常晓涛赵奕王鲲章宇侯锐
申请(专利权)人:国际商业机器公司
类型:发明
国别省市:US[美国]

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

1