一种高速缓存清理方法及处理器技术

技术编号:18114937 阅读:34 留言:0更新日期:2018-06-03 08:12
本申请涉及处理器技术领域,具体涉及一种高速缓存清理方法及处理器。该方法包括:处理器确定所述高速缓存内的目标缓存线;处理器读取所述存储器内对应所述目标缓存线的有效信息;当所述处理器根据所述有效信息确定所述目标缓存线失效时,替换所述目标缓存线;或,当所述处理器根据所述有效信息确定所述目标缓存线有效时,保留所述目标缓存线。本申请中需要根据有效信息对该目标缓存线的有效性进行判断,只有失效的目标缓存线才会被替换,而有效的目标缓存线则仍然存在于高速缓存中,能够降低cache miss率,降低系统对高速缓存容量的需求,从而降低CPU的使用功耗,从而降低系统的搭建成本和使用成本。

【技术实现步骤摘要】
一种高速缓存清理方法及处理器
本申请本申请涉及处理器
,具体涉及一种高速缓存清理方法及处理器。
技术介绍
高速缓存(cache)是存在于内存与中央处理器(CPU,CentralProcessingUnit)之间的存储器,由静态随机存取存储器(SRAM,StaticRandomAccessMemory)组成,容量比内存较小但速度比内存高得多,接近于CPU的速度。在计算机存储系统的层次结构中,是介于中央处理器和主存储器之间的高速小容量存储器,它和主存储器一起构成一级的存储器。高速缓冲存储器和主存储器之间信息的调度和传送是由硬件自动进行的。高速缓存的出现主要是因为CPU运算速率要比内存读写速率快很多,这样会使CPU花费很长时间等待数据到来或把数据写入内存。在高速缓存中的数据是内存中的一小部分,但这一小部分是短时间内CPU即将访问的,当CPU调用大量数据时,就可避开内存直接从高速缓存中调用,从而加快读取速率。高速缓存对CPU的性能影响很大,主要原因有CPU的数据交换顺序和CPU与高速缓存间的带宽,其中,读取数据的顺序会影响到高速缓存的读取命中率,该读取命中率是高速缓存的一个重要参数,在处理器
通常也采用cachemiss率,即高速缓存的读取未命中率来表征读取命中率,当发生cachemiss时,即CPU要读取的数据不在高速缓存中而在内存中,处理器需要等待数据从内存读入高速缓存;而高速缓存的带宽将直接影响CPU读取高速缓存数据的速度,即单位时间内CPU从高速缓存中读取的数据量的大小,两则结合会影响整个系统的效率。为了提高高速缓存的利用率,会将高速缓存分为多个具有固定大小的缓存线(cacheline),CPU对高速缓存进行读写也是以缓存线为单位,例如,每个缓存线的大小可以是32Byte或64Byte,由于高速缓存的容量远小于内存,只能将最常用的数据预取存入高速缓存中,所以不可避免的是CPU要读取的数不在高速缓存中而在内存中,即发生cachemiss的情况,此时就需要从内存查找该数据并读入高速缓存,读入的数据需要占用高速缓存的存储空间,而由于高速缓存的总容量较小,导致缓存线的数量是有上限的,因此针对缓存线会有一些合适的淘汰策略,如近期最少使用和最不经常的优先淘汰或是先进新出等方式,而这些淘汰策略均为CPU自行进行的判断,可能会出现一些替换出内容是即将要使用的,由此会导致cachemiss率增加。
技术实现思路
本申请实施例提供了一种高速缓存清理方法来解决现有由于CPU自行判断高速缓存中要替换的内容,使得替换出内容可能是即将要使用的,从而会导致cachemiss率增加的问题。有鉴于此,本申请第一方面提供一种高速缓存清理方法,该方法中,为处理器内除了高速缓存之外还设有一与高速缓存同速度级别的存储器,用于存储高速缓存内的部分或者全部的缓存线的有效信息,当处理器在向高速缓存中写入数据时,当发现高速缓存已经没有足够的空间写入数据时,便在写入数据时将高速缓存内的部分缓存线替换为写入的数据,此时,该高速缓存清理方法包括,首先由处理器确定高速缓存内的目标缓存线,在确定出目标缓存线时会一并读取存储器中对应此目标缓存线的有效信息,如果发现根据有效信息确定该目标缓存线失效,则会在写入数据时替换掉该目标缓存线,而若是发现该目标缓存线并未失效,则在写入数据的时候保留该目标缓存线。可以看出,采用此方式在处理器想要替换某目标缓存线时,需要根据有效信息对该目标缓存线的有效性进行判断,只有失效的目标缓存线才会被替换,而有效的目标缓存线则仍然存在于高速缓存中,此举使得处理器后续访问高速缓存时,不会出现由于之前将有效的缓存线替换出去而出现的cachemiss的情况,从而降低cachemiss率,由于对失效缓存线的剔除,不仅能够提高高速缓存的利用率而提升整个系统的计算效率,还能够降低系统对高速缓存容量的需求,从而降低CPU的使用功耗,从而降低系统的搭建成本和使用成本。在一些实施例中,有效信息包括有效值,不同的有效值指示所述缓存线的不同优先级,如此便能对缓存线的优先级进行划分,以便于CPU在替换缓存线时能够从低优先级开始替换,提高高速缓存的利用率,在此划分方式下,处理器确定目标缓存线失效的过程可变为,处理器对有效值进行判断,当根据有效值确定所述目标缓存线的优先级低于预设的优先级时,此时便会确定目标缓存线失效。在一些实施例中,在采用有效值指示不同的优先级的情形下,类似的,处理器确定目标缓存线失效的过程可变为,处理器对有效值进行判断,当根据有效值确定所述目标缓存线的优先级不低于预设的优先级时,此时便会确定目标缓存线有效,同样,此方式能够使得高优先级的缓存线不会优先被替换掉,提升系统的稳定性,减少cachemiss率。在一些实施例中,CPU除了能够对存储器中的缓存线的有效信息进行读取之外,还可根据应用层发来的应用层指令对存储器的有效值进行修改,具体的过程可以是,处理器接收应用层指令,该指令中包括被所述应用层指令指示的缓存线的信息;而后处理器便能够根据该信息找到并对被指示的缓存线的有效值进行修改,以达到修改该被指示的缓存线的优先级的目的,使得能够通过应用层对高速缓存的优先级进行配置,使得应用层需要的缓存线不会被清理,从而不仅提高高速缓存的利用率,好减少cachemiss率,提升系统性能。在一些实施例中,处理器会对被指示的缓存线的信息进行判断,该信息中能够携带被指示的缓存线的一些信息,如能够通过该信息确定被指示的缓存线已使用结束,此时处理器便会对有效值进行修改,使得修改后的有效值对应的优先级低于预设的优先级,从而能够在替换缓存线时能够优先被替换。在一些实施例中,该被指示的缓存线的信息还能够指示被指示的缓存线是否为关键缓存线,关键缓存线即该缓存线内的数据较为重要,在未来会被再次被使用,乃至重复多次使用,对这类缓存线需要通过修改有效值,将其优先级调整为高于预设的优先级,使其无法在替换缓存线的过程中被覆盖,从而减小cachemiss率。在一些实施例中,处理器还会对高速缓存内的缓存线进行周期性的检查,其主要检查这些缓存线是否有更新,若发现某一缓存线已经经过预设的时间阈值还未发生更新的情况,便会对该缓存线的有效值进行修改,使得修改后的有效值对应的优先级低于所述预设的优先级,从而达到对长时间不适用但占用高速缓存空间的缓存线进行清理的目的,提升高速缓存的利用率。在一些实施例中,处理器还会获取CPU时钟,该CPU时钟会包括一个或多个CPU周期,而后在后续检查缓存线时,便会按照获取的CPU时钟为周期对缓存线进行周期性检查。此周期的设置一方面能够对缓存线的更新情况较为及时的检查,另一方面也不会对CPU的资源进行过多的占用。本申请实施例第二方面还提供一种处理器,高速缓存和处理核心,所述高速缓存内包括至少一条缓存线,处理器内还设有用于存储高速缓存内至少一条缓存线的有效信息的存储器,所述存储器、高速缓存和处理核心均通过总线相连接,该处理核心用于执行本申请第一方面或第一方面的任一实施例中提供的NVMe数据读写方法。本申请实施例第三方面还提供一种计算机存储介质,该计算机存储介质中存储了程序代码,如应用层的程序代码,该程序代码被处理器运行时,执行第一方面或第一方面的任意一种实现本文档来自技高网
...
一种高速缓存清理方法及处理器

