[发明专利]用于预取不连续指令地址的方法和设备有效
申请号: | 200780028358.3 | 申请日: | 2007-07-27 |
公开(公告)号: | CN101495962A | 公开(公告)日: | 2009-07-29 |
发明(设计)人: | 布莱恩·迈克尔·斯坦普尔;托马斯·安德鲁·萨托里乌斯;罗德尼·韦恩·史密斯 | 申请(专利权)人: | 高通股份有限公司 |
主分类号: | G06F9/38 | 分类号: | G06F9/38 |
代理公司: | 北京律盟知识产权代理有限责任公司 | 代理人: | 刘国伟 |
地址: | 美国加利*** | 国省代码: | 美国;US |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 预取不 连续 指令 地址 方法 设备 | ||
技术领域
本发明大体上涉及处理器指令的预取,且明确地说,涉及不连续指令预取。
背景技术
微处理器在包含便携式电子装置的广泛种类的应用中执行计算任务。在许多情况 下,使处理器性能最大化是主要设计目标,以准许在便携式电子装置和其它应用中实施 额外功能和特征。另外,功率消耗在具有有限电池容量的便携式电子装置中尤其受到关 注。因此,需要增加性能且减少功率消耗的处理器设计。
大多数现代处理器采用一个或一个以上指令执行管线,其中许多多步骤连续指令的 执行经重叠以改进总体处理器性能。通过利用大多数程序的空间和时间局部性特性,最 近执行的指令存储在高速缓冲存储器-高速度、通常芯片上存储器中,以供执行管线容易 存取。
许多处理器采用两个级的高速度高速缓冲存储器。在此类处理器中,第一级常规上 包括用于存储数据的数据高速缓冲存储器和用于存储指令的指令高速缓冲存储器。数据 和指令高速缓冲存储器可为单独的或合一的。第二级(L2)高速缓冲存储器在第一级高 速缓冲存储器与微处理器外部的存储器(例如,动态随机存取存储器(DRAM)、快闪 存储器、硬盘驱动器、光盘驱动器等)之间提供高速度存储器缓冲器。
常见样式的高速缓冲存储器包括耦合到随机存取存储器(RAM)的内容可寻址存储 器(CAM)。通过将存储器地址与存储在CAM中的全部或部分(先前存取)的存储器 地址进行比较来存取高速缓冲存储器。如果所述地址与CAM地址匹配,那么高速缓冲 存储器指示“命中”,且可额外从RAM中的对应于匹配的CAM地址的位置提供一“排” 数据(其在指令高速缓冲存储器的情况下可包括一个或一个以上指令)。如果比较地址 与存储在CAM中的任何存储器地址均不匹配,那么高速缓冲存储器指示“未命中”。第 一级高速缓冲存储器中的未命中通常触发L2高速缓冲存储器存取,其需要比第一级高 速缓冲存储器存取多得多的处理循环。L2高速缓冲存储器中的未命中触发对主存储器的 存取,其引发甚至更大的延迟。
CAM比较(例如,确定地址在高速缓冲存储器中是否命中)相对较具功率效率。 然而,在命中的情况下从高速缓冲存储器RAM检索指令或数据消耗大量功率。因此, 一些处理器利用预取操作来有利地确认所需指令是否存储在指令高速缓冲存储器中,而 不引发此时实际上从高速缓冲存储器检索那些指令的功率损失。如本文所使用,术语“预 取”或“预取操作”是指产生指示与指令地址相关联的一个或一个以上指令是否存储在 指令高速缓冲存储器中的命中或未命中而在地址命中的情况下不从高速缓冲存储器检 索指令的有限指令高速缓冲存储器存取。也就是说,预取操作存取指令高速缓冲存储器 CAM,而不存取RAM。如本文所使用,术语“取出”或“取出操作”是指包含在高速 缓冲存储器命中的情况下从高速缓冲存储器检索一个或一个以上指令的指令高速缓冲 存储器存取的存储器操作。如本文更全面论述,取出操作额外存取分支预测电路,例如 分支目标地址高速缓冲存储器和分支历史表,而预取操作不会这样做。应注意,均执行 指令高速缓冲存储器存取的取出操作和预取操作两者可在处理器管线的同一区段中发 生。
常规指令预取涉及基于连续指令地址而执行指令高速缓冲存储器命中/未命中查找。 举例来说,如果第一指令地址导致指令高速缓冲存储器未命中,那么可利用所述地址的 L2高速缓冲存储器存取时间来计算第二地址,即下一连续高速缓冲存储器线的地址。预 取此第二地址确认连续高速缓冲存储器线是否驻存在指令高速缓冲存储器中。如果不是 (即,第二地址未命中),那么可启始对下一连续高速缓冲存储器线的L2高速缓冲存储 器存取,从而有效地将其隐藏在第一L2高速缓冲存储器存取的存取时间之后。另一方 面,如果下一连续高速缓冲存储器线确实驻存在指令高速缓冲存储器中(即,第二地址 命中),那么预取不读取RAM且不启始L2请求。在此点处,认为预取已完成。因此, 如果下一连续高速缓冲存储器线的地址对于指令高速缓冲存储器未命中,那么预取操作 允许重叠的L2存取,但如果地址命中则不会引发实际上取出连续指令的功率成本。预 取连续指令地址在执行含有极少或不含有分支指令的软件时提供性能和功率管理两者 的改进。然而,预取连续指令地址在执行含有频繁分支指令的软件时不提供优点,因为 从连续地址预取的指令由于分支的缘故而不可能被执行。
发明内容
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于高通股份有限公司,未经高通股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200780028358.3/2.html,转载请声明来源钻瓜专利网。