当前位置: 首页 > 专利查询>ARM有限公司专利>正文

用于处理缓存维护操作的装置和方法制造方法及图纸

技术编号:27975251 阅读:37 留言:0更新日期:2021-04-06 14:09
提供了用于处理缓存维护操作的装置和方法。该装置具有用于发出请求的多个请求者元件和用于处理这种请求的至少一个完成者元件。提供了缓存层次结构,其具有多个级别的缓存来存储与存储器中的地址相关联的数据的缓存副本。请求者元件可被布置为发出指定存储器地址范围的缓存维护操作请求以便使得与指定的存储器地址范围相关联的数据块通过缓存层次结构的至少一个级别被推送到确定的可见点,以便使得该数据块对一个或多个其他请求者元件可见。给定请求者元件可被布置为检测何时需要在缓存维护操作请求之前发出写入请求以便使得对于指定的存储器地址范围内的数据项执行写入操作,并且在该情况下生成要发出的组合写入和缓存维护操作请求来取代写入请求和后续缓存维护操作请求。接收到组合写入和缓存维护操作请求的接收方完成者元件于是可被布置为发起组合写入和缓存维护操作请求所要求的缓存维护操作的处理,而不等待写入操作完成。这可显著减小缓存维护操作的处理中的时延,并且可提供减小的带宽利用。