【技术保护点】
一种高速缓存清理方法,所述方法应用于处理器,所述处理器内设有高速缓存,所述高速缓存内包括至少一条缓存线,其特征在于,所述处理器内还设有用于存储高速缓存内至少一条缓存线的有效信息的存储器,所述方法包括:处理器确定所述高速缓存内的目标缓存线;所述处理器读取所述存储器内对应所述目标缓存线的有效信息;当所述处理器根据所述有效信息确定所述目标缓存线失效时,替换所述目标缓存线;或,当所述处理器根据所述有效信息确定所述目标缓存线有效时,保留所述目标缓存线。

【技术特征摘要】
1.一种高速缓存清理方法,所述方法应用于处理器,所述处理器内设有高速缓存,所述高速缓存内包括至少一条缓存线,其特征在于,所述处理器内还设有用于存储高速缓存内至少一条缓存线的有效信息的存储器,所述方法包括:处理器确定所述高速缓存内的目标缓存线;所述处理器读取所述存储器内对应所述目标缓存线的有效信息;当所述处理器根据所述有效信息确定所述目标缓存线失效时,替换所述目标缓存线;或,当所述处理器根据所述有效信息确定所述目标缓存线有效时,保留所述目标缓存线。2.根据权利要求1所述的高速缓存清理方法,其特征在于,所述有效信息包括有效值,不同的有效值指示所述缓存线的不同优先级,所述处理器根据所述有效信息确定所述目标缓存线失效包括:当所述处理器根据所述有效值确定所述目标缓存线的优先级低于预设的优先级时,确定所述目标缓存线失效。3.根据权利要求2所述的高速缓存清理方法,其特征在于,所述处理器根据所述有效信息确定所述目标缓存线未失效包括:当所述处理器根据有效值确定所述目标缓存线的优先级不低于所述预设的优先级时,确定所述目标缓存线有效。4.根据权利要求2或3所述的高速缓存清理方法,其特征在于,所述方法还包括:所述处理器接收应用层指令,所述应用层指令内包括被所述应用层指令指示的缓存线的信息;所述处理器根据被指示的缓存线的信息修改所述被指示的缓存线的有效值。5.根据权利要求4所述的高速缓存清理方法,其特征在于,所述处理器根据被指示的缓存线的信息修改所述被指示的缓存线的有效值包括:所述处理器根据所述被指示的缓存线的信息确定所述被指示的缓存线使用结束;所述处理器修改所述被指示的缓存线的有效值,修改后的有效值对应的优先级低于预设的优先级。6.根据权利要求4所述的高速缓存清理方法,其特征在于,所述处理器根据被指示的缓存线的信息修改所述被指示的缓存线的有效值包括:所述处理器根据所述被指示的缓存线的信息确定所述被指示的缓存线为关键缓存线;所述处理器修改所述关键缓存线的有效值,修改后的有效值对应的优先级不低于预设的优先级。7.根据权利要求2至6中任一项所述的高速缓存清理方法,其特征在于,所述方法还包括:所述处理器对所述高速缓存内的缓存线周期性检查,当所述处理器确定所述高速缓存内的缓存线超过预设的时间阈值未更新时,修改所述未更新的缓存线的有效值,修改后的有效值对应的优先级低于所述预设的优先级。8.根据权利要求7所述的高速缓存清理方法,其特征...

【专利技术属性】
技术研发人员:黄罡梁文亮吴子旭
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:广东,44

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

1