用于减少由积极预取所致的处理器缓存污染的方法及装置制造方法及图纸

技术编号:8962982 阅读:188 留言:0更新日期:2013-07-25 22:46
提供用于控制第一及第二缓存的方法及装置。接收在该第一缓存中的一缓存项目,以及识别该项目具有未接触状态。之后,回应接收对于该缓存项目的至少一部分的一请求而更新该缓存项目的状态为已存取,以及随后根据一预选缓存列置换算法,逐出该缓存项目。根据该逐出缓存项目的状态,储存该逐出缓存项目于该第二缓存中。

【技术实现步骤摘要】
【国外来华专利技术】
本专利技术大体涉及缓存记忆系统,且更特别的是,涉及可减少与浪费缓存预取有关的效能影响(performance hit)的多阶缓存记忆系统。现代微处理器远快于储存程序于其中的存储器。也就是,微处理器执行指令的速率可快于自存储器取出程序的速率,因此,读取程序的指令无法快到足以让微处理器保持忙碌。预取在微处理器实际需要之前的指令为克服存储器反应相对慢以及允许处理器以实质较高的速度操作的有用机制。当指令预取自存储器时,它是放在当处理器准备执行该特定指令时可极快地存取它的缓存中。与预取有关的问题之一是软件程序不一定按照它们储存的顺序来执行。事实上,有许多指令会造成软件程序分叉或跳到程序的另一个位置。因此,准确地预测程序何时会分叉或跳到另一个位置可大大地影响预取的品质,因此,处理器可执行软件程序的速度。已有人提出相信可增强预测的许多机制以便允许处理器可更连续迅速地操作。不过,这些预测器至少有一个共同处,它们至少偶而出错而预取不被处理器使用的指令。也就是,预取算法对于有些应用证明是有用的但是对于其它则无效。当预取代码或数据在程序执行期间不被一致准确地存取时,预取器实际上可能损害处理器的效能。‘浪费的’预取为造成缓存填满预期指令(或数个)但是在被存取之前在缓存中过时的存储器存取。浪费预取会消耗系统及存储器频宽以及污染处理器核心的私有缓存以及共享芯片多处理器(CMP)缓存。现代预取器很有积极是因为它们是以高速率预取代码及数据而有高比例的浪费预取。
技术实现思路
为供基本理解本专利技术的一些方面,提出以下简化的总结。此总结并非本专利技术的穷举式总览。它不是想要确认本专利技术的关键或重要组件或者是描绘本专利技术的范畴。唯一的目的是要以简要的形式提出一些概念作为以下更详细的说明的前言。本专利技术的一方面为一种用于控制第一及第二缓存的方法。该方法包括下列步骤:接收在该第一缓存中的一缓存项目(cache entry),以及识别(identify)该项目具有未接触状态(untouched status)。回应对于该缓存项目的至少一部分的一请求而更新该缓存项目的状态。根据一预选缓存列置换算法(preselected cache line replacementalgorithm)来逐出(cast out)该缓存项目,以及根据该逐出缓存项目的状态将该逐出缓存项目储存于较低阶次的第二缓存中。本专利技术的另一方面为一种记忆系统。该记忆系统包含一第一阶次缓存、一第一阶次缓存控制器、一第二阶次缓存、以及一第二阶次缓存控制器。该第一阶次缓存控制器适合识别一接收缓存项目具有未接触状态,回应对于该缓存项目的至少一部分的一请求而更新该缓存项目的状态为已存取,以及根据一预选缓存列置换算法,逐出该缓存项目。该第二阶次缓存控制器适合于根据该逐出缓存项目来控制该逐出缓存项目在该第二缓存中的储存。本专利技术的另一方面为一种微处理器。该微处理器包含一核心、一第一阶次缓存、一第一阶次缓存控制器、一第二阶次缓存、以及一第二阶次缓存控制器。该第一阶次缓存控制器适合识别一接收缓存项目具有未接触状态,回应对于该缓存项目之至少一部分的一请求而更新该缓存项目的状态,以及根据一预选缓存列置换算法,逐出该缓存项目。该第二阶次缓存控制器适合于根据该逐出缓存项目来控制该逐出缓存项目在该第二缓存中的储存。附图说明以下用附图描述本专利技术,其中,类似的组件用相同的组件符号表示,且:图1为微处理器的方块图,其具有多个核心以及有多个非共享L2缓存与一共享L3缓存;图2的简化方块示所述核心中的一者、所述L2缓存中的一者以及为图1的微处理器的一部分的一预取器之间的关系;图3以格式图示在与图1的微处理器关连的一缓存中的缓存列项目;图4以格式图示一流程图,其描述与图1的微处理器关连的L2缓存的操作;图5以格式图示一流程图,其描述与图1的微处理器关连的L3缓存的操作;以及图6以格式图示一流程图替代具体实施例,其描述与图1的微处理器关连的L3缓存的操作。尽管本专利技术容易做成各种修改及替代形式,本文仍以附图为例图示几个本专利技术的特定具体实施例且详述其中的细节。不过,应了解本文所描述的特定具体实施例不是想要把本专利技术限定成本文所揭示的特定形式,反而是,本专利技术是要涵盖落入由随附权利要求书定义的本专利技术精神及范畴内的所有修改、等价及替代性陈述。具体实施例方式以下描述本专利技术的一或更多特定具体实施例。特别希望本专利技术揭示标的不受限于本文的具体实施例及图解说明,而是涵盖所述具体实施例的修改形式,包括所述具体实施例的部分以及不同具体实施例的组件的组合,这都在权利要求书的范畴内。应了解,在按照任何工程或设计项目开发任何此类的实际具体实作时,可能要做出许多与具体实作有关的决策以达成开发人员的特定目标,例如遵循与系统相关及商务有关的限制,这些都会随着每一个具体实作而有所不同。此外,应了解,此类开发即复杂又花时间,而不是本技艺一般技术人员在阅读本揭示内容后即可进行设计、建造及制造的例行工作。本申请案中都没有被认为对于本专利技术是关键或必要的,除非明确指出它是“关键的或“必要的。此时用附图描述本揭示内容。示意图示各种结构、系统及设备的附图只是用来解释以及避免熟谙此艺者所熟知的细节混淆本揭示内容。尽管如此,仍纳入附图以描述及解释本揭示内容的示范实施例。应使用与相关技艺技术人员所熟悉的意思一致的方式理解及解释用于本文的字汇及片语。本文没有特别定义的术语或片语(也就是,与熟谙此艺者所理解的普通惯用意思不同的定义)是想要用术语或片语的一致用法来暗示。在这个意义上,希望术语或片语具有特定的意思时(也就是,不同于熟谙此艺者所理解的意思),则会在本专利说明书中以直接明白地提供特定定义的方式清楚地陈述用于该术语或片语的特定定义。请参考附图,各图中类似的组件用相同的组件符号表示,特别是,图1是与外部存储器105耦合的微处理器100的背景下描述本专利技术揭示标的。熟谙此艺者会认识到,电脑系统可由以上及其它组件构成。不过,为了避免混淆本专利技术,只包含有利于了解本专利技术的组件。图1图示用于由多个核心106-111组成的典型多处理器系统的存储器阶层。每个核心有专属的私有L2处理器缓存112-117。熟谙此艺者会明白,尽管示范具体实施例以6个核心106-111及6个L2缓存112-117图示,然而可使用更多或更少的核心及缓存而不脱离本专利技术的精神及范畴。在图示示范具体实施例中,L3缓存120被所有处理器核心106-111经由系统请求接口 125来共享。在图示具体实施例中,L3缓存为最后一阶缓存(LLC),不过,熟谙此艺者会明白,可使用有额外阶次的缓存而不脱离本专利技术的精神及范畴。核心106-111中的每一个能够储存软件或可执行在彼之对应L2缓存112-117中的代码及数据列。与每个处理器核心106-111关连的预取器单元200 (参考图2)也能够在来自外部存储器105的数据及代码实际需要由核心106-111执行及储存预取代码及数据于L2缓存112-117中之前,经由传送横条(XBAR) 130撷取。有各种众所周知的方法可用来判断那个代码及数据应预取自存储器105 ;不过,熟谙此艺者会明白,可使用任何预取方法而不脱离本专利技术的精神及范畴。为了保证L2缓存的有效操作,大体合乎需要的方式是L2缓存填满在立即未本文档来自技高网...

