首页 专利交易 科技果 科技人才 科技服务 国际服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

原子数据访问请求的调节 

买专利卖专利找龙图腾,真高效! 查专利查商标用IPTOP,全免费!专利年费监控用IP管家,真方便!

申请/专利权人:Arm有限公司

摘要:提供了用于将事务请求路由到所选目的地节点的路由电路400。路由电路支持需要读取响应的读取请求、需要写入响应的写入请求以及需要读取响应和写入响应两者的至少一种原子数据访问请求。提供请求调节器401、402、403以监测读取、原子和写入请求的资源使用情况,并且发布电路431根据请求调节器执行的资源使用情况监测来控制从请求节点接收的事务请求的发布。发布电路根据写入请求调节器监测的资源使用和原子请求调节器监测的资源使用来控制原子请求的发布。

主权项:1.一种用于数据处理的设备,包括:路由电路,其用于将来自请求节点的事务请求路由到目的地节点;发布电路,其用于根据由多个请求调节器执行的资源使用情况监测来控制将从所述请求节点接收到的事务请求发布到所述目的地节点;所述多个请求调节器包括:读取请求调节器,其用于监测需要读取响应的读取请求的资源使用情况;写入请求调节器,其用于监测需要写入响应的写入请求的资源使用情况;以及原子请求调节器,其用于监测需要所述写入响应和所述读取响应两者的至少一种类型的原子请求的资源使用情况,其中,所述发布电路被配置为根据所述写入请求调节器所监测的资源使用情况和所述原子请求调节器所监测的资源使用情况来控制对所述至少一种类型的原子请求的发布。

