数据预取调节的制作方法

文档序号:6477798阅读:172来源:国知局
专利名称:数据预取调节的制作方法
技术领域
本发明大体上涉及处理器的领域,且尤其涉及用于控制处理器中的数据预取的系统 和方法。
背景技术
处理器使用高速缓存来减轻与存储器相关联的处理瓶颈。举例来说,通过使用较快 存取存储器来保持存储于较慢存储器(例如,主存储器或较高级的高速缓存存储器)中 的较大程序指令集的选定部分,指令高速缓存起作用。
因此,存取存在于高速缓冲存储器中的指令具有的延迟比存取较慢存储器所需的延 迟低,且处理器通常使用某形式的基于硬件的指令预取来保持指令高速缓冲存储器填充 有来自较慢存储器的所需指令线。预取在需要来自较慢存储器的指令线内的指令之前将 那些指令线置于指令高速缓冲存储器中。
基于硬件的预取也可应用于数据。然而,成功地预取数据可能比成功地预取指令难。 举例来说,数据值在存储器中可能比程序指令更分散或散开,使基于预测的预取更有挑 战性。因而,数据预取可或可不改善性能,且数据预取的性能在处理器操作期间可显著 改变。
因此,已知(例如)要"过滤"预取操作。预取过滤表示"污染"避免机制,其中 数据高速缓冲存储器在含有从未使用的经预取数据线(即,经预取但最终在曾经被存取 (命中)之前被替换的数据线)时被认为受到污染。因而,预取过滤暗示持续不断地进 行数据预取,但选择性地跳过在缺少此类过滤的情况下将会进行的某些数据预取。
更详细地,可或可不依赖于所应用的过滤准则来执行个别数据预取。过滤标准可反 映(例如)在某范围的程序执行内所形成的预取性能历史。然而,适当过滤的确定可要 求非所要的硬件复杂性或资源消耗,确切地说以产生优于在无过滤的情况下进行数据预 取的重大性能改善。

发明内容
根据一个或一个以上实施例, 一种控制对数据高速缓冲存储器的数据预取的方法包含追踪数据高速缓冲存储器的预取命中和基于对预取命中的追踪停用对数据高速缓冲 存储器的数据预取。所述方法进一步包括追踪对数据高速缓冲存储器的总体命中和基于 对总体命中的追踪启用对数据高速缓冲存储器的数据预取。在这种情形下,停用数据预 取包含停用对数据高速缓冲存储器的所有数据预取,但在需要时(例如,在数据高速缓 冲存取器未命中时)仍将数据线获取到数据高速缓冲存储器中,这与是否启用数据预取 无关。
在本文所教导的至少一个实施例中, 一种处理器包括数据高速缓冲存储器,所述数 据高速缓冲存储器包含高速缓存存储器和高速缓冲存储器控制器。高速缓冲存储器控制 器基于追踪对数据高速缓冲存储器的预取命中来停用对数据高速缓冲存储器的数据预 取和基于追踪对数据高速缓冲存储器的总体命中来启用对数据高速缓冲存储器的数据 预取。在至少一个此类实施例中,高速缓冲存储器控制器通过追踪预取命中率来追踪预 取命中和通过追踪总体命中率(或等效地,总体未命中率)来追踪总体命中。
谨记上述实例,如本文中所教导的数据预取控制在有条件的基础上提供数据预取的 性能和功率优点(和其它优点),而在同时提供简单且有效的硬件实施。


