防止参考数据填充缓冲器的高时间局部性的移位的制作方法

文档序号:6532736阅读:154来源:国知局
防止参考数据填充缓冲器的高时间局部性的移位的制作方法
【专利摘要】本发明涉及存取具有参考的高时间局部性的存储器内容。本发明的实施例将所述内容存储在数据缓冲器中,确定所述数据缓冲器的所述内容具有参考的高时间局部性,且针对以所述内容而非存储所述内容的高速缓冲存储器为目标的每一操作存取所述数据缓冲器。
【专利说明】防止参考数据填充缓冲器的高时间局部性的移位
[0001] 本专利申请案主张2012年1月23日申请的标题为"防止参考数据填充缓冲器 的高时间局部性的移位(PREVENTING THE DISPLACEMENT OF HIGH TEMPORAL LOCALITY 0F REFERENCE DATA FILL BUFFERS) "的第61/589, 577号临时申请案的优先权,所述临时申请案 指派给本受让人且以引用的方式明确地并入本文中。

【技术领域】
[0002] 本发明涉及微处理器的功率管理,且更特定来说涉及防止参考数据填充缓冲器的 高时间局部性的移位。

【背景技术】
[0003] 在微处理器的情境内执行加载和存储期间,出现在增高的频率下对存储器的相对 小窗口进行写入和读取的数据样式。认为此存储器区具有参考的高时间局部性。一个实例 是软件堆栈-随着程序被调用和返回,堆栈被恒定地推送和拉取。
[0004] 具有参考的高时间局部性的存储器区需要比具有参考的较低时间局部性的区更 多功率,因为存储器的这些区通常标记为在页表中可高速缓存,且因此,每当对大高速缓冲 存储器结构进行写入时到堆栈的每次推送可导致显著功率汲取。此外,保持高速缓冲存储 器填充缓冲器被分配用于不具有参考的高时间局部性的存储器区是不利的,因为填充缓冲 器可用性通常转变为对于存储单元的处理量。另外,如果填充缓冲器的生命周期不加以管 理,那么多个填充缓冲器针对同一存储器区的分配和解除分配将随时间引发进一步功率问 题。
[0005] 这在例如移动装置的微处理器等功率关键空间的情境中成问题。微处理器的功率 分布随着对于移动装置中较长电池寿命的需求增加而变得愈加关键。


【发明内容】

[0006] 本发明涉及存取具有参考的高时间局部性的存储器内容。本发明的实施例将内容 存储在数据缓冲器中,确定数据缓冲器的内容具有参考的高时间局部性,且针对以所述内 容而非存储所述内容的高速缓冲存储器为目标的每一操作存取数据缓冲器。

【专利附图】

【附图说明】
[0007] 呈现附图来辅助对本发明的实施例的描述,且仅出于说明而非限制所述实施例的 目的来提供附图。
[0008] 图1说明根据本发明的至少一个实施例的示范性用户设备(UE)。
[0009] 图2说明根据本发明的至少一个实施例的示范性处理器的简化框图。
[0010] 图3说明根据本发明的至少一个实施例的示范性存储器结构的简化框图。
[0011] 图4说明根据本发明的至少一个实施例的示范性流程图。

