组合的高速缓存注入和锁定操作制造技术

技术编号:10462722 阅读:150 留言:0更新日期:2014-09-24 16:17
电路布置和方法利用高速缓存注入逻辑来执行高速缓存注入和锁定操作,以与高速缓存行到主存储器的传递并行地在高速缓冲存储器中注入高速缓存行并且自动在所述高速缓冲存储器中锁定所述高速缓存行。所述高速缓存注入逻辑可以例如通过以下操作来附加地限制可以在所述高速缓冲存储器中存储的最大数量的已锁定的高速缓存行:中止高速缓存注入和锁定操作,注入所述高速缓存行而不锁定,或解锁和/或驱逐所述高速缓冲存储器中的另一高速缓存行。

【技术实现步骤摘要】
【国外来华专利技术】组合的高速缓存注入和锁定操作
本专利技术通常涉及数据处理,具体地说,涉及处理器架构以及据此而利用的高速缓冲存储器。
技术介绍
传统数据处理系统典型地依赖于多级存储器架构来优化微处理器和其它处理单元对数据的存取。通过多级存储器架构,提供多级的存储器,其中,存储器的每个后续级典型地提供更大的存储空间但增加的存取延迟。提供最低存取延迟但最小的存储空间量的最高级存储器一般被称为高速缓冲存储器,并且通常直接集成到处理单元中或部署在同一集成电路设备或芯片上。包括多个处理单元的数据处理系统中所使用的一种普通存储器架构例如为单个共享主存储器补充专用于每个处理单元的一个或多个L1高速缓存以及一个L2高速缓存、由多个处理单元共享的一个L3高速缓存。多级存储器架构依赖于数据的空间和时间方位性来使得存储器存取延迟最小化。此外,处理单元典型地并且重复地存取位于存储器地址空间的相似区域中的数据。因此,通过在特定处理单元可存取的最高级高速缓存中保存该处理单元需要使用的数据,检索该数据所需的时间量得以最小化。与之对照,每当处理单元尝试存取并不位于高速缓冲存储器中的数据时,该存取尝试被看作“错过”高速缓冲存储器,并且由于从更低级的存储器检索数据,因此导致性能损失。对该数据的随后存取将于是典型地“碰撞”高速缓冲存储器,并且存取数据所需的时间量将减少。为了促进数据在不同级的存储器之间的移动,典型地将数据组织为被称为“高速缓存行”的固定大小区段。假定高速缓冲存储器中的有限存储空间,高速缓冲存储器期望地仅存储处理单元当前正使用或在不久的将来很可能使用的高速缓存行。此外,每当新高速缓存行需要存储在已满的高速缓冲存储器中时,已经存储在高速缓冲存储器中的高速缓存行将需要被替换(“驱逐”)。通常,如果处理单元已经修改高速缓存行,则所驱逐的高速缓存行写回到主存储器和/或一个或多个更低级的高速缓冲存储器。否则,如果尚未修改所驱逐的高速缓存行,则可以仅丢弃所驱逐的高速缓存行。传统数据处理系统一般支持用于流送来自I/O设备或另外这样的硬件资源的数据的能力。这种流送的数据典型地通过共享总线从硬件设备传递到数据处理系统的主存储器,一个或多个处理单元然后按需要从存储器检索数据。特别是当处理单元也耦合到同一共享总线时,数据从I/O设备传递到主存储器并且然后从主存储器传递到处理单元可能占据总线上的过多带宽,并且导致降低的性能。在努力减缓这些问题中,一些传统数据处理系统支持被称为高速缓存注入操作的操作,其中,正从硬件资源传递到主存储器的数据同时“注入”到高速缓冲存储器中,以用于由关联处理单元立即使用。通过进行该操作,在一般减少共享总线上的流量的同时,处理单元可以更快地存取并且处理到来数据。然而,虽然将高速缓存注入到处理单元的高速缓冲存储器中在一些实现中可以增加处理效率,但由于关联高速缓存行并非特定地由与尝试存取这些高速缓存行的处理单元关联的处理单元请求,因此高速缓存注入操作一般有点儿臆测。假定高速缓冲存储器中有限的存储空间量以及对于该有限的存储空间的竞争,已经发现,在一些实例中,在处理高速缓存行之前,可以从高速缓冲存储器提早地驱逐所注入的高速缓存行,结果,由于从主存储器重新检索高速缓存行,因此稍后尝试存取这些提早地驱逐的高速缓存行的处理单元将经历高速缓存错过以及因此较低的性能。因此,现有技术持续需要管理处理单元的高速缓冲存储器中的高速缓存注入以减少所注入的高速缓存行的过早驱逐的可能性的方式。
技术实现思路
本专利技术通过利用“高速缓存注入和锁定”操作以自动地锁定正注入到高速缓冲存储器中的高速缓存行来解决与现有技术关联的这些和其它问题,并且由此限制所注入的高速缓存行在由处理单元使用之前不被驱逐。此外,本专利技术一些实施例期望地管理高速缓冲存储器和其中的已锁定的高速缓存行,以保留用于正常使用的高速缓冲存储器的部分和用于高速缓存注入使用的部分。在本专利技术一些实施例中,可以监控到耦合到处理单元的主存储器(例如非高速缓冲存储器)的数据传递,以标识目标为注入到与处理单元关联的高速缓冲存储器中的高速缓存行。在一些实施例中,可以通过以信号表示高速缓存行可以注入到高速缓冲存储器中的高速缓存注入指示符来标记所传递的高速缓存行。在其它实施例中,将数据传递到主存储器的特定硬件资源可以包括指示从所述特定硬件资源发源的数据的源标识符,从而确定各个高速缓存行是否可以被注入是至少部分地基于所包括的源标识符的。此外,在一些实施例中,高速缓存注入逻辑可以管理高速缓存行注入,以限制高速缓冲存储器中可以注入并且锁定的高速缓存行的数量。在一些实施例中,高速缓存注入逻辑可以保存当注入并且锁定高速缓存行时增加而当解锁高速缓存行时(例如在处理单元已经处理高速缓存行之后)减少的锁定计数器。此外,本专利技术一些实施例实现驱逐优先化,从而可以响应于较高优先级的高速缓存行需要在高速缓冲存储器中注入并且锁定而从所述高速缓冲存储器驱逐已锁定的高速缓存行。在一些实施例中,高速缓存注入可以驱逐最近最少使用的已锁定的高速缓存行,从而可以注入并且锁定新高速缓存行,而在其它实施例中,可以基于锁定指示符的优先化来驱逐已锁定的高速缓存行。在一些实施例中,高速缓冲存储器可以保存与每个已锁定的高速缓存行关联的源标识符,高速缓存注入逻辑可以基于每个已锁定的高速缓存行的源标识符来驱逐已锁定的高速缓存行。因此,与本专利技术的一个方面一致,可以提供一种用于在包括执行单元和耦合到所述执行单元的高速缓冲存储器的处理单元中存储数据的方法,其中,所述高速缓冲存储器被配置为存储多个高速缓存行。所述方法可以包括:响应于检测到各个高速缓存行到耦合到所述处理单元的第一存储器的传递,确定是否在所述高速缓冲存储器中注入并且锁定所述各个高速缓存行;响应于确定在所述高速缓冲存储器中注入并且锁定所述各个高速缓存行,使用耦合到所述高速缓冲存储器的高速缓存注入逻辑来执行高速缓存注入和锁定操作,以在所述高速缓冲存储器中注入所述各个高速缓存行并且锁定所述各个高速缓存行。表征本专利技术的这些和其它优点和特征在所附权利要求中得以阐述并且形成其另一部分。然而,为了更好地理解本专利技术以及通过其使用所获得的优点和目的,将参照附图以及随附的描述本专利技术示例性实施例的描述性内容。附图说明图1是符合本专利技术实施例的包括数据处理中有用的示例性计算机的示例性自动化计算机器的框图。图2是图1的计算机中所实现的示例性NOC的框图。图3是更详细地示出来自图2的NOC的节点的示例性实现的框图。图4是示出来自图2的NOC的IP块的示例性实现的框图。图5是示出符合本专利技术的被配置为支持高速缓存注入和锁定操作的数据处理系统的框图。图6是示出符合本专利技术的可以使用图2的NOC实现并且被配置为支持高速缓存注入和锁定操作的示例性多个节点的框图。图7是示出可以被执行以将图5的数据处理系统配置为将数据从硬件资源流送到主存储器并且执行与之关联的高速缓存注入和锁定操作的操作序列的流程图。图8是示出可以由图5的处理单元执行以有选择地将数据注入并且锁定到与处理单元关联的高速缓冲存储器中的操作序列的流程图。图9是示出可以由图5的处理单元执行以选择处理单元的高速缓冲存储器中的已锁定的高速缓存行以用于驱逐的操作序列的流程图。图10是示出由图5的处理单元执行以在处理高速缓本文档来自技高网
...
组合的高速缓存注入和锁定操作

