管理锁定的高速缓冲存储器中的组替换的系统和方法技术方案

技术编号:2836945 阅读:205 留言:0更新日期:2012-04-11 18:40
一种管理锁定的高速缓冲存储器中的组替换的计算机实现方法、设备、以及计算机可用程序代码。响应于程序对高速缓冲存储器的访问,识别基叶所指向的二叉树一侧。确定对识别出的二叉树一侧的访问数量是否等于在该识别出的一侧上与该程序相关联的组数量。如果对识别出的一侧的访问数量等于在识别出的一侧上与该程序相关联的组数量,则使基叶变为指向二叉树的相反一侧。

【技术实现步骤摘要】

本申请一般地涉及一种改良的数据处理系统,以及特别地涉及一种处理数据的方法和设备。更特别地,本专利技术涉及一种管理高速缓冲存储器中的数据的计算机实现方法、设备、以及计算机可用程序代码。
技术介绍
高速缓冲存储器是用于存储数据的存储器的一部分,这些数据比那些在需要更长时间才能访问的存储位置中的数据用得更频繁。处理器典型地使用高速缓冲存储器减少访问存储器所需要的平均时间。当处理器想要对主存储器中的一个位置进行读或写时,处理器首先查看该存储器位置是否处在高速缓冲存储器中。如果处理器发现该存储器位置处在高速缓冲存储器中,则发生高速缓冲存储器命中。否则,出现高速缓冲存储器失误。作为高速缓冲存储器失误的结果,处理器立即对该高速缓存线中的数据进行读或写。高速缓存线是高速缓冲存储器中一个具有标签的位置,该标签包含对主存储器中数据的索引,其存储在该高速缓冲存储器中。这个高速缓存线也称为高速缓存块。处理器发展当前面临的一个设计问题是存储器的等待时间。在许多处理器设计中,从主存储器传送数据到执行单元所需要的循环时间可能超过400个循环。为了帮助解决这个问题,使用本地一级(L1)高速缓冲存储器和本地二级(L2)高速缓冲存储器。本地级别的高速缓冲存储器是用于帮助解决数据的时间定位和空间定位这两个普遍的体系结构问题的存储器的子集。当操作系统采用环境技术如多任务以及多线程时,引入了本地存储器争用和伪共享(false sharing)的问题。这些应用可能引起高速缓冲存储器抖动(thrash)。这种不确定的存储器再分配将降低诸如预取(prefetch)和逐出(castout)之类的数据定位技术的效率。可以将应用分成三种数据模式类型流式、锁定以及随机。流式数据是顺序访问的数据,其可能会被修改,并且然后决不再次引用。锁定数据是关联性特别强的数据,其可能被多次引用或在很长的空闲时间段后引用。通常通过一些随机算法、循环(round robin)算法或最近最少使用(LRU)算法处理分配和替换。软件可以检测其正在使用的数据模式的类型,并应当使用资源管理算法概念来帮助硬件最小化存储器等待时间。组关联高速缓冲存储器(set associative cache)中的由软件控制的组分配和替换方法将针对每种应用创建“虚拟的”操作空间。在一些情况下,软件能将8路组关联高速缓冲存储器划分为5路和3路的组合、6路和2路的组合、7路和1路的组合。将高速缓冲存储器结构划分为条目(如行)和路(如列)。每个条目可以具有多路。在一个8路组关联的高速缓冲存储器中,每个条目中有8路。因此,可以将数据存储在一个条目的8路中的1路中。一路也称为一组。随机数据模式描述随机数据访问。伪LRU(p-LRU)是一种近似替换策略,用于找到访问高速缓冲存储器同余类内的线的次序,以便在出现高速缓冲存储器失误时,只用新数据替换最近最少访问的线。对每次高速缓冲存储器访问,更新p-LRU以便最后访问的项目是现在最近最多使用的项目以及第二最近最少使用的数据现在变成最近最少使用的数据。实现完全的LRU是非常昂贵的。对一个N路组关联高速缓冲存储器,每同余类至少需要log2(N!)个位(例如,对一个4路的高速缓冲存储器,每同余类至少需要5个位)。普遍使用的折衷方法是伪LRU。传统上,以二叉树算法实现伪LRU,只使用N-1个位,或对一个8路组关联高速缓冲存储器使用7个位。每个位代表二叉树的一个内部节点,该二叉树的叶片代表N个组。伪LRU替换的目的是在性能上与完全LRU处理尽可能保持相近,同时节省需要的空间量。然而,在伪LRU处理以一种不平衡方式将8路组关联高速缓冲存储器划分为5路和3路的组合或6路和2路的组合的情况下,在连续高速缓冲存储器失误时,伪PRU处理相对于完全LRU只达到大约百分之四十的性能。另外,在结合了高速缓冲存储器失误和高速缓冲存储器命中的高速缓冲存储器访问中,当前处理只达到完全LRU处理性能的大约百分之四十。
技术实现思路
本专利技术提供了一种用于管理锁定的高速缓冲存储器中的组替换的计算机实现方法、设备、以及计算机可用程序代码。响应于程序对高速缓冲存储器的访问,识别基叶(base leaf)所指向的二叉树一侧。确定对识别出的二叉树一侧的访问次数是否等于在该识别出的一侧上与该程序相关联的组数量。如果对识别出的一侧的访问次数等于在该识别出的一侧上与该程序相关联的组数量,则使基叶变为指向二叉树的相反一侧。附图说明所附权利要求中给出了被认为可体现说明性实施例特点的新颖特征。然而,通过参考以下可结合附图阅读的对说明性实施例的具体描述,说明性实施例本身和优选使用模式以及其它目的和优势可以得到最好的理解,其中图1是其中可以实现说明性实施例的数据处理系统的框图;图2是说明根据说明性实施例的处理器系统的示图;图3是说明在根据说明性实施例管理高速缓冲存储器时所使用的组件的示图;图4是说明根据说明性实施例的二叉树的示图;图5是说明根据说明性实施例的用于高速缓冲存储器失误情况的等式的示图;图6是说明根据说明性实施例的用于高速缓冲存储器命中情况的等式的示图;图7是说明根据说明性实施例描绘LRU位定义的示图; 图8是说明根据说明性实施例的基于图5和图6中所述等式更新LRU位的示图;图9是说明根据说明性实施例的使用虚拟计数器来替换组的表格;图10是根据说明性实施例的管理LRU阵列的处理的流程图;以及图11是根据说明性实施例的用虚拟计数器选择二叉树各侧的处理的流程图。具体实施例方式现在参考图1,示出了一个其中可能实现本专利技术的多个方面的数据处理系统的框图。数据处理系统100是本专利技术的处理和设备可以位于其中的计算机的示例。在所示示例中,数据处理系统100采用集线器体系结构,包括北桥和存储控制器集线器(MCH)102、南桥和输入/输出(I/O)控制器集线器(ICH)104。处理器单元106、主存储器108、图形处理器110连接到北桥和存储控制器集线器102。例如,经由一个加速图形端口(AGP)将图形处理器110连接到MCH。处理器单元106包含具有一个或多个处理器的集合。当存在多个处理器时,这些处理器可能是单独封装中的单独处理器。作为选择,处理器可能是一个封装中的多个内核。处理器还可能是多个多内核单元。这种类型的处理器的一个示例是Cell Broadband EngineTM处理器,它是一种异构处理器。这种处理器具有一种导向(directed toward)分布式处理的处理器体系结构。为了最优地满足许多不同系统和应用的需求,这种结构使得能够实现范围广泛的单处理器或多处理器配置以及存储器配置。依据使用的技术和想要实现的成本/性能特点,这种类型的处理器可包括一个单独的芯片、一个或多个多芯片模块、或一个主板或其他二级封装上的多个单芯片模块。Cell Broadband EngineTM具有一个PowerPC处理器单元(PPE)和多个协处理器单元(SPU)。PPE是通用处理单元,它能执行系统管理功能,如对存储器保护表进行寻址。SPU是复杂性较低的计算单元,它不具有系统管理功能。作为替代,SPU对应用提供计算处理,并且由PPE管理。在所示示例中,局域网(LAN)适配器112连接到南桥和I/O控制器集线器104,并且音频适配器116、键本文档来自技高网
...