图1为处理器的一个实施例的功能框图。 图2为数据预取控制的实施例的状态图。
图3为可用于控制数据预取的计数和控制电路的一个实施例的功能框图。 图4为数据高速缓存存储器的一个实施例的功能框图,其包括用以表示经预取数据 线的指示符。
图5为用以表示数据高速缓冲存储器中的经预取数据线的指示符的另一实施例的功 能框图。
图6和图7为用于控制数据预取的处理逻辑的一个实施例的逻辑流程图。
具体实施例方式
作为非限制性实例,图1说明处理器100的一个实施例,其包括指令执行管线120、 状态/控制寄存器104,和数据高速缓冲存储器106,数据高速缓冲存储器106包括高速 缓冲存储器控制器108和相关联的高速缓存存储器110。在操作中,数据高速缓冲存储 器106高速缓存来自存储器112的一个或一个以上较高级的数据线,存储器112可包括 较高级高速缓冲存储器和/或主(系统)存储器。在至少一个实施例中,数据高速缓冲存储器106包含1级("L1")数据高速缓冲存储器。
有利地,(数据)高速缓冲存储器控制器108经配置以根据以低硬件复杂性实施于 数据高速缓冲存储器106中的逻辑控制机制动态地启用和停用数据高速缓冲存储器预 取。图2为说明这种有利预取控制的一个实施例的状态图。
如图2所示,状态200表示数据高速缓冲存储器106的启用数据预取的操作状态, 而状态202表示数据高速缓冲存储器106的停用预取的操作状态。并非筛分或否则过滤 个别预取,高速缓冲存储器控制器108在状态202中操作时有利地终止所有预取。因此, 图2中具体化的预取控制像用于数据预取的开/关开关般操作。
在一个或一个以上实施例中,高速缓冲存储器控制器108依据追踪"预取命中"而 从状态200 (预取启用)转变到状态202 (预取停用)。另外,高速缓冲存储器控制器108 依据追踪"总体命中"而从状态202转变回到状态200。在这种情形下,"预取命中"为 对保持于数据高速缓冲存储器106的高速缓存存储器110中的经预取数据线的命中,而 "总体命中"为对保持于数据高速缓冲存储器106的高速缓存存储器110中的任何数据 线(不管是否经预取)的命中。在这种意义上,预取命中反映涉及经预取数据线的数据 高速缓冲存储器命中的百分数,且总体命中反映高速缓冲存储器命中的总体百分数。等 效地,高速缓冲存储器控制器108追踪高速缓冲存储器未命中。举例来说,如果对数据 高速缓冲存储器106的总体命中率为百分之九十,那么总体未命中率为百分之十。
更详细地,在程序执行期间,处理器100首先在数据高速缓冲存储器106中寻找所 需数据。数据高速缓冲存储器命中表示所需数据驻于数据高速缓冲存储器106中的情况。 相反,数据高速缓冲存储器未命中表示所需数据不驻于数据高速缓冲存储器106中的情 况。高速缓冲存储器控制器108响应于数据高速缓冲存储器未命中而执行数据获取,其 通常被称作"强制性获取"。另一方面,假定启用预取,则高速缓冲存储器控制器108 根据一个或一个以上预取对策("策略")将来自较高级存储器112的数据线预取到数据 高速缓冲存储器106的高速缓存存储器110中。作为非限制性实例,高速缓冲存储器控 制器108可使用基于顺序和/或基于指针的预取策略。
在任何情况下,所属领域的技术人员将了解,高速缓存存储器110含有经预取和已 获取(非预取)数据线的混合,假定数据高速缓冲存储器106是在启用预取的情况下(状 态200)操作的。因此,对数据高速缓冲存储器106的个别命中涉及经预取数据线或非 预取数据线,且追踪预取命中向高速缓冲存储器控制器108提供关于预取性能的了解。 简单来说,涉及经预取数据线的较少数目个数据高速缓冲存储器命中表明数据预取未有 助于当前程序执行条件。在这些条件下停用预取为有利的,因为其消除预取额外开销(存储器总线存取和控 制)。停止预取-从状态200转变到状态202-因此减少处理器操作功率且减少资源负载。 针对此类条件使预取关闭提供防止用多半不会使用的数据线污染数据高速缓冲存储器 106的另一优点。
另一方面,程序执行条件经受改变,使得预取再次变成所要的。为此,高速缓冲存 储器控制器108在状态202下操作时追踪针对数据高速缓冲存储器106的总体命中,且 (例如)在针对数据高速缓冲存储器106的总体命中变成过低时启用预取。(等效地,总 体未命中变成过高。)换句话说,如果针对数据高速缓冲存储器106的总体命中率开始 遭受关闭的数据预取,那么高速缓冲存储器控制器108通过转变回到状态200来使预取 重新开启。
举例来说,高速缓冲存储器控制器108追踪预取命中作为预取命中率且追踪总体命 中作为总体命中率。以此方式,可将用于预取停用决策的界定停用阈值确定于默认值或 动态计算出的值。同样,可将用于预取启用决策的界定启用阈值确定于默认值或动态计 算出的值。作为非限制性实例,高速缓冲存储器控制器108可经配置以在预取命中率落 在百分之二以下时使预取关闭,且可经配置以在总体命中率落在百分之九十九以下时使 预取开启。当然,这些仅为实例值,且可根据特定处理器特性和数据高速缓冲存储器大 小且根据其它考虑因素(例如,预取额外开销、未命中惩罚等等)来调整或以其它方式 调谐阈值。
不管所使用的特定决策阈值,图3说明可由高速缓冲存储器控制器108用以追踪预 取命中和总体命中的追踪机制的一个实施例。更明确地说,图3说明计数器控制电路300、 第一计数器302和第二计数器304。这些电路可包括于高速缓冲存储器控制器108中或 与之相关联。
在一个或一个以上实施例中,计数器控制电路300响应于高速缓冲存储器控制器108 检测到对高速缓存存储器110中的经预取数据线的命中而使第一计数器302增加一,且 响应于高速缓冲存储器控制器108检测到未对高速缓存存储器110中的经预取数据线的 命中而使第一计数器302减小一。以此方式,第一计数器302的值反映数据高速缓冲存 储器106上对经预取数据线的命中的百分数。因而,计数器控制电路300或高速缓冲存 储器控制器108内的另一电路元件可将第一计数器302的值与界定停用阈值进行比较, 作为用于确定是否转变到状态202的依据。
另外,计数器控制电路300响应于对数据高速缓冲存储器106的命中(任何命中) 而使第二计数器304增加一,且响应于数据高速缓冲存储器未命中而使第二计数器304
9减小一。以此方式,第二计数器304的值反映对数据高速缓冲存储器的命中的总体百分数。更明确地说,通过对数据高速缓冲存储器命中使计数增加且对数据高速缓冲存储器未命中使计数减小,第二计数器304的值反映对数据高速缓冲存储器106的命中/未命中百分数。因而,计数器控制电路300或高速缓冲存储器控制器108内的另一电路元件可将第二计数器304的值与界定启用阈值进行比较,作为用于确定是否转变到状态200的依据。
上述处理涉及检测个别数据高速缓冲存储器命中是否是对高速缓存存储器110中的经预取数据线。图4和图5说明提供用于所述检测的不同实施例。在这两个图中,可看出高速缓冲存储器控制器108存储或以其它方式维持表示高速缓存存储器110中的哪些数据线经预取的指示符。
具体而言,图4说明一实施例,其中对于高速缓存存储器110中保持的每一数据线而言,高速缓存存储器IIO包含标签存储器400,用于保持存储器地址信息;数据存储器402,用于保持经高速缓存数据的线;和预取标记404,用以将数据线的状态指示为经预取(例如,"1")或未经预取(例如,"0")。
相反,图5说明替代实施例,其中所存储的(预取)指示符被实施为寄存器组500,包括用于高速缓存存储器110中的每一经预取数据线的线识别符(ID)条目502。举例来说,可针对预取到高速缓存存储器110中的每一数据线将条目添加到寄存器组500,使得寄存器组500中仅表示经预取数据线。或者,寄存器组500可包括用于高速缓存存储器110中所有数据线的条目,每一条目指示高速缓存存储器110中的相应数据线是否被预取。
图6和图7共同说明利用所存储指示符(404或502)的用途来检测预取命中的处理逻辑的一个实施例。作为非限制性实例,可由高速缓冲存储器控制器108通过数字处理逻辑(例如,在状态机中)实施所说明的处理。另外,应注意,所说明处理步骤中的一个或一个以上可以不同于所说明顺序的顺序来执行,或可与其它步骤同时执行,和/或可作为其它处理任务的部分来执行。
与所说明的处理广泛一致地,高速缓冲存储器控制器108使用第一计数(例如,第一计数器302的值)来追踪对数据高速缓冲存储器106的预取命中且使用第二计数(例如,第二计数器304的值)来追踪对数据高速缓冲存储器106的总体命中。第一计数器302和第二计数器304可包含饱和计数器,使得相应的第一计数值和第二计数值在相应最大值时饱和。不管所述细节,高速缓冲存储器控制器108的一个或一个以上实施例依据第一计数值和第二计数值使数据高速缓冲存储器106在预取启用条件与预取停用条件
10之间转变。可作为开始操作的部分来初始化这些计数。
更详细地,所说明的处理开始于启用对数据高速缓冲存储器106的数据预取(方框600)。在至少一个实施例中,高速缓冲存储器控制器108经配置以在默认启用数据预取的情况下开始操作,使得处理器100的启动或重新启动使数据预取开启。
在启用预取的情况下,数据高速缓冲存储器控制器108在需要时将数据线获取到数据高速缓冲存储器106中,且根据现用预取策略将数据线预取到高速缓冲存储器中(方框602)。处理在循环或以其它方式持续进行的基础上继续,其中高速缓冲存储器控制器108确定数据高速缓冲存储器命中是否发生(方框604)。如果数据高速缓冲存储器命中发生(从方框604分出的"是"),那么高速缓冲存储器控制器108检测所述命中是否为预取命中(方框606),例如,其使用所存储(预取)指示符(404或502)来确定高速缓冲存储器命中所涉及的特定数据线是不是经预取数据线。
如果所述命中为预取命中(从方框606分出的"是"),那么数据高速缓冲存储器控制器108使第一计数增加一 (方框608)。如果所述命中并非预取命中(从方框606分出的"否"),那么数据高速缓冲存储器控制器108使第一计数减小一 (方框610)。可通过经由计数器控制电路300对第一计数器302进行操作来以此方式维持第一计数。
操作继续,其中评估第一计数(方框612)以确定第一计数的值是否高于用于预取的界定停用阈值。在所述布置的情况下,可将停用阈值设定为对应于预取被视为非所要的点的百分数值。在任一种情况下,对于二进制计数值来说,可通过将计数值与对应于所要阈值的二进制模式进行比较来作出所述确定。在至少一个实施例中,根据用于追踪预取命中的所要计数分辨率来对第一计数器302定大小。还请注意,可对每一高速缓冲存储器命中执行对第一计数的评估,或可根据另一调度或触发条件执行对第一计数的评估。
在任一种情况下,如果第一计数的值指示预取命中率过低(从方框614分出的"是"),那么高速缓冲存储器控制器108停用预取(方框616)。从此,处理任选地继续,其中使第一计数复位和/或使第二计数复位(方框618)。即,可结合进行从预取启用到预取停用的转变,以加强所述状态改变的方式来设定一个或两个计数。
在至少一个此类实施例中,作为改变到预取停用状态的部分使第二计数复位到最大
值,且作为改变到预取启用状态的部分使第一计数复位到最大值。这样做会防止快速状态反转(有时被称作"乒乓")。更明确地说,实例计数器复位表示本文中所预期的一种形式的控制滞后。在本文中的一个或一个以上实施例中,广泛地预期(例如)通过以下各者来实施启用/停用控制滞后使用于追踪预取命中和总体命中的追踪机制(计数器或其它)复位、调整控制阈值、在进行状态改变后暂时中止状态改变处理等等。
通过跟随连接符"B"到图7而返回到所说明的处理,看到处理继续,其中预取被关闭。在停用预取的同时,高速缓冲存储器控制器108继续监视数据高速缓冲存储器存取(方框700)。如果存在数据高速缓冲存储器存取(从方框700分出的"是"),那么高速缓冲存储器控制器108检测所述存取是否导致高速缓冲存储器命中(方框702)。如果所述存取导致命中(从方框702分出的"是"),那么处理继续,其中高速缓冲存储器控制器108使第二计数增加一 (方框704)。相反,如果高速缓冲存储器存取导致高速缓冲存储器未命中(从方框702分出的"否"),那么处理继续,其中高速缓冲存储器控制器108使第二计数减小一 (方框706)且在需要时将数据线获取到高速缓存存储器110中(方框708)。
处理接着继续,其中评估第二计数(方框710)。可将高速缓冲存储器存取和/或计数器更新用作计数评估的触发器,或可使用另一调度或触发器。在任一种情况下,所述评估可包含将第二计数的值与界定启用阈值进行比较。在至少一个此类实施例中,所述界定启用阈值表示数据高速缓冲存储器命中的较低百分数值。在所述布置的情况下,如果由第二计数追踪的高速缓冲存储器命中的百分数处于或低于所述较低百分数,那么将总体命中率视为低。
如果总体命中率不低(从方框712分出的"否"),那么处理循环回到方框700。另一方面,如果总体命中率为低(从方框712分出的"是"),那么处理通过返回到图6的方框600的连接符"A"而继续以进行预取启用。(注意,可作为转变回到预取启用条件的部分而使第一计数和/或第二计数复位(方框714))。
在替代实施例中,高速缓冲存储器控制器108经配置以基于计数或以其它方式确定高速缓存存储器110中的经预取数据线的数目(如与高速缓存存储器110中的数据线的总体数目相比)来追踪预取命中。高速缓冲存储器控制器108可使用第一计数器302对经预取数据线进行计数,或其可配置有用于追踪所述信息的其它计数器和/或寄存器。在任一种情况下,经预取数据线的计数与数据线的总体计数的比较仍在以下意义上反映出预取命中率如果预取命中相对不频繁,那么高速缓存存储器110中的经预取数据线的数目将由于数据高速缓冲存储器替换策略而随时间减小。
谨记上述实施例和其它变化,如本文中所教导的数据高速缓冲存储器预取控制广泛地包含追踪预取命中和追踪总体命中,使得从预取启用条件的转变是基于预取命中,且从预取停用条件的转变是基于总体命中。在至少一个实施例中,如果预取命中率落在界定停用阈值以下,那么停用预取,且如果总体命中率落在界定启用阈值以下,那么启用
12预取。所存储的指示符可用以表示哪些数据线被预取,且各种计数器或其它寄存器可用以预取命中和总体命中追踪。
因此,尽管已在本文中相对于本发明的特定特征、方面和实施例来描述本发明,但应明了,在本发明的广泛范围内众多变化、修改和其它实施例是可能的,且因此,所有变化、修改和实施例将被认为是在本发明的范围内。本发明实施例因此在所有方面应被理解为是说明性的而非限制性的,且希望在所附权利要求书的有意义和等效范围内的所有改变包含于其中。
权利要求
1.一种控制对数据高速缓冲存储器的数据预取的方法,其包含追踪对所述数据高速缓冲存储器的预取命中且基于对预取命中的所述追踪来停用对所述数据高速缓冲存储器的数据预取;以及追踪对所述数据高速缓冲存储器的总体命中且基于对总体命中的所述追踪来启用对所述数据高速缓冲存储器的数据预取。
2. 根据权利要求1所述的方法,其进一步包含结合启用和停用对所述数据高速缓冲存 储器的数据预取,通过将用于追踪所述预取命中和所述总体命中中的一者或两者的 追踪机制复位来实施启用/停用控制滞后。
3. 根据权利要求1所述的方法,其中追踪对所述数据高速缓冲存储器的预取命中包含 追踪预取命中率,所述预取命中率反映涉及经预取数据线的对所述数据高速缓冲存 储器的命中的百分数,且其中追踪对所述数据高速缓冲存储器的总体命中包含追踪 对所述数据高速缓冲存储器的总体命中率。
4. 根据权利要求3所述的方法,其中追踪所述预取命中率包含追踪所述数据高速缓冲 存储器中的经预取数据线的数目与所述数据高速缓冲存储器中的数据线的总体数 目的关系。
5. 根据权利要求3所述的方法,其进一步包含存储指示所述数据高速缓冲存储器中的 哪些数据线为经预取数据线的指示符,且使用所述所存储指示符来检测对所述数据 高速缓冲存储器的预取命中以追踪所述预取命中率。
6. 根据权利要求3所述的方法,其中追踪所述预取命中率包含响应于检测到对经预取 数据线的数据高速缓冲存储器命中而使第一计数增加一,和响应于检测到未对经预 取数据线的数据高速缓冲存储器命中而使所述第一计数减小一,且其中追踪所述总 体命中率包含响应于数据高速缓冲存储器命中而使第二计数增加一和响应于数据 高速缓冲存储器未命中而使所述第二计数减小一。
7. 根据权利要求6所述的方法,其中基于对预取命中的所述追踪来停用对所述数据高速缓冲存储器的数据预取包含在如所述第一计数的值所指示所述预取命中率落到 界定停用阈值时停用对所述数据高速缓冲存储器的数据预取。
8. 根据权利要求6所述的方法,其中基于对总体命中的所述追踪来启用对所述数据高 速缓冲存储器的数据预取包含在如所述第二计数的值所指示所述总体命中率落到 界定启用阈值时启用对所述数据高速缓冲存储器的数据预取。
9. 根据权利要求6所述的方法,其进一步包含结合启用和停用数据高速缓冲存储器预 取,通过将所述第一计数和所述第二计数中的一者或两者复位来实施用于控制数据 高速缓冲存储器预取的启用/停用滞后。
10. 根据权利要求6所述的方法,其进一步包含在经配置以在相应第一最大计数值和第 二最大计数值处饱和的第一饱和计数器和第二饱和计数器中维持所述第一计数和 所述第二计数。
11. 根据权利要求1所述的方法,其中追踪所述预取命中包含追踪第一计数器中的预取 命中率,所述预取命中率反映对所述数据高速缓冲存储器中的经预取数据线的数据高速缓冲存储器命中的百分数,且其中追踪所述总体命中包含追踪第二计数器中的 总体命中率,所述总体命中率反映数据高速缓冲存储器命中对数据高速缓冲存储器未命中的总体百分数。
12. 根据权利要求1所述的方法,其进一步包含初始化所述数据高速缓冲存储器以在数 据高速缓冲存储器预取被启用的情况下开始操作。
13. 根据权利要求1所述的方法,其进一步包含只有在启用数据预取时才根据一个或一 个以上界定预取策略将数据线预取到所述数据高速缓冲存储器中,和不管是否启用 数据预取都响应于数据高速缓冲存储器未命中将数据线获取到所述数据高速缓冲 存储器中。
14. 一种处理器,其包含指令执行管线;以及数据高速缓冲存储器,其与所述指令执行管线操作地相关联且包含高速缓存存储 器和高速缓冲存储器控制器;所述高速缓冲存储器控制器经配置以追踪对所述数据高速缓冲存储器的预取命 中且基于对预取命中的所述追踪停用对所述数据高速缓冲存储器的数据预取,且经 配置以追踪对数据高速缓冲存储器的总体命中且基于对总体命中的所述追踪启用 对所述数据高速缓冲存储器的数据预取。
15. 根据权利要求14所述的处理器,其中所述高速缓冲存储器控制器结合启用和停用 对所述数据高速缓冲存储器的数据预取,通过将用于追踪所述预取命中和所述总体 命中中的一者或两者的追踪机制复位来实施启用/停用控制滞后。
16. 根据权利要求14所述的处理器,其中所述高速缓冲存储器控制器通过追踪预取命 中率来追踪所述预取命中,所述预取命中率反映涉及经预取数据线的对所述数据高 速缓冲存储器的命中的百分数;和通过追踪对所述数据高速缓冲存储器的总体命中 率来追踪所述总体命中。
17. 根据权利要求16所述的处理器,其中所述高速缓冲存储器控制器通过追踪所述高 速缓存存储器中的经预取数据线的数目与所述数据高速缓存存储器中的数据线的 总体数目的关系来追踪所述预取命中率。
18. 根据权利要求16所述的处理器,其中所述高速缓冲存储器控制器维持指示所述高 速缓存存储器中的哪些数据线为经预取数据线的指示符,和使用所述指示符来检测 对所述数据高速缓冲存储器的预取命中以追踪所述预取命中率。
19. 根据权利要求16所述的处理器,其中所述高速缓冲存储器控制器通过以下方式来 追踪所述预取命中率响应于检测到对经预取数据线的数据高速缓冲存储器命中而 使第一计数器增加一,和响应于检测到未对经预取数据线的数据高速缓冲存储器命 中而使所述第一计数器减小一;且通过以下方式来追踪所述总体命中率响应于数 据高速缓冲存储器命中而使第二计数器增加一,和响应于数据高速缓冲存储器未命 中而使所述第二计数器减小一。
20. 根据权利要求19所述的处理器,其中所述高速缓冲存储器控制器在如所述第一计 数器的值所指示所述预取命中率落到界定停用阈值时停用对所述数据高速缓冲存 储器的数据预取。
21. 根据权利要求19所述的处理器,其中所述高速缓冲存储器控制器在如所述第二计 数器的值所指示所述总体命中率落到界定启用阈值时启用对所述数据高速缓冲存 储器的数据预取。
22. 根据权利要求19所述的处理器,其中所述高速缓冲存储器控制器结合启用和停用 数据高速缓冲存储器预取,通过将所述第一计数器和所述第二计数器中的一者或两 者复位来实施用于控制数据高速缓冲存储器预取的启用/停用滞后。
23. 根据权利要求19所述的处理器,其中所述第一计数器和所述第二计数器包含分别 在第一最大计数值和第二最大计数值处饱和的第一饱和计数器和第二饱和计数器。
24. 根据权利要求14所述的处理器,其中所述高速缓冲存储器控制器通过追踪第一计 数器中的预取命中率来追踪所述预取命中,所述预取命中率反映对所述高速缓存存 储器中的经预取数据线的数据高速缓冲存储器命中的百分数;且通过追踪第二计数 器中的总体命中率来追踪所述总体命中,所述总体命中率反映数据高速缓冲存储器 命中对数据高速缓冲存储器未命中的总体百分数。
25. 根据权利要求14所述的处理器,其中所述高速缓冲存储器控制器初始化所述数据 高速缓冲存储器以在数据高速缓冲存储器预取被启用的情况下开始操作。
26. 根据权利要求14所述的处理器,其中所述高速缓冲存储器控制器只有在启用数据 预取时才根据一个或一个以上界定预取策略将数据线预取到所述数据高速缓冲存 储器中,和不管是否启用数据预取都响应于数据高速缓冲存储器未命中将数据线获 取到所述数据高速缓冲存储器中。
全文摘要
本文中所教导的一种系统和方法通过追踪对数据高速缓冲存储器的预取命中和总体命中来控制对所述数据高速缓冲存储器的数据预取。基于对预取命中的所述追踪来停用对所述数据高速缓冲存储器的数据预取,且基于对总体命中的所述追踪来启用对所述数据高速缓冲存储器的数据预取。举例来说,在一个或一个以上实施例中,高速缓冲存储器控制器经配置以追踪预取命中率且在所述预取命中率落在界定阈值以下时停用数据预取,所述预取命中率反映涉及经预取数据线的对所述数据高速缓冲存储器的命中的百分数。所述高速缓冲存储器控制器还追踪总体命中率且在所述总体命中率落在界定阈值以下时启用数据预取,所述总体命中率反映数据高速缓冲存储器命中(对未命中)的总体百分数。
文档编号G06F12/08GK101689147SQ200880024001
公开日2010年3月31日 申请日期2008年7月10日 优先权日2007年7月10日
发明者詹姆斯·诺里斯·迪芬德尔费尔, 迈克尔·威廉·莫罗 申请人:高通股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1