【技术保护点】
一种用于在包括经由片上网络而彼此耦合的多个节点的片上网络(NOC)处理单元中存储数据的方法,每个节点包括集成处理器块,每个集成处理器块包括执行单元以及耦合到所述执行单元的高速缓冲存储器,所述高速缓冲存储器被配置为存储多个高速缓存行,其中,所述高速缓冲存储器被配置为对于所述高速缓冲存储器中所存储的每个高速缓存行保存与该高速缓存行关联的软件锁定标志和高速缓存注入锁定标志,所述方法包括:响应于检测到各个高速缓存行到耦合到所述片上网络的第一存储器的传递,通过存取与所述高速缓冲存储器关联的高速缓存锁定计数器来确定是否高速缓存注入锁定所述高速缓冲存储器中最大数量的高速缓存行;响应于确定未高速缓存注入锁定所述最大数量的高速缓存行,在所述高速缓冲存储器中注入各个高速缓存行,并且锁定所述各个高速缓存行,其中,锁定所述各个高速缓存行包括:设置用于所述各个高速缓存行的高速缓存注入锁定标志,并且增加所述高速缓存锁定计数器。

【技术特征摘要】
【国外来华专利技术】2012.01.23 US 13/355,6131.一种用于在包括经由片上网络而彼此耦合的多个节点的片上网络(NOC)处理单元中存储数据的方法,每个节点包括集成处理器块,每个集成处理器块包括执行单元以及耦合到所述执行单元的高速缓冲存储器,所述高速缓冲存储器被配置为存储多个高速缓存行,所述方法包括:为对于所述高速缓冲存储器中所存储的每个高速缓存行保存与该高速缓存行关联的软件锁定标志和高速缓存注入锁定标志;响应于检测到各个高速缓存行从输入/输出设备到耦合到所述片上网络的第一存储器的传递,通过存取与所述高速缓冲存储器关联的高速缓存锁定计数器来确定是否高速缓存注入锁定所述高速缓冲存储器中最大数量的高速缓存行;响应于确定未高速缓存注入锁定所述最大数量的高速缓存行,在所述高速缓冲存储器中注入各个高速缓存行,并且与各个高速缓存行到第一存储器的传递的同时自动锁定所述各个高速缓存行,其中,锁定所述各个高速缓存行包括:设置用于所述各个高速缓存行的高速缓存注入锁定标志,并且增加所述高速缓存锁定计数器,并且其中设置高速缓存注入锁定标志锁定各个高速缓存行不受高速缓冲存储器驱逐。2.如权利要求1所述的方法,还包括:响应于确定锁定所述最大数量的高速缓存行,将所述各个高速缓存行写入到所述第一存储器,而不将所述各个高速缓存行注入到所述高速缓冲存储器中。3.如权利要求1所述的方法,还包括:响应于确定锁定所述最大数量的高速缓存行,将所述各个高速缓存行注入到所述高速缓冲存储器中,而不锁定所述各个高速缓存行。4.如权利要求1所述的方法,还包括:响应于确定锁定所述最大数量的高速缓存行,驱逐所述高速缓冲存储器中所存储的最近最少使用的高速缓存行。5.一种用于在包括执行单元和耦合到所述执行单元的高速缓冲存储器的处理单元中存储数据的方法,所述高速缓冲存储器被配置为存储多个高速缓存行,所述方法包括:响应于检测到各个高速缓存行从输入/输出设备到耦合到所述处理单元的第一存储器的传递,确定是否在所述高速缓冲存储器中注入并且锁定所述各个高速缓存行;以及响应于确定在所述高速缓冲存储器中注入并且与各个高速缓存行到第一存储器的传递的同时自动锁定所述各个高速缓存行,使用耦合到所述高速缓冲存储器的高速缓存注入逻辑来执行高速缓存注入和锁定操作,以在所述高速缓冲存储器中注入所述各个高速缓存行并且锁定所述各个高速缓存行,并且其中设置高速缓存注入锁定标志锁定各个高速缓存行不受高速缓冲存储器驱逐。6.如权利要求5所述的方法,其中,确定是否注入并且锁定所述各个高速缓存行包括:确定是否锁定所述高速缓冲存储器中最大数量的高速缓存行。7.如权利要求6所述的方法,还包括:响应于确定锁定所述高速缓冲存储器中所述最大数量的高速缓存行,解锁并且驱逐所述高速缓冲存储器中所存储的第一高速缓存行。8.如权利要求7所述的方法,其中,所述高速缓冲存储器中所存储的每个高速缓存行包括:源标识符,其中,解锁并且驱逐所述第一高速缓存行至少部分地基于所述第一高速缓存行的所述源标识符。9.如权利要求8所述的方法,其中,所述高速缓存注入逻辑保存指示彼此有关的一个或多个源标识符的注入和锁定优先级的优先化数据,其中,解锁并且驱逐所述第一高速缓存行至少部分地基于所述优先化数据。10.如权利要求9所述的方法,其中,所述优先化数据指示用于所述优先化数据中未包括的源标识符的默认注入和锁定优先级,其中,解锁并且驱逐所述第一高速缓存行至少部分地基于所述默认注入和锁定优先级。11.如权利要求7所述的方法,其中,所述高速缓冲存储器被配置为对于所述高速缓冲存储器中所存储的每个高速缓存行,保存与该高速缓存行关联的软件锁定标志和高速缓存注入锁定标志,其中,所述软件锁定标志被配置为由在所述处理单元上执行的软件线程设置,其中,锁定所述各个高速缓存行包括:设置用于所述各个高速缓存行的所述高速缓存注入锁定标志,其中,解锁并且驱逐所述高速缓冲存储器中的所述第一高速缓存行至少部分地基于所述第一高速缓存行的所述高速缓存注入锁定标志和所述软件锁定标志。12.如权利要求6所述的方法,还包括:响应于确定锁定所述最大数量的高速缓存行,确定不在所述高速缓冲存储器中注入并且锁定所述各个高速缓存行。13.如权利要求12所述的方法,还包括:响应于确定不在所述高...

【专利技术属性】
技术研发人员:P沙特R希勒M库弗施密特J库塞尔
申请(专利权)人:国际商业机器公司
类型:发明
国别省市:美国;US

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

1