支持不同优先级事务请求的集成电路中的处理资源分配的制作方法

文档序号:6375153阅读:103来源:国知局
专利名称:支持不同优先级事务请求的集成电路中的处理资源分配的制作方法
技术领域
本发明涉及集成电路的领域。更具体而言,本发明涉及向可能具有不同优先级的事务请求的处理的资源分配。
背景技术
公知已提供有具有经由互连电路被耦接到请求服务电路(例如一个或多个事务从机)的多个事务源(例如事务主机)的集成电路。希望平衡被分配给不同优先级的处理资源以使得没有一个优先级被分配太少或太多处理资源。

发明内容
从一个方面看,本发明提供了一种集成电路,该集成电路包括:被配置为生成事务请求的多个事务资源;以及被配置为利用一组处理资源来处理所述事务请求的请求服务电路;其中所述事务请求分别具有在服务质量值范围内的相关联的服务质量值;所述请求服务电路被配置为根据服务质量映射配置将在所述服务质量值范围的不同子范围内的服务质量值映射到在从最低级别延伸至最高级别的优先级分级结构内的不同优先级;并且所述请求服务电路被配置为提供可被同时分配用于服务所述分级结构的每个级别内的事务请求的最大数目的所述处理资源。本发明利用与事务请求相关联的服务质量值并将该服务质量值映射到优先级分级结构内的较小数目的优先级。这些优先级中的每个优先级具有可被同时分配用于服务优先级分级结构中的该优先级内的事务请求的最大数目的处理资源。服务质量值的子范围相应地映射到优先级,然后被分配给每个优先级的资源的最大数目可以被控制。当在优先级分级结构中的每个级别内的服务质量映射和/或最大数目中的一个或两者是可编程的时,可以实现集成电路的更好的适配性。在一些实施例中,分级结构中的每个优先级的可分配资源的最大数目将随优先等级单调增大。因而,较高的优先级将具有较大数目的可能可用的处理资源。分配给分级结构中的给定级别内的事务请求的处理资源可以被跟踪,以使得当处理资源中的一个被分配给给定级别内的事务请求时计数值被递增,并且当处理资源停止被分配给所述给定级别内的事务请求时计数值被递减。这些计数值可以被用于跟踪分配给分级结构内的不同级别的处理资源之间的平衡。计数可以彼此独立地被单独递增/递减,或者如果与给定优先级相关联的计数值被递增/递减,则所有更低优先级的计数值都被类似地递增/递减。该方法帮助避免处理资源在分配给较高优先级之前被分配给较低优先级。请求服务电路可被形成为在对处理资源的动态分配和静态分配之间切换。静态分配可以基于选择算法被执行。在一些实施例中,该选择算法可取决于与每个事务请求相关联的相应优先级。在事务源与请求服务电路之间交换的请求和消息可以采用各种形式。在一些实施例中,所述请求服务电路被配置为:从所述多个事务源中的请求事务源接收至少隐式的请求,该请求以分配供所述请求事务源使用的所述一组处理资源中的一个用于处理与所述事务请求相关联的事务;确定所述处理资源组中的一个是否可供所述请求事务源所用;如果所述处理资源组中的一个处理资源可供所述请求事务源所用,则将所述一个处理资源或所述处理资源组分配给所述请求事务源以用于处理所述事务;并且如果所述处理资源组中没有处理资源可供所述请求事务源所用,则向所述请求事务源发送重试响应;所述请求事务源被配置为:从所述请求服务电路接收所述重试响应;并且通过在进行与所述事务请求相关联的所述事务之前等待要从所述请求服务电路接收的前进响应来对所述重试响应做出响应;并且所述请求服务电路被配置为:跟踪所述多个事务源中等待前进响应的那些事务源;将所述处理资源组中的一个处理资源分配给所述等待前进响应的事务源中的一个事务源;并且向所述等待前进响应的事务源中的所述一个事务源发送前进响应。静态分配中所使用的选择算法可以在共享优先级的等待静态分配的事务请求之间利用轮询选择。这是很容易实现的并且提供了可预测的行为,确保没有一个事务请求始终得不到处理资源分配。静态分配中所使用的选择算法还可以在具有不同优先级的等待静态分配的事务请求之间进行选择。不一定总是较高优先级的事务被选择。饥饿比率可被用于在大于阈值比率值的多个较高优先级事务已经优先于较低优先级事务被选择时,强制选择较低优先级事务。该饥饿比率可以是可编程的。多个事务源可以采用各种不同的形式,包括图形处理单元、输入/输出相干设备和处理器群组。这种处理器群组可以包括多个处理器核和共享的本地高速缓冲存储器。请求服务电路也可以采用各种不同的形式。在一些实施例中,请求服务电路是共享的高速缓冲存储器。不止一个请求服务电路可被提供在集成电路内。这便于这些资源的增减。互连电路可被用于在事务源和请求服务电路之间传输事务请求。这种互连电路在一些实施例中可以是环型互连电路。从另一方面看,本发明提供了一种集成电路,该集成电路包括:用于生成事务请求的多个事务源装置;以及用于利用一组用于处理的处理资源装置来处理所述事务请求的请求服务装置;其中所述事务请求分别具有在服务质量值范围内的相关联的服务质量值;所述请求服务装置被配置为根据可编程的服务质量映射配置将在所述服务质量值范围的不同子范围内的服务质量值映射到在从最低级别延伸至最高级别的优先级分级结构内的不同优先级;并且所述请求服务装置被配置为提供可被同时分配用于服务所述分级结构的每个级别内的事务请求的最大数目的处理资源装置。从另一方面看,本发明提供了一种在集成电路内进行通信的方法,包括以下步骤:利用多个事务源生成事务请求;以及利用一组处理资源处理所述事务请求;其中所述事务请求分别具有在服务质量值范围内的相关联的服务质量值;并且还包括以下步骤:根据可编程的服务质量映射配置将在所述服务质量值范围的不同子范围内的服务质量值映射到在从最低级别延伸至最高级别的优先级分级结构内的不同优先级;并且提供可被同时分配用于服务所述分级结构的每个级别内的事务请求的最大数目的处理资源装置。根据以下可结合附图阅读的对说明性实施例的详细描述,本发明的以上和其它目的、特征和优点将变得更清楚。