【具体实施方式】
[0012] 在以下针对本发明特定实施例的描述和有关图式中揭示本发明的若干方面。可在 不脱离本发明的范围的情况下设计替代实施例。此外,将不会详细描述本发明的众所周知 的元件,或将省略所述元件,以免混淆本发明的相关细节。
[0013] 本文使用词语"示范性"表示"充当实例、例子或说明"。本文中被描述为"示范性 的"任何实施例不必理解为比其它实施例优选或有利。同样,术语"本发明的实施例"并非 要求本发明的所有实施例包含所论述的特征、优点或操作模式。
[0014] 在本文的描述中,术语"写入"与"存储"操作同义使用,如此项技术中已知。同样, 术语"读取"与"加载"同义使用。此外,在描述中,可参考关于"高速缓冲存储器块"的读取 /写入操作,所述"高速缓冲存储器块"可指代小于整个高速缓冲存储器线的粒度的粒度。 然而,将了解,此类参考仅出于说明性目的且不应解释为限制实施例的范围。举例来说,所 揭示的技术可容易地视需要扩展到任何其它粒度上的操作,例如高速缓冲存储器字、高速 缓冲存储器线等。此外,还将了解,所参考高速缓冲存储器块可包括数据或指令,尽管描述 可依据单单数据的写入/读取操作而提供。另外,对存储器层级的较低层的参考可包含超 出可与处理器或处理元件相关联的局部或第一层(L1)高速缓冲存储器的后援存储元件。 举例来说,对本文的较低层存储器层级的参考可指代第二层(L2)高速缓冲存储器、主存储 器,以及可存在于L2高速缓冲存储器与主存储器之间的存储器结构的一个或一个以上层。
[0015] 本文中所使用的术语仅出于描述特定实施例的目的且并不希望限制本发明的实 施例。如本文中所使用,单数形式"一"和"所述"也既定包含复数形式,除非上下文另有明 确指示。将进一步了解,术语"包括"和/或"包含"在本文使用时指定所陈述特征、整数、 步骤、操作、元件和/或组件的存在,但不排除存在或添加一个或一个以上其它特征、整数、 步骤、操作、元件、组件和/或其群组。
[0016] 此外,依据将由(例如)计算装置的元件执行的动作序列来描述许多实施例。将 认识到,可由特定电路(例如,专用集成电路(ASIC))、由正由一个或一个以上处理器执行 的程序指令或由两者的组合来执行本文中描述的各种动作。此外,可认为本文中描述的这 些动作序列完全体现于任何形式的计算机可读存储媒体内,所述计算机可读存储媒体中已 存储对应计算机指令集,所述指令在被执行时将致使相关联的处理器执行本文中描述的功 能性。因此,本发明的各种方面可以许多不同形式来体现,所有所述形式均预期在所主张的 标的物的范围内。此外,对于本文中描述的实施例的每一者来说,任何此类实施例的对应形 式可在本文中被描述为(例如)"经配置以(执行所描述动作)的逻辑"。
[0017] 将了解,经配置逻辑或"经配置以…的逻辑"不限于特定逻辑门或元件,而是通常 指代执行本文描述的功能性的能力(经由硬件或硬件与软件的组合)。因此,经配置逻辑或 "经配置以…的逻辑"不一定实施为逻辑门或逻辑元件,尽管共享词语"逻辑"。所属领域的 一般技术人员通过审查下文更详细描述的实施例将清楚各个块中的逻辑之间的其它交互 或协作。
[0018] 参看图1,例如蜂窝式电话等UE100 (此处为无线装置)具有平台102,其可接收并 执行从无线电接入网络(RAN)发射的软件应用、数据和/或命令,所述软件应用、数据和/ 或命令可最终来自核心网络、因特网和/或其它远程服务器和网络。平台102可包含可操 作地耦合到"ASIC" 108或其它处理器、微处理器、逻辑电路或其它数据处理装置的收发器 106。ASIC108或其它处理器执行与无线装置的存储器112中的任何驻留程序介接的应用编 程接口("API")110层。存储器112可包括只读存储器或随机存取存储器(RAM和ROM)、 EEPR0M、快闪卡或通用于计算机平台的任何存储器。平台102还可包含本地数据库114,本 地数据库112可将未有效使用的应用程序保持在存储器112中。本地数据库114通常为快 闪存储器单元,但可为如此项技术中已知的任何二级存储装置,例如,磁性媒体、EEPR0M、光 学媒体、磁带、软盘或硬盘,或类似物。如此项技术中已知,内部平台102的组件还可操作地 耦合到例如天线122、显示器124、即按即说按钮128和小键盘126及其它组件等外部装置。
[0019] 因此,本发明的实施例可包含包括执行本文描述的功能的能力的UE。如所属领域 的技术人员将了解,各种逻辑元件可以离散元件、执行于处理器上的软件模块或软件与硬 件的任何组合实施,以实现本文中所揭示的功能性。举例来说,可以协作方式使用ASIC108、 存储器112、API110和本地数据库114的全部来加载、存储并执行本文中所揭示的各种功 能,且因此可将用于执行这些功能的逻辑分布于各种元件上。或者,可将功能性并入到一个 离散组件中。因此,图1中UE100的特征应仅视为说明性的且本发明不限于所说明的特征 或布置。
[0020] UE100与RAN之间的无线通信可基于不同技术,例如码分多址(CDMA),、W-CDMA、时 分多址(TDMA)、频分多址(FDMA)、正交频分多工(OFDM)、全球移动通信系统(GSM)、3GPP长 期演进(LTE)或可在无线通信网络或数据通信网络中使用的其它协议。因此,本文中所提 供的说明不希望限制本发明的实施例且仅辅助描述本发明的实施例的各方面。
[0021] 图2描绘例如ASIC108等处理器10的简化功能框图。处理器10根据控制逻辑14 在指令执行管线12中执行指令。控制逻辑14维持程序计数器(PC) 15,并设定或清除一个 或一个以上状态寄存器16中的位以指示(例如)当前指令集操作模式、关于算术运算和逻 辑比较的结果(零、进位、相等、不相等)的信息等。在一些实施例中,管线12可以是具有 多个并行管线的超标量设计。管线12也可称为执行单元。通用寄存器(GPR)堆24提供可 由管线12存取且包括存储器层级的顶部的寄存器。
[0022] 在不同的指令集操作模式下执行来自至少两个指令集的指令的处理器10额外包 含调试电路18,其操作以在执行每一指令后将至少一预定目标指令集操作模式与当前指令 集操作模式进行比较,并提供两者之间匹配的指示。下文更详细描述调试电路18。
[0023] 管线12从指令高速缓冲存储器(I-高速缓冲存储器)26提取指令,其中存储器地 址转译和许可由指令侧转译后备缓冲器(ITLB) 28管理。从数据高速缓冲存储器(D-高速 缓冲存储器)30存取数据,其中存储器地址转译和许可由主转译后备缓冲器(TLB) 32管理。 在各种实施例中,ITLB28可包括TLB32的一部分的副本。或者,ITLB28与TLB32可集成。 类似地,在处理器10的各种实施例中,可集成I-高速缓冲存储器26与D-高速缓冲存储器 30,或使其成为一体。此外,I-高速缓冲存储器26和D-高速缓冲存储器30可为L1高速 缓冲存储器。I-高速缓冲存储器26和/或D-高速缓冲存储器30中的未中(miss)引起 通过存储器接口 34存取主(芯片外)存储器38、40。存储器接口 34可以是对总线互连42 的主控输入(master input),所述总线互连42实施到一个或一个以上存储器装置38、40的 共享总线。额外主控装置(未图示)可额外连接到总线互连42。
[0024] 处理器10可包含输入/输出(I/O)接口 44,其可以是外围总线上的主控装置,1/ 0接口 44可跨所述外围总线存取各种外围装置48、50。所属领域的技术人员将认识到,处 理器10的许多变化是可能的。举例来说,处理器10可包含用于I-高速缓冲存储器26和 D-高速缓冲存储器30中的任一者或其两者的第二层(L2)高速缓冲存储器。另外,处理器 10中描绘的功能块中的一者或一者以上可从特定实施例中省略。可驻留在处理器10中的 其它功能块(例如,JTAG控制器、指令预解码器、分支目标地址高速缓冲存储器等)与本发 明的描述没有密切关系,且为了清楚起见而将其省略。
[0025] 在微处理器的情境内执行加载和存储期间,出现在增高的频率下对存储器的相对 小窗口进行写入和读取的数据样式。据说此存储器区具有参考的高时间局部性。一个实例 是软件堆栈-随着程序被调用和返回,堆栈被恒定地推送和拉取。
[0026] 具有参考的高时间局部性的存储器区对核心的功率利用提出挑战。此挑战存在, 因为存储器的这些区通常标记为在页表中可高速缓存,且因此,每当对大高速缓冲存储器 结构进行写入时到堆栈的每次推送可导致显著功率汲取。使问题变复杂的是,保持高速缓 冲存储器填充缓冲器被分配用于不具有参考的高时间局部性的存储器区尤其不利,因为填 充缓冲器可用性通常转变为对于存储单元的处理量。另外,如果不对填充缓冲器的生命周 期加以管理,那么多个填充缓冲器针对同一存储器区的分配和解除分配将随时间引发进一 步功率问题。
[0027] 这在例如移动装置的微处理器等功率关键空间的情境中成问题。微处理器的功率 分布随着对于移动装置中较长电池寿命的需求增加而变得愈加关键。
[0028] 本发明的一实施例通过检测具有参考的高时间局部性的存储器区,防止针对以所 述区为目标的每一存储操作对高速缓冲存储器进行写入,且防止缓冲器针对同一存储器区 的恒定分配和解除分配,而解决这些和其它问题。本发明的一实施例向填充缓冲器而非高 速缓冲存储器进行写入。通过仅向填充缓冲器进行写入,节省与存取大高速缓冲存储器结 构相关联的功率。通过还阻止填充缓冲器撤退,防止新填充缓冲器针对同一存储器区的分 配和解除分配。同时,每循环指令(IPC)不减少,因为填充缓冲器数据保持对于负载可存取 使得负载使用不利后果不改变。另外,填充缓冲器保持大部分可用于不具有参考的高时间 局部性的存取,因为标记为具有高时间局部性的存取通过观察堆栈指针事件和/或跟踪填 充缓冲器被存取的频率而管理其自身撤退。
[0029] 图3说明根据本发明的实施例的示范性存储器结构300的简化框图。存储器结 构300含有第一层(L1)高速缓冲存储器305和第二层(L2)高速缓冲存储器和/或其它较 高层存储器310。存储器结构300还含有数据缓冲器0到N(展示为缓冲器320a、b和η)。 可存在数据缓冲器320b与数据缓冲器320η之间的任何数目的数据缓冲器,如点线所指示。 每一数据缓冲器320a、b和η包含分别时间检测器字段322a、b和η,和/或分别堆栈旗标 字段324a、b和η。数据可从第一层(L1)高速缓冲存储器305写入到例如数据缓冲器320a 或从例如数据缓冲器320a写入到第一层(L1)高速缓冲存储器305。同样,数据可从高速缓 冲存储器/存储器310写入到例如数据缓冲器320a或从例如数据缓冲器320a写入到高速 缓冲存储器/存储器310。数据可写入到任何可用数据缓冲器0-N或从任何可用数据缓冲 器0-N写入,且数据不需要从高速缓冲存储器305和/或高速缓冲存储器/存储器310写 入到同一数据缓冲器或从同一数据缓冲器写入到高速缓冲存储器305和/或高速缓冲存储 器/存储器310。
[0030] 本发明的实施例辨识与具有参考的高时间局部性的存储器区相关联的加载和存 储操作,且将其与不同具有参考的高时间局部性的存储器区相关联的加载和存储操作区 分。本发明的实施例根据其参考的时间局部性管理相关联数据高速缓冲存储器填充缓冲 器。
[0031] 举例来说,用于确定参考的高时间局部性的技术是辨识何时操作与堆栈相关联。 在先进RISC(精简指令集计算机)机器(ARM)架构中,堆栈指针保持在通用寄存器堆的寄 存器14(R14)中,且因此本发明的实施例检测何时R14用作用于加载和存储(例如,到填充 缓冲器的加载和存储)的基本寄存器。此识别作为操作的属性呈现给存储单元。存储单元 通过例如在填充缓冲器的字段中设定旗标(例如,图3的堆栈旗标字段324a、b或η)而将 数据高速缓冲存储器填充缓冲器设定旗标为具有高时间局部性。执行到填充缓冲器但并非 高速缓冲存储器的存储,而不管存储器是否驻留在高速缓冲存储器中。为考虑高速缓冲存 储器中的陈旧数据,必须使填充缓冲器与高速缓冲存储器本身一样可存取以便维持来自堆 栈的加载的性能。除了不向高速缓冲存储器写入外,还延长填充缓冲器的生命周期使得针 对此存储器区的填充缓冲器不持续分配和解除分配。数据填充缓冲器接着检测致使堆栈指 针改变的系统事件(除推送/弹出以外的事件),通过移除其高时间局部性状态而相应地作 出反应,且像正常填充缓冲器一样撤退。
[0032] 用于识别具有参考的高时间局部性的存储器区的另一技术(其可或不可结合上 文描述的技术使用)是供每一填充缓冲器监视其被存储或加载的频率以及将以增加的频 率存取的填充缓冲器标记为具有参考的高时间局部性。填充缓冲器将接着继续跟踪其被存 取的频率,且随着与所述填充缓冲器相关联的活动减弱而移除其高时间局部性状态。
[0033] 举例来说,填充缓冲器可跟踪其以存储在填充缓冲器的字段(例如,图3的时间检 测器字段322a、b或η)中的计数器存取的频率。当填充缓冲器经分配时,其计数器可初始 设定为10。如果填充缓冲器在示范性1〇〇个时钟循环内未存取,那么计数器将递减到9。如 果填充缓冲器在接下来100个循环内未存取,那么计数器将递减到8,等等。另一方面,如果 填充缓冲器在100个循环内至少被存取一次,那么计数器将递增到11。同样,如果填充缓冲 器在接下来100个循环内至少被存取一次,那么计数器将递增到12,等等。如此,具有高于 10的计数器值的任何填充缓冲器将被视为具有参考的高时间局部性,且在其原本将被解除 分配时将不解除分配。另一方面,具有低于10的计数器值的任何填充缓冲器将被视为不具 有参考的高时间局部性,且如其通常将会解除分配那样将被解除分配。
[0034] 显然,将计数器的初始值设定为10且将时钟循环的数目设定为100仅为示范性 的。存在任何数目的其它可能性,且其可取决于实施本发明的实施例的特定处理器。即,这 些边界可对于不同处理器为不同的,且还可随时间调整以优化处理器的功率管理。举例来 说,如果初始边界不提供足够功率管理,那么计数器和/或循环的数目可减小以防止具有 参考的高时间局部性的填充缓冲器太快被解除分配。即,如果计数器和/或循环的数目设 定得太高,那么性能可减小,因为填充缓冲器中没有一者将被视为具有参考的高时间局部 性。
[0035] 因为计数器和循环阈值可需要改变,所以其应为可配置的值。即,值应存储在一个 或一个以上寄存器中且可由软件配置。以此方式,填充缓冲器可通过将其计数器和时钟循 环的数目与存储计数器和/或时钟循环边界的寄存器比较而确定其是否具有参考的高时 间局部性。
[0036] 图4说明根据本发明的至少一个实施例的示范性流程图400。在410处,数据填 充缓冲器为闲置的,即未分配。在420处,数据缓冲器经分配且用数据填充。此分配可包含 初始化如上文描述的时间检测器计数器。在430处,确定填充缓冲器的内容是否具有参考 的高时间局部性。如上文描述,此可包含确定计数器的值是否高于特定阈值和/或寄存器 R14是否正用作用于对填充缓冲器的加载或存储的基本寄存器。如果在430中确定填充缓 冲器的内容不具有参考的高时间局部性,那么在450处,将缓冲器的内容写入到高速缓冲 存储器(例如,高速缓冲存储器305)。在460处,将填充缓冲器解除分配且返回到410处的 闲置状态。
[0037] 如果在430中确定填充缓冲器的内容确实具有参考的高时间局部性,那么填充缓 冲器随后不解除分配,而是改为在440处等待对其参考的时间局部性的任何改变。这将包 含例如递减计数器的值,因为其将指示参考的时间局部性的可能改变。随后,当计数器归因 于例如缺乏缓冲器的使用或堆栈指针改变而递减时,填充缓冲器再次在430处确定其内容 是否具有参考的高时间局部性,接着视需要进行到440或450。
[0038] 如430和440的回路所展示,相同数据可存储在所分配填充缓冲器中持续若干循 环。这是原本将写入到高速缓冲存储器的数据且填充缓冲器解除分配,如450和460中。 艮P,如果420中分配的数据具有如430中确定的参考的高时间局部性,那么其将保持在填充 缓冲器中直到其不再具有参考的高时间局部性为止(440)。以此方式,频繁存取的数据的任 何加载或存储将从填充缓冲器而非高速缓冲存储器存取。
[0039] 所属领域的技术人员将了解,可使用多种不同技术和技法中的任一者来表示信息 和信号。举例来说,可由电压、电流、电磁波、磁场或磁粒子、光场或光粒子或其任何组合来 表示在整个以上描述中所参考的数据、指令、命令、信息、信号、位、符号和码片。
[0040] 此外,所属领域的技术人员将了解,结合本文所揭示的实施例而描述的各种说明 性逻辑块、模块、电路和算法步骤可实施为电子硬件、计算机软件或两者的组合。为清楚说 明硬件与软件的此互换性,上文已大致关于其功能性而描述了各种说明性组件、块、模块、 电路和步骤。此功能性实施为硬件还是软件取决于特定应用和强加于整个系统的设计约 束。熟练的技术人员可针对每一特定应用以不同方式来实施所描述的功能性,但此类实施 决策不应被解释为会导致脱离本发明的范围。
[0041] 结合本文所揭示的实施例而描述的方法、序列和/或算法可直接以硬件、以由处 理器执行的软件模块或以两者的组合体现。软件模块可驻留在RAM存储器、快闪存储器、 ROM存储器、EPROM存储器、EEPR0M存储器、寄存器、硬盘、可装卸盘、⑶-R0M,或此项技术中 已知的任一其它形式的存储媒体中。示范性存储媒体耦合到处理器,使得处理器可从存储 媒体读取信息并将信息写入到存储媒体。在替代方案中,存储媒体可与处理器成一体式。 [0042] 因此,本发明的实施例可包含体现用于防止高时间局部性填充缓冲器的移位的方 法的计算机可读媒体。因此,本发明并不限于所说明的实例且用于执行本文中所描述的功 能性的任何装置均包含在本发明的实施例中。
[〇〇43] 虽然前面的揭示内容展示本发明的说明性实施例,但应注意,可在不脱离如所附 权利要求书界定的本发明的范围的情况下,在其中做出各种改变和修改。无需以任何特 定次序来执行根据本文中描述的本发明的实施例的方法权利要求项的功能、步骤和/或动 作。此外,尽管可以单数形式描述或主张本发明的元件,但除非明确陈述限于单数形式,否 则也预期复数形式。
【权利要求】
1. 一种存取具有参考的高时间局部性的存储器内容的方法,其包括: 将所述内容存储在数据缓冲器中; 确定所述数据缓冲器的所述内容具有参考的高时间局部性;以及 针对以所述内容而非存储所述内容的高速缓冲存储器为目标的每一操作存取所述数 据缓冲器。
2. 根据权利要求1所述的方法,其中所述确定步骤包括: 初始化所述数据缓冲器中的计数器; 当所述数据缓冲器在预定数目的时钟循环内被存取时递增所述计数器; 当所述数据缓冲器在所述预定数目的时钟循环内未被存取时递减所述计数器;以及 当所述计数器高于阈值时确定所述数据缓冲器的所述内容具有参考的高时间局部性。
3. 根据权利要求2所述的方法,其进一步包括: 当所述计数器高于所述阈值时防止对所述数据缓冲器解除分配;以及 当所述计数器下降到所述阈值以下时,将所述内容存储在所述高速缓冲存储器中并解 除分配所述数据缓冲器。
4. 根据权利要求1所述的方法,其中所述确定步骤包括: 确定含有堆栈指针的寄存器被用于所述存储;以及 在填充缓冲器中设定旗标以指示所述填充缓冲器具有参考的高时间局部性。
5. 根据权利要求4所述的方法,其进一步包括: 当所述旗标指示所述填充缓冲器具有参考的高时间局部性时防止所述对所述数据缓 冲器解除分配。
6. 根据权利要求4所述的方法,其进一步包括: 当所述堆栈指针改变时,移除指示参考的所述高时间局部性的所述旗标。
7. 根据权利要求6所述的方法,其进一步包括: 当移除所述旗标时,将所述内容存储在所述高速缓冲存储器中并解除分配所述数据缓 冲器。
8. -种用于存取具有参考的高时间局部性的存储器内容的设备,其包括: 经配置以将所述内容存储在数据缓冲器中的逻辑; 经配置以确定所述数据缓冲器的所述内容具有参考的高时间局部性的逻辑;以及 经配置以针对以所述内容而非存储所述内容的高速缓冲存储器为目标的每一操作存 取所述数据缓冲器的逻辑。
9. 根据权利要求8所述的设备,其中所述经配置以确定的逻辑包括: 经配置以初始化所述数据缓冲器中的计数器的逻辑; 经配置以当所述数据缓冲器在预定数目的时钟循环内被存取时递增所述计数器的逻 辑; 经配置以当所述数据缓冲器在所述预定数目的时钟循环内未被存取时递减所述计数 器的逻辑;以及 经配置以当所述计数器高于阈值时确定所述数据缓冲器的所述内容具有参考的高时 间局部性的逻辑。
10. 根据权利要求9所述的设备,其进一步包括: 经配置以当所述计数器高于所述阈值时防止对所述数据缓冲器解除分配的逻辑;以及 经配置以当所述计数器下降到所述阈值以下时将所述内容存储在所述高速缓冲存储 器中并解除分配所述数据缓冲器的逻辑。
11. 根据权利要求8所述的设备,其中所述经配置以确定的逻辑包括: 经配置以确定含有堆栈指针的寄存器被用于所述存储的逻辑;以及 经配置以在填充缓冲器中设定旗标以指示所述填充缓冲器具有参考的高时间局部性 的逻辑。
12. 根据权利要求11所述的设备,其进一步包括: 经配置以当所述旗标指示所述填充缓冲器具有参考的高时间局部性时防止所述对所 述数据缓冲器解除分配的逻辑。
13. 根据权利要求11所述的设备,其进一步包括: 经配置以当所述堆栈指针改变时移除指示参考的所述高时间局部性的所述旗标的逻 辑。
14. 根据权利要求13所述的设备,其进一步包括: 经配置以当移除所述旗标时将所述内容存储在所述高速缓冲存储器中并解除分配所 述数据缓冲器的逻辑。
15. -种用于存取具有参考的高时间局部性的存储器内容的设备,其包括: 用于将所述内容存储在数据缓冲器中的装置; 用于确定所述数据缓冲器的所述内容具有参考的高时间局部性的装置;以及 用于针对以所述内容而非存储所述内容的高速缓冲存储器为目标的每一操作存取所 述数据缓冲器的装置。
16. -种用于存取具有参考的高时间局部性的存储器内容的非暂时性计算机可读媒 体,其包括: 用于将所述内容存储在数据缓冲器中的至少一个指令; 用于确定所述数据缓冲器的所述内容具有参考的高时间局部性的至少一个指令;以及 用于针对以所述内容而非存储所述内容的高速缓冲存储器为目标的每一操作存取所 述数据缓冲器的至少一个指令。
【文档编号】G06F12/08GK104067244SQ201380006129
【公开日】2014年9月24日 申请日期:2013年1月23日 优先权日:2012年1月23日
【发明者】罗伯特·D·克兰西, 托马斯·菲利普·施派尔, 詹姆斯·诺里斯·迪芬德尔费尔 申请人:高通股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1