【技术保护点】

【技术特征摘要】
【国外来华专利技术】2010.09.27 US 12/891,0271.一种用于控制第一及第二缓存的方法,其包含下列步骤: 接收在该第一缓存中的一缓存项目; 识别该接收缓存项目具有未接触状态; 回应接收对于该缓存项目的至少一部分的一请求而更新该缓存项目的该未接触状态为已存取; 根据一预选缓存列置换算法,逐出该缓存项目;以及 根据逐出缓存项目的状态来控制该逐出缓存项目在该第二缓存中的储存。2.根据权利要求1所述的方法,其中,控制该逐出缓存项目的储存的步骤进一步包括:回应有已存取状态的该逐出缓存项目而储存该逐出缓存项目于该第二缓存中。3.根据权利要求1所述的方法,其中,控制该逐出缓存项目的储存的步骤进一步包括:回应有未接触状态的该逐出缓存项目而阻止该逐出缓存项目储存于该第二缓存中。4.根据权利要求1所述的方法,其中,控制该逐出缓存项目的储存的步骤进一步包括:回应有未接触状态的该逐出缓存项目而储存该逐出缓存项目于该第二缓存中以及识别该逐出缓存项目为该第二缓存中近来最少使用的项目。5.一种微处理器,其包含: 一核心; 一第一阶次缓存; 一第二阶...

【专利技术属性】
技术研发人员:P·康韦
申请(专利权)人:先进微装置公司
类型:
国别省市:

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

1