用于管理高速缓存器分割的方法及设备的制作方法

文档序号:6569632阅读:227来源:国知局
专利名称:用于管理高速缓存器分割的方法及设备的制作方法
技术领域
本发明大体来说涉及高速缓存存储器,且更特定来说涉及对这种存储器的划分的 管理,例如较高与较低优先级条目之间的划分。
背景技术
将高速缓存存储器分割为锁定及未锁定区域是一种常见的做法。更特定来说,己 经知晓在锁定与未锁定条目之间分配高速缓存器组的路径,但用于锁定/未锁定分割管 理的常规方法具有某些缺陷。
例如, 一种将高速缓存器路径划分为锁定及未锁定部分的方法为每高速缓存器组 总共使用三个指针。所述三个指针包含用以指示所述高速缓存器组中的下一锁定条目 的锁定指针,及用以指示所述高速缓存器组中的下一未锁定条目的未锁定指针。第三 个指针为锁定条目分割界定一个上限或最高限度,且因此为未锁定分割建立一个固定 的最低限度。也就是说,在所述三个指针的方法中,两个指针用于管理高速缓存器组 的锁定及未锁定部分的连续写入,且第三指针用于指示高速缓存器组的锁定与未锁定 部分之间的固定边界。
管理既定的高速缓存器组的锁定及未锁定部分的另一方法依赖于在所述组的每
一高速缓存器路径中的每高速缓存线中所使用的锁定/未锁位。使用此方法,额外的寄 存器位将单独的高速缓存线标记为锁定或未锁定。
虽然上述方法的确准许对高速缓存器组的锁定及未锁定部分进行至少有限的管 理,但这样做是以使用额外的寄存器、增加软件开销及降低高速缓存器使用效率为代 价的。这些缺点对于大型高速缓存器来说尤其成问题,在所述高速缓存器中,大量的 寄存器资源交付给高速缓存存储器分割的管理。

发明内容
本文所教示的一种管理高速缓存存储器分割的方法的一个实施例包括提供用于 到高速缓存存储器中的较高优先级写入的第一写入指针,及用于到所述高速缓存存储 器中的较低优先级写入的第二写入指针;及将所述第一写入指针用作所述较低优先级 写入的定界符。将所述第一写入指针用作所述较低优先级写入的定界符通常包括阻止 所述第二写入指针指向己对其进行较高优先级写入的高速缓存存储器位置。
因此,将第一指针与较高优先级写入相关联并限制第二指针的位置可在高速缓存存储器的相邻的较高与较低优先级区域之间建立动态边界。换句话说,可视需要来进 行正在进行的较低优先级写入,但是可通过操纵第一及第二指针回收所述较低优先级 写入所占用的高速缓存存储器位置来进行较高优先级写入。以此方式,如本文所教示 的在并入有高速缓存器分割的微处理器上执行的软件无需明确地设定及管理分割边 界。
例如,微处理器可经配置以为每高速缓存器组提供两个指针,其中所述指针中的 第一者表示为(较高优先级)锁定指针,且这些指针中的第二者表示为(较低优先级) 未锁定指针。所述微处理器中所包含的高速缓存器分割控制电路经配置以将所述锁定 指针指向高速缓存器组中的第一未锁定条目,以使(例如)所述指针下方的所有条目 都被锁定。此外,根据下一高速缓存写入是锁定写入还是未锁定写入,所述锁定及未 锁定指针两者均将指向髙速缓存器组中的下一牺牲者。在此配置中,所述锁定指针担 当未锁定区域的最低限度,且可操纵所述未锁定指针以使其移动到高速缓存器组中具 有连续未锁定写入的最大位置并绕回到所述锁定指针。


