[发明专利]零颠簸高速缓存队列管理器在审
申请号: | 201811269286.8 | 申请日: | 2018-10-29 |
公开(公告)号: | CN109840220A | 公开(公告)日: | 2019-06-04 |
发明(设计)人: | B·赫尔莫什;Z·克菲尔;A·克利姆克;D·纳卡;L·内弗 | 申请(专利权)人: | 英特尔公司 |
主分类号: | G06F12/123 | 分类号: | G06F12/123 |
代理公司: | 上海专利商标事务所有限公司 31100 | 代理人: | 李炜;黄嵩泉 |
地址: | 美国加利*** | 国省代码: | 美国;US |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 高速缓存行 高速缓存 存储器访问请求 高速缓存队列 管理器 队列 颠簸 队列头部 队列尾部 计算机存储器 队列管理 数据添加 系统执行 受保护 移除 写入 申请 | ||
本申请提供了零颠簸高速缓存队列管理器。本文描述了用于计算机存储器中的队列管理的各种系统和方法。用于实现零颠簸高速缓存队列管理器的系统执行包括以下步骤的操作:接收对队列的存储器访问请求;当存储器访问请求是将数据添加到队列时,将数据写入高速缓存中的队列尾部高速缓存行,并保护队列尾部高速缓存行不从高速缓存驱逐;以及当存储器访问请求是从队列移除数据时,从高速缓存中的当前队列头部高速缓存行读取数据,当前队列头部高速缓存行受保护而不从高速缓存驱逐。
技术领域
本文描述的实施例总体上涉及计算机存储器管理,具体涉及用于实现零颠簸(thrash)高速缓存队列管理器的系统和方法。
背景技术
在计算机微架构中,高速缓存是用于临时存储信息以便更快访问的存储器。通常,高速缓存被实现为更小、更快的存储器,更接近处理器核。高速缓存用于存储来自频繁使用的主存储器位置的数据的副本。当程序请求来自存储器位置的数据时,可以将该数据存储在高速缓存中,预期该数据可能在不久的将来再次被请求。如果该数据再次被请求,则这导致高速缓存命中,并且该数据从较高速的高速缓存提供而不是从较低速的存储器设备(诸如动态随机存取存储器(DRAM))提供。由于高速缓存存储器通常制造起来更昂贵,并且由于高速缓存存储器通常在管芯上实现,所以高效的高速缓存使用对于确保最大系统性能和维持较小的管芯尺寸是至关重要的。
附图说明
在附图中(这些附图不一定是按比例绘制的),相同的数字可以描述不同视图中的类似的组件。具有不同的字母后缀的相同的数字可以表示类似组件的不同实例。在所附附图的图中通过示例而非限制性地图示出一些实施例,其中:
图1A和图1B图示了根据实施例的高速缓存颠簸和用于移除针对排队的高速缓存颠簸的机制;
图2是图示出根据实施例的队列高速缓存机制的框图;
图3A和图3B是图示出根据实施例的高速缓存管理的框图;
图4是图示出根据实施例的用于实现零颠簸高速缓存队列管理器的过程的流程图;
图5是图示出根据实施例的用于实现零颠簸高速缓存队列管理器的方法的流程图;以及
图6是图示出根据实施例的可在其上执行本文所讨论的技术(例如,方法)中的任一种或多种的示例机器的框图。
具体实施方式
在以下描述中,为了进行解释,阐述了众多具体细节以便提供对一些示例实施例的全面理解。然而,对本领域技术人员将显而易见的是,没有这些具体细节也可实践本公开。
当从存储器请求数据时,将该数据以称为“高速缓存行”或“高速缓存块”的固定大小块复制到高速缓存中。当处理器需要读取或写入主存储器中的位置时,该处理器检查高速缓存。如果存储器位置在高速缓存中,则这被认为是高速缓存命中,并且处理器可以读取或写入该高速缓存。如果存储器位置不在高速缓存中,则这被认为是高速缓存未命中,并且为从主存储器中的位置读取的数据创建新的高速缓存条目。如果在高速缓存未命中之前该高速缓存先前已满,则使用驱逐策略来确定要删除或重写哪个高速缓存条目以为新高速缓存条目腾出空间。
高速缓存颠簸涉及频繁地驱逐“错误的”高速缓存行,使得它们被多于一次地读取和写入外部存储器。由于过多的高速缓存未命中,颠簸导致比完全没有高速缓存时的性能更差的性能。结果,高速缓存经历许多高速缓存未命中,使得高速缓存的优点在很大程度上被抵消。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于英特尔公司,未经英特尔公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811269286.8/2.html,转载请声明来源钻瓜专利网。