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

文档序号:6470109阅读:150来源:国知局
专利名称:旁路转换缓冲器以及在其中进行地址匹配的方法和装置的制作方法
技术领域
本发明涉及计算机存储管理技术,更具体地,涉及旁路转换緩冲器
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示意性示出有效地址的结构。这里,仅仅以4k页面和64k 页面为例进行说明。如图所示,有效地址包括有效地址页号EPN和页内偏 移Offset。其中有效地址页号EPN指示该有效地址所指向的虛拟存储页面,页内偏移指示该有效地址在该虚拟存储页面内的偏移量。对于4k页面,页 内偏移的最大偏移量就是4k,也就是212,因此,可以用12个比特位来记 录页面偏移。相应地,有效地址EA的前面52个比特位,即0-51位,可 以用来记录EPN。对于64k页面,页内最大偏移量为64k,即216,因此, 需要用16个比特位来记录页内偏移。相应地,有效地址EA的前面48位 用来记录EPN。对于更大的页面,记录页内偏移所需要的比特位会更多, 相应地,用于记录EPN的比特位更少。在现有处理器中,4k是最小的页 面单元,因此,有效地址中记录EPN的比特位最多为4k情况下的52位。 这也是图2示出的TLB条目中采用52个比特位记录EPN的原因,因为这 样可以满足记录EPN的最多比特位的要求。
基于上述的TLB结构和有效地址EA的结构,在处理器进行有效地址 匹配时,将有效地址EA中的EPN与TLB各个条目中的EPN进行比较, 以查找该有效地址EA所指示的地址是否存储在TLB中。如果在TLB中 查找到了匹配的EPN,就可以根据该条目中EPN与RPN的映射关系,确 定该有效地址对应的实际存储页面,并利用页内偏移确定有效地址在该实 际存储页面中进行读写的具体位置。以上就是基本的TLB结构和在该TLB 结构中的基本地址匹配过程。
在此基础上,为了更为高效地利用TLB,本发明的实施例对TLB条 目的结构进行了改进。下面仍然以4k和64k两种页面大小的情况为例, 说明本发明实施例的TLB结构。
在一个实施例中,TLB包含多个条目,其中一部分条目用于4k页面, 另一部分条目用于64k页面。对于64k页面的条目,可以为其添加若干附 加位。在一个示例中,为64k页面的条目添加了 16个附加比特位。图4A -4C示出才艮据一个实施例的附加位的示意图。如图4A所示,所添加的16 位附加位中的每一位对应于该条目所指示的64k页面中的一个4k子页面。 具体地,最后一个比特位对应于64k页面中第一个4k子页面,倒数第二 个比特位对应于64k页面中第二个4k子页面,...,第一个比特位对应于 最后一个4k子页面。每一个比特位的状态,即0或者1,指示对应的子页面被其他逻辑地址占用的状态。例如,可以规定,某一个比特位为1时,
代表该比特位对应的子页面已经被其他逻辑地址占用;某一个比特位为0 时,代表该比特位对应的子页面没有被占用,可以接受存取。在图4A所 示的16个比特位中,每一个比特位的状态都为0。在上述规定下,W明 该64k页面中的每个4k子页面都没有净皮占用。而在图4B所示的16个比 特位中,最后一个比特位为1,其他比特位均为0。这表明该64k页面中, 第一个4k子页面已经被其他逻辑地址占用,其他4k子页面是可用的。在 图4C所示的16个比特位中,倒数第一、第三、第六个比特位为l,其他 比特位为0。这表明,第一、笫三和第六个4k子页面已经被占用,其他的 4k子页面是可用的。
通过以上示出的附加位,可以更为细致地示出较大页面(这里是64k) 中子页面的占用状况。这就允许用多个TLB条目对一个实际存储页面进行 更细致的划分,进而更为有效地利用其存储空间。例如,对于图l所示的 地址分配情况,就可以采用两个TLB条目,对68k- 128k之间的空间进 行利用。具体地,第一个TLB条目的RPN可以指向64k-68k这一4k页 面;第二个TLB条目的RPN可以指向64k-128k这一64k页面,同时用 附加位示出该64k页面中第一个4k子页面已经被占用。这样,仅仅增加 了一个TLB条目,就使得较大页面中的空间得到了更好利用。并且,由于 每个比特位独立地指示一个子页面的状态,因此,允许对较大页面中未,皮 占用的不连续的多个子页面进行利用。例如,利用如图4C所示的附加位 指示64k页面中可用的空间。
在另一个实施例中,可以为指示64k页面的条目添加8个比特位。这 样,每个比特位指示该64k页面中大小为8k的一个子页面的占用状态。 显然,附加比特位位数越多,对页面中子页面的划分越细致。以上都是以 64k页面为例说明用于大页面的附加位的。在此基础上,对于其他大小的 页面,可以根据页面大小,要划分的子页面大小选择附加位的位数。
由于现有的TLB中每个条目的比特位资源是有限的,因此,添加附加位.的比特位来实现。在一个实施例中,添加的附加位是通过扩展TLB条目的 比特位实现的。在另一个实施例中,添加的附加位利用TLB条目中的保留 位来实现。如图2所示,在现有TLB条目中,低位字段的0-7位,11位, 18-21位都是未被占用的保留位。可以将这些保留位作为附加位,指示子 页面的占用状态。在另一个实施例中,添加的附加位利用TLB条目中未净皮 占用的用于EPN的比特位来实现。如前所述,对于最小的页面单元4k, 有效地址中EPN位数为52位,因此,TLB条目中预留了 52位用于存储 EPN。然而对于更大的页面,EPN的位数要小于52位,这样用于存储EPN 的52个比特位的后面几位就没有被占用。例如,对于64k页面,EPN位 数为48位,那么就可以利用用于存储EPN的52个比特位中的最后4位来 实现附加位。可以理解,根据附加位位数的需要,可以选择性地利用上述 几种方式中的一种或多种。例如,在一个实施例中,需要16位附加位。这 16位附加位中8位可以利用条目中已有的保留位,4位利用用于EPN的比 特位中未被占用的后4位,另外4位通过扩展条目位数来实现。
本领域技术人员可以理解,对于其他的页面大小,可以根据要划分的 子页面大小、可提供的比特位资源的多少等因素来为TLB条目增加附加 位,以便有效利用较大的存储页面。
在上述具有附加位的TLB条目的基础上,本发明还提供了相应的有效 地址匹配方法。图5示出才艮据一个实施例的有效地址匹配方法的流程图。 下面仍然以支持4k和64k页面的TLB为例说明该匹配方法。
在一个实施例中,假定TLB为针对64k页面的条目增加了 16位附加 位。附加位中每一比特位的状态指示该64k页面中相应的4k子页面的占 用状态。对于这样的TLB,假定现在要在其中匹配一个有效地址EA,该 有效地址EA如图3所示,包含有效地址页号和页内偏移。如图5所示, 该匹配方法包括步骤502,将有效地址页号与TLB条目中的逻辑地址相 比较,判断其是否相同。这一步骤与现有的基本匹配方法相同,都是将有 效地址EA中的EPN与TLB某个条目中的逻辑地址EPN相比较,如果不 同,就在步骤503比较下一条目,直到找到EPN匹配的条目。然而,在具有附加位的TLB中,存在这样的可能,即两个TLB条目的EPN相同,进 而对应的RPN也相同,但是附加位不同的情况。因此,在步骤502判断结 果为是,即找到EPN匹配的条目之后,不能立即按照该条目的RPN访问 物理地址,还要进行进一步的判断,也就是判断有效地址EA所指向的页 内地址是否被其他逻辑地址占用。
因此,如果步骤502判断结果为是,则执行步骤504,其中,根据有 效地址EA的页内偏移中最高的一定数目的比特位,确定该有效地址EA 指向的目标子页面。在本实施例中,TLB条目具有16位附加位,能够指 示64k页面中任意一个4k子页面的占用状态。因此,需要判断有效地址 EA所指向的地址落入哪个4k子页面中。实际上,有效地址EA所包含的 页内偏移的最高几位就可以示出有效地址EA所指向的具体地址落入的范 围。具体地,对于要访问64k页面的有效地址EA来说,页内偏移包含16 个比特位。最高比特位示出页内偏移落入64k页面的哪个32k范围之内, 例如,若页内偏移最高位为O,表示偏移是在第一个32k之内,若最高位 为1,表示偏移是在第二个32k之内。第二位比特位示出页内偏移落入上 述32k范围的哪一个16k之内。因此,页内偏移的最高4位就可以示出, 有效地址EA所指向的目标4k子页面。具体地,若最高4位是0000,则 指示该64k页面中的第一个4k子页面;若最高4位是0001,则指示该64k 页面中的第二个4k子页面;…;若最高位是llll,则指示该64k页面中 最后一个4k子页面。由此,根据有效地址EA的页内偏移中的最高4位, 就确定了该有效地址指向的目标4k子页面。
为了更为清晰地示出页内偏移最高的4个比特位与指示的目标子页面 的关系,也^f更于后续与TLB的附加位比较,可以利用一个4比特位和16 比特位的映射表,将上述关系对应起来,如图6所示。图6示出根据一个 实施例的页内偏移最高4比特位和16比特位映射表。根据该映射表,将页 内偏移的最高4个比特位映射为一个16比特位的表示,该16比特位中的 每一位对应64k页面中的一个4k子页面。更具体地,该16比特位中的每 一个比特位从低位到高位依次指示64k页面中第 一个到第16个4k子页面,特位 中,与页内偏移所指示的目标子页面对应的比特位用l表示,其他比特位 均为0。由此,页内偏移最高4位0000指示第一个4k子页面,因此对应 最后一位为1的16比特位,页内偏移最高4位0001指示第二个4k子页面, 因此对应倒数第二位为1的16比特位…
在确定有效地址EA指示的目标子页面之后,就可以执行步骤506, 其中根据附加位的状态,判断该目标子页面是否被其他逻辑地址占用。如 前所述,16位附加位的每一位独立地指示一个4k子页面的占用状态,因 此,只需要核查附加位中目标子页面所对应的比特位的状态即可。按照前 述的表达方式,如果在附加位中目标子页面对应的比特位为1,则表明该 子页面已经^L占用,进一步地,该有效地址EA不能匹配该TLB条目,也 就是,不能在该条目的RPN指示的实际存储页面中进行存取。如果附加位 中目标子页面对应的比特位为0,则表明该子页面没有被占用,进一步地, 该有效地址EA可以匹配该TLB条目,也就是,可以在该条目的RPN指 示的实际存储页面中进行存取。
为了更为快速地进行目标子页面状态的判断,可以利用上述的从页内 偏移最高4比特位映射到的16比特位,将该16比特位与附加位进行比较。 由于该16比特位与子页面的对应方式与附加位相同,因此只需要比较该 16比特位中状态为1的比特位和对应位置的附加位即可。例如,页内偏移 最高4位0000对应最后一位为1的16比特位,在判断目标子页面状态时, 就用16比特位中最后一个比特位与附加位的最后一个比特位进行比较即 可。在前述的表示方式下,如果两者相同,则表明目标子页面已经被占用; 如果两者不同,则表明目标子页面没有被占用。可以理解,附加位和16 比特位的表示方式都可以由人为规定,例如,规定附加位中某比特位状态 为O时代表对应子页面被占用;或者,规定所述16比特位中指示目标子页 面的比特位用O表示,其他比特位都用l表示。在这样的表示方式下,16 比特位和附加位的比较结果与目标子页面的占用状态之间的关系要适当地 进行调整。上述实施例是针对为64k页面的TLB条目增加了 16位附加位的情况。 对于其他数目的附加位,该方法依然适用。例如,在一个实施例中,为TLB 条目中针对64k页面的条目增加了 8位的附加位,每一附加位指示一个8k 子页面的状态。按照图5所示的方法,首先匹配有效地址EA中的EPN与 TLB条目中的EPN。找到匹配的条目之后,根据有效地址EA中的页内偏 移的前3位来判断目标子页面。这是因为,页内偏移的前3位就可以示出 EA指示的地址落入64k页面的哪一个8k子页面中。相应地,也可以将页 内偏移的该前3位映射为一个指示目标子页面的8比特位。通过比较该8 比特位与8位的附加位,可以判断出8k的目标子页面是否被占用。
可以发现,附加位的位数n与需要判断的页内偏移的最高比特位的最 少位数m存在这样的关系n = 2m。这里所说最小位数m是指,也可以 采用页内偏移中更多的比特位来确定目标子页面。例如在上述附加位为8 位的实施例中,也可以利用页内偏移的前4位来确定目标子页面。这时确 定的目标子页面为4k子页面。在判断目标子页面是否被占用时,先判断这 4k子页面落入哪一个8k范围之内,然后根据附加位信息判断该8k范围是 否#皮占用。
上述实施例以4k、 64k页面大小,8位、16位附加位的情况为例进行 了说明。可以理解,对于其他的页面大小,其他位数的附加位的情况,都 可以采用上述方法进4亍有效地址的匹配。
基于同一发明构思,本发明还提供了一种在旁路转换緩沖器TLB中进 行有效地址匹配的装置,图7示意性示出该装置的结构框图。如图所示, 该装置总体由数字700标识。下面结合图7和具体实施例对该装置进行说 明。
在一个实施例中,要进行匹配的有效地址EA包含有效地址页号EPN 和页内偏移。该有效地址EA被输入所述装置700,由装置700查阅各个 TLB条目,对该有效地址EA与所述TLB条目进行匹配。所述TLB条目 中的每个条目包含一个逻辑地址与一个物理地址,每一个物理地址对应于 一个存储页面。在一个具体示例中,TLB中的条目一部分用于4k页面,一部分用于64k页面。其中用于64k页面的条目还包含一定数目的附加位, 例如16个比特位的附加位。该附加位中的每一位代表该64k存储页面中的 一个4k子页面,皮其他逻辑地址占用的状态。
为进行有效地址匹配,该装置700包括有效地址页号匹配单元710, 用于将有效地址EA中的EPN与TLB条目中的逻辑地址相比较。在一个 实施例中,该单元710由一个比较电路或比较器来执行。
在单元710通过比较得到与有效地址的EPN相匹配的条目之后,还要 利用目标子页面确定单元720和目标子页面判断单元730进行进一步分析。 具体地,目标子页面确定单元720用于才艮据有效地址EA的页内偏移中最 高的几位比特位,确定该有效地址EA指向的目标子页面。在TLB中用于 64k页面的条目具有16位附加位的情况下,可以才艮据EA中页内偏移的最 高4位来确定目标子页面。在一个具体实施例中,该目标子页面确定单元 720还包括一个解码器(未示出),用于才艮据页内偏移最高4比特位与16 比特位的映射表,将所述4比特位映射为16比特位。该16比特位的每一 位对应于64k页面中的一个4k子页面,并且其中与页内偏移所指示的目 标子页面对应的比特位的状态为1,其他比特位均为0。由此,单元720 可以通过该16比特位更为清晰地示出目标子页面在整个64k页面中的位 置。
装置700中的目标子页面判断单元730用于才艮据TLB条目中附加位的 状态,判断上述目标子页面是否被其他逻辑地址占用。具体地,由于16 位附加位的每一位独立地指示一个4k子页面的占用状态,因此,可以通过
由于上述解码器映射得到的16比特位能够指示目标子页面位置,因此可以 通过比较该16比特位和16位的附加位判断目标子页面状态。具体地,在 一个实施例中,目标子页面判断单元730包括一个比较器,用于比较所述 16比特位与附加位。更具体地,所述比较器被配置为比较16比特位中指 示目标子页面的比特位和附加位中相应位置的比特位。通过这样的比较器, 目标子页面判断单元730可以得出所述目标子页面4皮其他逻辑地址占用的状态,从而输出有效地址EA是否能够匹配的结果。
可以理解,装置700可用于执行图5的有效地址匹配方法。 虽然以上结合具体实施例对本发明的TLB,以及在该TLB中进行有 效地址匹配的方法和装置进行了详细描述,但本发明并不限于此。本领域 普通技术人员能够在说明书教导之下对本发明进行多种变换、替换和修改 而不偏离本发明的精神和范围,例如对具体实施例中的页面大小、附加位
数目等进行扩展,使其适用于其他情况。应该理解,所有这样的变化、替 换、修改仍然落入本发明的保护范围之内。本发明的保护范围由所附权利 要求来限定。
权利要求
1.一种旁路转换缓冲器TLB,包括多个条目,每个条目包含一个逻辑地址与一个物理地址,每一个物理地址对应于一个存储页面,其中,所述多个条目中至少一个条目还包含第一数目的附加位,所述附加位中的每一位代表该条目中的物理地址所对应的存储页面中的一个子页面被其他逻辑地址占用的状态。
2. 如权利要求1的TLB,其中所述附加位至少部分地利用 所述条目中的保留位。
3. 如权利要求1的TLB,其中所述第一数目为2的倍数。
4. 一种在旁路转换緩冲器TLB中进行有效地址匹配的方 法,其中所述有效地址包含有效地址页号和页内偏移,所述TLB 包括多个条目,每个条目包含一个逻辑地址与一个物理地址,每 一个物理地址对应于一个存储页面,所述多个条目中至少一个条 目还包含第一数目的附加位,所述附加位中的每一位代表该条目 中的物理地址所对应的存储页面中的一个子页面被其他逻辑地址 占用的状态,所述方法包括将所述有效地址页号与所述逻辑地址相比较,如果相同,贝'J: 根据所述页内偏移中最高的第二数目的比特位,确定该有效地址指向的目标子页面;根据所述附加位的状态,判断该目标子页面是否被其他逻辑地址占用。
5. 如权利要求4的方法,其中所述确定有效地址指向的子页 面的步骤包括根据第二数目比特位与第一数目比特位的映射表, 将所述第二数目比特位映射为第一数目比特位,根据所述第一数 目比特位确定有效地址指向的目标子页面。
6. 如权利要求5的方法,其中所述判断目标子页面是否被占 用的步骤包括比较所述第一数目比特位与所述第一数目附加位。
7. 如权利要求6的方法,其中所述比较第一数目比特位和附 加位的步骤包括比较所述第一数目比特位中指示目标子页面的 比特位和所述附加位中相应位置的比特位。
8. 如权利要求4-7中任一项的方法,其中所述附加位至少 部分地利用所述条目中的保留位。
9. 如权利要求4-8中任一项的方法,其中所述第一数目和 第二数目满足关系n = 2m,其中n指代第一数目,m指代第二数 目。
10. —种在旁路转换緩冲器TLB中进行有效地址匹配的装 置,其中所述有效地址包含有效地址页号和页内偏移,所述TLB 包括多个条目,每个条目包含一个逻辑地址与一个物理地址,每 一个物理地址对应于一个存储页面,所述多个条目中至少一个条 目还包含第一数目的附加位,所述附加位中的每一位代表该条目 中的物理地址所对应的存储页面中的一个子页面被其他逻辑地址 占用的状态,所述装置包括有效地址页号匹配单元,用于将所述有效地址页号与所述逻 辑地址相比较;目标子页面确定单元,用于根据所述页内偏移中最高的第二 数目的比特位,确定该有效地址指向的目标子页面;目标子页面判断单元,用于根据所述附加位的状态,判断该 目标子页面是否被其他逻辑地址占用。
11. 如权利要求10的装置,其中所述子页面确定单元还包括 解码器,用于根据第二数目比特位与第一数目比特位的映射表, 将所述第二数目比特位映射为第一数目比特位。
12. 如权利要求11的装置,其中所述目标子页面判断单元包 括比较器,用于比较所述第一数目比特位与所述第一数目附加位。
13. 如权利要求12的装置,其中所述比较器被配置为比较 所述第一数目比特位中指示目标子页面的比特位和所述附加位中相应位置的比特位。 '
14. 如权利要求10- 13中任一项的装置,其中所述附加位至 少部分地利用所述条目中的保留位。
15. 如权利要求10-14中任一项的装置,其中所述第一数目 和第二数目的最小值满足关系n-2m,其中n指代笫一数目,m 指代第二数目。
全文摘要
本发明涉及一种旁路转换缓冲器TLB以及在其中进行地址匹配的方法和装置。其中TLB包括多个条目,每个条目包含一个逻辑地址与一个物理地址,每一个物理地址对应于一个存储页面,其中,所述多个条目中至少一个条目还包含第一数目的附加位,所述附加位中的每一位代表该条目中的物理地址所对应的存储页面中的一个子页面被其他逻辑地址占用的状态。还提供了在上述TLB中进行有效地址匹配的方法,所述有效地址包含有效地址页号和页内偏移,该方法包括将有效地址页号与逻辑地址相比较,若相同,则根据页内偏移中最高的第二数目的比特位,确定该有效地址指向的目标子页面;根据附加位的状态,判断该目标子页面是否被其他逻辑地址占用。
文档编号G06F12/10GK101661437SQ200810214600
公开日2010年3月3日 申请日期2008年8月28日 优先权日2008年8月28日
发明者锐 侯, 常晓涛, 鲲 王, 宇 章, 奕 赵 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1