图1示意性地图示了包括经由环型互连被连接到多个请求服务电路的多个事务源的集成电路;图2示意性地更详细地图示了图1的请求服务电路的一部分;图3示意性地图示了在请求服务电路内的处理资源分配的逻辑视图;图4示意性地图示了用于服务质量值与优先级之间的映射的电路;图5示意性地图示了服务质量值与优先级之间的映射的可编程性;图6是示意性地图示了一旦接收到事务请求后在事务请求服务电路内执行的处理的流程图;图7是示意性地图示了静态信记(credit)分配的流程图;图8是示意性地图示了事务源处的处理的流程图;以及图9是示意性地图示了不同优先级之间的可编程饥饿比率的图。
具体实施例方式图1示意性地图示了采用被连接到主存储器4的片上系统集成电路的形式的集成电路2。集成电路2包括多个事务源6,8,10,12,14,16,18,20、包括共享高速缓冲存储器22,24的多个请求服务电路、存储器控制器26和输入/输出设备28,这些组件全部经由环型互连30进行通信。还被考虑为请求服务电路的一部分的是作为共享高速缓冲存储器22,24的一部分、在环型互连30上接收和发送事务的相干点/连接点(P0C/P0S) 32,34。事务源6,8,10,12,14,16,18,20可以分别生成事务请求,这些事务请求具有(在软件或硬件控制下被添加的)相关联的服务质量值并且沿环型互连30被发送到请求服务电路22,24中适当的一个。就共享高速缓冲存储器22,24而言,共享高速缓冲存储器22,24可以是被映射到不同的存储器地址空间区域并且相应地用于为被送往它们所映射到的存储器地址空间区域的服务事务请求服务的存储器。相应的P0C/P0S 32,34可以检测与它们的共享高速缓冲存储器22,24相关联的存储器地址,并尝试分配处理资源处理所接收到的事务请求,如下面将进行讨论的。因为在所涉及的存储器地址空间范围以外或者因为存储器地址不在共享高速缓冲存储器22,24内而导致不能被共享高速缓冲存储器22,24服务的事务请求可以被发送给存储器控制器26,生成输出到主存储器4的另一事务。一些事务请求可以映射到输入/输出设备28以由该设备进行服务。被发布到环型互连30上的事务请求将默认包括指示P0C/P0S32,34应当作为第一选项尝试向所述事务请求动态分配处理资源的动态信记(指示所提出的分配模式的标识或信号)。如果没有处理资源可用于所述事务请求,则拒绝响应被经由环型互连30返回给所涉及的事务源,并且事务源被置于如下状态,在该状态下事务源一直等到其接收到前进请求才重新发送事务请求。P0C/P0S 32,34在其具有可用于分配给所述事务请求的处理资源时将发送前进请求,并且在前进响应被发送之前将所述处理资源静态分配给(预留为以后使用)所涉及的事务源(所述事务源可以将静态分配到的处理资源用于引起拒绝响应的同一事务或者不同的等待事务(例如,指定了更高服务质量的排队事务请求))。因此,当事务源接收到前进请求时,该请求将有效地包括静态信记,指示事务源可以将包括所述静态信记指示的其事务请求(或不同的事务请求)重新发送回POC/POS 32,34,在?0(:/ 03 32,34处,处理资源将已被分配给所述事务源并且因此所述事务请求将确定被接受。事务请求具有与之相关联的服务质量值。P0C/P0S 32,34利用可编程的映射配置在这些服务质量值与具有从最低级别延伸至最高级别的优先级分级结构内的多个优先级之间进行映射(在一些实施例中,该映射可以是静态的/不可编程的)。P0C/P0S 32,34被配置为向每个优先级分配处理资源组中可用于它们的处理资源的最大数目。因而,低优先级可能具有较小数目的处理资源被设置为可以同时被分配给处于该优先级的事务请求的处理资源的最大数目,而高优先级可能具有较大数目的处理资源被设置为可以同时被分配给该较高优先级的处理资源的最大数目。可被分配的这些处理资源的最大数目可以是固定的或可编程的。处理资源的最大数目随优先级的升高而单调增大,以使得较高的优先级具有较大的可能分配给具有那些较高优先级的事务请求的处理资源的最大数目。当P0C/P0S 32,34为给定的优先级分配处理资源时,它利用计数值来对分配进行跟踪。每当处理资源被分配给所述优先级时计数器被递增,而每当处理资源停止被分配给所述优先级时计数器被递减。在一些实施例中,针对每个优先级的计数器可按上述方式在分配改变时被单独递增和递减,但是在其它实施例中,递增和递减被应用于所涉及的优先级以及同时被跟踪的所有更低优先级的计数器。例如,在优先级分级结构中包括超高优先级、高优先级、中优先级和低优先级的系统中,如果处理资源被分配给超高优先级,则用于高优先级的计数器以及用于中优先级和低优先级的计数器都将被递增。当处理资源停止被分配给超高优先级的事务请求时,则用于高优先级、中优先级和低优先级的计数器都将被递减。以这种方式,选择算法可被引导在可分配给较高优先级的资源的池被耗尽之前耗尽可被分配给较低优先级的处理资源的池。也可以是这些计数器单独跟踪它们自己的优先级而不存在这种相互依赖。P0C/P0S 32,34内的未决请求计数器也被提供用于跟踪每个优先级中正在等待接收前进响应的事务请求的数目以及事务源的身份标识和所涉及的被拒绝请求的服务质量值。这些未决请求计数 器被用于跟踪等待静态分配(即,等待分配处理资源并发送前进响应(静态信记))的事务请求的数目和细节。当给定优先级的多个事务请求正在等待处理资源的分配时,选择算法可以利用轮询选择技术来在这些事务之间进行选择,在该技术中,指针和等待处理资源的分配的所述优先级的事务请求的队列被使用,并且指针随着每次的选择而前进。选择算法也可以根据饥饿比率(starvation ratio)在具有不同优先级的等待静态分配的事务请求之间进行选择。希望具有较高优先级的稳定的事务请求流不应当完全阻止来自较低优先级的事务被分配处理资源。因此,饥饿计数器可被用于计算有多少次事务请求是在优先于较低优先级的排队事务请求之前从较高优先级中被选择的。当这个计数达到(可编程的)饥饿比率水平时,来自较低优先级的事务请求优先于来自较高优先级的一个事务请求而被选择,以使得至少一些来自较低优先级的事务请求向前进行。图1的事务源6,8,10,12,14,16,18,20可以采用处理器群组的形式。这些处理器群组可以包括多个处理器核和一些本地高速缓冲存储器,例如多个I级高速缓冲存储器和共享的2级高速缓冲存储器。上述需要根据动态选择或静态选择进行分配的POC/POS 32,34内的处理资源是可用于接收来自事务源的事务请求的处理时隙。图2示意性地详细图示了 P0C/P0S 32。P0C/P0S包括多个处理资源36,所述处理资源36包括用于接收来自环型互连30的事务的多个处理时隙38。P0C/P0S控制器40对所接收到的事务请求做出响应并跟踪处理资源36的利用以及来自不同优先级中的每个优先级的正在等待P0C/P0S分配处理资源38的事务源的事务请求的数目(以及它们的身份标识和相关联的服务质量值)。P0C/P0S控制器40根据可编程映射将所接收到的服务质量值映射到优先级。本地控制器40还接收指定可分配资源的优先级最大数目的配置数据42以及饥饿比率44,如前所述。事务请求由P0C/P0S控制器40从时隙38中的一个时隙被传送到共享高速缓冲存储器24以由共享高速缓冲存储器22进行服务。图3是P0C/P0S 32内可用的处理资源36的逻辑视图。在该逻辑视图中,可用于每个优先级的处理资源已被组合在一起并且从较低端向较高端延伸。可用于低优先级L的处理资源的池是最小的。可用于中优先级M的处理资源的池包括所有那些可用于低优先级L的资源以及一些附加资源。类似的关系适用于高优先级H和超高(最高)优先级HH。可被同时分配给每个优先级的处理资源的最大数目单调增大。这些最大数目可以被可编程地定义并存储在图2中所示的优先级最大数目42中。应当理解图4是处理资源的逻辑视图,并且物理处理资源在被动态和静态分配时将可能被交织在不同优先级之间,所述物理处理资源在根据动态分配(无提前预留)或者利用静态分配时的上述选择算法变为可用时被动态和静态分配。图4示意性地图示了 P0C/P0S控制器40内的映射电路46,该电路用于将与事务请求一起接收的服务质量值映射到要被用于控制上述选择算法的优先级。映射电路46对可编程映射配置数据48做出响应。服务质量值可以是能够指定16个不同服务质量级别的四位值,而优先级可以是能够指定前述超高、高、中和低优先级的二位值。可编程映射配置数据可以提供服务质量值与优先级值之间的不同映射,如图5中所示。在向第一组优先级PL的映射中,服务质量值0-5被映射到低优先级,服务质量值6-9被映射到中优先级,服务质量值10-13被映射到高优先级并且服务质量值14-15被映射到超高优先级。在所示的向优先级PL’的不同映射中,服务质量值0-7被映射到低优先级,月艮务质量值8-12被映射到中优先级,服务质量值13-14被映射到高优先级并且服务质量值15被映射到超高优先级。图6是不意性地图不了 P0C/P0S 32, 34内的事务请求接收和处理的流程图。在步骤50处,处理等待,直到事务请求被接收。步骤52确定事务请求是否指示其正在寻求动态信记,即正在寻求动态分配处理资源中的一个资源。如果该事务请求没有正在寻求动态信记,则其必定正在寻求静态信记并将已经具有被静态分配给该事务请求的处理资源,下面将进一步讨论。因此,在这种情况下,处理进行到步骤54,其中静态分配的处理资源被用于接收事务请求并且跟踪处理资源分配的(一个或多个)计数器被递增。如果在步骤52处的判定结果是事务请求正在寻求动态信记,则步骤56确定已分配给在步骤50处所接收到的事务请求的优先级的处理资源的数目是否已经等于或大于可以分配给该优先级的处理资源的最大数目。如果该最大数目尚未被超过,则步骤58用于动态分配处理资源中的一个资源来处理所接收的事务并且指示该动态分配已成功的响应被返回给针对在步骤50处接收到的事务请求的事务源。跟踪处理资源分配的计数器值被再次递增。当事务停止使用被分配的资源并且该资源被释放以分配给不同事务时,这些(一个或多个)计数值被递减。如果在步骤56处的判定结果是由于允许用于其优先级的处理资源的最大数目已被超过而导致已接收的请求动态信记的事务请求不能被动态分配处理资源,则处理进行到步骤60,在该步骤中拒绝响应被返回给请求事务源。然后,步骤62递增针对所涉及的优先级的计数值,以指示一个或多个事务请求正在等待为该优先级分配处理资源。图7是示意性地图示了 P0C/P0S 32内的静态信记分配的流程图。步骤64根据未决事务计数器值确定是否有事务请求正在等待处理资源的静态分配。如果有正在等待处理资源分配的这样的事务请求,则处理进行到步骤66,在该步骤中系统等待一直到处理资源变得可用于静态调度。当之前被动态或静态分配的处理资源因为不再被事务请求使用(因为该事务请求已完成)而被释放时,该处理资源可变为可用资源。当在步骤66中处理资源变得可用于静态调度时,处理进行到步骤68,在该步骤中确定是否有优先级已超过了其饥饿阈值。该饥饿阈值表示给定优先级因为比其更高的优先级而在经历了大于预定数目的这种分配之后还未被分配处理资源。这些饥饿级别可以被单独编程为比率来在单独的优先级对之间生效。因而,可以有低优先级相对中优先级的饥饿比率以及单独地分别相对于高优先级和超高优先级的饥饿比率。饥饿比率只沿优先级分级结构向上计算,因为较高的优先级不会由于比其低的优先级而缺乏处理资源分配。如果步骤68处的判定结果是优先级当前超过其饥饿阈值,则步骤70用于向已超过其饥饿阈值的最高优先级事务请求发布前进响应(如果有多于一个这种事务则使用轮询选择)。然后,步骤72递增针对所涉及的一个或多个优先级的计数值,以跟踪被分配给所述优先级的处理资源的数目。如果多于一个计数器被递增,则该步骤还递增更低优先级的计数器。如果步骤68处的判定结果是饥饿阈值尚未被超过,则步骤74选择具有非零个排队请求的最高优先级。然后,步骤76选择在所述事务请求的队列内指针所指向的被选择优先级中的下一个事务。然后,步骤78将指针向前进以用于队列内的轮询调度分配,并且步骤80向所选择的事务请求的事务源发布前进请求,指示事务源此时应当重新发送其指示静态信记的事务请求。处理随后进行到步骤72。图8示意性地图示了在事务源6,8,10,12,14,16,18,20内执行的处理。在步骤82处,处理等待直到有事务请求准备被发送。步骤84,利用指示请求默认的处理资源动态分配的动态信记,将事务请求发送给请求服务电路。然后,步骤86等待响应。当响应被接收时,步骤88确定该响应是否是拒绝响应。如果该响应不是拒绝响应,则动态分配已成功并且处理进行到步骤90,在该步骤中事务与请求服务电路合作被完成。如果在步骤88处接收到拒绝响应,则处理进行到步骤92,在该步骤中事务源等待直到前进响应被接收。这种前进响应指示目前已经针对事务请求进行了处理资源的静态分配,因而处理应当进行到步骤94,在该步骤中,事务请求被重新发送,但是此时指示该事务请求具有相关联的静态信记并且处理资源已根据前述静态分配技术被分配给所述事务源。被静态分配的事务随后在步骤90中被完成。图9示意性地图示了可被用于避免较低优先级事务级别完全开始于较高优先级事务的处理资源分配之后的可编程饥饿比率。具体而言,饥饿比率针对优先级和优先级分级结构内的更高优先级之间的每种关系被编程。该数目指示在来自较低优先级的事务被选择进行分配之前应当被依次选择进行分配的来自较高优先级的事务的最大连续数目。因此,如果该饥饿比率为30,则表示针对每30个连续的被选择进行分配的较高优先级的事务,一个较低优先级事务应当强制被选择。虽然在此已参考附图详细地描述了本发明的说明性实施例,但是应当理解本发明不局限于那些精确的实施例,本领域技术人员可以进行各种改变和修改而不脱离由所附权利要求定义的本发明的范围和精神。
权利要求
1.一种集成电路,包括: 被配置为生成事务请求的多个事务资源;以及 被配置为利用一组处理资源来处理所述事务请求的请求服务电路;其中 所述事务请求分别具有在服务质量值范围内的相关联的服务质量值; 所述请求服务电路被配置为根据服务质量映射配置,将在所述服务质量值范围的不同子范围内的服务质量值映射到在从最低级别至最高级别的优先级分级结构内的不同优先级;并且 所述请求服务电路被配置为提供可被同时分配用于服务所述分级结构的每个级别内的事务请求的最大数目的所述处理资源。
2.根据权利要求1所述的集成电路,其中,所述服务质量映射配置是可针对所述服务质量值中的至少一些服务质量值而编程的。
3.根据权利要求1所述的集成电路,其中,所述分级结构的每个级别内的所述最大数目是针对所述分级结构的至少一些等级的可编程参数。
4.根据权利要求1所述的集成电路,其中,所述最大数目在所述优先级分级结构内单调增大。
5.根据权利要求1所述的集成电路,其中,当所述处理资源中的一个处理资源被分配给在所述分级结构的给定级别内的事务请求时,由所述请求服务电路跟踪的、被分配给所述分级结构内的所述给定级别和任何更低级别的资源的数目被递增。
6.根据权利要求1所述的集成电路,其中,当所述处理资源中的一个处理资源停止被分配给在所述分级结构的给定级别内的事务请求时,由所述请求服务电路跟踪的、被分配给所述分级结构内的所述给定级别和任何更低级别的资源的数目被递减。
7.根据权利要求1所述的集成电路,其中,当所述处理资源中的一个处理资源被分配给在所述分级结构的给定级别内的事务请求时,由所述请求服务电路跟踪的、被分配给所述分级结构内的所述给定级别的资源的数目被单独递增。
8.根据权利要求1所述的集成电路,其中,当所述处理资源中的一个处理资源停止被分配给在所述分级结构的给定级别内的事务请求时,由所述请求服务电路跟踪的、被分配给所述分级结构内的所述给定级别的资源的数目被单独递减。
9.根据权利要求1所述的集成电路,其中,所述请求服务电路被配置为利用选择算法在在所述事务请求之间动态分配所述处理资源和在所述事务请求之间静态分配所述处理资源之间进行切换。
10.根据权利要求8所述的集成电路,其中,所述选择算法依赖于与所述多个事务请求中的每个事务请求相关联的相应优先级。
11.根据权利要求1所述的集成电路,其中 所述请求服务电路被配置为: 从所述多个事务源中的请求事务源接收至少隐式的请求,用于分配所述一组处理资源中的一个来供所述请求事务源使用,以用于处理与所述事务请求相关联的事务; 确定所述一组处理资源 中的一个是否可供所述请求事务源所用; 如果所述一组处理资源中的一个处理资源可供所述请求事务源所用,则将所述一组处理资源中的所述一个处理资源分配给所述请求事务源以用于处理所述事务;以及如果所述一组处理资源中没有处理资源可供所述请求事务源所用,则向所述请求事务源发送重试响应; 所述请求事务源被配置为: 从所述请求服务电路接收所述重试响应;以及 通过在进行与所述事务请求相关联的所述事务之前,等待从所述请求服务电路接收前进响应,来对所述重试响应做出响应;并且 所述请求服务电路被配置为: 跟踪所述多个事务源中等待前进响应的那些事务源; 将所述一组处理资源中的一个处理资源分配给所述等待前进响应的事务源中的一个事务源;以及 向所述等待前进响应的事务源中的所述一个事务源发送前进响应。
12.根据权利要求9所述的集成电路,其中,所述选择算法利用在共享优先级的等待静态分配的事务请求之间进行的轮询选择。
13.根据权利要求9所述的集成电路,其中,所述选择算法在具有不同优先级的等待静态分配的所述事务请求之间进行选择。
14.根据权利要求13所述的集成电路,其中,在具有不同优先级的等待静态分配的所述事务请求之间的所述选择取决于饥饿比率。
15.根据权利要求14所述的集成电路,其中,所述饥饿比率是可编程的。`
16.根据权利要求1所述的集成电路,其中,所述多个事务源包括多个处理器群组,每个处理器群组包括多个处理器核。
17.根据权利要求1所述的集成电路,其中,所述请求服务电路包括共享的高速缓冲存储器。
18.根据权利要求1所述的集成电路,包括多个所述请求服务电路,每个请求服务电路具有用于在所述多个事务请求之间进行分配的一组处理资源。
19.根据权利要求1所述的集成电路,其中,所述一组处理资源包括可用于接收所述事务请求的一组处理时隙。
20.根据权利要求1所述的集成电路,还包括被配置为在所述事务源与所述请求服务电路之间传送所述事务请求的互连电路。
21.根据权利要求20所述的集成电路,其中,所述互连电路是环型互连电路。
22.—种集成电路,包括: 用于生成事务请求的多个事务源装置;以及 用于利用一组用于处理的处理资源装置来处理所述事务请求的请求服务装置;其中 所述事务请求分别具有在服务质量值范围内的相关联的服务质量值; 所述请求服务装置被配置为根据可编程的服务质量映射配置,将在所述服务质量值范围的不同子范围内的服务质量值映射到在从最低级别至最高级别的优先级分级结构内的不同优先级;并且 所述请求服务装置被配置为提供可被同时分配用于服务所述分级结构的每个级别内的事务请求的最大数目的所述处理资源装置。
23.一种在集成电路内进行通信的方法,包括以下步骤:利用多个事务源生成事务请求;以及 利用一组处理资源来处理所述事务请求;其中 所述事务请求分别具有在服务质量值范围内的相关联的服务质量值;所述方法还包括以下步骤 根据可编程的服务质量映射配置,将在所述服务质量值范围的不同子范围内的服务质量值映射到在从最低级别至最高级别的优先级分级结构内的不同优先级;以及 提供可被同时分配用于服务所述分级结构的每个级别内的事务请求的最大数目的所述处理资源装置。 ·
全文摘要
涉及支持不同优先级事务请求的集成电路中的处理资源分配。集成电路(2)包括经环型互连(30)与共享高速缓冲存储器(22,24)通信的多个事务源(6,8,10,12,14,16,18,20),每个共享高速缓冲存储器具有相关联的POC/POS(30,34)并用作请求服务电路。请求服务电路具有可分配给不同事务的一组处理资源(36)。这些处理资源可动态或静态分配。静态分配可根据选择算法进行。选择算法可利用服务质量值/优先级作为其输入参数之一。也可定义饥饿比率以使较低优先级在太久没有资源分配的情况下强制被选择。在服务质量值与优先级之间可进行可编程映射。分配给每个优先级的处理资源的最大数目也可被编程。
文档编号G06F9/50GK103164284SQ201210290278
公开日2013年6月19日 申请日期2012年8月8日 优先权日2011年8月8日
发明者詹姆师德·加拉, 马克·戴维·沃克海瑟, 布雷特·斯坦利·菲勒, 迈克尔·艾伦·菲利波, 拉玛穆尔西·古鲁·普拉萨哈, 潘尼德拉·库玛·曼娜瓦 申请人:Arm有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1