【技术保护点】
一种用于管理锁定的高速缓冲存储器中的组替换的计算机实现方法,该计算机实现方法包括:响应于程序对高速缓冲存储器的访问,识别出基叶所指向的二叉树一侧以形成识别出的一侧;确定对识别出的一侧的访问数量是否等于在该识别出的一侧上与该程 序相关联的组数量;以及如果对识别出的一侧的访问数量等于在该识别出的一侧上与该程序相关联的组数量,则使基叶变为指向二叉树的相反一侧。

【技术特征摘要】
US 2006-4-25 11/380,1401.一种用于管理锁定的高速缓冲存储器中的组替换的计算机实现方法,该计算机实现方法包括响应于程序对高速缓冲存储器的访问,识别出基叶所指向的二叉树一侧以形成识别出的一侧;确定对识别出的一侧的访问数量是否等于在该识别出的一侧上与该程序相关联的组数量;以及如果对识别出的一侧的访问数量等于在该识别出的一侧上与该程序相关联的组数量,则使基叶变为指向二叉树的相反一侧。2.根据权利要求1所述的计算机实现方法,还包括使用该基叶的值更新最近最少使用阵列。3.根据权利要求1所述的计算机实现方法,其中虚拟计数器跟踪对识别出的一侧的访问数量。4.根据权利要求1所述的计算机实现方法,其中该访问是在锁定高速缓冲存储器中的高速缓冲存储器命中或组替换。5.根据权利要求1所述的计算机实现方法,其中高速缓冲存储器被锁定为使二叉树不平衡。6.根据权利要求1所述的计算机实现方法,其中高速缓冲存储器具有八个组。7.根据权利要求1所述的计算机实现方法,其中通过最近最少使用控制执行识别步骤、确定步骤、以及改变步骤。8.一种高速缓存系统,包括高速缓冲存储器阵列,其中各组数据存储在该高速缓冲存储器阵列中并且其中该高速缓冲存储器是锁定的高速缓冲存储器;最近最少使用阵列,其中该最近最少使用阵列包含二叉树;以及控制单元,其中该控制单元响应...

【专利技术属性】
技术研发人员:R霍尔BP汉利JJ德门特KC斯特尔译尔
申请(专利权)人:国际商业机器公司
类型:发明
国别省市:US[美国]

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

1