图1是图解说明本文中所教示的指针管理及所得动态高速缓存器分割的一个实施 例的逻辑流程图。
图2及图3是高速缓存存储器的方框图,且其图解说明使用第一及第二指针来形 成所述高速缓存存储器的较高优先级及较低优先级区域,所述区域之间有动态边界。
图4-7是高速缓存器组的方框图且其图解说明使用一对指针来动态地管理高速缓 存器组中的经分割路径。
图8及图9是图解说明通过使用第一及第二指针来动态地分割高速缓存器组的另 一实施例的方框图。
图10是图解说明使用多个指针在高速缓存存储器中形成具有不同优先级的多个 动态分界区域。
图11是并入有高速缓存器控制电路的微处理器的方框图,所述高速缓存器控制 电路经配置以根据本文所教示方法中的一者或多者通过使用指针对来执行高速缓存存 储器分割管理。
图12是分割控制电路的方框图,所述分割控制电路可包含在(例如)图11的微 处理器中的高速缓存存储器控制电路中。
具体实施例方式
图1是广义地图解说明本文中所教示的管理高速缓存存储器分割的方法的逻辑流
程图。所述方法基于提供用于到高速缓存存储器中的较高优先级写入的第一写入指 针,及用于到所述高速缓存存储器的较低优先级写入的第二写入指针(步骤100)。在如此界定所述指针对之后,所述方法将所述第一写入指针用作较低优先级写入
的定界符(步骤102)。所述方法在高速缓存存储器中有效地形成较高及较低优先级
区域,其中所述较高优先级指针担当所述两个区域之间的动态边界。
此布置显示于图2中,其中高速缓存存储器10 (或高速缓存存储器的至少一选定 部分)包含由第一指针(PTR1)寻址的较高优先级区域12及第二指针(PTR2)寻址 的较低优先级区域14。 PTR1在区域12与14之间界定边界16。使用PTR1来标记所 述区域之间的边界允许较高优先级区域12在牺牲较低优先级区域14的情况下增长。 也就是说,对所图解说明的存储器布局来说,PTR1可从与高速缓存存储器10的下部 边界相关联的既定开始(最小)值起取值,直到与高速缓存存储器10的上部边界相关 联的最终(最大)值。相反,PTR2可取从PTR1的当前值一直到高速缓存储存器10 的上部边界的范围内的值。因此,通常阻止PTR2指向已对其进行较高优先级写入的 高速缓存存储器位置。
在此布置中,PTR1可经配置以穿越高速缓存器组一直前进到最大指针值,或一 直到从最大指针值的经界定偏移。此外,PTR2可经配置以穿越高速缓存存储器一直 前进到最大指针值,且然后绕回到第一写入指针的当前值,或绕回到对应于相对于第 一写入指针的当前值的经界定偏移的值。图2特别地图解说明,较低优先级区域14 可包含有效及无效(未经初始化)条目。例如,这种情况可出现在高速缓存器使用的 开始时。然后,图3图解说明,PTR2将因重复的较低优先级写入而填充较低优先级 区域14的每一可用位置,且然后向下绕回到由PTR1所界定的边界16,且在其朝向 高速缓存存储器的上限前进返回时开始重写先前已写入的较低优先级条目。
当然,较低优先级区域14中的此环绕写入假定较高优先级写入尚未使较高优先 级区域12前进到其上限。更特定来说,PTR1可一直前进到最大值(或比最大值小1), 且然后允许其"饱和"或者固定在所述值。 一旦PTR1固定在存储器范围顶端,所述 顶端以下的所有位置都不能由PTR2获得,且因此PTR2将与PTR1 —起有效地"固定" 在存储器范围的顶端。在这种情形下,指针管理逻辑可使PTR1及PTR2保持在最顶 端存储器位置处,且允许所述最顶端位置中的额外较高及较低优先权,这有效地意味 着,将不存在所述最顶端位置的写入优先化,且随后的较高及较低优先级写入仅将连 续地重写最顶端位置。
通过上述指针对布置,微处理器可方便地在锁定与未锁定条目之间分配高速缓存 器组的路径以(例如)减少硬件并提高代码效率。(可将"锁定"写入视为一种具有 比"未锁定"写入更高优先级的高速缓存写入。)
更特定来说,PTR1可担当锁定指针,且PTR2可担当未锁定指针。可响应于进 行未锁定写入使PTR2前进(例如增量)且响应于进行锁定写入使PTR1前进。因此, PTR1将指向高速缓存器组中的第一未锁定条目,且所述第一未锁定条目下方的所有 条目都是锁定的。因此,锁定写入将重写当前由PTR1所指向的未锁定(或空)条目, 且然后PTR1将前进到下一未锁位置置。必要时,PTR2可经调节以停留在PTR1的位置或停留在所述位置上方。此外,可使PTR2在前进到最大指针值之后绕回到PTR1, 以使PTR1的当前位置建立未锁定写入的最低限度。
此方法消除了对每高速缓存器组唯一的最低限度/最高限度寄存器的需要,且去除 了对每高速缓存线一个锁定及未锁位置的需要。此外,所述方法消除了在锁定与未锁 定条目之间具有程序设计器管理边界的必要性。最后,以此方式对锁定及未锁定路径 分组消除了管理高速缓存器中交错的锁定及未锁定条目的必要性一即,不强制所述软 件管理每高速缓存器条目的锁定/未锁定状态位。
通过将上述锁定/未锁定写入作为较高及较低优先级高速缓存写入的一个实例,图 4-7图解说明使用指针对来管理将高速缓存器组20动态地分割为较高及较低优先级区 域的一个实施例。
图4-7中所图解说明的高速缓存器组20包含16个路径(0-15),可根据本文中 所教示的方法将所述16个路径动态地分割为较高及较低优先级区域。更特定来说,图 4-7图解说明为向高速缓存器组20中的较高优先级写入提供第一写入指针(PTR1)、 为到高速缓存器组20中的较低优先级写入提供第二写入指针(PTR2),及将PTR1 用作较低优先级写入的定界符。
在所图解说明的实施例中,将PTR1用作定界符以用于较低优先级写入包括初 始化PTR1及PTR2使其相等;响应于进行较高及较低优先级写入分别地使PTR1及 PTR2前进;及视需要另外地使PTR2前进以防止PTR1超过PTR2。(注意,此句中 使用的"超过"是个相对的词,且其意思仅仅是,不允许将PTR2假定或停留在已由 PTR1遍历的指针值。)例如,如果PTR1当前正指向16路径高速缓存器组20的路 径5将其作为下一锁定写入牺牲者,则PTR1通常将已经遍历过高速缓存器组20的路 径0-4,这意味着通常将防止PTR2指向路径0-4来避免重写那些位置中的锁定条目。
本着这个一般的指针管理方法,图4显示高速缓存器组20的初始化状态,其中 PTR1及PTR2经初始化以指向高速缓存器组20的路径0。因此,操作以路径O作为 较高或较低优先级的下一牺牲者而开始。假定在没有进行任何较高优先级写入的情况 下进行了三次较低优先级写入,则图5图解说明PTR2前进到路径3,以使高速缓存 器组20的路径0-15有效地界定高速缓存器组20(其中路径0-2含有刚刚写入的条目) 的较低优先级区域22。注意,PTR1依然固定在路径O处,这意味着锁定写入的下一 牺牲者是路径O,以重写先前写入到路径O中的未锁定条目。
现在,假定在没有进行任何额外较低优先级写入的情况下对高速缓存器组20进 行了较高优先级写入,则图6图解说明,PTR1已前进到高速缓存器组20的路径1, 以使高速缓存器组20的路径0有效地表示高速缓存器组20的较高优先级区域24。通 过此图解说明,读者将了解,较低优先级区域22与较高优先级区域24之间的边界是 由PTR1的当前位置界定的。
现在,假定在没有进行任何进一步较低优先级写入的情况下进行了三次额外的较 高优先级写入,则图7图解说明,已使PTR1从路径1前进到路径4,且较高优先级
8区域24现在从路径0跨越到路径3。通过PTR1的此前进,较低优先级区域22已由 较高优先级写入部分地重写,且PTR2已连同PTR1 —起前进以防止PTR1超过PTR2。
因此,现在PTR1及PTR2两者均指向高速缓存器组20的路径4。 PTR1及PTR2 的当前位置意味着路径4是较高优先级写入(PTR1)或较低优先级写入(PTR2) 的下一牺牲者,且路径0-3是锁定的。因此,在此时,较高优先级区域12从路径0跨 越到路径3,且较低优先级区域从路径4跨越到路径15。
在此点上应注意,PTR1通常穿越将其被指派到的高速缓存存储器的区域而直线 地前进,且允许PTR1固定在所述区域的顶端或者在顶端饱和(即,防止PTR1环绕) 以防止重写PTR1下方的锁定条目。当然,只要PTR2停留在PTR1的当前位置或在所 述位置上方,即可准许其穿越高速缓存存储器的相同区域前进,且可进一步准许其从 所述区域的顶端绕回到PTR1的当前位置。这样做可启动"循环"置换方案,其中, 视需要,基于PTR2重复地穿越在PTR1当前位置或所述位置上方的留给PTR2的高速 缓存存储器区域中的任何部分,以较新的较低优先级写入代替较老的较低优先级写入。
在任何情形中可看出,响应于进行较高优先级写入使PTR1前进可界定高速缓存 存储器组20的较高优先级区域,所述较高优先级区域对应于高速缓存存储器组中 由PTR1遍历的部分。通过响应于进行较低优先级写入且视需要地响应于使PTR1前 进来使PTR2前进,可看出较低优先级区域借助于动态边界存在于较高优先级区域上 方。此外,可看出准许通过PTR2在较低优先级区域中的环绕的写入,其中PTR1的 位置担当PTR2的环绕最低限度,由此来防止较低优先级写入重写较高优先级条目。 更简便地,控制PTR2的值以使PTR2不会遍历已由PTR1遍历的存储器位置。
因此,虽然较低优先级区域的最高限度可在高速缓存存储器组20中向上移动, 但由PTR1的位置界定的较低优先级区域的最低限度也可向上移动。此允许较高优先 级区域在牺牲较低优先级区域的情况下增长,并确保所述较低优先级写入不会重写先 前的较高优先级写入。
图8及图9显示另一实施例,其中将PTR1及PTR2初始化到高速缓存器组20的 相对的第一及第二端,且到高速缓存器组20中进行较高及较低优先级写入时朝向彼此 移动。更特定来说,如图8中所显示,将PTR1初始化到第一值,所述值可以是高速 缓存器组20的底部,且将PTR2初始化到相对于所述第一值偏移的第二值,所述第二 值可以是高速缓存器组20的顶部。然后,响应于向高速缓存器组20中进行较高优先 级写入来使PTR1朝向PTR2前进,且响应于向高速缓存器组20中进行较低优先级写 入来使PTR2朝向PTR1前进。在此布置中,所述方法进一步包含视需要使PTR2后退 (例如,将其"向后"移动)以防止PTR1越过PTR2。
图9图解说明PTR1及PTR2相对于图8的后续位置,假定已向高速缓存器组20 进行三次较高优先级写入及两次较低优先级写入。可以看出,路径15-3现在包括高速 缓存器组20(其中路径15及14含有刚刚写入的较低优先级值)的较低优先级区域22, 且PTR2指向路径13将其作为较低优先级写入的下一牺牲者。类似地,现在路径0-2包括高速缓存器组20的较高优先级区域24,且PTR1指向路径3将其作为较高优先 级写入的下一牺牲者。同样,应注意,准许PTR2朝向PTR1的当前位置前进但不超越PTR1,且可准许 PTR2从PTR1绕回到PTR2的开始位置来用于较低优先级高速缓存器条目的循环置 换。也就是说,PTR2可向下前进到其遇到PTR1的点,且然后可重新设定其值或绕回 到高速缓存器组20的顶部,以使其被允许再次向下至少前进到PTR1的当前位置。然后,图8及图9大体地图解说明管理既定的高速缓存器组的一对高速缓存器指 针(或高速缓存存储器的既定区域)的另一方法,其中在所关注高速缓存器区域的相 对端上初始化所述对中的每一指针,并准许所述指针向内朝向彼此移动。更特定来说, 可看出响应于进行较高优先级写入使PTR1前进可界定对应于高速缓存器组20中由 PTR1遍历的部分的较高优先级区域。将高速缓存器组20中没有由PTR1遍历的区域 界定为较低优先级区域,所述较低优先级区域在一端处由PTR2的最小(或开始)位 置分界,且在另一端处由PTR1的动态变化位置分界。因此,视需要响应于较低优先 级写入使PTR2在较低优先级区域内前进,且视需要使其后退,以防止PTR1越过 PTR2。图10图解说明本文中所教示的动态分割方法的进一步扩展,其中高速缓存存储 器10划分为最高优先级区域12、下一最高优先级区域14,及下一最高优先级区域30。 (换句话说,所述优先级等级为区域12、区域14,且然后区域30)。PRT1充当区域14的最低限度,且PTR2充当区域30的最低限度。PTR1向上前 进且因此在牺牲区域14及30的情况下增长区域12,且PTR2向上前进且因此在牺牲 区域30的情况下增长区域14。可允许PTR1及PTR2两者均向上前进到高速缓存存储 器10的最大或末端位置,或一直到小于所述最大位置的经界定偏移。相反,可允许 PTR3向上增长到所述最大位置且然后向下绕回到充当区域30的最低限度(定界符) 的PTR2。因此,区域30的所有或一部分遭受到区域14及/或区域12的条目的重写, 且区域14的所有或一部分遭受到区域12的条目的重写。广义地理解,上述方法教示了在高速缓存存储器的较高与较低优先级区域之间的 动态的分割,其中,对两个区域的实例来说,响应于进行较高优先级写入使第一写入 指针前进可界定高速缓存存储器的较高优先级区域,所述较高优先级区域对应于高速 缓存存储器中由所述第一写入指针遍历的部分,且可界定高速缓存存储器的较低优先 级区域,所述较低优先级区域对应于高速缓存存储器中没有被第一写入指针遍历的部 分。更特定来说,第一指针跟踪较高优先级写入且不准许其绕回,因此,高速缓存存 储器中没有被较高优先级指针遍历的区域表示没有在其中进行较高优先级写入的存储 器位置,且因此是可在其中进行较低优先级写入的位置。所述较低优先级指针可视需 要在较低优先级区域内环绕,且较低优先级区域在较高优先级区域增长的同时縮小。图11图解说明微处理器40,其可经配置以包含本文中所教示的管理动态高速缓 存器分割的一个或多个方法。所属技术领域中的技术人员应了解,微处理器体系结构有很大的不同,且可使用大量的电路布置来具体化本文中教示的各种方法。因此,应了解,图11的微处理器40可作为将动态高速缓存器分割并入到微处理器中的非限定 性实例。所图解说明的微处理器40包括指令管线42,所述指令管线包含前端单元44、 执行单元46,及完成单元48。指令管线42与分支控制电路50相关联,且与高速缓存 控制器52相关联,所述高速缓存控制器向前端单元44提供来自层1 (Ll)指令高速 缓存器54的经高速缓存指令,且向执行单元46提供来自数据高速缓存器56的经高速 缓存数据。与本文中教示的方法特别相关的是,高速缓存控制器52可经配置以包含分 割控制电路,所述分割控制电路用于管理指令高速缓存器54及/或数据高速缓存器56 中的分割。指令高速缓存器54 (或数据高速缓存器56)可以是组相联或全相联的,且 本文中教示的方法同样地适用于任一配置。图12图解说明分割控制电路60的一个实施例,所述分割控制电路包含一对寄存 器62及64或与其相关联。寄存器62及64可用于保持一对指针值(即,PTR1及PTR2 的值)。例如,假定指令高速缓存器54是16路径的组相联高速缓存器,则分割控制 电路60可为每一组指令高速缓存器54维持一对寄存器62及64。以非限定性实例的 方式,假定指令高速缓存器54包括64个组,则分割控制电路60可维持128个指针(每 组两个)。就每组16个路径而言,每一指针可包括4位值,从而允许其在对应的高速 缓存器组中的路径O到路径15的范围内。如果每高速缓存器组管理两个以上优先级, 则分割控制电路60为每一高速缓存器组维持与所存在优先级一样多的指针一例如,三 个优先级=三个指针,等。在至少一个实施例中,分割控制电路60包含指针选择器以依据高速缓存写入类 型(例如,高/低优先级、锁定/未锁定)选择PTR1或PTR2。也就是说,指针选择器 识别写入类型,因此可响应于进行所述写入来使目标高速缓存器组的两个指针中正确 的一者前进。分割控制电路还可包含一个或多个增量器以在对高速缓存器组进行连续 的写入时计算新的指针值,且还可包含一个或多个比较器电路来比较第一及第二指针 值,以确保阻止较低优先级指针取会导致较高优先级写入被较低优先级写入重写的值。除了将分割控制电路60集成在微处理器40的高速缓存控制器52内之外,所属 技术领域的技术人员应认识到,可在别处物理地或功能性地实施分割控制电路60。例 如,层2 (L2)高速缓存器可以在微处理器40内部或外部,且可以经配置以提供二级 高速缓存器以用于保持更大量的经高速缓存指令及/或数据。在这种情况下,本文中教 示的动态分割控制方法可实施于L2高速缓存控制器中,所述L2高速缓存控制器通常 驻留于L2高速缓存存储器阵列所驻留的任何地方。当然,所属技术领域中的技术人员应了解,本发明并非不限于本文中关于各种说 明性实施例的论述,也不限于随附图式。而是,本发明仅由随附权利要求书及其法律 等效物限定。
权利要求
1、一种管理高速缓存存储器分割的方法,其包括提供用于到所述高速缓存存储器中的较高优先级写入的第一写入指针,及用于到所述高速缓存存储器中的较低优先级写入的第二写入指针;及将所述第一写入指针用作所述较低优先级写入的定界符。
2、 如权利要求1所述的方法,其中将所述第一写入指针用作所述较低优先级写 入的定界符通常包括阻止所述第二写入指针指向其中己进行较髙优先级写入的高速缓 存存储器位置。
3、 如权利要求1所述的方法,其中将所述第一写入指针用作所述较低优先级写 入的定界符包括初始化所述第一及第二写入指针使其相等;响应于进行较高及较低 优先级写入分别使所述第一及第二写入指针前进;及另外视需要使所述第二写入指针 前进以防止所述第一写入指针超过所述第二写入指针。
4、 如权利要求3所述的方法,其进一步包括允许所述第二写入指针从最大指针 值绕回到所述第一写入指针的当前值,或绕回到对应于相对于所述第一写入指针的所 述当前值的经界定偏移的值。
5、 如权利要求3所述的方法,其进一步包括使所述第一写入指针在最大指针值 处或自所述最大指针值的一个经界定的偏移处达到饱和。
6、 如权利要求3所述的方法,其中响应于进行较高优先级写入使所述第一写入 指针前进界定所述高速缓存存储器的较高优先级区域,所述较高优先级区域对应于所 述高速缓存存储器中由所述第一写入指针遍历的所述部分,且界定所述高速缓存存储 器的较低优先级区域,所述较低优先级区域对应于高速缓存存储器中没有被所述第一 写入指针遍历的所述部分。
7、 如权利要求1所述的方法,其中将所述第一写入指针用作所述较低优先级写入的定界符包括将所述第一写入指针初始化到第一值;将所述第二写入指针初始化到从所述第一值偏移的第二值;响应于向所述高速缓存存储器中进行较高优先级写入 来使所述第一写入指针朝向所述第二写入指针前进;响应于向所述高速缓存存储器中 进行较低优先级写入使所述第二写入指针朝向所述第一写入指针前进;及视需要使所 述第二写入指针后退以防止所述第一写入指针超过所述第二写入指针。
8、 如权利要求7所述的方法,其中响应于进行较高优先级写入使所述第一写入 指针前进界定所述高速缓存存储器的较高优先级区域,所述较高优先级区域对应于所 述高速缓存存储器中由所述第一写入指针遍历的所述部分,且界定所述高速缓存存储 器的较低优先级区域,所述较低优先级区域对应于高速缓存存储器中没有被所述第一 写入指针遍历的所述部分。
9、 如权利要求1所述的方法,其中将所述第一写入指针用作所述较低优先级写入的定界符包括配置所述第一及第二写入指针以沿相对于所述高速缓存存储器的相同 方向移动,及视需要移动所述第二写入指针来防止所述第一写入指针超过所述第二写 入指针。
10、 如权利要求1所述的方法,其中将所述第一写入指针用作所述较低优先级写 入的定界符包括配置所述第一及第二写入指针以相对于所述高速缓存存储器朝向彼此 移动,并视需要移动所述第二写入指针来防止所述第一写入指针超过所述第二写入指 针。
11、 如权利要求l所述的方法,其中所述第一写入指针包括锁定写入指针且所述 第二写入指针包括未锁定写入指针。
12、 一种管理高速缓存存储器分割的方法,其包括-将高速缓存存储器分割为相邻区域,所述区域包括由第一写入指针寻址的较高优先级区域及由第二写入指针寻址的较低优先级区域;使用所述第一写入指针将所述较低优先级区域相对于所述较高优先级区域定界。
13、 一种用于管理高速缓存存储器中的分割的分割控制电路,其包括-用于向高速缓存存储器进行较高优先级写入的第一写入指针,及用于向所述高速缓存存储器进行较低优先级写入的第二写入指针;及指针控制器,其经配置以将所述第一写入指针用作所述较低优先级写入的定界符。
14、 如权利要求13所述的分割控制电路,其中所述分割控制电路包括包含在微 处理器中的集成分割控制电路,所述集成分割控制电路用于管理与所述微处理器相关 联的层l (Ll)或层2 (L2)高速缓存存储器的至少一部分。
15、 如权利要求1所述的分割控制电路,其中所述指针控制器经配置以大体地阻 止所述第二写入指针指向其中已进行较高优先级写入的高速缓存存储器位置。
16、 如权利要求13所述的分割控制电路,其中所述指针控制器经配置以初始 化所述第一及第二写入指针使其相等;响应于进行较高及较低优先权写入分别地使所 述第一及第二写入指针前进;及另外视需要使所述第二写入指针前进,以防止所述第 一写入指针超过所述第二写入指针。
17、 如权利要求16所述的分割控制电路,其中所述指针控制器经配置以使所述 第二写入指针从最大指针值绕回到所述第一写入指针的当前值,或绕回到对应于相对 于所述第一写入指针的所述当前值的经界定偏移的值。
18、 如权利要求16所述的分割控制电路,其中所述指针控制器经配置以使所述 第一写入指针在最大指针值处或自所述最大指针值的一个经界定的偏移处达到饱和。
19、 如权利要求13所述的分割控制电路,其中所述分割控制器经配置以将所 述第一写入指针初始化到第一值;将所述第二写入指针初始化到从所述第一值偏移的第二值;响应于向所述高速缓存存储器中进行较高优先级写入使所述第一写入指针朝 向所述第二写入指针前进;响应于向所述高速缓存存储器中进行较低优先级写入使所述第二写入指针朝向所述第一写入指针前进;及视需要使所述第二写入指针后退来防止所述第一写入指针超过所述第二写入指针。
20、 如权利要求13所述的分割控制电路,其中所述第一及第二指针大体地经配置以沿相对于所述高速缓存存储器的相同方向移动,且其中所述指针控制器经配置以 视需要移动所述第二写入指针来防止所述第一写入指针超过所述第二写入指针。
21、 如权利要求13所述的分割控制电路,其中所述第一及第二写入指针大体地 经配置以朝向彼此移动,且其中所述指针控制器经配置以视需要移动所述第二写入指 针来防止所述第一写入指针超过所述第二写入指针。
22、 如权利要求13所述的分割控制电路,其中所述第一写入指针包括锁定写入 指针,且所述第二写入指针包括未锁定写入指针。
23、 一种微处理器,其包含经配置以管理高速缓存存储器分割的分割控制电路, 所述分割控制电路包括第一写入指针,其用于向高速缓存存储器中进行较高优先级写入及第二写入指针,其用于向所述高速缓存存储器中进行较低优先级写入;及指针控制器,其经配置以将所述第一写入指针用在所述较低优先级写入的定界符。
24、 如权利要求23所述的微处理器,其中所述高速缓存存储器包括组相关联高 速缓存存储器,且其中所述分割控制电路为所述组相关联高速缓存存储器的每一组包 括一对第一及第二写入指针,从而启动所述分割控制电路来管理每一组中的较高及较 低优先级分割。
全文摘要
一种管理高速缓存器分割的方法,所述方法提供用于较高优先级写入的第一指针及用于较低优先级写入的第二指针,并使用所述第一指针来对所述较低优先级写入定界。例如,锁定写入比未锁定写入具有更高的优先级,且第一指针可用于锁定写入,且第二指针可用于未锁定写入。响应于进行锁定写入使所述第一指针前进,且其前进因此界定锁定区域及未锁定区域。响应于进行未锁定写入使所述第二指针前进。视需要还使所述第二指针前进(或后退)以防止其指向已经由所述第一指针遍历的位置。因此,所述第一指针对所述未锁定区域定界并允许所述锁定区域在牺牲所述未锁定区域的情况下增长。
文档编号G06F12/12GK101310260SQ200680042481
公开日2008年11月19日 申请日期2006年9月21日 优先权日2005年9月21日
发明者布赖恩·迈克尔·斯坦普尔, 托马斯·安德鲁·萨托里乌斯, 杰弗里·托德·布里奇斯, 维克托·罗伯茨·奥格斯堡, 罗伯特·道格拉斯·克兰西, 罗德尼·韦恩·史密斯, 詹姆斯·诺里斯·迪芬德尔费尔 申请人:高通股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1