全文数据:原子数据访问请求的调节技术领域本技术涉及数据处理领域。更具体地,本技术涉及对数据访问请求的调节。技术背景集成电路可以包括多个组件,这些组件可以通过发布指定目标存储器地址的数据访问请求来进行通信。可以提供路由电路,该路由电路根据由数据访问请求指定的目标地址来管理将来自集成电路的给定请求节点的数据访问请求路由到适当目的地节点。发明内容至少一些示例提供了一种设备,该设备包括:路由电路,其用于将来自请求节点的事务请求路由到目的地节点;发布电路,其用于根据由多个请求调节器执行的资源使用情况监测来控制将从所述请求节点接收到的事务请求发布到所述目的地节点;所述多个请求调节器包括:读取请求调节器,其用于监测需要读取响应的读取请求的资源使用情况;写入请求调节器,其用于监测需要写入响应的写入请求的资源使用情况;以及原子请求调节器,其用于监测需要所述写入响应和所述读取响应两者的至少一种类型的原子请求的资源使用情况。至少一些示例提供了一种方法,该包括以下步骤:将来自请求节点的事务请求路由到目的地节点;使用读取请求调节器监测需要读取响应的读取请求的资源使用情况;使用写入请求调节器监测需要写入响应的写入请求的资源使用情况;使用原子请求调节器监测需要所述写入响应和所述读取响应两者的至少一种类型的原子请求的资源使用情况;以及根据由包括所述读取请求调节器、所述写入请求调节器和所述原子请求调节器的多个请求调节器执行的资源使用情况监测,对将从所述请求节点接收的事务请求发布到所述目的地节点进行控制。至少一些示例提供了一种电子设计文件,该电子设计文件提供如上所述的设备的表示。电子设计文件可以存储在存储介质上。所述存储介质可以是非暂时性存储介质。从以下结合附图阅读的示例的描述中,本技术的其他方面、特征和优点将显而易见。附图说明图1示意性地示出了具有多个组件的数据处理系统的示例,这些组件经由互连或片上网络进行通信;图2示出了具有远原子处理逻辑的目的地节点的示例,该远原子处理逻辑用于处理需要写入响应和读取响应的原子数据访问请求;图3是示出可以由互连处理的不同类型的数据访问事务的示例的表格;图4示出了具有用于读取、原子和写入数据访问请求的相应请求调节器的路由电路以及用于发布数据访问请求的发布电路的示例;图5示出了路由电路以及读取通道和写入通道上的读取、写入和原子数据访问请求的管理的示例;图6示出了由调节器使用的数据访问请求标识符的使用;图7更详细地示出了路由电路的示例;图8是示出控制来自请求节点的所接收的事务请求的方法的流程图;并且图9是示出控制事务响应的接收的方法的流程图。具体实施方式诸如集成电路或片上系统之类的设备可以具有路由电路,以将来自请求节点的事务请求路由到目的地节点。该设备还可以包括发布电路,以用于根据由多个请求调节器执行的资源使用情况监测来对将从请求节点接收到的事务请求发布到目的地节点进行控制。发布电路可以发布用于触发从多个目的地节点中选择的所选目的地节点的信号,以服务数据访问请求。例如,路由电路可以包括互连或片上网络。用于执行资源使用情况监测的多个请求调节器可以包括:读取请求调节器,其用于监测需要读取响应的读取请求的资源使用;写入请求调节器,其用于监测需要写入响应的写入请求的资源使用情况;以及原子请求调节器,其用于监测需要写入响应和读取响应两者的至少一种类型的原子请求的资源使用情况。路由电路可以支持多种类型的请求。当数据访问请求事务请求是通过读取请求通道从请求节点接收的读取请求时,数据访问路由电路可以发布用于触发所选目的地节点的信号以提供读取响应,该读取响应取决于从目标地址识别的目标存储位置读取的数据。当数据访问请求是通过写入请求通道从请求节点接收的写入请求时,数据访问路由电路可以发布用于触发所选目的地节点的信号以提供写入响应,该写入响应确认写入操作的服务,以便将数据写入目标存储位置由目标存储地址指示。当数据访问请求是原子请求时,路由电路可以发布用于触发所选目的地节点的信号以提供写入响应和读取响应两者。读取和写入请求调节器分别通过读取和写入请求监测资源使用情况。发布电路基于资源使用情况控制事务的发布。所监测的资源使用情况可以例如包括在一个或多个缓冲器中分配空间以用于缓冲事务、对事务的响应或关于事务的信息或者可以是允许事务发布和消耗下游资源的信用。除了读取调节器和写入调节器之外,还提供第三原子调节器。原子请求与读取请求和写入请求两者的不同之处在于,原子请求可以要求发布电路发布用于触发所选目的地节点的信号以提供读取响应和写入响应两者。因此,与分别仅返回读取响应和写入响应之一的读取请求和写入请求不同,至少一种类型的原子请求可以返回读取响应和写入响应两者。例如,这对于需要从目的地节点处的目标存储位置读取值并且还需要将简单的逻辑或算术运算应用于读取值,然后根据该操作的结果要求将值写入目标存储位置的操作非常有用。在不支持原子请求的情况下,需要发布读取请求以将数据值读取到请求节点,并且在发布单独的写入请求以将结果写入回到目标存储位置之前,请求节点对读取值执行所需的操作。如果目的地节点可以直接支持这种事务的处理,那么这可以缩短读取与写入之间的时间长度,从而更容易确保读取和写入由电路的其他节点以原子的方式观察,并且因此降低复杂性并管理不同请求节点对目的地节点处的共享资源的冲突访问。然而,原子请求可能要求路由电路将读取资源和写入资源两者分配给请求。因此,在不添加原子调节器来处理原子请求的情况下,读取调节器可能不会考虑由原子请求引起的读取响应通道上的附加负载,这可能导致读取通道被超额订购。例如,这可能导致读取流量的饥饿,因为原子请求可能已经带走了读取调节器期望用于读取请求的资源。通过提供单独的原子调节器,该原子调节器对原子请求的资源使用情况监测影响发布电路发布事务请求,与单独使用读取和写入调节器相比,原子请求的读取和写入资源使用情况可以说更好,从而可以更高效地利用可用资源和更加谨慎的服务质量控制。为了管理读取请求与原子请求两者之间的读取资源的分配,发布电路可以被配置为根据写入请求调节器所监测的资源使用情况和原子请求调节器所监测的资源使用情况来控制对至少一种类型的原子请求的发布。这允许基于写入调节器以及原子调节器来控制原子请求的发布,使得它们不会过度订购写入资源。例如,通过跟踪原子请求的资源使用情况并且还跟踪写入请求的资源使用情况,考虑到已经发布的写入请求和原子请求,原子请求的发布可以被限制在能够阻止发布新的写入请求的速率以下。在一些示例中,读取请求调节器包括至少一个读取配置元件,这些读取配置元件定义限制读取请求的资源使用情况的至少一个读取资源限制。读取配置元件可以在使用路由电路之前由用户例如,通过软件配置,并且可以例如指定一个值以指示读取请求的最大读取资源分配。读取配置元件可以由用户基于用户配置操作来配置,以设置配置元件来指示最大读取资源分配或限制用于读取资源的资源使用情况的其他控制参数。在一些示例中,写入请求调节器包括至少一个写入配置元件,这些写入配置元件定义限制写入请求的资源使用情况的至少一个写入资源限制。写入配置元件可以在使用路由电路之前由用户例如,通过软件配置,并且可以指定一个值以指示写入请求的最大写入资源分配。写入配置元件可以由用户基于用户配置操作来配置,以设置配置元件来指示最大写入资源分配或限制用于写入资源的资源使用情况的其他控制参数。在一些示例中,原子请求调节器包括至少一个原子配置元件,这些原子配置元件定义限制原子请求的资源使用情况的至少一个写入资源限制。原子配置元件可以在使用路由电路之前由用户例如,以软件配置,并且可以指定一个值以指示原子请求的最大写入资源分配。原子配置元件可以由用户基于用户配置操作来配置,以设置配置元件来指示最大写入资源分配或限制用于原子资源的资源使用情况的其他控制参数。在一些示例中,原子配置元件与写入请求调节器的用于定义限制写入请求的资源使用情况的至少一个资源限制的写入配置元件分开。因此,用户能够独立地设置原子配置元件和写入配置元件,以便分配对应写入资源的一部分,从而防止写入资源仅被写入请求耗尽,并且除了写入请求之外还保持发布原子请求的能力。路由电路可以包括用于处理读取响应的至少一个共享资源,所述至少一个共享资源由读取请求和至少一种类型的原子请求共享使用。这意味着当以低容量接收读取请求或原子请求之一时,其他类型的请求可以使用共享资源。这可以导致更高效的资源使用并减少所需的总资源量。数据访问路由电路可以具有:读取通道控制电路,其用于管理在读取请求通道上接收的数据访问请求的读取资源的分配;以及写入通道控制电路,其用于管理在写入请求通道上接收的数据访问请求的资源分配。因此,通过为读取和写入请求通道提供单独的控制电路,这可以分别实现对可能具有不同的资源要求的读取和写入请求的更高效处理。在某些情况下,读取和写入通道可以通过物理上分开的信号路径接收请求。替代地,请求可以通过公共总线从请求节点接收,但是在接收时分开,并在数据访问路由电路内单独管理。在写入请求与原子请求之间共享写入请求通道可能是有用的,因为写入请求和原子请求都可以提供来自请求节点的数据以转发到目的地节点。当在写入通道上接收到原子请求时,监测读取通道的读取请求调节器通常不知道正在接收原子请求,所以仅监测读取通道可能不足以防止读取资源的超额订购,因为读取调节器未考虑到的某些原子请求可能会消耗读取资源。因此,提供附加的原子请求调节器可以有助于更高效地管理读取资源的使用。在一些示例中,路由电路被配置为根据每个事务请求所指定的事务标识符和每个读取响应或写入响应所指定的对应事务标识符来确定哪些读取响应或写入响应与每个事务请求相关联。例如,可以将事务请求连同事务请求标识符一起提供给调节器。然后可以向目的地节点提供对事务请求标识符的请求,并且可以通过识别最初随请求发送的事务标识符,从目的地节点将对应的响应发送回调节器。这使得调节器能够确定每个请求发布哪种类型的事务请求,并因此允许相应的资源并保持最新。在一些示例中,原子请求调节器和读取调节器可以被配置为确定给定的读取响应是与读取请求还是与至少一种类型的原子请求相关联。另外,原子请求调节器和写入调节器可以被配置为确定给定的写入响应是与写入请求还是与至少一种类型的原子请求相关联。这可以以多种方式执行。在一些示例中,可以基于由数据访问路由电路维护的与先前接收的原子请求的事务标识符相关联的跟踪器标志来检测对原子请求的响应,为了标记在接收到具有用跟踪器标志标记的事务标识符的读取写入响应,应该将其视为对原子请求的读取响应而不是对读取请求的读取响应。另一种方法可以是在事务响应中包括跟踪或类型字段,以将对至少一种类型的原子请求的响应与对读取或写入请求的响应区分开。另一种方法可以是基于与给定读取响应相关联的事务请求发布的事务标识符来确定读取响应是与读取请求还是与至少一种类型的原子请求相关联。例如,这可以基于与给定写入响应相关联的事务标识符来完成。此外,在一些示例中,可以为原子请求保留一组事务标识符,使得每个调节器可以识别哪个写入和读取响应是对原子请求的响应。通过使用事务标识符来识别哪些响应与原子请求相关,这避免了在响应本身中提供附加字段以区分对原子请求的读取写入响应与对常规读取或写入请求的响应的需要。这意味着被设计用于与不支持原子请求的协议协议已在读取写入响应中提供事务标识符字段,但没有能够区分对原子请求的响应的字段一起使用的目的地节点不需要修改以与路由电路兼容。这可以提高与遗留设备的兼容性。为了监测读取请求和写入请求的资源分配,可能有利的是,对由路由电路发布的多个这样的请求的数量进行计数,并对接收到这些请求的响应的数量进行计数,以便跟踪未完成请求的数量。因此,在一些示例中,读取请求调节器包括读取请求计数器。当发布电路接收或发布读取请求时,读取请求调节器可以使该读取请求计数器递增,并且当读取请求调节器识别了指示已经服务发布的读取请求的读取响应时即,当接收到与发布的读取请求对应的读取响应时,读取请求调节器可以使读取请求计数器递减。因此,可以维持读取请求计数器以跟踪读取请求的读取资源的使用情况。如上所述,可以从读取响应的事务标识符不是为原子请求保留的标识符之一的事实来识别对已发布的读取请求的读取响应。在一些示例中,写入请求调节器包括写入请求计数器。当由发布电路接收或发布写入请求时,写入请求调节器可以使该写入请求计数器递增,并且当写入请求调节器识别了指示已经服务发布的写入请求的写入响应时即,当接收到与发布的写入请求对应的写入响应时,写入请求调节器可以使写入请求计数器递减。因此,可以维持写入请求计数器以通过写入请求来跟踪写入资源的使用情况。同样,当写入响应的事务标识符不是为原子请求保留的预定标识符集之一时,可以识别对写入请求的写入响应。另外,在一些示例中,原子请求调节器可以包括原子请求计数器。原子请求计数器可以包括在原子请求调节器内,以指示已经发布的尚未接收到读取或写入响应的原子请求的数量。原子请求调节器可以被配置为当由发布电路接收或发布至少一种类型的原子请求时使原子请求计数器递增,并且当响应于所发布的至少一种类型的原子请求而接收读取响应时使原子请求计数器递减。因此,原子请求从接收或发布原子请求的时间至接收到读取响应的时间被认为是未完成的。虽然某些实施方式可以认为原子请求未完成,直到接收到读取响应和写入响应的较晚一个,这可能实施起来更复杂,因为它需要跟踪接收原子请求的读取写入响应的相对顺序,这需要将接收到的特定响应与触发它们的特定请求进行匹配。实际上,将原子请求跟踪为未完成直到收到它们的读取响应足以适当地管理读取和写入资源,因为这足以解决由于写入通道上的原子请求与读取通道上的读取请求竞争读取资源而导致读取资源超额订购的问题。虽然原子请求也与写入请求竞争写入资源,但这可以通过基于写入调节器和原子调节器两者限制原子请求的发布来解决,以避免调节器需要明确地跟踪对原子请求的写入响应。因此,这种方法提高了系统的范围和功率效率,因为原子请求的每个读取响应的计数器减量足以跟踪原子调节器完成原子请求,而不需要附加的电路来识别何时已经接收到与相同原子请求有关的对应读取和写入响应。至少一种类型的原子请求原子数据访问请求可以具有多种形式。任何给定的实施方式可以只支持其中一种原子请求,或者可以支持多种类型。因此,至少一种类型的原子请求可以包括原子交换请求、原子比较和交换请求以及原子加载请求中的至少一个。原子交换请求是指定目标地址和另一个操作数的原子请求,用于触发目的地节点以返回提供从目标存储位置读取的数据的读取响应,并返回写入响应,写入响应确认无条件写入操作的服务以便将另一个操作数写入目标存储位置。原子比较和交换请求可以是指定目标地址、交换操作数和比较操作数的原子请求,用于触发目的地节点以返回取决于从目标存储位置读取的数据的读取响应,并且返回写入响应,该写入响应根据从目标存储位置读取的数据与比较操作数之间的比较结果,确认有条件写入操作的服务以便将交换操作数有条件地写入目标存储位置。另外,原子加载请求是指定目标地址和附加操作数的原子请求,用于触发目的地节点以返回取决于从目标存储位置读取的数据的读取响应,并且返回写入响应,该写入响应确认有条件或无条件写入操作的服务,以便将结果值写入目标存储位置,结果值包括应用于附加操作数的算术或逻辑运算的结果以及从目标存储位置读取的数据。这些类型的原子数据访问请求不必是所支持的唯一类型的原子请求,并且还可以提供需要读取和写入响应两者的另外的原子请求。此外,在某些情况下,系统还可以比较仅需要写入响应但不需要读取响应的另一种类型的原子数据访问请求。这样的请求可以被认为是原子的,因为对目标存储位置的写入可以取决于从目标存储位置读取的值,使得它仍然需要在目的地节点处原子地执行读取和写入。然而,如果请求节点不必接收从目标存储位置读取的值,则可能仅需要确认写入操作服务的写入响应。对于不需要读取响应的此类原子请求,可以以与写入请求类似的方式处理这些请求,并且所以不需要分配任何读取资源。因此,保留的读取资源可能不会用于这种其他另外的原子请求。因此,没有必要为所有类型的原子请求保留资源。图1示意性地示出了数据处理系统2例如,集成电路或片上系统的示例,该数据处理系统具有用于在请求节点与目的地节点之间路由数据访问请求并将对这些数据访问请求的响应从目的地节点路由到请求节点的数据访问路由电路4、6。在该示例中,系统2包括多个主设备,比如:一个或多个中央处理单元CPU6或CPU集群;图形处理单元GPU8;USB主设备10,用于通过通用串行总线USB控制与设备的交互;PCIe控制器12,用于控制通过PCIExpress总线与连接到系统2的设备的交互;数字信号处理器DSP14;显示控制器和或图像信号处理器16;视频控制器18;系统控制器20,该系统控制器可以提供多种系统控制功能,比如控制直接存储器访问操作、控制安全操作,比如加密或其他片上安全操作,或控制与外围设备的交互;以及调制解调器系统控制器22,用于控制通过调制解调器的通信。系统控制器20和调制解调器系统控制器22可以具有网络接口控制器NIC24。所有主设备6至22可以能够充当请求节点,用于发布要由系统的目的地节点服务的数据访问请求。该系统可以具有可以充当目的地节点的许多组件,例如包括:用于控制对动态随机存取存储器DRAM的访问的多个存储器控制器26;存储器控制器28,用于控制对静态随机存取存储器SRAM的访问;存储器控制器30,用于控制对只读取存储器ROM的访问;闪存控制器32,用于控制对闪存的访问;外围控制器34,用于控制对外围设备的访问;以及网络接口控制器36,用于控制通过网络接口与远程设备或其他外围设备的交互。目的地节点还可以包括数据路由电路4、6内的系统缓存38,系统可以从存储器系统26-36缓存一些数据,使得可以服务一些数据访问请求而无需将它们传递给下游存储器组件。在图1的示例中,主设备6、8中的一些经由缓存一致性互连4耦合,缓存一致性互连负责管理由相应主设备缓存保持的缓存数据之间的一致性。缓存一致性互连可以具有用于跟踪在特定主设备的缓存中缓存的数据的监听过滤器40,并且可以通过发布监听事务来检查与其他主设备中缓存的目标地址相关的数据的一致性状态而响应于指定目标地址的读取和写入数据访问请求,使得一个主设备请求对数据进行读取或写入访问,则另一个主设备缓存中相同地址的数据可能被无效,或者如果脏,则可以将其他主设备缓存中的最新值提供给请求主设备和或写回到存储器系统。任何已知的一致性协议都可以用于缓存一致性互连4。其他主设备10至22可以不包括缓存不需要经由缓存一致性互连4连接。系统互连6将缓存一致性互连4和非缓存的主设备10至22的输出与相应的目的地设备26至36耦合。系统互连6用于将事务路由到基于请求指定的目标地址选择的目标目的地节点,并用于将响应路由回请求节点。系统互连6不需要负责管理各个主设备中的缓存数据之间的一致性。在该示例中,系统互连6实施为片上网络NoC,该片上网络包括用于将多个主接口46可以从各个主设备6-22接收数据访问请求耦合到多个目的地接口48用于将请求输出到各个目的地设备26-36的多个路由器44。每个主接口46负责解码由数据访问请求指定的地址,以识别通过路由器44经由片上网络6获取的特定路由,以到达与用于服务数据访问请求的所选目的地节点相关的目的地接口48。在一些情况下,主接口46还可以将用于断言到片上网络6的请求的协议转换为用于在片上网络6上路由请求的内部表示。如果请求被转换成内部协议,则目的地接口48可以将它们转换回请求所使用的原始协议,以便由目的地进行服务。替代性地,一些目的地节点可以直接以片上网络6使用的形式处理请求,从而在目的地接口处不需要转换。对于每个目的地接口48,当目的地接口从目的地节点26-36接收对数据访问请求的响应时,目的地接口48沿着由相应请求对发布请求的主接口46所采用的路径发回该响应,然后,主接口46将响应返回给请求节点。当存在大量要连接的主设备和目的地设备时,如图1所示的片上网络6非常有用,因为可以根据给定系统的要求定制设计路由器44的布置,以便提供适当的带宽水平并提供足够数量的路由器,可以在不显著损失信号幅度的情况下适应请求在芯片上必须路由经过的物理距离。对于预期需要大量业务的请求和目的地节点对,可以在它们之间提供额外的路由器或信号通道,而其他的请求目的地节点对可以具有较少的容量。片上网络的使用不是必要的,并且在其他示例中,可以在系统互连6内使用不同的拓扑。例如,可以使用主接口与目的地接口之间的一系列点对点连接,或者可以使用环形拓扑,在环形拓扑中,所有请求被断言到环形总线上然后循环直到它们到达所需的目标接口。另外,可以使用网状拓扑,其中每个接口46、48连接到网格上的点,并且请求和响应可以在与对应的主接口和目的地接口46、48相关的网格上的点之间穿过。然而,随着主设备和目的地的数量增加,使用片上网络可以实现更好的缩放。图2示出了说明在集成电路2或片上系统内使用互连4、6的图。通常,互连可以接收来自多个请求节点50的请求,这些请求节点可以是图1中所示的主设备6至22中的任何一个。互连用作数据访问路由电路,以控制对目的地节点52的请求的路由,目的地节点可以是互连内的系统缓存38或图1中描述的下游目的地26至36中的一个。请求指定的地址用于选择哪个目的地用于服务该请求。当目的地节点已经服务该请求时,目的地节点52返回响应,并且将响应提供回请求节点50。如图2所示,至少一个目的地节点可以包括远原子处理逻辑54,远原子处理逻辑可以响应于由请求节点之一触发的原子数据访问请求来执行原子操作。原子操作可以包括读取和写入,并且可以涉及应用于由目的地节点读取的值的算术或逻辑操作,以便确定应该将哪个值写回到目标存储位置。图3示出了总结互连4、6可能支持的多种类型的数据访问请求的表,请求类型包括以下各项:读取请求。请求节点RN50发布指定目标地址的读取请求,并且作为响应,目的地节点DN52返回读取响应,该读取响应提供从由目标地址标识的目标存储位置“寻址位置”读取的数据。写入请求。RN50发布指定目标地址和写入数据Wdata的写入请求,作为响应,DN52返回写入响应,该写入响应确认写入操作的服务以将Wdata写入所寻址的位置。原子存储。RN50发布指定目标地址和Wdata的原子存储请求。作为响应,DN52返回写入响应,该写入响应确认写入操作的服务,以向寻址位置写入应用于Wdata的某个处理函数的结果和从寻址位置读取的数据。例如,应用于读取数据和Wdata的函数可以是比如加法或减法运算的算术运算,或比如逻辑与AND、逻辑或OR或逻辑异或XOR的逻辑运算。该函数也可以是比较函数,比如返回Wdata和读取数据的最大值或最小值。在某些情况下,写入操作可以是条件操作,因为如果函数是最大或最小函数,并且从寻址位置读取的数据已经被证明是最大值或最小值,然后可能没有必要将任何值写入寻址位置,因为旧值已经具有正确的值。因此,可以提供多种形式的原子存储操作,每种形式对应于应用于写入数据和读取数据的不同函数,以便确定应该在寻址位置存储什么值。原子加载。RN50发布指定目标地址和Wdata的原子加载请求。作为响应,DN52返回写入响应,该写入响应确认写入操作的,以向寻址位置写入Wdata的函数的结果和从寻址位置读取的数据。该函数可以是上面讨论的用于原子存储的任何类型的函数。此外,DN52返回读取响应,该读取响应提供从寻址位置读取的旧数据或由写入产生的新数据。因此,原子加载请求以与原子存储相同的方式处理,除了在读取响应中还将寻址位置的旧数据或新数据返回到RN50。原子交换。RN50发布指定目标地址和Wdata的原子交换请求。作为响应,DN52执行无条件写入操作以将Wdata写入寻址位置并返回确认写入操作已被服务的写入响应。此外,DN52返回读取响应,该读取响应提供从寻址位置读取的旧数据即,在执行写入之前存储在寻址位置的数据。原子比较。RN50发布指定目标地址、比较数据值Cdata和交换数据值Sdata的原子比较请求。Cdata和Sdata都可以在写入数据通道上进行编码,该数据通道将用于传送写入请求的Wdata或其他形式的原子请求。响应于原子比较请求,DN52返回写入响应,该写入响应确认将Sdata条件写入到寻址位置的服务。条件写入是以Cdata与从寻址位置读取的数据之间的比较为条件的。例如,Sdata可以被写入寻址位置,条件是从寻址位置读取的数据根据需要等于Cdata,不等于Cdata,或者大于或小于Cdata。一些实施方式可以支持实施不同形式的比较的远原子处理逻辑54,而其他系统可以仅提供某些默认比较,比如相等比较。除了写入响应之外,DN52还提供读取响应,该读取响应提供在写入之前的寻址位置的旧数据、在写入之后的寻址位置的新数据或者比较结果的某些指示,比如比较标准是通过还是失败。因此,通常读取请求触发DN52以提供读取响应,该读取响应取决于从寻址位置读取的数据。写入请求或原子存储请求返回写入响应,该写入响应确认写入操作的服务以将数据写入寻址的位置。原子加载、原子交换和原子比较请求是原子数据访问请求的形式,它们需要读取响应和写入响应两者。请注意,返回写入响应并不意味着已经将数据实际写入存储器中的某个存储位置。在某些情况下,写入响应可以在数据访问请求被服务并且进行足够的进展以确保将执行请求并且不会相对于随后接收的请求重新排序时被返回,但是可以不意味着数据已经被写入。例如,在某些情况下,一旦与写入请求或原子请求相关的信息被写入缓冲器,存储器控制器就可以返回写入响应,然后存储器从该缓冲器获取值并将其写入存储器,因此,有时可以在实际写入最终存储器位置之前返回写入响应。通常,写入响应可能足以使请求节点确信写入保证发生并且任何后续请求将考虑写入的影响。并非所有目的地节点52都需要支持原子请求。一些不具有远原子处理逻辑54的目的地节点只能支持读取和写入请求。然而,在许多请求节点需要访问存储器中的共享数据的情况下,使用原子请求可以提高性能。如果不支持原子请求,那么如果一个主设备需要对某个存储位置执行读取和写入操作,而在读取和写入之间没有任何其他主设备介入,它必须发布读取请求以从目的地节点读取数据值并将其返回到主设备自己的缓存或处理逻辑中,然后在请求节点50本地对该读取值执行所需的操作。例如,请求节点可以根据原子存储或原子加载请求的需要计算写入数据的函数和从寻址位置读取的数据,或者可以执行原子比较请求所执行的比较。在确定需要将什么值写入回存储器之后,请求节点50然后可以发布写入请求,该写入请求控制目的地节点用该数据更新所寻址的位置。通过使用这种方法,在发布读取请求以从寻址位置读取数据和响应于后续写入更新该位置而接收到写入响应之间存在长时间延迟,并且在此期间,可以阻止其他请求节点访问该地址例如,使用基于锁的机制,其中锁变量用于控制特定主设备对某些地址的独占访问。这可能对性能有害,因为那些其他主设备可能必须停止其操作,直到锁被释放,然后他们可以与共享资源交互。对于多个主设备或在同一主设备上的软件中执行的多个进程都需要更新某个变量的情况比如对某些类型的多个事件进行计数的计数器,这可能是一个特殊问题,并且重要的是确保对该变量的任何更新以原子方式执行,以避免在一个主设备读取由另一个主设备或另一个软件进程发布的读取和写入请求之间的变量值时错过某些更新。使用原子请求可以减少这些问题,因为它们允许目的地节点本身执行实现此类操作所需的读取和写入,这大大减少了读取和写入之间的时间,并且还简化了操作的原子性质的管理,因为它不需要依赖于设置锁变量,以便防止其他进程访问读取和写入之间的地址,因为目的地节点本身可以将原子请求作为单个操作处理,并且不允许在原子操作的中途处理其他读取或写入请求。图4示出了可以在互连4、6之一内提供的路由电路400的示意图。例如,路由电路400可以位于片上网络6的主接口46之一内。替代性地,路由电路可以是缓存一致性互连4内的电路,该电路控制特定请求被路由到的互连的哪个目的地端口。路由控制电路路由电路400被示为处理来自多个请求节点50的请求并将请求引导到多个目的地节点52。通常,一个特定请求节点50将请求事务,并且路由电路将该请求引导到从多个目的地节点52中选择的一个特定目的地节点52。每个目的地节点52可以是互连内的系统缓存38或图1中描述的下游目的地26至36中的一个。请求指定的地址用于选择哪个目的地用于服务该请求。当目的地节点已经服务该请求时,目的地节点52返回响应,并且将响应提供回请求节点50。在该示例中,路由电路400包括读取请求调节器401、原子请求调节器402和写入请求调节器403。读取请求调节器401包括计数器411读取计数器、至少一个读取配置元件441和资源分配电路421。原子请求调节器402包括计数器412原子计数器、至少一个原子配置元件442和资源分配电路422。写入请求调节器403包括计数器413写入计数器、至少一个写入配置元件443和资源分配电路423。此外,路由电路400包括发布电路430,该发布电路包括编码器431。发布电路被布置成与读取请求调节器、原子请求调节器和写入请求调节器中的每一个通信,以便发布由每个相应调节器接收的事务请求,并控制事务响应的接收。当发布电路430发布事务请求时,编码器431被布置成根据位于路由电路与目的地节点之间的网络所需的协议对事务请求进行编码。该编码可以包括与每个事务请求相关的事务标识符的编码。图5示出了可以在互连4、6之一内提供的路由电路400的示意图。在该图示中,示出了请求节点50,该请求节点被布置为使用读取通道或写入通道向路由电路400提供事务请求。如图所示,路由电路400包括读取通道控制电路511和写入通道控制电路512,以及读取请求调节器401、原子请求调节器402和写入请求调节器403。此外,路由电路400被示出为包括读取资源501和写入资源502。在该示例中,读取通道控制电路511被布置为在读取通道上接收来自请求节点50的事务请求,并且读取请求调节器401基于读取计数器411的值来控制发布事务请求的定时。如果发布由读取通道上的路由电路400检测到的事务请求,则将读取资源501分配给该事务,使得该读取资源不能用于其他事务。资源可以是缓冲槽,或用于访问下游资源的信用。写入通道控制电路512被布置成从写入通道上的请求节点50接收事务请求。写入通道控制电路被布置成向原子请求调节器402和写入请求调节器403通知在写入通道上接收的所发布的事务请求。对于在写入通道上接收的原子请求,然后基于原子计数器412的值和写入计数器413的值发布事务请求。在不考虑原子计数器的值的情况下基于写入计数器413的值发布写入请求。因此,如果发布由请求节点50发布并在写入通道上接收的写入请求,则包括在路由电路400内的写入资源502的一部分即,用于访问下游资源的缓冲槽或信用被分配给事务请求,使得它不能用于其他事务。如图5所示,目的地节点被布置成从路由电路接收事务请求。这些事务请求是由发布电路430发布并由编码器431编码的请求,这些请求包括对来自目的地节点52的数据的请求。响应于发布电路430发布的事务请求,目的地节点52被布置成将对事务请求的响应发回到路由电路400,该响应由路由电路接收,并且读取资源501和写入资源502相应地根据事务请求类型递减,如由事务响应发布的事务标识符所指示的。图6示出了包括ID比较器601事务标识符比较器的调节器401、402、403。调节器401、402、403被布置成从请求节点50接收事务请求,该事务请求包括事务请求的类型和与事务请求相关的事务标识符的指示。调节器还被布置成发布从请求节点50接收的事务请求,并将它们与事务标识符和事务类型的指示一起发布到目的地节点52。因此,目的地节点被配置为发布对事务请求的响应,其中响应还包括与事务请求相关联的事务标识符的指示,该事务标识符随后由调节器401、402、403接收,并且随后用于更新与相应事务请求相关联的资源分配电路421、422、423。在一些示例中,可以将事务标识符分配给预定义类型的事务请求。例如,可用于发布的事务请求的标识符空间的一部分可以被分配给原子请求。因此,当调节器401、402、403使用原子事务请求时,目的地节点可以发布对目的地节点52正在服务的原子事务请求的读取响应,并且响应可以包括:事务标识符,事务标识符标识事务响应是对应于原子请求的读取响应。因此,原子请求调节器402的资源分配电路422可以基于所识别的原子响应的接收来更新写入资源。这使得原子资源分配电路能够被更新,例如,原子请求计数器可以响应于接收到与分配给原子请求的ID空间中的事务标识符相关的读取响应而递减。虽然除了原子请求之外,还可以存在用于读取和写入请求的单独ID空间,但这不是必需的,因为在不同通道上接收读取和写入响应,因此,可以根据接收到的频道确定响应的类型。因此,除了分配给原子请求的部分之外,可以在读取和写入请求之间共享标识符空间的其余部分。应当理解,使用ID比较器来确定事务类型只是可以如何执行这种确定的一个示例。在其他示例中,可以使用不同的方法,比如在事务响应中使用跟踪器标志、跟踪或类型字段。图7示出了路由控制电路60的更详细示例,在该示例中,路由控制电路对应于片上网络中的主接口46之一。写入通道控制电路66在图的上部示出,读取通道控制电路62在下部示出。用于与请求节点50通信的信号路径包括:多个通道,包括用于提供写入请求或指定目标地址的原子请求的写入请求通道80AW;写入数据通道W82,用于提供写入原子请求的写入数据或比较交换数据;以及读取请求通道AR84,用于提供读取请求的地址。信号路径还包括响应通道,该响应通道包括:写入响应通道B86,用于向请求节点提供写入响应;以及读取响应通道R88,用于提供响应于读取请求或原子请求提供读取数据的读取响应。写入通道上的写入资源包括写入请求包跟踪器响应缓冲器90,该写入请求包跟踪器响应缓冲器包括多个缓冲器条目或槽,用于存储对应的写入请求或原子请求的跟踪信息并缓冲相应的写入响应。当通过写入通道接收到写入或原子请求时,请求编码器92在写入跟踪器响应缓冲器90中为该请求分配条目,该条目指定跟踪信息,比如请求的标识符。当随后从目的地节点接收到响应时,则将其分配到写入跟踪器响应缓冲器90的先前分配的槽中,该槽控制基于跟踪信息将响应提供给请求节点的顺序。具有相同标识符的事务可能需要按照从请求节点接收它们的顺序进行处理而不重新排序。跟踪器缓冲器90还可以指定要与写入响应组合的附加信息例如,跟踪相关标签。当在写入通道上接收到写入请求或原子请求时,请求编码器基于写入通道调节器94和原子调节器95提供的信号确定该请求是否准备就绪以供发布。具体地,根据写入调节器94发布写入请求,并且根据写入调节器94和原子调节器95发布原子请求。调节器94可以提供计数器,该计数器跟踪未完成的写入请求的数量或在某个时间段内发布的请求的数量。另外,调节器95可以提供计数器,该计数器跟踪未完成的原子请求的数量或在某个时间段内发布的原子请求的数量。请求编码器还可以根据数据包跟踪器90中是否存在备用资源来确定是否可以发布写入请求或原子请求。如果写入调节器94指示请求节点已经使用其允许的分配或者在数据包跟踪器90中没有空间,则可以停止写入请求。此外,如果原子调节器信息指示请求节点已经使用其允许的分配,或者写入请求调节器指示写入已使用其允许的分配,或者在数据包跟踪器90中没有空间,或者如稍后所述在读取缓冲器110、112中没有空间这也是服务原子请求所需的,则可以停止原子请求。如果写入请求或原子请求准备发布,则写入请求编码器92控制向下游元件发布请求。在该示例中,由于片上网络6使用内部传输协议,该内部传输协议不同于请求节点断言的请求所使用的数据访问协议,提供数据分组器98以将写入请求或原子请求转换为在片上网络6上使用的协议,并且该请求通过片上网络6被输出到所选择的目的地节点。作为要发送到网络的数据包的生成的一部分,地址解码器100基于在写入地址通道80上指定的目标地址来确定选择哪个目的地接口并生成路由信息,该路由信息被附加到网络数据包以控制通过适当的路由器44序列到达目的地接口48的路由。当从目的地节点接收到写入响应时,解包器102解释该数据包并将其转换回适合于发送到请求节点的格式。响应可以被放在缓冲器90中,并且如果根据在接收到请求时设置的跟踪信息需要一些重新排序,则可以在缓冲器中延迟一段时间。应当理解,读取响应可以是多个数据包。例如,可能是这样的情况,其中通道的大小小于数据包的大小。在读取侧,读取通道控制电路62包括用于读取请求的多个资源,这些资源包括用于存储与所接收的读取请求相关的跟踪信息的读取包跟踪器110以及读取重新排序缓冲器112,该读取重新排序缓冲器用于缓冲对读取请求或原子请求的响应,使得它们可以被重新排序或组装成组合响应。同样,发布读取请求可以取决于读取调节器96,该读取调节器通过来自请求节点的读取请求跟踪带宽或其他资源的使用水平,并且可以对可以使用的带宽量施加某些限制,以帮助平衡不同主设备可以使用的互连带宽的相对份额。写入调节器94、原子调节器95和读取调节器96内的参数可以由在主设备之一上执行的软件编程。此外,控制是否可以向下游发布读取请求还取决于在读取资源之一读取包跟踪器110或读取重新排序缓冲器112中存在空间。读取数据包跟踪器可以指定包括可以用于控制事务排序的事务标识符的跟踪信息。此外,读取数据包跟踪器可以指定附加信息,比如跟踪相关信息,该跟踪相关信息不是针对读取请求向下游发送的,而是存储在数据包跟踪器中,然后当读取响应返回到请求节点时,用读取响应重新组装。因此,当在地址通道84上接收到读取请求时,读取侧的请求编码器114确定读取调节器96是否允许发布请求以及是否有足够的资源可用于处理缓冲器110、112中的读取请求。另外,请求编码器114可以确定原子调节器95是否允许发布请求。如果是,则它向读取分组器116发布读取请求,该读取分组器生成适当格式的数据包以通过互连进行发送。当发布请求时,在读取包跟踪器110或读取重新排序缓冲器112中分配空间。读取地址解码器118对读取请求的地址进行解码,以识别应该由互连路由数据包的所选目的地节点。在某些情况下,写入和读取地址解码器100、118可以是相同的解码器。当响应于读取或原子请求而接收到读取响应时,将响应提供给读取解包器120,该读取解包器解释所接收的响应包并生成要分配给读取重新排序缓冲器112的响应。响应通过信号路径88返回到请求节点。应当理解,路由控制电路还可以包括图7中未示出的一些附加元件。调节器94、95、96例如可以包括调节器401、402和403,每个调节器包括相应的配置元件441、442、443,如图4所示。这些配置元件441、442、443可以由用户例如,通过软件配置,以便限制可以发布的相应类型的事务的数量。例如,配置元件可以对特定类型的未完成事务的数量设置上限例如,上极限。替代性地,配置元件可以指示给定时间段内特定资源的总使用量的上限或在该时间段内发布的相关类型的事务总数。例如,时间计数器可以对一定时间长度的时间段进行计数,并且如果自上次重置时间计数器以来发布的给定类型的请求数量超过为该时间段设置的阈值,则在下次重置时间计数器之前不会发布该类型的进一步请求。由于写入请求和原子请求都使用共享写入资源,因此用户可以配置原子配置元件和写入配置元件,以便对每种类型的事务请求对共享写入资源的使用情况设置上限,防止一种类型的事务请求阻止发布其他类型的事务请求。注意,在配置元件441、442、443中为调节器设置的阈值可以不仅考虑在互连或片上网络的一个接口处接收的竞争类型的请求之间的相对资源使用情况,而且也可以被设置为平衡特定主设备能够使用的互连网络带宽,使得例如一个主设备的阈值可以被设置为低于要接收更高带宽份额的另一个主设备。在互连的接口处不提供协议转换的互连中,可能不需要打包和解包逻辑98、102、116、120,而是读取或写入请求可以以与从主设备接收它们相同的形式转发。由于在写入通道上接收原子数据访问请求,但原子数据访问请求可能需要分配读取资源,因此写入请求编码器92还可以在路由控制电路的读取侧触发资源的分配。因此,对于需要读取和写入响应两者的原子请求类型之一,请求编码器92可以在写入数据包跟踪器90和读取数据包跟踪器110或读取重新排序缓冲器112中分配空间。然而,如果已经占用了读取缓冲器中的所有空间,那么这可能会阻止原子请求,然后原子请求可以阻止写入通道上的其他写入请求。图8示出了流程图,该流程图示出了路由电路400比如互连或片上网络的事务请求的处理。在步骤801,从给定的请求节点50接收事务请求。在步骤802,路由电路400被配置为确定已经接收的事务请求的类型。如果请求类型是读取请求,则路由电路被布置为使读取计数器递增,如步骤803所示,并且在步骤804继续,以基于读取调节器控制读取资源的分配。如果在步骤802确定所接收的事务请求类型是需要读取响应的原子请求,则在步骤805布置路由电路400以使原子计数器递增,并且在步骤806基于原子调节器和写入调节器继续控制读取资源和写入资源的分配。如果在步骤802确定所接收的事务请求是写入事务请求或不需要读取响应的原子请求,则路由电路400被布置为在步骤807使写入计数器递增,并且如步骤808所示,继续基于写入调节器控制写入资源的分配。图9示出了流程图,该流程图示出了由比如互连或片上网络的路由电路400对事务请求的响应的处理。在步骤901,从给定目的地节点52接收事务响应,并且在步骤902,确定所接收的事务响应的事务类型。如果确定事务响应的响应类型是读取响应,则在步骤903确定读取响应的事务标识符是否是原子事务标识符空间中的ID事务标识符原子ID空间。如果读取响应的事务标识符在原子ID空间中,则原子计数器在步骤904递减,而如果读取响应的事务标识符不在原子ID空间中,则在步骤905使读取计数器递减。如果在步骤902确定事务响应类型是写入响应,则在步骤907使写入计数器递减。在其他示例中,步骤903可以以其他方式而不是基于事务ID来确定读取响应是对读取请求的响应还是对原子请求的响应。例如,当接收到读取原子请求时,该请求的事务ID可以在读取数据包跟踪器110中用标志来标记,该标志指示该请求是读取请求还是原子请求,然后,当接收到读取响应时,读取数据包跟踪器110可以从与该读取响应指定的事务ID相关的标志中确定原子调节器95中的原子计数器或读取调节器96中的读取计数器是否应该递减。该方法的优点在于,路由电路60上游的电路例如,在请求节点处并且路由电路60下游的电路例如,在目的地节点处也不需要任何修改以使得能够区分来自读取和原子请求的读取响应,因为上游电路不需要仅为原子请求保留任何事务ID,或者下游电路不需要在读取响应中包括指定触发该响应的请求类型的任何信息。在一些实施方式中,本技术可以在物理集成电路中实施,该物理集成电路被制造成具有上面讨论的互连或其他形式的数据访问路由电路。然而,本技术也可以在集成电路设计文件中实现,该集成电路设计文件提供要制造的集成电路的组件的电子设计表示。例如,电子设计文件可以例如使用RTL或一些其他电路表示语言来指定要提供的互连的组件,然后可以由下游方使用该组件来控制集成电路的制造。例如,设计文件可以指定互连的低级晶体管或栅极级布局,或者可以在更高级别指定互连的组件,比如使用块或标准单元来识别某些标准组件的放置,使得以后可以从标准元件库中查找低电平晶体管或栅极电平表示,以便识别最终的集成电路布局。因此,在一些实施例中,表示集成电路设计的电子设计文件可以包括一些组件的定义,这些组件的定义包括数据访问路由电路以管理用于处理读取、写入和原子请求的资源分配并且为读取不能使用的原子请求保留资源。在本申请中,词语“被配置为......”用于表示设备的元件具有能够执行所定义的操作的配置。在此上下文中,“配置”表示硬件或软件的互连的布置或方式。例如,该设备可以具有提供所定义的操作的专用硬件,或者可以对处理器或其他处理设备进行编程以执行该功能。“被配置为”并不意味着需要以任何方式改变设备元件以便提供定义的操作。尽管这里已经参考附图详细描述了本发明的说明性实施例,但是应该理解,本发明不限于那些精确的实施例,本领域技术人员可以在其中实现各种变化和修改而不脱离由所附权利要求限定的本发明的范围和精神。

