[发明专利]高速缓存存储器及其中实现的方法有效
申请号: | 201910667599.7 | 申请日: | 2019-07-23 |
公开(公告)号: | CN110362506B | 公开(公告)日: | 2021-11-02 |
发明(设计)人: | 道格拉斯·R·瑞德;阿卡什·多拉塔·赫巴尔 | 申请(专利权)人: | 上海兆芯集成电路有限公司 |
主分类号: | G06F12/0862 | 分类号: | G06F12/0862 |
代理公司: | 北京林达刘知识产权代理事务所(普通合伙) 11277 | 代理人: | 刘新宇 |
地址: | 201203 上海市张*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 高速缓存 存储器 其中 实现 方法 | ||
提供了高速缓存存储器及其中实现的方法,特别提供了用以实现n路组关联高速缓存的唯一准最近最少使用实现即LRU实现的方法和设备。根据一个实现的方法包括:确定生成预拾取请求;获得与所述预拾取请求相关联的目标数据的置信度值;将所述目标数据写入n路组关联高速缓存存储器的组;修改所述高速缓存存储器的n位置阵列,使得n个阵列位置中的特定的一个阵列位置标识所述n路中的1路,其中n个LRU阵列位置中的该特定的一个LRU阵列位置由所述置信度值确定。
技术领域
本发明一般涉及高速缓存存储器电路,更特别地涉及用于将数据预拾取(prefetch)到处理器高速缓存中的系统和方法。
背景技术
大多数现代计算机系统包括用于进行执行软件程序所必需的计算的微处理器。计算机系统还包括连接至微处理器(或者位于微处理器内部)的其它装置,诸如存储器。存储器存储微处理器所要执行的软件程序指令。存储器还存储程序指令进行操作以实现程序的期望功能的数据。
计算机系统中的位于微处理器外部(或者位于处理器核心外部)的装置(诸如存储器)通过处理器总线而直接或间接地连接至微处理器(或核心)。处理器总线是使得微处理器能够以相对大的数据块传送数据的信号集合。当微处理器执行用于对存储器中所存储的数据进行计算的程序指令时,微处理器必须使用处理器总线将数据从存储器拾取到微处理器中。类似地,微处理器使用处理器总线来将计算结果写回存储器。
从存储器拾取数据或将数据写入存储器所需的时间比微处理器对数据进行计算所需的时间大许多倍。因此,微处理器必须低效地空闲等待从存储器拾取到数据。为了减少这个问题,现代微处理器包括至少一个高速缓存存储器。高速缓存存储器或高速缓存是微处理器(或处理器核心)内部的存储系统存储器中的数据的子集的存储器(通常比系统存储器小得多)。当微处理器执行引用数据的指令时,该微处理器首先检查以查看数据是否存在于高速缓存中并且是否有效。如果是,则由于数据已经存在于高速缓存中,因此相比于必须要从系统存储器检索数据的情况可以更快速地执行指令。也就是说,微处理器不必在使用处理器总线将数据从存储器拾取到高速缓存中时等待。微处理器检测到数据存在于高速缓存中并且有效的情况通常被称为高速缓存命中。所引用的数据不存在于高速缓存中的情况通常被称为高速缓存未命中。在所引用的数据已经存在于高速缓存存储器中的情况下,通过避免从外部存储器检索数据所需的额外时钟周期,实现了显著的时间节省。
高速缓存预拾取是计算机处理器所使用的、通过在该处理器实际需要数据或指令之前将指令或数据从外部存储器拾取到高速缓存存储器中来进一步提高执行性能的技术。成功预拾取数据避免了在必须从外部存储器检索数据时遇到的延时。
预拾取存在基本的权衡。如上所述,预拾取可以通过(通过在实际需要数据之前已经将数据拾取到高速缓存存储器中来)减少延时来提高性能。另一方面,如果预拾取了太多信息(例如,太多高速缓存行),则预拾取器的效率将降低,并且其它系统资源和带宽可能负担过重。此外,如果高速缓存已满,则将新的高速缓存行预拾取到该高速缓存中将导致另一高速缓存行从该高速缓存被驱逐。因此,高速缓存中的由于先前需要而在该高速缓存中的行可能被仅可能在将来需要的行驱逐。
在一些微处理器中,高速缓存实际上由多个高速缓存组成。多个高速缓存被布置为多级的阶层结构。例如,微处理器可以具有两个高速缓存,称为第一级(L1)高速缓存和第二级(L2)高速缓存。L1高速缓存比L2高速缓存更接近微处理器的计算元件。也就是说,L1高速缓存能够比L2高速缓存更快地向计算元件提供数据。L2高速缓存通常比L1高速缓存大,但是不必须如此。
多级高速缓存布置对预拾取指令的一个影响是,由预拾取指令指定的高速缓存行可能在L2高速缓存中命中而不是在L1高速缓存中命中。在这种情况下,微处理器可以将高速缓存行从L2高速缓存传送至L1高速缓存,而不是使用处理器总线从存储器拾取该行,这是因为从L2到L1的传送比通过处理器总线拾取高速缓存行快得多。也就是说,L1高速缓存分配高速缓存行(即高速缓存行的存储位置),并且L2高速缓存向L1高速缓存提供高速缓存行以存储在L1高速缓存中。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海兆芯集成电路有限公司,未经上海兆芯集成电路有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910667599.7/2.html,转载请声明来源钻瓜专利网。