【技术实现步骤摘要】
用于处理缓存维护操作的装置和方法
本技术涉及用于处理缓存维护操作的装置和方法。
技术介绍
一种装置可包括多个元件,每个元件能够发出请求来访问数据,这些请求通常指定存储器地址以识别出该数据被存储或者将被存储在存储器内何处。为了改善访问时间,已知提供一种缓存层次结构,该缓存层次结构包括用于存储与存储器中的地址相关联的数据的缓存副本的多个级别的缓存。缓存层次结构中的一些缓存可以是与特定元件相关联的本地缓存,而其他缓存可以是多个元件可访问的共享缓存。通常的情况是,由一个元件写入的数据需要对于装置内的至少一个其他元件可见。试图实现这一点的一种方式是使用缓存维护操作,其可以例如用于驱逐已被写入到缓存中但是比存储器中保存的数据更新的数据,使得写入数据随后被下推到缓存层次结构中的下一级别。通过将缓存维护操作请求传递到缓存层次结构中的一个或多个级别的缓存上,这可用于将先前写入数据推送到装置内的期望可见点。缓存维护操作通常可以指定将对其执行该操作的存储器地址范围,并且所确定的可见点可取决于所关注的存储器地址范围,以及需要具有该数据的可见性的特定元件。然而,在处理用于将写入数据推送到期望的可见点的缓存维护操作时可能涉及相当大的时延。特别地,每次当在处理缓存维护操作时确定存在向缓存维护操作的指定地址范围内的地址的未决写入时,或者确定经历缓存维护操作的缓存中的数据需要被写出到缓存层次结构或存储器的更低级别时,则根据已知的技术,对缓存维护操作的进一步处理需要等待,直到更早的写入操作已完成为止,然后缓存维护操作于是才可继续。>期望减小与缓存维护操作的处理相关联的时延。
技术实现思路
在一个示例布置中,提供了一种装置,包括:多个请求者元件,用于发出请求;至少一个完成者元件,用于处理请求;缓存层次结构,包括多个级别的缓存,用于存储与存储器中的地址相关联的数据的缓存副本;其中:所述多个请求者元件中的给定请求者元件被布置为发出指定存储器地址范围的缓存维护操作请求,以便使得与指定的存储器地址范围相关联的数据块通过所述缓存层次结构的至少一个级别被推送到确定的可见点,以便使得该数据块对所述多个请求者元件中的一个或多个其他请求者元件可见;所述给定请求者元件响应于检测到在所述缓存维护操作请求之前发出写入请求以便使得对于所述指定的存储器地址范围内的数据项执行写入操作的需要,生成要发出的组合写入和缓存维护操作请求来取代所述写入请求和后续缓存维护操作请求;其中所述至少一个完成者元件之中的接收到所述组合写入和缓存维护操作请求的接收方完成者元件被布置为发起所述组合写入和缓存维护操作请求所要求的缓存维护操作的处理,而不等待所述写入操作完成。在另一个示例布置中,提供了一种在装置内处理缓存维护操作的方法,包括:提供多个请求者元件来发出请求,至少一个完成者元件来处理请求,以及缓存层次结构,其包括多个级别的缓存,用于存储与存储器中的地址相关联的数据的缓存副本;布置给定请求者元件来发出指定存储器地址范围的缓存维护操作请求以便使得与指定的存储器地址范围相关联的数据块通过所述缓存层次结构的至少一个级别被推送到确定的可见点以便使得该数据块对所述多个请求者元件中的一个或多个其他请求者元件可见;响应于检测到在所述缓存维护操作请求之前发出写入请求以便使得对于所述指定的存储器地址范围内的数据项执行写入操作的需要,在所述给定请求者元件处生成要发出的组合写入和缓存维护操作请求来取代所述写入请求和后续缓存维护操作请求;并且使得所述至少一个完成者元件之中的接收到所述组合写入和缓存维护操作请求的接收方完成者元件发起所述组合写入和缓存维护操作请求所要求的缓存维护操作的处理,而不等待所述写入操作完成。在另外一个示例布置中,提供了一种装置,包括:多个请求者元件装置,用于发出请求;至少一个完成者元件装置,用于处理所述请求;缓存层次结构,包括多个级别的缓存装置,用于存储与存储器中的地址相关联的数据的缓存副本;其中:所述多个请求者元件装置中的给定请求者元件装置被布置为发出指定存储器地址范围的缓存维护操作请求,以便使得与指定的存储器地址范围相关联的数据块通过所述缓存层次结构的至少一个级别被推送到确定的可见点,以便使得该数据块对所述多个请求者元件装置中的一个或多个其他请求者元件装置可见;所述给定请求者元件装置响应于检测到在所述缓存维护操作请求之前发出写入请求以便使得对于所述指定的存储器地址范围内的数据项执行写入操作的需要,用于生成要发生的组合写入和缓存维护操作请求来取代所述写入请求和后续缓存维护操作请求;其中所述至少一个完成者元件装置之中的接收到所述组合写入和缓存维护操作请求的接收方完成者元件装置被布置为发起所述组合写入和缓存维护操作请求所要求的缓存维护操作的处理,而不等待所述写入操作完成。附图说明将参考在附图中图示的本技术的示例来仅作为说明进一步描述本技术,附图中:图1是根据一个示例实现方式的装置的框图;图2是根据一个示例实现方式图示出在组合写入和缓存维护操作请求的处理期间在请求者元件和完成者元件之间传递的各种信号的时序图;图3是图示出根据第一示例场景可在主设备、互连和从属设备之间传递的信号的序列的时序图,但其中没有使用本文描述的技术的组合写入和缓存维护操作请求,而图4是同一示例场景的等同时序图,但其中使用了本文描述的技术的组合写入和缓存维护操作请求;图5是图示出根据第二示例场景可在主设备、互连和从属设备之间传递的信号的序列的时序图,但其中没有使用本文描述的技术的组合写入和缓存维护操作请求,而图6是同一示例场景的等同时序图,但其中使用了本文描述的技术的组合写入和缓存维护操作请求;图7是根据一个示例实现方式图示出本文描述的组合写入和缓存维护操作请求可用于主设备和互连以及互连和从属设备之间的通信的一者或两者中的各种情况的表格;图8是图示出在一个示例实现方式中执行的过程的流程图;并且图9是根据特定实现方式图示出为了确定创建组合写入和缓存维护操作请求的条件是否存在而执行的步骤的流程图。具体实施方式根据本文描述的技术,提供了一种装置,其具有可发出请求的多个请求者元件,以及用于处理这种请求的至少一个完成者元件。取决于实现方式,请求者元件可采取多种形式。它们可例如采取向存储器发出访问请求的主设备的形式,或者实际上可以是装置内的中间位置处的中间元件,例如在用于提供若干个主设备和一个或多个从属设备之间的连接的互连内。这种中间元件既可充当完成者元件来处理来自主设备的请求,也可充当请求者元件来向系统内的其他下游元件发出请求(下游元件是比所关注的请求者元件更靠近存储器的元件)。类似地,完成者元件可采取多种形式。它们可例如是用于处理从上游元件发出的访问请求的从属设备,这种从属设备的示例是用于控制对存储器的访问的存储器控制器。然而,如上所述,完成者元件也可以是装置内的中间元件,例如存在于用于在一个或多个主设备和一个或多个从属设备之间提供连接的互连内。装置也提供一种缓存层次结构,该缓存层次结构包括用于存储与存储器中的本文档来自技高网...

【技术保护点】
1.一种装置,包括:/n多个请求者元件,用于发出请求;/n至少一个完成者元件,用于处理所述请求;/n缓存层次结构,包括多个级别的缓存,用于存储与存储器中的地址相关联的数据的缓存副本;/n其中:/n所述多个请求者元件中的给定请求者元件被布置为发出指定存储器地址范围的缓存维护操作请求,以便使得与所指定的存储器地址范围相关联的数据块通过所述缓存层次结构的至少一个级别被推送到确定的可见点,以便使得该数据块对于所述多个请求者元件中的一个或多个其他请求者元件可见;/n所述给定请求者元件响应于检测到在所述缓存维护操作请求之前发出写入请求以便使得对于所指定的存储器地址范围内的数据项执行写入操作的需要,生成要发出的组合写入和缓存维护操作请求来取代所述写入请求和后续的缓存维护操作请求;/n其中,所述至少一个完成者元件之中的接收到所述组合写入和缓存维护操作请求的接收方完成者元件被布置为发起所述组合写入和缓存维护操作请求所要求的缓存维护操作的处理,而不等待所述写入操作完成。/n

