用于存储流检测和处理的设备和方法技术

技术编号:18349909 阅读:25 留言:0更新日期:2018-07-01 22:46
提供一种用于存储流检测和处理的设备和方法。根据一个总体方面,一种设备可包括:加载/存储电路和区域大小检测电路。加载/存储电路可被配置为发出用于将数据存储在存储器系统中的多个存储指令。区域大小检测电路可被配置为至少部分地基于通过在所述多个存储指令中跟踪多个缓存行地址项,从多个缓存器确定用于对存储指令的流进行存储的缓存器,其中,以不同的频率更新每个地址项。

【技术实现步骤摘要】
用于存储流检测和处理的设备和方法本申请要求于2016年12月12日提交的题目为“用于存储流检测和处理的系统和方法”的第62/433,232号美国临时专利申请以及于2017年2月1日提交的第15/422,442号美国专利申请的优先权,这些在先提交的申请的主题通过引用合并于此。
本公开总体涉及微处理器,更具体地讲,涉及一种用于存储流检测和处理的系统和方法。
技术介绍
处理器(CPU)的上下文中的流数据(streamingdata)通常是将数据写入到虚拟空间中的连续的或相连的存储器位置的存储指令或写入指令的序列。通常大的数据块将经由一系列的写入操作或存储操作被移动或存储到存储器。流数据或“存储流(storestreaming)”的典型示例为“存储器复制”,这是将存储器的块从源位置复制到目标位置的常用方法。在硬件中,这种方法转换为从源位置获取数据的加载操作或读取操作的流,接着是将加载的数据复制到目标位置的存储操作或写入操作的流。一些应用可简单地利用存储流来初始化大的存储器块。有时,这些存储流是非暂时性的。即,数据经常仅被引用一次,然后在近期不被重复使用。例如,典型的存储器复制操作可涉及移动数千字节或数兆字节的数据,这些数据可能在程序执行期间仅被引用一次。将存储数据缓存在处理器的缓存器(例如,2级(L2)缓存器、1级(L1)缓存器和3级(L3)缓存器)内可能置换其他有用的缓存器驻留数据,并且对性能不利。通常,为了避免缓存器污染,应用可尝试提供指示(例如,通过指令操作代码和存储器类型),以使硬件能够知晓流数据将不被缓存。然而,可能存在指示在指令集内不可用的情况。为了解决这样的顾虑,许多硬件设计结合了动态检测存储的模式的机制,并寻找大规模的存储流模式的情况(以便将它们直接流传输到系统存储器)。使用以上硬件存储流检测的方法倾向于避免缓存器污染的一般问题。然而,一些应用(例如,编译器等)倾向于暂时重新访问将另外适于L2缓存器或L3缓存器内的合理大的规模的存储流。对于这样的应用,缓存会更有益处。然而,使用传统的硬件检测方法,这些存储流将被重复地写入存储器,导致系统存储器带宽和功率使用,以及放弃缓存器存储的益处。
技术实现思路
根据一个总体方面,一种设备可包括加载/存储电路和区域大小检测电路。加载/存储电路可被配置为发出用于将数据存储在存储器系统中的多个存储指令。区域大小检测电路可被配置为至少部分地基于通过在所述多个存储指令中跟踪多个缓存行地址项,从多个缓存器确定用于对存储指令的流进行存储的缓存器,其中,以不同的频率更新每个地址项。根据另一个总体方面,一种方法可包括接收用于将数据存储在存储器系统中的多个存储指令,其中,存储器系统被配置为至少暂时地将所述数据存储在至少一个缓存器中。所述方法可包括:经由区域大小检测电路,至少部分地基于通过在所述多个存储指令中跟踪多个地址项来选择用于对存储指令的流进行存储的缓存器,其中,以不同的频率来更新每个地址项。根据另一个总体方面,一种系统可包括多个处理器、缓存器系统和区域大小检测电路。所述多个处理器的每一个可被配置为发出用于将数据存储在缓存器系统中的存储指令的流。缓存器系统可被配置为将数据存储在缓存器层的层级中。区域大小检测电路可被配置为至少部分地基于通过确定存储指令的流是否包括存储指令的重复的流以及存储指令的重复的流的重复大小,来确定哪个缓存器层用于对存储指令的流进行存储。在下面的附图和描述中阐述了一个或多个实现的细节。通过描述和附图以及权利要求,其他特征将是清楚的。如在权利要求中更全面地阐述的,本专利技术涉及用于数据的存储的系统和/或方法,更具体地讲,基本上如结合附图中的至少一个所示和/或描述的,涉及写入指令或存储指令的流的处理的管理。附图说明图1是根据公开的主题的系统的示例实施例的框图。图2是根据公开的主题的技术的示例实施例的流程图。图3是根据公开的主题的数据结构和电路的示例实施例的示图。图4是根据公开的主题的数据结构的示例实施例的框图。图5是根据公开的主题的数据结构和电路的示例性实施例的示图。图6是可包括根据公开的主题的原理形成的装置的信息处理系统的示意性框图。各个附图中的相同的参考符号表示相同的元件。具体实施方式将在下文中参照示出一些示例实施例的附图更全面地描述各个示例实施例。然而,本公开的主题可以以很多不同的形式实现,并且不应被解释为受限于在此阐述的示例实施例。相反,提供这些示例实施例,使得本公开将是彻底和完整的,并且将向本领域的技术人员充分地传达本公开的主题的范围。在附图中,为了清楚,层和区域的大小以及相对大小可被夸大。将理解,当元件或层被称为“在”另一个元件或层上、“连接到”或“结合到”另一个元件或层时,其可直接在其他元件或层上、直接连接到或直接结合到其他元件,或者可存在中间元件或中间层。相反,当元件被称为“直接在”另一个元件或层上、“直接连接到”或“直接结合到”另一个元件或层时,不存在中间元件或中间层。相同的标号始终表示相同的元件。如在此使用的,术语“和/或”包括相关的列出项的一个或多个的任意组合和所有组合。将理解,虽然可在此使用术语第一、第二、第三等来描述各种元件、组件、区域、层和/或部分,但是这些元件、组件、区域、层和/或部分不应受这些术语限制。这些术语仅用于将一个元件、组件、区域、层或部分与另一区域、层或部分区分。因此,在不脱离本公开的主题的教导的情况下,以下讨论的第一元件、第一组件、第一区域、第一层或第一部分可被称为第二元件、第二组件、第二区域、第二层或第二部分。为了便于描述,可在此使用诸如“在……之下”,“在……下方”,“下面的”,“在……之上”,“上面的”等的空间相对术语,来描述如附图中所示的一个元件或特征与另一个元件或特征的关系。将理解,空间相对术语意图包括除了附图中描绘的方位之外的使用或操作中的装置的不同方位。例如,如果附图中的装置被翻转,被描述为在其他元件或特征的“下面”或“之下”的元件其后将位于其他元件或特征的“上面”。因此,示例性术语“在……下方”可包括上面和下面两种方位。装置可被另外定位(旋转90度或在其它方位),并且相应地解释在此使用的空间相对描述符。在此使用的术语仅为了描述具体的示例实施例的目的,并不意图限制本公开的主题。除非上下文另外清楚地指示,否则如在此使用的单数形式也意图包括复数形式。还将理解,当在本说明书中使用时,术语“包括”指定存在阐述的特征、整体、步骤、操作、元件和/或组件,但不排除存在或添加一个或多个其它特征、整体、步骤、操作、元件、组件和/或它们的组。在此参照作为理想化的示例实施例(和中间结构)的示意图的横截面图来描述示例实施例。如此,将预计出现例如由制造技术和/或公差导致的图示的形状的变化。因此,示例实施例不应被解释为受限于在此示出的区域的特定形状,而是包括例如由制造导致的形状偏差。例如,示出为矩形的注入区域通常在其边缘处具有圆形或弯曲的特征和/或注入浓度梯度,而不是从注入区域到非注入区域的突然变化。同样地,通过注入形成的埋区可导致在埋区与发生注入的表面之间的区域中的一些注入。因此,附图中示出的区域本质上是示意性的,并且它们的形状不意图示出装置的区域的实际形状,并不意图限制本公开的主题的范围。除非另外定义,否则在此使用的本文档来自技高网
...
用于存储流检测和处理的设备和方法

