[发明专利]在MRU分配期间采用软I-MRU成员保护的方法和高速缓存系统有效
申请号: | 200710146555.7 | 申请日: | 2007-08-21 |
公开(公告)号: | CN101158928A | 公开(公告)日: | 2008-04-09 |
发明(设计)人: | R·H·小贝尔;J·A·施蒂赫利 | 申请(专利权)人: | 国际商业机器公司 |
主分类号: | G06F12/12 | 分类号: | G06F12/12 |
代理公司: | 北京市金杜律师事务所 | 代理人: | 朱海波 |
地址: | 美国纽*** | 国省代码: | 美国;US |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | mru 分配 期间 采用 成员 保护 方法 高速缓存 系统 | ||
技术领域
本发明一般地涉及一种改进的数据处理系统,并且特别地涉及一种改进的高速缓存机制。更特别地,本发明涉及一种用于在高速缓存内完成I-MRU成员保护的改进的方法和设备。
背景技术
使用一级或多级高速缓存来衔接处理器和主存储器之间的性能差距是数据处理系统中已完善建立的特征。当处理器发出存储器访问请求时,首先将该请求发送到高速缓存以确定所请求的数据或指令是否存在于高速缓存存储器中。当在高速缓存中找到期望的信息时,“命中”就发生了。当对高速缓存的请求或访问没有产生期望的信息时,“未命中”就发生了。作为对未命中的响应,高速缓存“行”中的一行被新的一行替代。选择一行来进行替代的方法称为替代策略。
高速缓存通常采用集合关联方案,通过该方案将高速缓存分成不同类的行,其中每类包含较小的固定数量的行。行的类通常称为“同余类”。同余类中的行(其表明地址能够驻留的位置数)通常称为集合关联高速缓存中的集合。
一般使用的一种类型的替代策略是最近最少使用(LRU)策略。LRU策略建立在同余类中最近最少使用的高速缓存行是最不值得保留的前提上。因此,当需要逐出一个高速缓存行以为一个新行腾出空位时,LRU策略选择一个高速缓存行作为牺牲,该高速缓存行是同余类中最近最少访问的集合(或成员)。
在LRU策略内,典型地,针对LRU状态(在高速缓存中针对每个同余类维持该LRU状态)执行两种类型的操作。
最近最常使用的更新(MRU更新)操作典型地由于高速缓存命中而发生。MRU更新调节LRU状态使得“命中”成员排在该同余类中所有其他成员的前面,将在该成员位置上的高速缓存行设定为该同余类中最有价值的成员。
最近最少使用的牺牲选择(LRU牺牲选择)操作典型地在高速缓存未命中需要分配成员以保持从存储层级结构的其他地方到达的高速缓存行时发生。该操作确定哪一个高速缓存行是同余类中最不值得保留的,逐出该高速缓存行,并且将最近到达的高速缓存行放置在该成员的位置上。
若干因素使多级高速缓存层级结构中LRU替代策略的行为变得复杂,特别是当这些层级结构包含在第n-1级由多个结构共享的第n级高速缓存时更是如此。例如,处理器可以包含第一级指令高速缓存和第一级数据高速缓存。这些高速缓存可以由包括指令和数据的第二级高速缓存来支持。设计这种结构使得对在第一级高速缓存中未命中的高速缓存行的处理器请求很可能在第二级高速缓存中找到。
正如前面所描述的,在第一级高速缓存中的LRU替代策略将处理器最经常使用的那些高速缓存行更新为“最近最常使用”。对于处理器来说更不重要(或更没有价值)的高速缓存行,由于它们不那么经常被使用,所以它们被标记为最近最常使用的可能性更小。这样,更频繁使用的行往往保留在第一级高速缓存中,而较不常使用的行往往被从第一级高速缓存中逐出。
第二级高速缓存中的LRU策略将在第一级高速缓存未命中发生时从第二级高速缓存请求的那些高速缓存行更新为最近最常使用。这些行往往是被从第一级高速缓存中逐出的那些行,并且对于处理器来说比往往在第一级高速缓存中命中的高速缓存行更没有价值。这样,最经常出现在第一级高速缓存没有找到而又被处理器反复需要的情况的高速缓存行是最可能在第二级高速缓存中保留的高速缓存行,这是这些高速缓存行更可能被MRU更新有益地影响的事实。
大量应用具有小的指令覆盖区和更大的数据需求,导致“不平衡”的高速缓存行为,其中处理器最常利用的指令经常被从L2高速缓存中逐出。这样,对处理器最有价值的高速缓存行从第二级高速缓存中的MRU更新受益的可能性更小,并且因此,比对处理器更没有价值的高速缓存行更有可能被从第二级高速缓存逐出。
已经提供了前面的方法用于保护在第一级高速缓存处所需要的特定指令不被从第二级(L2)高速缓存逐出。使用这些方法,L2高速缓存LRU算法包含一个指针以针对L2高速缓存中每个同余类保护指令最近最常使用(I-MRU)行。这个保留的‘路径’适用于防止技术代码(带有小的指令(“I”)覆盖区,但是带有大的数据覆盖区)“破坏”I覆盖区。这种传统的方法将基本上保护高速缓存的一个完整‘路径’。例如8路集合关联高速缓存的1/8将保留给指令。另外,与典型的伪lru算法相结合的剩余数据路径的不对称产生了一些工作负载的次优行为。
因此,本发明认识到,具有一种用于减轻由于对旧指令行的继续保护而表现出的次优性能的改进的方法、设备和计算机系统是有利的,这些旧指令行当前通过I-MRU策略而受保护以不被从第二级包含性的高速缓存逐出。
发明内容
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于国际商业机器公司,未经国际商业机器公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200710146555.7/2.html,转载请声明来源钻瓜专利网。