【技术特征摘要】
20191003 US 16/591,8271.一种装置,包括:
多个请求者元件,用于发出请求;
至少一个完成者元件,用于处理所述请求;
缓存层次结构,包括多个级别的缓存,用于存储与存储器中的地址相关联的数据的缓存副本;
其中:
所述多个请求者元件中的给定请求者元件被布置为发出指定存储器地址范围的缓存维护操作请求,以便使得与所指定的存储器地址范围相关联的数据块通过所述缓存层次结构的至少一个级别被推送到确定的可见点,以便使得该数据块对于所述多个请求者元件中的一个或多个其他请求者元件可见;
所述给定请求者元件响应于检测到在所述缓存维护操作请求之前发出写入请求以便使得对于所指定的存储器地址范围内的数据项执行写入操作的需要,生成要发出的组合写入和缓存维护操作请求来取代所述写入请求和后续的缓存维护操作请求;
其中,所述至少一个完成者元件之中的接收到所述组合写入和缓存维护操作请求的接收方完成者元件被布置为发起所述组合写入和缓存维护操作请求所要求的缓存维护操作的处理,而不等待所述写入操作完成。


2.根据权利要求1所述的装置,其中:
所述接收方完成者元件被布置为在处理指定存储器地址的请求时发出完成信号,以指出所述接收方完成者元件采取了充分的步骤来确保该请求所要求的操作的结果将被所述多个请求者元件的至少子集观察到,所述多个请求者元件向所述接收方完成者元件发出指定该存储器地址的后续请求;并且
所述接收方完成者元件被布置为向所述给定请求者元件发出写入完成信号和分开的缓存维护操作完成信号,以使得所述给定请求者元件能够独立地评估所述组合写入和缓存维护操作请求所要求的写入操作和缓存维护操作的进展。


3.根据权利要求2所述的装置,其中,所述写入完成信号和所述分开的缓存维护操作完成信号两者都使用在所述组合写入和缓存维护操作请求中指定的相同事务标识符。


4.根据权利要求1所述的装置,其中:
所述接收方完成者元件被布置为在所述组合写入和缓存维护操作请求的处理期间发出多个信号;并且
所述组合写入和缓存维护操作请求提供用于确定所述信号中的每个信号的目标元件的目标指示字段。


5.根据权利要求4所述的装置,其中,所述目标指示字段指出何时所述接收方完成者元件将从其获得与所述写入操作相关联的数据项的源元件是与生成所述组合写入和缓存维护操作请求的所述给定请求者元件不同的元件,并且在该情况下所述接收方完成者元件被布置为直接向所述不同元件发出数据拉取信号以触发所述不同元件将所述数据项发送到所述接收方完成者元件。


6.根据权利要求5所述的装置,其中,所述不同元件是向所述给定请求者元件发出初始组合写入和缓存维护操作请求的元件,并且所述给定请求者元件对该初始组合写入和缓存维护操作请求的处理导致所述给定请求者元件向所述接收方完成者元件发出所述组合写入和缓存维护操作请求。


7.根据权利要求6所述的装置,其中,对于至少一种类型的写入操作,所述装置被布置为禁止直接从所述不同元件获得所述数据项,并且当所述组合写入和缓存维护操作请求涉及所述至少一种类型的写入操作时,所述目标指示字段被设置为标识要从所述给定请求者元件获得所述数据项。


8.根据权利要求4所述的装置,其中,所述目标指示字段指出所述接收方完成者元件在所述写入操作的处理期间发出的第一信号的目标元件何时不同于所述接收方完成者元件在所述缓存维护操作的处理期间发出的第二信号的目标元件。


9.根据权利要求8所述的装置,其中,所述确定的可见点是持续点,所述第一信号是由所述接收方完成者元件发出以试图获得所述数据项的数据拉取信号,并且所述第二信号是被发出以识别出与所指定的存储器地址范围相关联的数据块已到达所述持续点的持续信号。


10.根据权利要求4所述的装置,其中,至少当处理所述写入操作和所述缓存维护操作之一时,所述接收方完成者元件被布置为在多个信号将被发出到同一目标元件时将所述多个信号组合成单个组合信号。


11.根据权利要求10所述的装置,其中,所述接收方完成者元件被布置为将与所述写入操作相关联的至少一个信号和与所述缓存维护操作相关联的至少一个信号包含到所述单个组合信号中。


12.根据权利要求1所述的装置,其中:
...

【专利技术属性】
技术研发人员:潘尼德拉·库马尔·马纳瓦布鲁斯·詹姆斯·梅休森詹姆师德·加拉
申请(专利权)人:ARM有限公司
类型:发明
国别省市:英国;GB

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

1