【技术保护点】
1.一种用于存储流检测和处理的设备,包括:加载/存储电路,被配置为发出用于将数据存储在存储器系统中的多个存储指令;区域大小检测电路,被配置为:至少部分地基于通过在所述多个存储指令中跟踪多个缓存行地址项,从多个缓存器确定用于对存储指令的流进行存储的缓存器,其中,以不同的频率更新每个缓存行地址项。

【技术特征摘要】
2016.12.12 US 62/433,232;2017.02.01 US 15/422,4421.一种用于存储流检测和处理的设备,包括:加载/存储电路,被配置为发出用于将数据存储在存储器系统中的多个存储指令;区域大小检测电路,被配置为:至少部分地基于通过在所述多个存储指令中跟踪多个缓存行地址项,从多个缓存器确定用于对存储指令的流进行存储的缓存器,其中,以不同的频率更新每个缓存行地址项。2.根据权利要求1所述的设备,其中,以与相关联的缓存器的大小相关联的频率更新每个地址项。3.根据权利要求1所述的设备,其中,区域大小检测电路包括地址项表,地址项表具有针对每个更新频率的地址项,其中,每个地址项包括:新近地址字段,被配置为存储在当前周期的起点采样的最新近地址,当前周期标记,被配置为指示最新近地址是否已经在当前周期内至少第二次在所述多个存储指令内出现,最后周期标记,被配置为指示在最后周期的终点的当前周期标记的值。4.根据权利要求1所述的设备,其中,区域大小检测电路被配置为:如果存在地址项指示已经在两个连续的跟踪周期内发生地址匹配,则基于哪个地址项指示已经在两个连续的跟踪周期内发生地址匹配,来选择用于对存储指令的流进行存储的缓存器。5.根据权利要求1所述的设备,还包括:存储流检测电路,被配置为至少部分地基于对选择的缓存器的缓存器未命中的数量和存储指令的大小,检测所述多个存储指令是否包括存储指令的流。6.根据权利要求1所述的设备,还包括:存储组合监视器电路,被配置为跟踪以缓存行粒度级别组合的存储指令的数量,并采用所述数量来确定部分存储流处理。7.根据权利要求6所述的设备,还包括:半永久存储器,被配置为至少半永久地存储至少部分地和暂时地存储在至少一个缓存器中的数据;其中,存储组合监视电路被配置为:至少部分地基于与存储指令的流相关联的稀疏缓存行的数量是否低于阈值,来确定存储指令的流是将被直接存储在缓存器还是半永久存储器中。8.根据权利要求6所述的设备,其中,存储组合监视器电路包括:先进先出地址缓冲器,被配置为跟踪有多少存储被组合到每个缓存行。9.根据权利要求7所述的设备,其中,存储组合监视器电路包括:饱和计数器,被配置为指示缓...

【专利技术属性】
技术研发人员:王昊迪利普·慕斯卡瑞斯南布莱恩·C·格雷森
申请(专利权)人:三星电子株式会社
类型:发明
国别省市:韩国,KR

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

1