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

存储器高效的末级高速缓存架构制造技术

技术编号:18553498 阅读:48 留言:0更新日期:2018-07-28 10:41
本申请公开了存储器高效的末级高速缓存架构。描述了存储器高效的末级高速缓存(LLC)架构。实现LLC架构的处理器可以包括处理器核、可操作地耦合至处理器核的末级高速缓存(LLC)、以及可操作地耦合至LLC的高速缓存控制器。高速缓存控制器用于监视对处理器核和与LLC相关联的动态随机存取存储器(DRAM)设备之间的信道的带宽要求。高速缓存控制器进一步用于:当带宽要求超过第一阈值时,执行从DRAM设备的第一定义数量的连续读取;以及当带宽要求未超过第一阈值时,对来自LLC的经修改的行执行到DRAM设备的第一定义数量的连续写入。

【技术实现步骤摘要】
存储器高效的末级高速缓存架构本公开涉及处理器的领域,并且更具体地涉及存储器高效的末级高速缓存架构。
技术介绍
处理设备可以从存储器读取数据以执行指令。在需要多次读取相同数据的相近连续读取中,存储器中的数据可能被访问多次。一旦数据被第一次访问,可以将数据高速缓存以维持该数据的副本,以用于可被处理设备更快地访问,移除执行从存储器读取多次的成本。处理器高速缓存是被计算机的处理器使用以减少从主存储器访问数据的平均时间和/或能量的硬件高速缓存。高速缓存可以是小而快的存储器,存储来自频繁使用的主存储器位置的数据的副本。处理器可以与不同层级的高速缓存相关联。一个这种层级的高速缓存可以是末级高速缓存(LLC)。在一个实施例中,末级高速缓存可以在一个或多个处理器中共享,并且可以恰好在借助于访问主存储器之前被访问。附图简述通过下文给出的具体实施方式并通过本公开的各实施例的附图,将更完整地理解本公开的各实施例。然而,不应当认为这些附图将本公开限制为特定实现方式,而是这些附图仅用于说明和理解。图1是示出根据一个实施例的其中本公开的实现方式可以操作的示例系统架构的框图。图2是示出根据一个实施例的根据本公开的一些实现方式的示例高速缓存控制器的框图。图3是示出根据一个实施例的经缓冲的LLC写入的框图。图4是示出根据一个实施例的经缓冲的读取和写入的框图。图5是示出根据一个实施例的存储器高效的LLC架构操作的流程图。图6A是示出根据一个实施例的实现存储器高效的LLC架构操作的处理器的微架构的框图。图6B是示出根据一个实施例的有序流水线以及寄存器重命名级、乱序发布/执行流水线的框图。图7示出了根据一个实施例的包括用于执行存储器高效的LLC架构操作的逻辑电路的处理器的微架构的框图。图8是根据一个实施例的计算机系统的框图。图9是根据另一实施例的计算机系统的框图。图10是根据一个实施例的芯片上系统的框图。图11示出了根据一个实施例的计算系统的框图的另一实现方式。图12示出了根据一个实现方式的计算系统的框图的另一实现方式。具体实施方式在一个实施例中,处理器核与主存储器(典型地动态随机存取存储器(DRAM)设备)之间的带宽可以限制集成图形和多核处理器环境中的面向吞吐量的工作负荷的性能。大的末级高速缓存(LLC)可以帮助减少由主存储器服务的请求的部分。这可以改善性能,因为从LLC读取与请求相关联的数据可以比从主存储器读取更快。在各实施例中,LLC优化可以聚焦于改善LLC中的命中率以减少主存储器处的通信量。然而,这些优化可能未能考虑存储器的效率。DRAM设备可能经受各种低效率情况,例如,读取到写入转向、行缓冲器局部性、以及低刷新率。此外,写入主存储器的LLC行可能利用极大的DRAM带宽(例如,处理器核与DRAM设备之间的信道的带宽),从而减少可用的存储器带宽。这些低效率情况可能导致DRAM设备的带宽显著减少。使DRAM更高效可以改善系统带宽。在一个实施例中,改善存储器效率可以提供更高的增益,即使改善存储器效率导致LLC命中率的一些降低。例如,在基线命中率为40%和存储器效率为60%下,将存储器效率改善为70%而降低命中率10%可以提供9%的总系统带宽的增益。这指示在存储器带宽可能是限制因素的阶段中可以为显著增加的存储器效率权衡LLC命中率的小的降低。本文所述的实施例针对通过改善存储器效率同时牺牲少量LLC命中率来利用以上确定的存储器高效的LLC架构。在一个实施例中,存储器高效的LLC架构可以是动态的,因为其可以在高存储器(DRAM)带宽要求的阶段中是活动的并且在低DRAM带宽要求的阶段中是不活动的。有利地,动态的存储器高效的LLC架构可以缓解在高LLC命中率或低带宽的情况下的性能的损失。为了解决以上缺陷,本文的实施例所述的存储器高效的LLC架构可以提供对带宽要求的动态检测。在应用的高带宽阶段期间可以激活存储器高效的LLC架构操作,其中存储器效率对于吞吐量性能比读取等待时间更重要。在存储器带宽是限制因素的阶段中,存储器高效的LLC架构可以将LLC转换为大缓冲器,并且通过动态地切换LLC替换策略来改变读取阶段和写入阶段之间的占空比。这可能导致命中率损失,但是也产生存储器的读取带宽的增加,从而改善总性能。所得的长的读取链和写入链可以附加地帮助克服来自DRAM读取-写入转向和过度分页的效率损失,从而进一步改善存储器带宽交付。本文所述的存储器高效的LLC架构的实施例还可以改善在写入阶段期间的存储器的区块级并行性(BLP),这通过智能地选择要写入的LLC中的特定的脏的(例如,经修改的)高速缓存行而实现。在一个实施例中,为了减少访问等待时间,将存储器分成多个称为区块的相等尺寸的单元。每个区块可以存储数以万计个页。存储器区块一次可以服务一个请求。对相同区块的任何其他访问要等待前一访问完成,称为区块冲突。相比之下,对不同区块的存储器访问可以并行地继续(称为区块级并行性(BLP))。在一个实施例中,如本文所述,存储器高效的LLC架构操作可以由LLC的控制器实现。图1是示出实现存储器高效的LLC架构的高速缓存控制器200的计算系统100的框图。计算系统100形成有耦合至主存储器112的处理器102。计算系统100可以是个人计算机(PC)、平板PC、机顶盒(STB)、个人数字助理(PDA)、蜂窝电话、web设备、服务器、网络路由器、交换机或桥、或者能够执行指定由该机器执行的动作的一组指令(连续的或以其他方式)的任何机器。此外,虽然仅示出单个计算设备,但是,术语“计算设备”也应当包括单独或共同执行一组(或多组)指令以执行本文所讨论的方法中的任何一种或更多种方法的机器的任意集合。在一个实施例中,处理器102包括一个或多个处理器核114。处理器102和/或处理器核114可以包括一个或多个执行单元104以执行根据本文所述的一个或多个实施例的存储器高效的LLC架构操作。在一个实施例中,处理器核114与高速缓存控制器200通信以执行存储器高效的LLC架构操作。在下文中参考图2–5更详细地描述了关于高速缓存控制器200的更多细节。在图1的所示出的实施例中,处理器102和/或处理器核114包括一个或多个执行单元104以实现用于执行至少一个指令的进程。可在单处理器桌面或服务器系统的上下文中描述一个实施例,但是可将替代实施例包括在多处理器系统中。系统100可以是“中枢”系统架构的示例。计算机系统100包括用于处理数据信号的处理器102。处理器102,作为一个说明性示例,包括,例如,复杂指令集计算机(CISC)微处理器、精简指令集计算(RISC)微处理器、超长指令字(VLIW)微处理器、实现多个指令集的组合的处理器、基于乱序的处理器、或任意其他处理器设备(例如,数字信号处理器)。处理器102耦合到处理器总线110(例如,信道),该处理器总线110在处理器102与系统100中的其他组件(诸如主存储器112)之间传输数据信号。系统100的其他组件可包括,但不限于,图形加速器、存储器控制器中枢、I/O控制器中枢、无线收发器、闪存BIOS、网络控制器、音频控制器、串行扩展端口,以及I/O控制器。处理器102可以采用包括诸如本文所述的实施例中的用于执行处理数据的算法的逻辑的执行单元。处理器10本文档来自技高网...