权利要求:1.一种设备,包括:路由电路,其用于将来自请求节点的事务请求路由到目的地节点;发布电路,其用于根据由多个请求调节器执行的资源使用情况监测来控制将从所述请求节点接收到的事务请求发布到所述目的地节点;所述多个请求调节器包括:读取请求调节器,其用于监测需要读取响应的读取请求的资源使用情况;写入请求调节器,其用于监测需要写入响应的写入请求的资源使用情况;以及原子请求调节器,其用于监测需要所述写入响应和所述读取响应两者的至少一种类型的原子请求的资源使用情况。2.根据权利要求1所述的设备,其中,所述发布电路被配置为根据所述写入请求调节器所监测的资源使用情况和所述原子请求调节器所监测的资源使用情况来控制对所述至少一种类型的原子请求的发布。3.根据权利要求1所述的设备,其中,所述读取请求调节器包括至少一个读取配置元件,所述至少一个读取配置元件定义限制读取请求的资源使用情况的至少一个读取资源限制。4.根据权利要求1所述的设备,其中,所述写入请求调节器包括至少一个写入配置元件,所述至少一个写入配置元件定义限制写入请求的资源使用情况的至少一个资源限制。5.根据权利要求1所述的设备,其中,所述原子请求调节器包括至少一个原子配置元件,所述至少一个原子配置元件定义限制所述至少一种类型的原子请求的资源使用情况的至少一个资源限制。6.根据权利要求5所述的设备,其中,所述原子配置元件与所述写入请求调节器的用于定义限制写入请求的资源使用情况的至少一个资源限制的写入配置元件分开。7.根据权利要求1所述的设备,其中,所述路由电路包括用于处理读取响应的至少一个共享资源,所述至少一个共享资源由读取请求和所述至少一种类型的原子请求共享使用。8.根据权利要求1所述的设备,其中,所述路由电路包括:读取通道控制电路,其用于管理在读取请求通道上接收的读取请求的资源分配;以及写入通道控制电路,其用于管理在所述写入请求通道上接收的写入请求和至少一种类型的原子请求的资源分配。9.根据权利要求1所述的设备,其中,所述路由电路被配置为根据每个事务请求所指定的事务标识符和每个读取响应或写入响应所指定的对应事务标识符来确定哪些读取响应或写入响应与每个事务请求相关联。10.根据权利要求9所述的设备,其中,响应于接收到读取请求或所述至少一种类型的原子请求,所述路由电路被配置为与所接收的请求的事务标识符相关联地存储跟踪指示,所述跟踪指示指定所接收的请求是读取请求还是所述至少一种类型的原子请求;并且响应于接收到读取响应,所述路由电路被配置为:基于与所述读取响应所指定的事务标识符相关联地存储的跟踪指示,确定所述读取响应是对读取请求的响应还是对所述至少一种类型的原子请求的响应。11.根据权利要求9所述的设备,其中,所述原子请求调节器和所述读取调节器被配置为:基于与给定读取响应相关联的事务标识符,确定所述给定读取响应是与读取请求相关联还是与所述至少一种类型的原子请求相关联。12.根据权利要求9所述的设备,其中,所述原子请求调节器和所述写入调节器被配置为:基于与给定写入响应相关联的事务标识符,确定所述给定写入响应是与写入请求相关联还是与所述至少一种类型的原子请求相关联。13.根据权利要求1所述的设备,其中,所述读取请求调节器包括读取请求计数器。14.根据权利要求13所述的设备,其中,所述读取请求调节器被配置为:当由所述发布电路接收或发布读取请求时,使所述读取请求计数器递增;并且当由所述读取请求调节器识别出读取响应从而指示已发布的读取请求已被服务时,使所述读取请求计数器递减。15.根据权利要求1所述的设备,其中,所述写入请求调节器包括写入请求计数器。16.根据权利要求15所述的设备,其中,所述写入请求调节器被配置为:当由所述发布电路接收或发布写入请求时,使所述写入请求计数器递增;并且当由所述写入请求调节器识别出写入响应从而指示已发布的写入请求已被服务时,使所述写入请求计数器递减。17.根据权利要求1所述的设备,其中,所述原子请求调节器包括原子请求计数器。18.根据权利要求17所述的设备,其中,所述原子请求调节器被配置为:当由所述发布电路接收或发布所述至少一种类型的原子请求时,使所述原子请求计数器递增;并且当响应于所发布的所述至少一种类型的原子请求而接收所述读取响应时,使所述原子请求计数器递减。19.根据权利要求1所述的设备,其中,所述至少一种类型的原子数据访问请求包括以下中的至少一个:原子交换请求,其指定目标地址和另外的操作数,所述原子交换请求用于触发所述目的地节点,以返回所述读取响应,所述读取响应提供从目标存储位置读取的数据,并且返回所述写入响应,所述写入响应确认无条件写入操作的服务以便将所述另外的操作数写入所述目标存储位置;原子比较和交换请求,其指定目标地址、交换操作数和比较操作数,所述原子比较和交换请求用于触发所述目的地节点,以返回所述读取响应,所述读取响应取决于从所述目标存储位置读取的数据,并且返回所述写入响应,所述写入响应根据从所述目标存储位置读取的数据与所述比较操作数之间的比较结果,确认有条件写入操作的服务以便将所述交换操作数有条件地写入所述目标存储位置;以及原子加载请求,其指定所述目标地址和附加操作数,所述原子加载请求用于触发所述目的地节点,以返回所述读取响应,所述读取响应取决于从所述目标存储位置读取的数据,并且返回所述写入响应,所述写入响应确认有条件写入操作或无条件写入操作的服务,以便将结果值写入所述目标存储位置,所述结果值包括应用于所述附加操作数的算术或逻辑运算的结果以及从所述目标存储位置读取的数据。20.一种方法,包括以下步骤:将来自请求节点的事务请求路由到目的地节点;使用读取请求调节器监测需要读取响应的读取请求的资源使用情况;使用写入请求调节器监测需要写入响应的写入请求的资源使用情况;使用原子请求调节器监测需要所述写入响应和所述读取响应两者的至少一种类型的原子请求的资源使用情况;并且根据由包括所述读取请求调节器、所述写入请求调节器和所述原子请求调节器的多个请求调节器执行的资源使用情况监测,对将从所述请求节点接收的事务请求发布到所述目的地节点进行控制。21.一种电子设计文件,提供根据权利要求1所述的设备的表示。22.一种非暂时性计算机存储介质,存储根据权利要求21所述的电子设计文件。

百度查询: Arm有限公司 原子数据访问请求的调节

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。