无来自正常分配的干扰情况下的高速缓存器锁定制造技术

技术编号:2819395 阅读:215 留言:0更新日期:2012-04-11 18:40
定义一种用于处理器的区块正常高速缓存器分配(BNCA)模式。在BNCA模式中,高速缓存器条目仅可通过预定指令来分配。正常存储器存取指令(例如,作为中断码的一部分)可执行且将在发生高速缓存器未命中的情况下从主存储器检索数据;然而,不允许这些指令分配所述高速缓存器中的条目。仅预定指令(例如,那些用来建立被锁定高速缓存器条目的指令)可分配所述高速缓存器中的条目。当建立了所述被锁定条目时,所述处理器退出BNCA模式,且任一存储器存取指令可分配高速缓存器条目。可通过在配置寄存器中设定位来指示BNCA模式。

【技术实现步骤摘要】
【国外来华专利技术】
本专利技术通常涉及处理器领域且更明确地说,涉及一种无来自正常分配的干扰情况 下的高速缓存器锁定的方法。#狄*微处理器可在各种各样的应用(包含便携式电子装置)中执行计算任务。需要最 大化处理器性能以便可准许在便携式电子装置及其它应用中实施额外功能及特征。由于计算机程序中常见的空间及时间局部性特性,因此将在任一给定时间处理的指令及数据极可能在不久的将来就需要,且可保持在高速度的高速缓冲存储器中,其 中可快速地得到所述指令及数据。存储器存取指令向高速缓存器中的CAM结构呈现 (虚拟或物理)地址的一部分(称为旗标),其中将所述旗标与高速缓存器的RAM 中所存储的指令及/或数据的对应地址位作比较(本文中将CAM与RAM内容一起称 为高速缓存器条目)。如果所述旗标匹配或"命中",那么返回含有所需指令及/或数 据的高速缓存器线(或,在组相关联高速缓存器的情况下,返回多个高速缓存器线,且 通过称为索引的所述地址的不同部分来选择一个高速缓存器线)。如果所述旗标不匹配 任一 CAM条目,那么其"未命中"且所述存储器存取指令继续以从主存储器存取所 需的指令或数据。通常需要的是最大化总髙速缓存器命中率,因此最小化对主存储器的芯片外存 取,此可招致等待时间、使管线停止及消耗额外过滤。另外,在某些应用中,少数重 要且经常使用的指令可能是已知的,且此信息可能维持在高速缓存器中,而不管高速 缓存器的整体性能如何。某些指令组架构提供"锁定"高速缓存器条目的装置,以使 得条目在正常高速缓存器未命中处理期间不被替换。在某些情况下,对待锁定高速缓 存器条目的选择是明确的及精确的,以便最小化被锁定条目对正常高速缓存器分配算 法的影响。图1是描绘锁定高速缓存器条目的一个代表性装置的功能框图。高速缓存器l(其 包括指令高速缓存器、数据高速缓存器或统一高速缓存器)包含编号为0到n-l的n 个条目。基底寄存器2保存表示高速缓存器的"基底"的条目数目或可用于正常分配 的最低高速缓存器条目。在所述基底以下的高速缓存器条目不可用于替换且因此不能 "被锁定"。如果没有条目被锁定,那么基底寄存器含有一 0,且高速缓存器替换算 法在整个高速缓存器中操作。如图1中所描绘,如果底部的三个条目被锁定,处理器 将基底寄存器递增到三,第一高速缓存器条目可用于再分配。在此情况下,正常高速 缓存器再分配算法在高速缓存器从"基底"或三到高速缓存器的顶部n-l的部分中操作。将一个地方中的被锁定高速缓存器条目分成组会简化替换算法。例如,如果在轮 转基础上替换高速缓存器条目,那么仅"转滚"点会受到被锁定条目的影响(即,当递增越过n-l时,下一条目是由基底寄存器2而非0指向的条目)。不存在轮转分配必须 "跳过"的分散在高速缓存器空间上的非邻接的被锁定条目。应注意,分组及锁定高 速缓存器条目的基底方法仅是代表性的而不是限制性的。可将高速缓存器条目聚集在 一起且锁定以防止根据各种方法再分配。中断通常是由处理器外部的事件所产生且可以是性质不确定的。因此,中断可出 现在尝试精心布置被锁定高速缓存器条目的码执行期间。中断处置码可包含在高速缓 存器中可能未命中的存储器存取指令,从而导致对主存储器的存取。这些存储器存起 将在高速缓存器中产生正常的分配。目卩,被提取用来服务中断的指令及数据将替换某 些高速缓存器线。如果中断出现在被锁定高速缓存器条目处理已开始之后,但在建立 及布置所述被锁定条目之前,那么可再分配要锁定的高速缓存器条目。另外,可在打 算用于被锁定条目的区域(例如基底寄存器下面的地方)中分配未被锁定的高速缓存 器条目。此可产生非邻接被锁定条目,从而显著地增加某些高速缓存器替换算法(例 如,轮转)的负担。
技术实现思路
在一个或一个以上实施例中,定义区块正常高速缓存器分配(BNCA)模式。当处 理器进入BNCA模式时,高速缓存器条目仅可通过预定指令来分配。正常存储器存取 指令(例如,作为中断码的一部分)可执行且将在高速缓存器未命中的情况下从主存储 器检索数据;然而,不允许这些指令分配所述高速缓存器中的条目。仅预定指令(例如, 那些用来建立被锁定高速缓存器条目的指令)可分配所述高速缓存器中的条目。当建立 了所述被锁定条目时,所述处理器退出BNCA模式,且任一存储器存取指令可分配高 速缓存器条目。可通过在配置寄存器中设定一位来指示BNCA模式。一个实施例涉及一种限制高速缓存器中的分配的方法。在限制模式中,仅允许一 预定组的指令来分配高速缓存器条目。在非限制模式中,允许任一存储器存取指令来 分配高速缓存器条目。另一实施例涉及一种管理高速缓存器的方法。进入其中仅预定指令可分配高速缓 存器条目的限制模式。使用所述预定指令来分配高速缓存器条目。退出所述限制模式 且针对任一存储器存取指令分配高速缓存器条目。又一实施例涉及一种处理器。所述处理器包含高速缓冲存储器及配置寄存器,所 述配置寄存器具有区块正常高速缓存器分配(BNCA)位。所述处理器另外包含高速缓存器控制器,其操作以通过存储器存取指令来控制所述高速缓存器中的条目的所述分配,且进一步操作以在设定所述BNCA位时除一预定组的指令外不允许所述分配。 附图说明图1是高速缓冲存储器及基底寄存器的功能框图。图2是处理器的功能框图。图3是锁定高速缓存器条目的方法的流程图。具体实施例方式图2描绘代表性处理器10的功能框图,其采用管线式架构及分层存储器结构两 者。处理器10根据控制逻辑14执行指令执行管线12中的指令。控制逻辑14中包含 以下将更详细描述的配置寄存器15,其包含区块正常高速缓存器分配(BNCA)位16。 所述管线包含组织成管线级的各种寄存器或锁存器17,以及一个或一个以上算术逻辑 单元(ALU) 18。通用寄存器(GPR)堆20提供构成存储器分层的顶部的寄存器。管线从指令高速缓存器(I高速缓存器)22提取指令,其中存储器寻址及许可是 由指令侧转换后援缓冲器(ITLB) 24来进行管理。数据是从数据高速缓存器(D高速 缓存器)26存取,其中存储器寻址及许可是由主转换后援缓冲器(TLB) 28来进行管 理。在各种实施例中,ITLB24可包括TLB 28的一部分的副本。另一选择是,可将ITLB 24与TLB28集成在一起。类似地,在处理器10的各种实施例中,可将I高速缓存器 22和D高速缓存器26相集成或联合在一起。在存储器接口 30的控制下,I高速缓存 器22及/或D高速缓存器26中的未命中导致对主(芯片外)存储器32的存取。处理器10可包含输入/输出(I/O)接口34,其控制对各个外围装置36的存取。 所属领域的技术人员将认识到,可以对处理器IO作出多种变化。例如,处理器10可 包含用于I与D高速缓存器22、 26中的任一者或二者的第二层级(L2)高速缓存器。 另外,可将处理器10中所描绘的一个或一个以上功能块从特定实施例中省去。包含存储器存取指令的常见指令组架构仅分配高速缓存器条目而不将指令或数 据读取到管线中。例如,PLD(预加载)指令读取主存储器中的地址。如果PLD在相关 高速缓存器中未命中,那么将来自存储器的数据读取并加载到高速缓存器中,以替换 现有的高速缓存器条目。PLD指令可由程序用来恭敬地将某些重要指令及/或数据预加 载到I高本文档来自技高网
...

【技术保护点】
一种限制高速缓存器中的分配的方法,其包括: 在限制模式中,仅允许一预定组的指令来分配高速缓存器条目;及 在非限制模式中,允许任一存储器存取指令来分配高速缓存器条目。

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

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

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

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