【技术实现步骤摘要】
单次再使用处理器缓存策略
[0001]本公开总体上涉及处理器技术,以及处理器缓存技术。
技术介绍
[0002]对于包括处理器的集成电路芯片/封装,最后一级缓存(last level cache,LLC)可以指的是最高级别的缓存,它可以被与LLC在同一芯片/封装中的所有功能单元共享。可以基于包含策略是包含性的、排他性的还是非包含性的来对LLC缓存进行分类。如果存在于核心缓存(例如,中级缓存(mid
‑
level cache,MLC)和第一级(first
‑
level,L1)缓存)中的所有块也存在于LLC中,那么LLC就被认为是包含了核心缓存。如果LLC只包含不存在于核心缓存中的块,那么LLC就被认为是排除了核心缓存。排他性LLC策略通过有效地利用核心缓存和LLC的组合容量来减少存储器访问,这与包含性LLC策略形成对比,在包含性LLC策略中,LLC的容量决定了总体容量,因为这些块是在核心缓存和LLC之间复制的。
[0003]排他性LLC可能要求附加的片上带宽来支持从核心缓存中的更频繁逐出(例如,清洁的以及经修改的)。对于包含性LLC,核心缓存可能会静默地丢弃从核心缓存的清洁逐出,因为被逐出的行的复制已经存在于LLC中。非包含性LLC策略(有时也被称为非包含性非排他性(non
‑
inclusive non
‑
exclusive,NINE))不施行包含或排除。例如,LLC可以包含来自核心缓存的块,但非包含性LLC策略并不对两者之间的数据复制提供任 ...
【技术保护点】
【技术特征摘要】
1.一种集成电路,包括:核心;以及与所述核心耦合的缓存控制器,所述缓存控制器包括电路,所述电路用于:识别被从核心缓存逐出的单次再使用数据,并且基于下一级缓存的整体再使用,将所识别的单次再使用数据保留在所述下一级缓存中。2.根据权利要求1所述的集成电路,其中,所述单次再使用数据的来源是主存储器。3.根据权利要求2所述的集成电路,其中,所述电路还用于:基于当数据行驻留在所述核心缓存中时所述数据行所经历的核心缓存命中的次数来为所述数据行确定使用计数;基于从在所述数据行被带入到所述核心缓存和所述下一级缓存中的一个或多个中时起,直到所述数据行被从所述下一级缓存逐出为止,由所述数据行在所述核心缓存和所述下一级缓存之间进行的跳变的次数,来为所述数据行确定跳变计数;并且基于使用计数为一和跳变计数为零,识别所述单次再使用数据。4.根据权利要求1
‑
3中任一项所述的集成电路,其中,所述电路还用于:当所述下一级缓存中的命中对应于从所述核心缓存的逐出时,使计数器值递增。5.根据权利要求4所述的集成电路,其中,所述电路还用于:从所述核心缓存逐出数据行;将被逐出的数据行标记为失效;并且如果所述计数器值大于阈值并且如果所述数据行的来源是主存储器,则将被标记为失效的所述被逐出的数据行作为最近使用的数据行安装在所述下一级缓存中。6.根据权利要求5所述的集成电路,其中,如果所述计数器值不大于所述阈值,或者如果所述数据行的来源不是主存储器,则所述电路还用于:如果在所述下一级缓存中有无效块可用,则将被标记为失效的所述被逐出的数据行作为最近最少使用的数据行安装在所述下一级缓存中。7.根据权利要求5所述的集成电路,其中,如果所述计数器值不大于所述阈值,或者如果所述数据行的来源不是主存储器,则所述电路还用于:如果在所述下一级缓存中没有无效块可用,则绕过所述下一级缓存。8.一种控制缓存的方法,包括:识别被从核心缓存逐出的单次再使用数据;以及基于下一级缓存的整体再使用,将所识别的单次再使用数据保留在所述下一级缓存中。9.根据权利要求8所述的方法,其中,所述单次再使用数据的来源是主存储器。10.根据权利要求9所述的方法,还包括:基于当数据行驻留在所述核心缓存中时所述数据行所经历的核心缓存命中的次数来为所述数据行确定使用计数;基于从在所述数据行被带入到所述核心缓存和所述下一级缓存中的一个或多个中时起,直到所述数据行被从所述下一级缓存逐出为止,由所述数据行在所述核心缓存和所述下一级缓存之间进行的跳变的次数,来为所述数据行确定跳变计数;并且
基于使用计数为一和跳变计数为零,将所述数据行识别为单次再使用数据。11.根据权利要求8至10中任一项所述的方法,还包括:当所述下一级缓存中的命中对应于从所述核心缓存的逐出时,使计数器值递增。12.根据权利要求11所述的方法,还包括:从所述核心缓存逐出数据行;将被逐出的数据行标记为失效;以及如果所述计数器值大于阈值并且如果所述数据行的来源是主存储器,则将被标记为失效的所述被逐出的数据行作为最近使用的数据行安装在所述下一级缓存中。13.根据权利要求12所述的方法,其中,如果所述计数器值不大于所述阈值,或者如果所述数据行的来源不是主存储器,则所述方法还包括:如果在所述下一级缓存中有无效块可用,则将被标记为失效的所述被逐出的数据行作为最近最少使用的数据行安装在所述下一级缓存中;并且如果在所述下一级缓存中没有无效块可用,则绕过...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。