翻译旁视缓冲器操纵制造技术

技术编号:2819362 阅读:263 留言:0更新日期:2012-04-11 18:40
一种具有多级管线的处理器包含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中产生"命中"。 附图说明图1示意性地说明在虚拟存储器系统中操作的TLB。图2是具有经配置以响应于TLB未命中信号而起始TLB重新加载过程而不会使管线 停滞的TLB控制器的管线化处理器的示意图。图3是响应于TLB未命中的方法的流程图。 具体实施例方式下文结合附图而陈述的具体实施方式意在描述处理器和操作处理器中的TLB的方法 的各种说明性实施例,但非意欲表示其中可实践本文所揭示的专利技术性概念的仅有实施例。具体实施方式包含特定细节,以便允许全面理解所描述的内容。然而,所属领域的技术 人员应了解,在一些实施例中,可能不需要这些特定细节中的一者或一者以上。在一些 情况下,以框图形式展示众所周知的结构和组件,以便更清楚地说明所呈现的概念。图1示意性地说明在虚拟存储器系统中操作的TLB。在虚拟存储器系统中,通常可 在虚拟(或"线性")地址空间与物理地址空间之间执行映射(或翻译)。虚拟地址空间通常是指处理器所产生的所有虚拟地址22的集合。物理地址空间通常是指用于驻存在处 理器的物理存储器30中的数据的所有物理地址(即在存储器总线上提供的用以将特定位 置写入物理存储器30中或从物理存储器30读取特定位置的地址)的集合。在页式虚拟存储器系统中,可假定数据由通常被称为页的固定长度的单元31组成。 可将虚拟地址空间和物理地址空间分成连续页地址区块。每个虚拟页地址可提供虚拟页 编号,且每个物理页地址可指示数据的特定页31在存储器30内的位置。典型的页大小 可为(例如)约4千字节,但也可使用不同的页大小。物理存储器30中的页表20可含 有对应于虚拟存储器系统的所有虚拟页地址的物理页地址,即,可含有虚拟页地址与虚 拟地址空间中的所有虚拟页地址的对应物理页地址之间的映射。通常,页表20可含有多 个页表条目(PTE) 21,每个PTE21指向物理存储器30中对应于特定虚拟地址的页31。存取存储在物理存储器30中的页表20中的PTE 21通常可能需要存储器总线交易, 这就处理器循环时间和功率消耗来说可能为较大花费的。可通过存取TLB IO而不是物理 存储器30,来减少存储器总线交易的数目。如先前所阐释,TLB IO是存储虚拟地址与物 理地址之间的新近映射的地址翻译高速缓冲存储器。TLB 10通常含有存储在页表20中 的虚拟到物理地址映射的子集。为了增加TLB存取的效率,可通过对多级存储器高速缓 冲存储器的模拟来使用和实施多级TLB (未图示),与较高级TLB相比,较低级的TLB 通常较小且较快。TLB IO通常可含有多个TLB条目12。每个TLB条目12可具有标记 字段14和数据字段16。标记字段14可包含虚拟页地址的较高阶位中的一些位作为标记。 数据字段16可指示对应于所标记的虚拟页地址的物理页地址。如上文所述,在具有多级管线的管线化处理器中可使用页式虚拟存储器系统。管线 化可通过布置硬件使得可同时执行一个以上操作来增加处理器的性能。以此方式,可增 加每单位时间所执行的操作的数目,但完成任一给定操作所需的时间量可能保持相同。 在管线化处理器中,可将处理器内的操作序列分成多个分段或级,每个级并行地实行指 令或操作的不同部分。可将多个级视为经连接以形成一管道。通常,可预期管线中的每 个级在一个时钟循环中完成其操作。通常可使用中间存储缓冲器来保存从一个级传递到 下一个级的信息。当指令具有需要被翻译成对应的物理地址的虚拟地址22时,在程序执行期间,可存 取TLB 10,以便在存储在TLB IO中的TLB条目12中查找虚拟地址22。虚拟地址22 通常包含虚拟页编号,其可用于TLB 10中以査找对应的物理页地址。更具体地说,可将 处理器所产生的每个虚拟地址(无论是用于指令获取还是用于操作数获取/存储操作)视为包本文档来自技高网
...

【技术保护点】
一种具有多级管线的处理器,所述处理器包括: 翻译旁视缓冲器(TLB),其经配置以存储允许将虚拟地址翻译成物理地址的地址翻译信息,所述TLB进一步经配置以在呈现给所述TLB的指令的虚拟地址从所述TLB未命中时产生TLB未命中信号;以及 TLB控制器,其经配置以响应于所述TLB未命中信号而起始TLB重新加载,且不会即刻使所述管线停滞; 其中所述处理器经配置以大体上与所述TLB重新加载并行地清洗和重取具有所述未命中虚拟地址的所述指令。

【技术特征摘要】
【国外来华专利技术】...

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

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

1
相关领域技术
  • 暂无相关专利