一种设备包含经配置以存储数据的存储器、下级TLB、上级TLB以及TLB控制器。所述下级TLB和所述上级TLB经配置以存储多个条目,所述条目中的每一者含有允许将虚拟地址翻译为相应物理地址的地址翻译信息。如果所需虚拟地址从所述下级TLB和从所述上级TLB产生TLB未命中,那么所述TLB控制器从所述存储器中的页表检索针对所述所需虚拟地址的地址翻译信息,使用单一TLB写入指令,所述TLB控制器通过将从所述页表检索到的所述地址翻译信息写入所述下级TLB以及所述上级TLB中来更新所述下级TLB和所述上级TLB两者。
【技术实现步骤摘要】
【国外来华专利技术】
本专利技术涉及翻译旁视缓冲器(TLB)。在支持分页虚拟存储器的处理器中,可使用占据处理器的虚拟地址空间的虚拟地址 (也称为"有效"或"线性"地址)来指定数据。虚拟地址空间通常可大于系统中实际物 理存储器的大小。处理器中的操作系统可以固定大小区块(称为页)来管理物理存储器。为了将虚拟页地址翻译为物理页地址,处理器可搜索存储在系统存储器中的页表, 所述页表可含有必需的地址翻译信息。由于除非页表数据在数据高速缓冲存储器中,否 则这些搜索(或"页表遍历")通常可涉及存储器存取,因此这些搜索可能较耗时。因此处理器可使用一个或一个以上翻译旁视缓冲器(TLB)来执行地址翻译。TLB 是地址翻译高速缓冲存储器,即,存储从虚拟地址到物理地址的新近映射的小高速缓冲 存储器。处理器可在执行页表搜索和地址翻译之后将物理地址高速缓冲存储在TLB中。 TLB的内容通常可包含通常提到的虚拟页地址,以及与其相关联的物理页地址。可存在 单独的用于指令地址的TLB (称为"指令TLB"或"I-TLB")和用于数据地址的TLB (称 为"数据TLB"或"D-TLB")。为了增加TLB地址的效率,可类似于多级存储器高速缓冲存储器来使用和实施多级 TLB。与一个或一个以上上级TLB相比,下级TLB通常可较小且较快。当TLB未命中 发生在下级TLB和上级TLB两者中时,通常可在页表遍历后更新上级TLB。一般来说,可能不会用从物理存储器中的页表检索到的地址翻译信息来更新下级 TLB。对下级TLB的后续参考将随后导致TLB未命中,从而要求针对所需地址翻译信息 搜索上级TLB。然而可能存在不合意的等待时间,其与下级TLB中的未命中相关联且与 所引起的对上级TLB的搜索相关联。
技术实现思路
一种其中存储有用于处理器的计算机可读指令的计算机可读媒体。所述指令在由处理器读取和实施时促使所述处理器存取物理存储器以检索针对虚拟地址的地址翻译信 息,所述虚拟地址针对下级TLB和上级TLB两者产生TLB未命中信号的虚拟地址的地址翻译信息。所述指令还促使所述处理器使用单一TLB写入指令,通过将从所述存储器 检索到的所述地址翻译信息写入所述下级TLB和所述上级TLB两者中,来更新所述下级 TLB和所述上级TLB两者。一种更新一级以上TLB的方法包含存取存储器以检索针对虚拟地址的地址翻译信 息。所述方法包含使用单一TLB写入指令,通过将从所述存储器检索到的所述地址翻译 信息写入下级TLB和上级TLB两者中,来更新所述下级TLB和所述上级TLB两者。一种设备包含存储器、下级TLB和上级TLB以及TLB控制器。所述下级TLB和所 述上级TLB经配置以存储多个条目,所述条目中的每一者含有允许将虚拟地址翻译为相 应物理地址的地址翻译信息。所述TLB控制器经配置以如果所需虚拟地址从所述下级 TLB和从所述上级TLB产生TLB未命中,那么从所述存储器检索用于所述所需虚拟地 址的地址翻译信息。所述TLB控制器进一步经配置以使用单一 TLB写入指令,通过将从 所述存储器检索到的所述地址翻译信息写入所述下级TLB和所述上级TLB两者中,来更 新所述下级TLB和所述上级TLB两者。附图说明图1示意性说明在虚拟存储器系统中操作的TLB。图2是地址翻译系统的实例的示意图,所述地址翻译系统具有上级TLB和下级TLB, 以及经配置以在单一 TLB写入操作后更新两级TLB的TLB控制器。 图3是说明更新一级以上TLB的方法的示意性流程图。具体实施方式下文结合附图所陈述的具体实施方式希望描述经配置以更新多级TLB的方法与系统 的各种实施例,而不希望呈现仅可能的实施例。具体实施方式包含具体细节,以便允许 对所描述内容的详尽理解。然而所属领域的技术人员应了解,这些具体细节可能不包含 在所描述实施例的一些实施例中。在一些情况下,以框图形式展示众所周知的结构和组 件,以便更清楚地说明所解释的概念。图1示意性说明翻译旁视缓冲器(TLB) 10的结合包含在物理存储器30中的页表 20的虚拟存储器系统中的操作。如此项技术中已知,在虚拟存储器系统中,映射(或翻 译)通常可在虚拟(或"线性")地址空间与物理地址空间之间执行。虚拟地址空间通常 指由处理器产生的所有虚拟地址22的集合。物理地址空间通常指针对驻存在物理存储器 30中的数据的所有物理地址的集合,即,可提供于存储器总线上以写入到物理存储器30 中特定位置或从所述位置进行读取的地址。在分页虚拟存储器系统中,可假定数据由通常称为页31的固定长度单位组成。可将 虚拟地址空间和物理地址空间划分为连续页地址的区块,每一虚拟页地址提供一虚拟页 码,且每一相应的物理页地址指示存储器30内特定数据页31的位置。典型页大小可为 例如约4千字节,但不同的虚拟分页存储器系统可使用不同的页大小。物理存储器30中 的页表20可含有对应于虚拟存储器系统的所有虚拟页地址的物理页地址,S卩,针对虚拟 地址空间中的所有虚拟页地址,可含有虚拟页地址与相应物理页地址之间的映射。通常, 页表20可含有多个页表条目(PTE) 21,每一PTE21指向物理存储器30中对应于特定 虚拟地址的页31。存取存储在物理存储器30中的页表20中的PTE 21可能需要存储器总线事务,其在 处理器循环时间和功率消耗方面可能成本较高。可通过存取TLB 10而不是物理存储器 30来减少存储器总线事务的次数。如早先所解释,TLB IO是存储虚拟地址与物理地址之 间的新近映射的地址翻译高速缓冲存储器。TLB 10通常含有存储在页表20中的虚拟到 物理地址映射的子集。TLB IO通常可含有多个TLB条目12。每一TLB条目12可具有 标签字段14和数据字段16。标签字段14可包含虚拟页地址的高阶位中的某些位作为标 签。数据字段16可指示对应于带标签虚拟页地址的物理页地址。当指令在程序执行期间具有需要翻译为相应物理地址的虚拟地址22时,可存取TLB 10以在存储在TLB 10中的TLB条目12中査找虚拟地址22。虚拟地址22通常包含虚拟 页码,其可用于TLB IO中以査找相应的物理页地址。如果TLB 10在其TLB条目中含有对应于呈现给TLB的虚拟地址22中所含有的虚 拟页码的特定物理页地址,那么发生TLB"命中",且可从TLB IO检索所述物理页地址。 如果TLB IO不含有对应于呈现给TLB的虚拟地址22中的虚拟页码的特定物理页地址, 那么发生TLB "未命中",且可能必须执行对物理存储器30中的页表20的査找。 一旦从 页表20确定物理页地址,就可将对应于虚拟页地址的物理页地址加载到TLB IO中,且 可以虚拟页地址22再次存取TLB 10。因为已将所需的物理页地址加载到TLB IO中,所 以TLB存取此时导致TLB"命中",且新近加载的物理页地址可在TLB 10的输出处产生。图2是地址翻译系统100的实例的功能图,地址翻译系统100经配置以作为单一TLB 写入操作的结果来更新一级以上TLB。在概述中,地址翻译系统IOO可包含下级TLB 110、 上级TLB 115以及控制下级TLB 110和上级TLB 115两者的操作的TLB控制器140。地 址翻译系统IOO可连接到物理存储器130,其可包含页表120。 本文档来自技高网...
【技术保护点】
一种其中存储有计算机可读指令的计算机可读媒体,其中所述指令在由处理器读取和实施时促使所述处理器:存取物理存储器以检索针对虚拟地址的地址翻译信息,所述虚拟地址针对下级TLB和上级TLB两者产生TLB未命中信号;以及 使用单一TLB写入指令,通过将从所述存储器检索到的所述地址翻译信息写入所述下级TLB和所述上级TLB两者中来更新所述下级TLB和所述上级TLB两者。
【技术特征摘要】
【国外来华专利技术】...
【专利技术属性】
技术研发人员:维克托罗伯茨奥格斯堡,托马斯安德鲁萨托里乌斯,詹姆斯诺里斯迪芬德尔费尔,杰弗里托德布里奇斯,
申请(专利权)人:高通股份有限公司,
类型:发明
国别省市:US[]
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。