当前位置: 首页 > 专利查询>英特尔公司专利>正文

单次再使用处理器缓存策略制造技术

技术编号:33908353 阅读:21 留言:0更新日期:2022-06-25 19:03
本申请公开了单次再使用处理器缓存策略。一种集成电路的实施例可以包括核心,以及与核心耦合的缓存控制器,缓存控制器包括电路,该电路用于识别被从核心缓存逐出的单次再使用数据,并且基于下一级缓存的整体再使用,将所识别的单次再使用数据保留在下一级缓存中。公开并且要求保护了其他实施例。开并且要求保护了其他实施例。开并且要求保护了其他实施例。

【技术实现步骤摘要】
单次再使用处理器缓存策略


[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策略并不对两者之间的数据复制提供任何保证。

技术实现思路

[0004]根据本公开的第一方面,提供了一种集成电路,包括:核心;以及与所述核心耦合的缓存控制器,所述缓存控制器包括电路,所述电路用于:识别被从核心缓存逐出的单次再使用数据,并且基于下一级缓存的整体再使用,将所识别的单次再使用数据保留在所述下一级缓存中。
[0005]根据本公开的第二方面,提供了一种控制缓存的方法,包括:识别被从核心缓存逐出的单次再使用数据;以及基于下一级缓存的整体再使用,将所识别的单次再使用数据保留在所述下一级缓存中。
[0006]根据本公开的第三方面,提供了一种装置,包括:一个或多个处理器核心;核心缓存,与所述一个或多个处理器核心共位并且通信耦合;下一级缓存,与所述核心缓存和所述一个或多个处理器核心共位并且通信耦合;以及缓存控制器,与所述核心缓存、所述下一级缓存和所述一个或多个处理器核心共位并且通信耦合,所述缓存控制器包括电路,所述电路用于:识别被从所述核心缓存逐出的单次再使用数据,并且基于所述下一级缓存的整体再使用,将所识别的单次再使用数据保留在所述下一级缓存中。
[0007]根据本公开的第四方面,提供了一种缓存控制器装置,包括:用于识别被从所述核心缓存逐出的单次再使用数据的装置;以及用于基于所述下一级缓存的整体再使用将所识别的单次再使用数据保留在所述下一级缓存中的装置。
附图说明
[0008]在附图中以示例方式而非限制方式图示了本专利技术的各种实施例,在附图中:
[0009]图1是根据一个实施例的集成电路的示例的框图;
[0010]图2A至2C是根据一个实施例的控制缓存的方法的示例的流程图;
[0011]图3是根据一个实施例的装置的示例的框图;
[0012]图4是根据一个实施例的过程流程的示例的流程图;
[0013]图5是根据一个实施例的过程流程的另一示例的流程图;
[0014]图6是根据一个实施例的缓存系统的示例的框图;
[0015]图7是根据一个实施例的集成电路的另一示例的框图;
[0016]图8A至8C是根据一个实施例的控制缓存的方法的另一示例的流程图;
[0017]图9是根据一个实施例的另一装置的示例的框图;
[0018]图10是根据一个实施例的存储器访问模式的示例的说明图;
[0019]图11是根据一个实施例的控制缓存的方法的另一示例的流程图;
[0020]图12是根据一个实施例的缓存系统的另一示例的框图;
[0021]图13A是根据本专利技术的实施例图示出示例性有序管线和示例性寄存器重命名、无序发出/执行管线两者的框图。
[0022]图13B是根据本专利技术的实施例图示出要被包括在处理器中的有序架构核心的示例性实施例和示例性寄存器重命名、无序发出/执行架构核心两者的框图;
[0023]图14A

14B图示出更具体的示例性有序核心架构的框图,该核心将是芯片中的若干个逻辑块(包括相同类型和/或不同类型的其他核心)之一;
[0024]图15是根据本专利技术的实施例的处理器的框图,该处理器可以具有多于一个核心,可以具有集成的存储器控制器,并且可以具有集成的图形;
[0025]图16

图19是示例性计算机架构的框图;并且
[0026]图20是根据本专利技术的实施例的与使用软件指令转换器来将源指令集中的二进制指令转换成目标指令集中的二进制指令相对比的框图。
具体实施方式
[0027]本文论述的实施例以各种方式提供了用于控制处理器缓存的技术和机制。本文描述的技术可被实现在一个或多个电子设备中。可以利用本文描述的技术的电子设备的非限制性示例包括任何种类的移动设备和/或固定设备,例如相机、蜂窝电话、计算机终端、桌面型计算机、电子阅读器、传真机、一体机(kiosk)、膝上型计算机、上网本计算机、笔记本计算机、互联网设备、支付终端、个人数字助理、媒体播放器和/或记录器、服务器(例如,刀片式服务器、机架安装式服务器、其组合,等等)、机顶盒、智能电话、平板个人计算机、超便携个人计算机、有线电话、其组合,等等。更一般而言,本文描述的技术可以用于包括可操作来控制或利用处理器缓存的集成电路的各种电子设备的任何一种中。
[0028]在接下来的描述中,论述了许多细节以提供对本公开的实施例的更透彻说明。然而,本领域技术人员将会清楚,可以在没有这些具体细节的情况下实践本公开的实施例。在其他实例中,以框图形式而不是详细示出公知的结构和设备,以避免模糊本公开的实施例。
[0029]注意,在实施例的相应附图中,以线条来表示信号。一些线条可能更粗,以指示出
更大数目的构成信号路径,和/或在一端或多端具有箭头,以指示出信息流的方向。这种指示并不旨在是限制性的。更确切地说,这些线条与一个或多个示例性实施例结合使用来帮助更容易理解电路或逻辑单元。由设计需要或偏好决定的任何所表示的信号可实际上包括可在任一方向上行进并且可利用任何适当类型的信号方案来实现的一个或多个信号。
[0030]在整个说明书中,以及在权利要求中,术语“连接”意指直接连接,例如连接的事物之间的电连接、机械连接或磁连接,而没有任何中间设备。术语“耦合”意指直接或间接连接,例如连接的事物之间的直接电连接、机械连接或磁连接,或者通过一个或多个无源或有源中间设备的间接连接。术语“电路”或“模块”可以指被布置为本文档来自技高网
...

【技术保护点】

【技术特征摘要】
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所述的方法,其中,如果所述计数器值不大于所述阈值,或者如果所述数据行的来源不是主存储器,则所述方法还包括:如果在所述下一级缓存中有无效块可用,则将被标记为失效的所述被逐出的数据行作为最近最少使用的数据行安装在所述下一级缓存中;并且如果在所述下一级缓存中没有无效块可用,则绕过...

【专利技术属性】
技术研发人员:亚安
申请(专利权)人:英特尔公司
类型:发明
国别省市:

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

1