【技术保护点】
1.一种处理器,包括:处理器核;末级高速缓存(LLC),可操作地耦合至所述处理器核;高速缓存控制器,可操作地耦合至所述LLC,所述高速缓存控制器用于:监视对所述处理器核和与所述LLC相关联的动态随机存取存储器(DRAM)设备之间的信道的带宽要求;当所述带宽超过第一阈值时,执行从所述DRAM设备的第一定义数量的连续读取;以及当所述带宽未超过所述第一阈值时,对来自所述LLC的脏的行执行到所述DRAM设备的第一定义数量的连续写入。

【技术特征摘要】
2017.01.18 US 15/408,7311.一种处理器,包括:处理器核;末级高速缓存(LLC),可操作地耦合至所述处理器核;高速缓存控制器,可操作地耦合至所述LLC,所述高速缓存控制器用于:监视对所述处理器核和与所述LLC相关联的动态随机存取存储器(DRAM)设备之间的信道的带宽要求;当所述带宽超过第一阈值时,执行从所述DRAM设备的第一定义数量的连续读取;以及当所述带宽未超过所述第一阈值时,对来自所述LLC的脏的行执行到所述DRAM设备的第一定义数量的连续写入。2.如权利要求1所述的处理器,其特征在于,所述高速缓存控制器进一步用于:确定所述LLC中的脏的行的数量是否超过第二阈值;当所述LLC中的脏的行的数量超过所述第二阈值时,对来自所述LLC的脏的高速缓存行执行到所述DRAM设备的第二定义数量的附加连续写入;以及当所述LLC中的脏的行的数量未超过所述第二阈值时,执行从所述DRAM设备的第二定义数量的附加连续读取。3.如权利要求2所述的处理器,其特征在于,为了执行到所述DRAM设备的所述第二定义数量的附加连续写入,所述高速缓存控制器用于将所述脏的高速缓存行写入所述DRAM设备中的不同区块。4.如权利要求2所述的处理器,其特征在于,到所述DRAM设备的所述第二定义数量的连续写入是256个。5.如权利要求2所述的处理器,其特征在于,从所述DRAM设备的所述第二定义数量的连续读取是可定制的。6.如权利要求1所述的处理器,其特征在于,从所述DRAM设备的所述第一定义数量的连续读取是256个。7.如权利要求1所述的处理器,其特征在于,所述高速缓存控制器进一步用于当执行从所述DRAM设备的所述第一定义数量的连续读取操作时阻止到所述DRAM设备的所有写入操作。8.如权利要求1所述的处理器,其特征在于,为了监视所述带宽要求,所述高速缓存控制器用于:对预定义数量的周期内的对所述DRAM设备的请求的数量计数;将所述请求的数量除以二;以及将所述请求的数量与所述阈值进行比较。9.如权利要求8所述的处理器,其特征在于,所述预定义数量的周期是可定制的。10.一种方法,包括:由处理器监视对处理器核和与末级高速缓存(LLC)相关联的动态随机存取存储器(DRAM)设备之间的信道的带宽要求;当所述带宽超过第一阈值时,由所述处理器执行从所述DRAM设备的第一定义数量的连续读取;以及当所述带宽未超过所述第一阈值时,由所述处理器对来自所述LLC的脏的行执行到所述DRAM设备的第一定义数量的连续写入。11.如权利要求10所述的方法,其特征在于,进一步包括:确定所述LLC中的脏的行的数量是否超过第二阈值;当所述LLC中的脏的行的数量超过所述第二阈值时,对来自所述LLC的脏的高速缓存行执行到所述DRAM设备的第二定义数量的附加连续写入;以及当所述LLC中的脏的行的数量未超过所述第二阈值时,执行从所述DRAM设备的第二定义数量的附加连续读取。12.如权利要求11所述的方法,其特征在于,执行到所述DRAM设备的所述第二定义数量的附加连续写入的步骤包括将所述脏的高速缓存行写入所述DRAM设备中的不同区块。13.如权利要求10所述的方法,其特征在于,进一步包括当执行从所述DRAM设备的所述第一定义数量的连续读取操作时阻止到所述DRAM...

【专利技术属性】
技术研发人员:J·高尔A·曼达尔A·诺丽S·萨布拉蒙尼
申请(专利权)人:英特尔公司
类型:发明
国别省市:美国,US

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

1