阻止针对存储器中同一页的多次转译后备缓冲器存取制造技术

技术编号:2828320 阅读:210 留言:0更新日期:2012-04-11 18:40
一种处理器包含经配置以将数据存储在多个页中的存储器、TLB以及TLB控制器。所述TLB经配置以在由具有虚拟地址的指令存取时搜索允许将所述虚拟地址转译为所述多个页中一页的物理地址的地址转译信息,并在所述TLB内找到所述地址转译信息时提供所述地址转译信息。所述TLB控制器经配置以确定当前指令和后续指令是否试图存取所述多个页内的同一页,且如果是这样,那么阻止所述后续指令的TLB存取,并对所述当前指令利用前一指令的所述TLB存取的结果。

【技术实现步骤摘要】
【国外来华专利技术】
本专利技术涉及转译后备缓冲器。
技术介绍
在支持分页虚拟存储器的处理器中,可使用占据处理器的虚拟地址空间的虚拟(或 逻辑)地址来指定数据。虚拟地址空间通常可能大于系统中实际物理存储器的量。这 些处理器中的操作系统可以称为页的固定大小的区块管理物理存储器。为了将虚拟页地址转译为物理页地址,处理器可搜索存储在系统存储器中的页表, 所述页表可能含有必要的地址转译信息。由于这些搜索(或页表搜索)可能涉及存储 器存取,因此除非页表数据在数据高速缓冲存储器中,否则这些搜索可能较耗时。因此处理器可使用一个或一个以上TLB (转译后备缓冲器,Translation Lookaside Buffer)执行地址转译。TLB是地址转译高速缓冲存储器,g卩,存储从虚拟地址到物理地 址的最近映射的小型高速缓冲存储器。处理器可在执行页表搜索和地址转译之后将物理 地址高速缓冲存储在TLB中。TLB通常可能含有最通常提到的虚拟页地址,以及与其相 关联的物理页地址。对于指令地址(指令-TLB或I-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存取的结果。附图说明图1示意性说明此项技术中已知的为虚拟地址提供地址转译信息的转译后备缓冲器 (TLB)。图2是具有经配置以阻止对存储器中同一页的多次TLB存取的TLB控制器的多级管 线式处理器的图。具体实施方式以下结合附图陈述的具体实施方式希望描述本专利技术的各种实施例,但不希望代表可 实践本专利技术的仅有实施例。具体实施方式包含特定细节,以便能详尽理解本专利技术。然而 所属领域的技术人员应了解,可在没有这些特定细节的情况下实践本专利技术。在一些实例 中,以框图形式展示众所周知的结构和组件,以便更清楚地说明本专利技术的概念。图1示意性说明在虚拟存储器系统中操作的常规TLB。如此项技术中已知,在虚拟 存储器系统中,通常可在虚拟(或线性)地址空间与物理地址空间之间执行映射(或 转译)。虚拟地址空间通常指处理器产生的所有虚拟地址22的集合。物理地址空间通常 指驻存在物理存储器30中的数据的所有物理地址的集合,即,在存储器总线上提供的用 以对物理存储器30中的特定位置进行写入或读取的地址。在分页虚拟存储器系统中,可假定数据由通常称为页的固定长度单元31组成。虚拟 地址空间和物理地址空间可划分为邻接页地址的区块。每一虚拟页地址可提供虚拟页码, 且每一物理页地址可指示特定数据页31在存储器30内的位置。典型的页大小可例如为 约4千字节,但也可使用不同的页大小。物理存储器30中的页表20可含有对应于虚拟存储器系统的全部虚拟页地址的物理页地址,即,可含有虚拟地址空间中所有虚拟页地 址的虚拟页地址与相应物理页地址之间的映射。通常,页表20可含有多个页表条目(PTE)21,每一 PTE 21指向物理存储器30中对应于特定虚拟地址的页31。存取存储在物理存储器30中的页表20中的PTE 21通常可能需要存储器总线交易, 其在处理器循环时间和功率消耗方面可能成本较高。可通过存取TLB IO而不是物理存储 器30来减少存储器总线交易的数目。如先前解释的,TLB IO是存储虚拟地址与物理地 址之间的最近映射的地址转译高速缓冲存储器。TLB 10通常含有存储在页表20中的虚 拟到物理地址映射的子集。TLB IO通常可含有多个TLB条目12。每一 TLB条目12可 具有标签字段14和数据字段16。标签字段14可包含虚拟页地址的一些高阶位作为标签。 数据字段16可指示对应于带标签的虚拟页地址的物理页地址。当在程序执行期间指令具有需要转译为相应物理地址的虚拟地址22时,可存取TLB10以便在存储在TLB 10中的TLB条目12中查找虚拟地址22。虚拟地址22本文档来自技高网...

【技术保护点】
一种处理器,其包括:存储器,其经配置以将数据存储在多个页中;转译后备缓冲器(TLB),其经配置以在由具有虚拟地址的指令存取时搜索允许将所述虚拟地址转译为所述多个页中的一页的物理地址的地址转译信息,并在所述TLB内找到所述地址转译信息时提供所述地址转译信息;以及TLB控制器,其经配置以确定当前指令和后续指令是否试图存取所述多个页内的同一页,且如果是这样,那么阻止所述后续指令的TLB存取。

【技术特征摘要】
【国外来华专利技术】US 2005-6-29 11/174,0971.一种处理器,其包括存储器,其经配置以将数据存储在多个页中;转译后备缓冲器(TLB),其经配置以在由具有虚拟地址的指令存取时搜索允许将所述虚拟地址转译为所述多个页中的一页的物理地址的地址转译信息,并在所述TLB内找到所述地址转译信息时提供所述地址转译信息;以及TLB控制器,其经配置以确定当前指令和后续指令是否试图存取所述多个页内的同一页,且如果是这样,那么阻止所述后续指令的TLB存取。2. 根据权利要求l所述的处理器,其中所述当前指令包含关于所述后续指令的信息, 且其中所述TLB控制器进一步经配置以使用包含在所述当前指令中的所述信息,以 便确定所述当前指令和所述后续指令是否试图存取所述多个页内的同一页。3. 根据权利要求1所述的处理器,其中所述TLB控制器进一步经配置以对针对所述当 前指令产生的虚拟地址与针对所述后续指令产生的虚拟地址进行比较,以便确定所 述当前指令和所述后续指令是否试图存取所述多个页内的同一页。4. 根据权利要求3所述的处理器,其中所述TLB控制器进一步经配置以确定针对所述 当前指令产生的所述虚拟地址和针对所述后续指令产生的所述虚拟地址是否转译 为所述多个页内的同一页的物理地址。5. 根据权利要求2所述的处理器,其中所述TLB控制器进一步经配置以在所述存储器 存取控制器确定所述当前指令和所述后续指令试图从所述多个页内的所述同一页 存取数据时,对所述后续指令使用所述TLB已经为所述当前指令提供的地址转译信 息。6. 根据权利要求1所述的处理器,其中所述当前指令包括针对迭代操作的指令。7. 根据权利要求1所述的处理器,其中所述当前指令和所述后续指令包括单一复合指 令的连续片段。8. 根据权利要求1所述的处理器,其中所述TLB经配置以存储多个TLB条目,所述 多个TLB条目中的每一者均包含所述存储器中所述多个页中一页的虚拟地址、物理 地址以及用于将所述虚拟地址转译为所述物理地址的地址转译信息,且其中所述 TLB进一步经配置以在由含有所述虚拟地址的指令存取时,在所述多个TLB条目内 搜索所述地址转译信息。9. 根据权利要求1所述的处理器,其中所述TLB控制器进一步经配置以在所述后续指 令的TLB存取点之前确定所述当前指令和所述后续指令是否试图存取所述多个页 内的同一页。10. 根据权利要求l所述的处理器,其中所述当前指令和所述后续指令包括试图循序存 取所述存储器的连续指令。11. 根据权利要求l所述的处理器,其中所述处理器包括多级管线式处理器。12. 根据权利要求11所述的处理器,其中所述多级管线式处理器至少包括获取级、解码 级、执行级、存储器级以及回写级。13. 根据权利要求12所述的处理器,其进一步包括至少一个获取单元,...

【专利技术属性】
技术研发人员:布赖恩约瑟夫科佩克维克托罗伯茨奥格斯堡詹姆斯诺里斯迪芬德尔费尔杰弗里托德布里奇斯托马斯安德鲁萨托里乌斯
申请(专利权)人:高通股份有限公司
类型:发明
国别省市:US[美国]

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

1