CN103164284B - 用于不同优先级事务请求的处理资源分配的集成电路 - Google Patents

用于不同优先级事务请求的处理资源分配的集成电路 Download PDF

Info

Publication number
CN103164284B
CN103164284B CN201210290278.8A CN201210290278A CN103164284B CN 103164284 B CN103164284 B CN 103164284B CN 201210290278 A CN201210290278 A CN 201210290278A CN 103164284 B CN103164284 B CN 103164284B
Authority
CN
China
Prior art keywords
process resource
affairs
request
transactions requests
service
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201210290278.8A
Other languages
English (en)
Other versions
CN103164284A (zh
Inventor
詹姆师德·加拉
马克·戴维·沃克海瑟
布雷特·斯坦利·菲勒
迈克尔·艾伦·菲利波
拉玛穆尔西·古鲁·普拉萨哈
潘尼德拉·库玛·曼娜瓦
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Anne science and Technology (China) Co., Ltd.
ARM Ltd
Original Assignee
Advanced Risc Machines Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Advanced Risc Machines Ltd filed Critical Advanced Risc Machines Ltd
Publication of CN103164284A publication Critical patent/CN103164284A/zh
Application granted granted Critical
Publication of CN103164284B publication Critical patent/CN103164284B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4812Task transfer initiation or dispatching by interrupt, e.g. masked
    • G06F9/4818Priority circuits therefor
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/82Miscellaneous aspects
    • H04L47/821Prioritising resource allocation or reservation requests
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/18Handling requests for interconnection or transfer for access to memory bus based on priority control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/36Handling requests for interconnection or transfer for access to common bus or bus system
    • G06F13/368Handling requests for interconnection or transfer for access to common bus or bus system with decentralised access control
    • G06F13/374Handling requests for interconnection or transfer for access to common bus or bus system with decentralised access control using a self-select method with individual priority code comparator
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/80Actions related to the user profile or the type of traffic
    • H04L47/805QOS or priority aware

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Bus Control (AREA)
  • Multi Processors (AREA)
  • Storage Device Security (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

涉及用于不同优先级事务请求的处理资源分配的集成电路。集成电路(2)包括经环型互连(30)与共享高速缓冲存储器(22,24)通信的多个事务源(6,8,10,12,14,16,18,20),每个共享高速缓冲存储器具有相关联的POC/POS(32,34)并用作请求服务电路。请求服务电路具有可分配给不同事务的一组处理资源(36)。这些处理资源可动态或静态分配。静态分配可根据选择算法进行。选择算法可利用服务质量值/优先级作为其输入参数之一。也可定义饥饿比率以使较低优先级在太久没有资源分配的情况下强制被选择。在服务质量值与优先级之间可进行可编程映射。分配给每个优先级的处理资源的最大数目也可被编程。

Description

用于不同优先级事务请求的处理资源分配的集成电路
技术领域
本发明涉及集成电路的领域。更具体而言,本发明涉及向可能具有不同优先级的事务请求的处理的资源分配。
背景技术
公知已提供有具有经由互连电路被耦接到请求服务电路(例如一个或多个事务从机)的多个事务源(例如事务主机)的集成电路。希望平衡被分配给不同优先级的处理资源以使得没有一个优先级被分配太少或太多处理资源。
发明内容
从一个方面看,本发明提供了一种集成电路,该集成电路包括:被配置为生成事务请求的多个事务资源;以及被配置为利用一组处理资源来处理所述事务请求的请求服务电路;其中所述事务请求分别具有在服务质量值范围内的相关联的服务质量值;所述请求服务电路被配置为根据服务质量映射配置将在所述服务质量值范围的不同子范围内的服务质量值映射到在从最低级别延伸至最高级别的优先级分级结构内的不同优先级;并且所述请求服务电路被配置为提供可被同时分配用于服务所述分级结构的每个级别内的事务请求的最大数目的所述处理资源。
本发明利用与事务请求相关联的服务质量值并将该服务质量值映射到优先级分级结构内的较小数目的优先级。这些优先级中的每个优先级具有可被同时分配用于服务优先级分级结构中的该优先级内的事务请求的最大数目的处理资源。服务质量值的子范围相应地映射到优先级,然后被分配给每个优先级的资源的最大数目可以被控制。
当在优先级分级结构中的每个级别内的服务质量映射和/或最大数目中的一个或两者是可编程的时,可以实现集成电路的更好的适配性。
在一些实施例中,分级结构中的每个优先级的可分配资源的最大数目将随优先等级单调增大。因而,较高的优先级将具有较大数目的可能可用的处理资源。
分配给分级结构中的给定级别内的事务请求的处理资源可以被跟踪,以使得当处理资源中的一个被分配给给定级别内的事务请求时计数值被递增,并且当处理资源停止被分配给所述给定级别内的事务请求时计数值被递减。这些计数值可以被用于跟踪分配给分级结构内的不同级别的处理资源之间的平衡。
计数可以彼此独立地被单独递增/递减,或者如果与给定优先级相关联的计数值被递增/递减,则所有更低优先级的计数值都被类似地递增/递减。该方法帮助避免处理资源在分配给较高优先级之前被分配给较低优先级。
请求服务电路可被形成为在对处理资源的动态分配和静态分配之间切换。静态分配可以基于选择算法被执行。在一些实施例中,该选择算法可取决于与每个事务请求相关联的相应优先级。
在事务源与请求服务电路之间交换的请求和消息可以采用各种形式。在一些实施例中,所述请求服务电路被配置为:从所述多个事务源中的请求事务源接收至少隐式的请求,该请求以分配供所述请求事务源使用的所述一组处理资源中的一个用于处理与所述事务请求相关联的事务;确定所述处理资源组中的一个是否可供所述请求事务源所用;如果所述处理资源组中的一个处理资源可供所述请求事务源所用,则将所述一个处理资源或所述处理资源组分配给所述请求事务源以用于处理所述事务;并且如果所述处理资源组中没有处理资源可供所述请求事务源所用,则向所述请求事务源发送重试响应;所述请求事务源被配置为:从所述请求服务电路接收所述重试响应;并且通过在进行与所述事务请求相关联的所述事务之前等待要从所述请求服务电路接收的前进响应来对所述重试响应做出响应;并且所述请求服务电路被配置为:跟踪所述多个事务源中等待前进响应的那些事务源;将所述处理资源组中的一个处理资源分配给所述等待前进响应的事务源中的一个事务源;并且向所述等待前进响应的事务源中的所述一个事务源发送前进响应。
静态分配中所使用的选择算法可以在共享优先级的等待静态分配的事务请求之间利用轮询选择。这是很容易实现的并且提供了可预测的行为,确保没有一个事务请求始终得不到处理资源分配。
静态分配中所使用的选择算法还可以在具有不同优先级的等待静态分配的事务请求之间进行选择。不一定总是较高优先级的事务被选择。饥饿比率可被用于在大于阈值比率值的多个较高优先级事务已经优先于较低优先级事务被选择时,强制选择较低优先级事务。该饥饿比率可以是可编程的。
多个事务源可以采用各种不同的形式,包括图形处理单元、输入/输出相干设备和处理器群组。这种处理器群组可以包括多个处理器核和共享的本地高速缓冲存储器。
请求服务电路也可以采用各种不同的形式。在一些实施例中,请求服务电路是共享的高速缓冲存储器。
不止一个请求服务电路可被提供在集成电路内。这便于这些资源的增减。
互连电路可被用于在事务源和请求服务电路之间传输事务请求。这种互连电路在一些实施例中可以是环型互连电路。
从另一方面看,本发明提供了一种集成电路,该集成电路包括:用于生成事务请求的多个事务源装置;以及用于利用一组用于处理的处理资源装置来处理所述事务请求的请求服务装置;其中所述事务请求分别具有在服务质量值范围内的相关联的服务质量值;所述请求服务装置被配置为根据可编程的服务质量映射配置将在所述服务质量值范围的不同子范围内的服务质量值映射到在从最低级别延伸至最高级别的优先级分级结构内的不同优先级;并且所述请求服务装置被配置为提供可被同时分配用于服务所述分级结构的每个级别内的事务请求的最大数目的处理资源装置。
从另一方面看,本发明提供了一种在集成电路内进行通信的方法,包括以下步骤:利用多个事务源生成事务请求;以及利用一组处理资源处理所述事务请求;其中所述事务请求分别具有在服务质量值范围内的相关联的服务质量值;并且还包括以下步骤:根据可编程的服务质量映射配置将在所述服务质量值范围的不同子范围内的服务质量值映射到在从最低级别延伸至最高级别的优先级分级结构内的不同优先级;并且提供可被同时分配用于服务所述分级结构的每个级别内的事务请求的最大数目的处理资源装置。
根据以下可结合附图阅读的对说明性实施例的详细描述,本发明的以上和其它目的、特征和优点将变得更清楚。
附图说明
图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上接收和发送事务的相干点/连接点(POC/POS)32,34。
事务源6,8,10,12,14,16,18,20可以分别生成事务请求,这些事务请求具有(在软件或硬件控制下被添加的)相关联的服务质量值并且沿环型互连30被发送到请求服务电路22,24中适当的一个。就共享高速缓冲存储器22,24而言,共享高速缓冲存储器22,24可以是被映射到不同的存储器地址空间区域并且相应地用于为被送往它们所映射到的存储器地址空间区域的服务事务请求服务的存储器。相应的POC/POS 32,34可以检测与它们的共享高速缓冲存储器22,24相关联的存储器地址,并尝试分配处理资源处理所接收到的事务请求,如下面将进行讨论的。因为在所涉及的存储器地址空间范围以外或者因为存储器地址不在共享高速缓冲存储器22,24内而导致不能被共享高速缓冲存储器22,24服务的事务请求可以被发送给存储器控制器26,生成输出到主存储器4的另一事务。一些事务请求可以映射到输入/输出设备28以由该设备进行服务。
被发布到环型互连30上的事务请求将默认包括指示POC/POS 32,34应当作为第一选项尝试向所述事务请求动态分配处理资源的动态信记(指示所提出的分配模式的标识或信号)。如果没有处理资源可用于所述事务请求,则拒绝响应被经由环型互连30返回给所涉及的事务源,并且事务源被置于如下状态,在该状态下事务源一直等到其接收到前进请求才重新发送事务请求。
POC/POS 32,34在其具有可用于分配给所述事务请求的处理资源时将发送前进请求,并且在前进响应被发送之前将所述处理资源静态分配给(预留为以后使用)所涉及的事务源(所述事务源可以将静态分配到的处理资源用于引起拒绝响应的同一事务或者不同的等待事务(例如,指定了更高服务质量的排队事务请求))。因此,当事务源接收到前进请求时,该请求将有效地包括静态信记,指示事务源可以将包括所述静态信记指示的其事务请求(或不同的事务请求)重新发送回POC/POS 32,34,在POC/POS 32,34处,处理资源将已被分配给所述事务源并且因此所述事务请求将确定被接受。
事务请求具有与之相关联的服务质量值。POC/POS 32,34利用可编程的映射配置在这些服务质量值与具有从最低级别延伸至最高级别的优先级分级结构内的多个优先级之间进行映射(在一些实施例中,该映射可以是静态的/不可编程的)。POC/POS 32,34被配置为向每个优先级分配处理资源组中可用于它们的处理资源的最大数目。因而,低优先级可能具有较小数目的处理资源被设置为可以同时被分配给处于该优先级的事务请求的处理资源的最大数目,而高优先级可能具有较大数目的处理资源被设置为可以同时被分配给该较高优先级的处理资源的最大数目。可被分配的这些处理资源的最大数目可以是固定的或可编程的。处理资源的最大数目随优先级的升高而单调增大,以使得较高的优先级具有较大的可能分配给具有那些较高优先级的事务请求的处理资源的最大数目。
当POC/POS 32,34为给定的优先级分配处理资源时,它利用计数值来对分配进行跟踪。每当处理资源被分配给所述优先级时计数器被递增,而每当处理资源停止被分配给所述优先级时计数器被递减。在一些实施例中,针对每个优先级的计数器可按上述方式在分配改变时被单独递增和递减,但是在其它实施例中,递增和递减被应用于所涉及的优先级以及同时被跟踪的所有更低优先级的计数器。例如,在优先级分级结构中包括超高优先级、高优先级、中优先级和低优先级的系统中,如果处理资源被分配给超高优先级,则用于高优先级的计数器以及用于中优先级和低优先级的计数器都将被递增。当处理资源停止被分配给超高优先级的事务请求时,则用于高优先级、中优先级和低优先级的计数器都将被递减。以这种方式,选择算法可被引导在可分配给较高优先级的资源的池被耗尽之前耗尽可被分配给较低优先级的处理资源的池。也可以是这些计数器单独跟踪它们自己的优先级而不存在这种相互依赖。
POC/POS 32,34内的未决请求计数器也被提供用于跟踪每个优先级中正在等待接收前进响应的事务请求的数目以及事务源的身份标识和所涉及的被拒绝请求的服务质量值。这些未决请求计数器被用于跟踪等待静态分配(即,等待分配处理资源并发送前进响应(静态信记))的事务请求的数目和细节。
当给定优先级的多个事务请求正在等待处理资源的分配时,选择算法可以利用轮询选择技术来在这些事务之间进行选择,在该技术中,指针和等待处理资源的分配的所述优先级的事务请求的队列被使用,并且指针随着每次的选择而前进。
选择算法也可以根据饥饿比率(starvation ratio)在具有不同优先级的等待静态分配的事务请求之间进行选择。希望具有较高优先级的稳定的事务请求流不应当完全阻止来自较低优先级的事务被分配处理资源。因此,饥饿计数器可被用于计算有多少次事务请求是在优先于较低优先级的排队事务请求之前从较高优先级中被选择的。当这个计数达到(可编程的)饥饿比率水平时,来自较低优先级的事务请求优先于来自较高优先级的一个事务请求而被选择,以使得至少一些来自较低优先级的事务请求向前进行。
图1的事务源6,8,10,12,14,16,18,20可以采用处理器群组的形式。这些处理器群组可以包括多个处理器核和一些本地高速缓冲存储器,例如多个1级高速缓冲存储器和共享的2级高速缓冲存储器。上述需要根据动态选择或静态选择进行分配的POC/POS 32,34内的处理资源是可用于接收来自事务源的事务请求的处理时隙。
图2示意性地详细图示了POC/POS 32。POC/POS包括多个处理资源36,所述处理资源36包括用于接收来自环型互连30的事务的多个处理时隙38。POC/POS控制器40对所接收到的事务请求做出响应并跟踪处理资源36的利用以及来自不同优先级中的每个优先级的正在等待POC/POS分配处理时隙38的事务源的事务请求的数目(以及它们的身份标识和相关联的服务质量值)。POC/POS控制器40根据可编程映射将所接收到的服务质量值映射到优先级。POC/POS控制器40还接收指定可分配资源的优先级最大数目的配置数据42以及饥饿比率44,如前所述。事务请求由POC/POS控制器40从时隙38中的一个时隙被传送到共享高速缓冲存储器22或24以由共享高速缓冲存储器22或24进行服务。
图3是POC/POS 32内可用的处理资源36的逻辑视图。在该逻辑视图中,可用于每个优先级的处理资源已被组合在一起并且从较低端向较高端延伸。可用于低优先级L的处理资源的池是最小的。可用于中优先级M的处理资源的池包括所有那些可用于低优先级L的资源以及一些附加资源。类似的关系适用于高优先级H和超高(最高)优先级HH。可被同时分配给每个优先级的处理资源的最大数目单调增大。这些最大数目可以被可编程地定义并存储在图2中所示的优先级最大数目42中。应当理解图3是处理资源的逻辑视图,并且物理处理资源在被动态和静态分配时将可能被交织在不同优先级之间,所述物理处理资源在根据动态分配(无提前预留)或者利用静态分配时的上述选择算法变为可用时被动态和静态分配。
图4示意性地图示了POC/POS控制器40内的映射电路46,该电路用于将与事务请求一起接收的服务质量值映射到要被用于控制上述选择算法的优先级。映射电路46对可编程映射配置数据48做出响应。服务质量值可以是能够指定16个不同服务质量级别的四位值,而优先级可以是能够指定前述超高、高、中和低优先级的二位值。
可编程映射配置数据可以提供服务质量值与优先级值之间的不同映射,如图5中所示。在向第一组优先级PL的映射中,服务质量值0-5被映射到低优先级,服务质量值6-9被映射到中优先级,服务质量值10-13被映射到高优先级并且服务质量值14-15被映射到超高优先级。在所示的向优先级PL’的不同映射中,服务质量值0-7被映射到低优先级,服务质量值8-12被映射到中优先级,服务质量值13-14被映射到高优先级并且服务质量值15被映射到超高优先级。
图6是示意性地图示了POC/POS 32,34内的事务请求接收和处理的流程图。在步骤50处,处理等待,直到事务请求被接收。步骤52确定事务请求是否指示其正在寻求动态信记,即正在寻求动态分配处理资源中的一个资源。如果该事务请求没有正在寻求动态信记,则其必定正在寻求静态信记并将已经具有被静态分配给该事务请求的处理资源,下面将进一步讨论。因此,在这种情况下,处理进行到步骤54,其中静态分配的处理资源被用于接收事务请求并且跟踪处理资源分配的(一个或多个)计数器被递增。
如果在步骤52处的判定结果是事务请求正在寻求动态信记,则步骤56确定已分配给在步骤50处所接收到的事务请求的优先级的处理资源的数目是否已经等于或大于可以分配给该优先级的处理资源的最大数目。如果该最大数目尚未被超过,则步骤58用于动态分配处理资源中的一个资源来处理所接收的事务并且指示该动态分配已成功的响应被返回给针对在步骤50处接收到的事务请求的事务源。跟踪处理资源分配的计数器值被再次递增。当事务停止使用被分配的资源并且该资源被释放以分配给不同事务时,这些(一个或多个)计数值被递减。
如果在步骤56处的判定结果是由于允许用于其优先级的处理资源的最大数目已被超过而导致已接收的请求动态信记的事务请求不能被动态分配处理资源,则处理进行到步骤60,在该步骤中拒绝响应被返回给请求事务源。然后,步骤62递增针对所涉及的优先级的计数值,以指示一个或多个事务请求正在等待为该优先级分配处理资源。
图7是示意性地图示了POC/POS 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个连续的被选择进行分配的较高优先级的事务,一个较低优先级事务应当强制被选择。
虽然在此已参考附图详细地描述了本发明的说明性实施例,但是应当理解本发明不局限于那些精确的实施例,本领域技术人员可以进行各种改变和修改而不脱离由所附权利要求定义的本发明的范围和精神。

Claims (22)

1.一种集成电路,包括:
被配置为生成事务请求的多个事务源;以及
被配置为利用一组处理资源来处理所述事务请求的请求服务电路;其中
所述事务请求分别具有在服务质量值范围内的相关联的服务质量值;
所述请求服务电路被配置为根据指示所述服务质量值和优先级之间的映射关系的服务质量映射配置,将在所述服务质量值范围的不同子范围内的服务质量值映射到在从最低级别至最高级别的优先级分级结构内的不同优先级;并且
所述请求服务电路被配置为提供可被同时分配用于服务所述分级结构的每个级别内的事务请求的最大数目的所述处理资源,
其中:
所述请求服务电路被配置为:
从所述多个事务源中的请求事务源接收至少隐式的请求,用于分配所述一组处理资源中的一个来供所述请求事务源使用,以用于处理与所述事务请求相关联的事务;
确定所述一组处理资源中的一个是否可供所述请求事务源所用;
如果所述一组处理资源中的一个处理资源可供所述请求事务源所用,则将所述一组处理资源中的所述一个处理资源分配给所述请求事务源以用于处理所述事务;以及
如果所述一组处理资源中没有处理资源可供所述请求事务源所用,则向所述请求事务源发送重试响应;
所述请求事务源被配置为:
从所述请求服务电路接收所述重试响应;以及
通过在进行与所述事务请求相关联的所述事务之前,等待从所述请求服务电路接收前进响应,来对所述重试响应做出响应;并且
所述请求服务电路被配置为:
跟踪所述多个事务源中等待前进响应的那些事务源;
将所述一组处理资源中的一个处理资源分配给所述等待前进响应的事务源中的一个事务源;以及
向所述等待前进响应的事务源中的所述一个事务源发送前进响应。
2.根据权利要求1所述的集成电路,其中,所述服务质量映射配置中的映射关系是可针对所述服务质量值中的至少一些服务质量值而编程的。
3.根据权利要求1所述的集成电路,其中,所述分级结构的每个级别内的所述最大数目是针对所述分级结构的至少一些等级的可编程参数。
4.根据权利要求1所述的集成电路,其中,所述最大数目在所述优先级分级结构内单调增大。
5.根据权利要求1所述的集成电路,其中,当所述处理资源中的一个处理资源被分配给在所述分级结构的给定级别内的事务请求时,由所述请求服务电路跟踪的、被分配给所述分级结构内的所述给定级别和任何更低级别的资源的数目被递增。
6.根据权利要求1所述的集成电路,其中,当所述处理资源中的一个处理资源停止被分配给在所述分级结构的给定级别内的事务请求时,由所述请求服务电路跟踪的、被分配给所述分级结构内的所述给定级别和任何更低级别的资源的数目被递减。
7.根据权利要求1所述的集成电路,其中,当所述处理资源中的一个处理资源被分配给在所述分级结构的给定级别内的事务请求时,由所述请求服务电路跟踪的、被分配给所述分级结构内的所述给定级别的资源的数目被单独递增。
8.根据权利要求1所述的集成电路,其中,当所述处理资源中的一个处理资源停止被分配给在所述分级结构的给定级别内的事务请求时,由所述请求服务电路跟踪的、被分配给所述分级结构内的所述给定级别的资源的数目被单独递减。
9.根据权利要求1所述的集成电路,其中,所述请求服务电路被配置为利用选择算法在针对所述事务请求的处理资源的动态分配与针对所述事务请求的处理资源的静态分配之间进行切换。
10.根据权利要求9所述的集成电路,其中,所述切换依赖于与所述多个事务请求中的每个事务请求相关联的相应优先级。
11.根据权利要求9所述的集成电路,其中,所述选择算法利用在共享优先级的等待静态分配的事务请求之间进行的轮询选择。
12.根据权利要求9所述的集成电路,其中,所述选择算法在具有不同优先级的等待静态分配的所述事务请求之间进行选择。
13.根据权利要求12所述的集成电路,其中,在具有不同优先级的等待静态分配的所述事务请求之间的所述选择取决于饥饿比率。
14.根据权利要求13所述的集成电路,其中,所述饥饿比率是可编程的。
15.根据权利要求1所述的集成电路,其中,所述多个事务源包括多个处理器群组,每个处理器群组包括多个处理器核。
16.根据权利要求1所述的集成电路,其中,所述请求服务电路包括共享的高速缓冲存储器,该共享的高速缓冲存储器对来自所述多个事务源的事务请求进行服务。
17.根据权利要求1所述的集成电路,包括多个所述请求服务电路,每个请求服务电路具有用于在所述多个事务请求之间进行分配的一组处理资源。
18.根据权利要求1所述的集成电路,其中,所述一组处理资源包括可用于接收所述事务请求的一组处理时隙。
19.根据权利要求1所述的集成电路,还包括被配置为在所述事务源与所述请求服务电路之间传送所述事务请求的互连电路。
20.根据权利要求19所述的集成电路,其中,所述互连电路是环型互连电路。
21.一种集成电路,包括:
用于生成事务请求的多个事务源装置;以及
用于利用一组用于处理的处理资源装置来处理所述事务请求的请求服务装置;其中
所述事务请求分别具有在服务质量值范围内的相关联的服务质量值;
所述请求服务装置被配置为根据指示所述服务质量值和优先级之间的映射关系的可编程的服务质量映射配置,将在所述服务质量值范围的不同子范围内的服务质量值映射到在从最低级别至最高级别的优先级分级结构内的不同优先级;并且
所述请求服务装置被配置为提供可被同时分配用于服务所述分级结构的每个级别内的事务请求的最大数目的所述处理资源装置,
其中:
所述请求服务装置被配置为:
从所述多个事务源装置中的请求事务源装置接收至少隐式的请求,用于分配所述一组处理资源装置中的一个来供所述请求事务源装置使用,以用于处理与所述事务请求相关联的事务;
确定所述一组处理资源装置中的一个是否可供所述请求事务源装置所用;
如果所述一组处理资源装置中的一个处理资源装置可供所述请求事务源装置所用,则将所述一组处理资源装置中的所述一个处理资源装置分配给所述请求事务源装置以用于处理所述事务;以及
如果所述一组处理资源装置中没有处理资源装置可供所述请求事务源装置所用,则向所述请求事务源装置发送重试响应;
所述请求事务源装置被配置为:
从所述请求服务装置接收所述重试响应;以及
通过在进行与所述事务请求相关联的所述事务之前,等待从所述请求服务装置接收前进响应,来对所述重试响应做出响应;并且
所述请求服务装置被配置为:
跟踪所述多个事务源装置中等待前进响应的那些事务源装置;
将所述一组处理资源装置中的一个处理资源装置分配给所述等待前进响应的事务源装置中的一个事务源装置;以及
向所述等待前进响应的事务源装置中的所述一个事务源装置发送前进响应。
22.一种在集成电路内进行通信的方法,包括以下步骤:
由多个事务源装置利用多个事务源生成事务请求;以及
由请求服务装置利用一组处理资源装置来处理所述事务请求;其中
所述事务请求分别具有在服务质量值范围内的相关联的服务质量值;所述方法还包括以下步骤
根据指示所述服务质量值和优先级之间的映射关系的可编程的服务质量映射配置,将在所述服务质量值范围的不同子范围内的服务质量值映射到在从最低级别至最高级别的优先级分级结构内的不同优先级;以及
提供可被同时分配用于服务所述分级结构的每个级别内的事务请求的最大数目的所述处理资源装置,
其中:
所述处理所述事务请求包括:
从所述多个事务源装置中的请求事务源装置接收至少隐式的请求,用于分配所述一组处理资源装置中的一个来供所述请求事务源装置使用,以用于处理与所述事务请求相关联的事务;
确定所述一组处理资源装置中的一个是否可供所述请求事务源装置所用;
如果所述一组处理资源装置中的一个处理资源装置可供所述请求事务源装置所用,则将所述一组处理资源装置中的所述一个处理资源装置分配给所述请求事务源装置以用于处理所述事务;以及
如果所述一组处理资源装置中没有处理资源装置可供所述请求事务源装置所用,则向所述请求事务源装置发送重试响应;
所述请求事务源装置被配置为:
从所述请求服务装置接收所述重试响应;以及
通过在进行与所述事务请求相关联的所述事务之前,等待从所述请求服务装置接收前进响应,来对所述重试响应做出响应;并且
所述请求服务装置被配置为:
跟踪所述多个事务源装置中等待前进响应的那些事务源装置;
将所述一组处理资源装置中的一个处理资源装置分配给所述等待前进响应的事务源装置中的一个事务源装置;以及
向所述等待前进响应的事务源装置中的所述一个事务源装置发送前进响应。
CN201210290278.8A 2011-08-08 2012-08-08 用于不同优先级事务请求的处理资源分配的集成电路 Active CN103164284B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/137,362 2011-08-08
US13/137,362 US8490107B2 (en) 2011-08-08 2011-08-08 Processing resource allocation within an integrated circuit supporting transaction requests of different priority levels

Publications (2)

Publication Number Publication Date
CN103164284A CN103164284A (zh) 2013-06-19
CN103164284B true CN103164284B (zh) 2017-06-20

Family

ID=46605619

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210290278.8A Active CN103164284B (zh) 2011-08-08 2012-08-08 用于不同优先级事务请求的处理资源分配的集成电路

Country Status (4)

Country Link
US (1) US8490107B2 (zh)
JP (1) JP6058303B2 (zh)
CN (1) CN103164284B (zh)
GB (1) GB2493594B (zh)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9032413B2 (en) 2011-09-01 2015-05-12 Microsoft Technology Licensing, Llc Decoupling background work and foreground work
US8706936B2 (en) * 2011-11-14 2014-04-22 Arm Limited Integrated circuit having a bus network, and method for the integrated circuit
US9164803B2 (en) * 2012-01-20 2015-10-20 Microsoft Technology Licensing, Llc Background task resource control
US20130219386A1 (en) * 2012-02-21 2013-08-22 Disney Enterprises, Inc. Dynamic allocation of compute resources
US9864647B2 (en) * 2014-10-23 2018-01-09 Qualcom Incorporated System and method for dynamic bandwidth throttling based on danger signals monitored from one more elements utilizing shared resources
KR102354848B1 (ko) 2014-11-28 2022-01-21 삼성전자주식회사 캐시 메모리 장치 및 이를 포함하는 전자 시스템
US11016770B2 (en) 2015-09-19 2021-05-25 Microsoft Technology Licensing, Llc Distinct system registers for logical processors
US10768936B2 (en) 2015-09-19 2020-09-08 Microsoft Technology Licensing, Llc Block-based processor including topology and control registers to indicate resource sharing and size of logical processor
US11126433B2 (en) 2015-09-19 2021-09-21 Microsoft Technology Licensing, Llc Block-based processor core composition register
GR1008894B (el) * 2015-12-15 2016-11-14 Arm Limited Βελτιστοποιημενη συνεχης ροη σε μια μη διατεταγμενη διασυνδεση
US11531552B2 (en) 2017-02-06 2022-12-20 Microsoft Technology Licensing, Llc Executing multiple programs simultaneously on a processor core
US10452593B1 (en) * 2018-05-03 2019-10-22 Arm Limited High-performance streaming of ordered write stashes to enable optimized data sharing between I/O masters and CPUs
US11343176B2 (en) * 2019-06-24 2022-05-24 Amazon Technologies, Inc. Interconnect address based QoS regulation
CN111445213A (zh) * 2020-03-31 2020-07-24 乌鲁木齐众维汇联信息科技有限公司 园区企业孵化服务的网络管理系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2367913A (en) * 2000-09-16 2002-04-17 Motorola Inc Processor resource scheduler
US6546017B1 (en) * 1999-03-05 2003-04-08 Cisco Technology, Inc. Technique for supporting tiers of traffic priority levels in a packet-switched network
CN101196834A (zh) * 2006-09-25 2008-06-11 英特尔公司 平台资源的服务质量实现
US7656880B1 (en) * 2004-06-09 2010-02-02 Verizon Laboratories Inc. Prioritized segmentation and reassembly methods and systems
CN101784989A (zh) * 2007-08-24 2010-07-21 国际商业机器公司 在逻辑分区之间分配网络适配器资源

Family Cites Families (92)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB1473581A (en) 1973-05-21 1977-05-18 Siemens Ag Data processing systems
JPS5846098B2 (ja) 1978-10-30 1983-10-14 株式会社日立製作所 ル−プバスネットワ−クシステムにおけるバス優先制御方式
US4412285A (en) 1981-04-01 1983-10-25 Teradata Corporation Multiprocessor intercommunication system and method
FR2513407B1 (fr) 1981-09-24 1987-01-16 Finger Ulrich Systeme d'arbitrage des demandes d'acces de plusieurs processeurs a des ressources communes, par l'intermediaire d'un bus commun
US4558429A (en) 1981-12-17 1985-12-10 Honeywell Information Systems Inc. Pause apparatus for a memory controller with interleaved queuing apparatus
US4604685A (en) 1982-02-19 1986-08-05 Honeywell Information Systems Inc. Two stage selection based on time of arrival and predetermined priority in a bus priority resolver
JPS58222361A (ja) 1982-06-18 1983-12-24 Fujitsu Ltd デ−タ処理システムにおけるアクセス要求の優先順位決定制御方式
EP0166062B1 (fr) 1984-06-29 1989-10-25 International Business Machines Corporation Dispositif d'arbitrage d'accès à une ressource partagée
GB8606217D0 (en) 1986-03-13 1986-04-16 Univ Strathclyde Local area network priority control system
IL89355A0 (en) 1988-02-24 1989-09-10 Ardent Computer Corp Method and apparatus for controlling access to a system bus
US5053946A (en) 1988-05-26 1991-10-01 Digital Equipment Corporation Token ring network having token request mechanism
DE3928481C2 (de) 1989-08-29 1994-09-22 Diehl Gmbh & Co Prioritätsorientiertes dezentrales Busvergabesystem
JP2591181B2 (ja) 1989-09-22 1997-03-19 日本電気株式会社 マイクロコンピュータ
US5247671A (en) 1990-02-14 1993-09-21 International Business Machines Corporation Scalable schedules for serial communications controller in data processing systems
US5390329A (en) 1990-06-11 1995-02-14 Cray Research, Inc. Responding to service requests using minimal system-side context in a multiprocessor environment
FR2669133A1 (fr) 1990-11-13 1992-05-15 Alcatel Business Systemes Arbitre de priorite entre au moins deux dispositifs demandeurs a priorites dans un systeme a microprocesseur.
JP2855298B2 (ja) 1990-12-21 1999-02-10 インテル・コーポレーション 割込み要求の仲裁方法およびマルチプロセッサシステム
CA2095755C (en) 1992-08-17 1999-01-26 Mark J. Baugher Network priority management
US5375223A (en) 1993-01-07 1994-12-20 International Business Machines Corporation Single register arbiter circuit
JP3296001B2 (ja) * 1993-02-05 2002-06-24 株式会社日立製作所 ルータにおける優先度制御方式
JP3660679B2 (ja) 1994-03-01 2005-06-15 インテル・コーポレーション 高度パイプライン式バス・アーキテクチャ
TW400483B (en) 1994-03-01 2000-08-01 Intel Corp High performance symmetric arbitration protocol with support for I/O requirements
US5546546A (en) 1994-05-20 1996-08-13 Intel Corporation Method and apparatus for maintaining transaction ordering and arbitrating in a bus bridge
US5535340A (en) 1994-05-20 1996-07-09 Intel Corporation Method and apparatus for maintaining transaction ordering and supporting deferred replies in a bus bridge
US5881313A (en) 1994-11-07 1999-03-09 Digital Equipment Corporation Arbitration system based on requester class and relative priority including transmit descriptor valid bit for a shared resource having multiple requesters
US5649157A (en) 1995-03-30 1997-07-15 Hewlett-Packard Co. Memory controller with priority queues
US5592622A (en) 1995-05-10 1997-01-07 3Com Corporation Network intermediate system with message passing architecture
US5860150A (en) 1995-10-06 1999-01-12 International Business Machines Corporation Instruction pre-fetching of a cache line within a processor
US5745913A (en) 1996-08-05 1998-04-28 Exponential Technology, Inc. Multi-processor DRAM controller that prioritizes row-miss requests to stale banks
US5905876A (en) 1996-12-16 1999-05-18 Intel Corporation Queue ordering for memory and I/O transactions in a multiple concurrent transaction computer system
US6260099B1 (en) 1998-12-22 2001-07-10 Unisys Corporation Multi-level priority control system and method for managing concurrently pending data transfer requests
US6591307B1 (en) 1999-11-09 2003-07-08 International Business Machines Corporation Multi-node data processing system and method of queue management in which a queued operation is speculatively cancelled in response to a partial combined response
US6499090B1 (en) 1999-12-28 2002-12-24 Intel Corporation Prioritized bus request scheduling mechanism for processing devices
US6745262B1 (en) 2000-01-06 2004-06-01 International Business Machines Corporation Method, system, program, and data structure for queuing requests having different priorities
US7058064B2 (en) 2000-02-08 2006-06-06 Mips Technologies, Inc. Queueing system for processors in packet routing operations
US7239607B1 (en) 2000-06-30 2007-07-03 Broadband Royalty Corp. Guaranteed quality of service in an asynchronous metro packet transport ring
JP2002044138A (ja) 2000-07-25 2002-02-08 Nec Corp ネットワークシステム,キャッシュサーバ,中継サーバ,ルータ,キャッシュサーバ制御方法及び記録媒体
WO2002011426A1 (en) 2000-07-28 2002-02-07 Smal Camera Technologies, Inc. Precise mos imager transfer function control for expanded dynamic range imaging
GB2366401B (en) * 2000-08-25 2005-06-01 Mitel Corp Resource sharing with sliding constraints
US6976108B2 (en) 2001-01-31 2005-12-13 Samsung Electronics Co., Ltd. System on a chip having a system bus, an external bus, and a bus arbiter with programmable priorities for both buses, software, and method for assigning programmable priorities
US7219132B2 (en) 2001-03-30 2007-05-15 Space Systems/Loral Dynamic resource allocation architecture for differentiated services over broadband communication networks
US6757795B2 (en) 2001-04-03 2004-06-29 International Business Machines Corporation Apparatus and method for efficiently sharing memory bandwidth in a network processor
US7424549B2 (en) * 2001-04-09 2008-09-09 Objective Interface Systems, Inc. System, method, and article of manufacture for using a replaceable component to select a replaceable quality of service capable network communication channel component
US6807595B2 (en) 2001-05-10 2004-10-19 Qualcomm Incorporated Mobile communication device having a prioritized interrupt controller
US6832279B1 (en) 2001-05-17 2004-12-14 Cisco Systems, Inc. Apparatus and technique for maintaining order among requests directed to a same address on an external bus of an intermediate network node
US7266606B2 (en) 2001-06-29 2007-09-04 Tropic Networks Inc. Cascaded policing systems and methods
US6832280B2 (en) 2001-08-10 2004-12-14 Freescale Semiconductor, Inc. Data processing system having an adaptive priority controller
US7051195B2 (en) 2001-10-26 2006-05-23 Hewlett-Packard Development Company, L.P. Method of optimization of CPU and chipset performance by support of optional reads by CPU and chipset
US7159219B2 (en) 2001-12-21 2007-01-02 Agere Systems Inc. Method and apparatus for providing multiple data class differentiation with priorities using a single scheduling structure
US7111105B2 (en) 2001-12-31 2006-09-19 Hewlett-Packard Development Company, L.P. System to optimally order cycles originating from a single physical link
US7035984B2 (en) 2001-12-31 2006-04-25 Intel Corporation Memory arbiter with grace and ceiling periods and intelligent page gathering logic
US7003648B2 (en) 2002-03-28 2006-02-21 Hewlett-Packard Development Company, L.P. Flexible demand-based resource allocation for multiple requestors in a simultaneous multi-threaded CPU
FR2838588B1 (fr) 2002-04-10 2004-06-18 Canon Kk Procede et dispositif de gestion des transmissions de donnees et des appareils de communication
US8095620B2 (en) * 2002-06-13 2012-01-10 Elbit Systems Land and C41-Tadiran Ltd. System and method for dynamic allocation of a resource
US6912610B2 (en) 2003-03-28 2005-06-28 Emulex Design & Manufacturing Corporation Hardware assisted firmware task scheduling and management
US20040205752A1 (en) 2003-04-09 2004-10-14 Ching-Roung Chou Method and system for management of traffic processor resources supporting UMTS QoS classes
US7181556B2 (en) 2003-12-23 2007-02-20 Arm Limited Transaction request servicing mechanism
US7206922B1 (en) 2003-12-30 2007-04-17 Cisco Systems, Inc. Instruction memory hierarchy for an embedded processor
JP2007520131A (ja) * 2004-01-28 2007-07-19 フランス テレコム Utran無線アクセスネットワークにおける無線リソース管理方法、コアネットワークサービスノード、および無線アクセスネットワーク制御装置
US8477627B2 (en) 2004-07-19 2013-07-02 Solace Systems, Inc. Content routing in digital communications networks
US7895431B2 (en) 2004-09-10 2011-02-22 Cavium Networks, Inc. Packet queuing, scheduling and ordering
US8006017B2 (en) 2004-12-21 2011-08-23 Intel Corporation Stream priority
US8214844B2 (en) 2005-04-29 2012-07-03 Hewlett-Packard Development Company, L.P. Systems and methods for adjusting service queue capacity
JP4367406B2 (ja) * 2005-12-12 2009-11-18 株式会社日立製作所 コンピュータ割り当て方法
US7684391B2 (en) 2006-01-13 2010-03-23 Comcast Cable Holdings, Llc Communications system for delivering multimedia internet protocol packets across network boundaries
US20070271613A1 (en) 2006-02-16 2007-11-22 Joyce James B Method and Apparatus for Heuristic/Deterministic Finite Automata
US8046775B2 (en) 2006-08-14 2011-10-25 Marvell World Trade Ltd. Event-based bandwidth allocation mode switching method and apparatus
US7961745B2 (en) 2006-09-16 2011-06-14 Mips Technologies, Inc. Bifurcated transaction selector supporting dynamic priorities in multi-port switch
US8255915B1 (en) 2006-10-31 2012-08-28 Hewlett-Packard Development Company, L.P. Workload management for computer system with container hierarchy and workload-group policies
US7720990B2 (en) * 2007-01-10 2010-05-18 International Business Machines Corporation Method and apparatus for handling service requests in a data processing system
GB2447688B (en) 2007-03-22 2011-05-18 Advanced Risc Mach Ltd A data processing apparatus and method for arbitrating between messages routed over a communication channel
US8132172B2 (en) 2007-03-26 2012-03-06 Intel Corporation Thread scheduling on multiprocessor systems
US8239536B2 (en) * 2007-03-30 2012-08-07 Platform Computing Corporation System for generic service management in a distributed and dynamic resource environment, providing constant service access to users
US8584131B2 (en) * 2007-03-30 2013-11-12 International Business Machines Corporation Method and system for modeling and analyzing computing resource requirements of software applications in a shared and distributed computing environment
CN101471863A (zh) 2007-12-25 2009-07-01 中国移动通信集团公司 网络间数据处理方法、装置及其转换网关
US8077602B2 (en) 2008-02-01 2011-12-13 International Business Machines Corporation Performing dynamic request routing based on broadcast queue depths
CN101505252A (zh) 2008-02-04 2009-08-12 三星电子株式会社 为定位业务提供服务质量映射和端到端优先级支持的方法
US8180975B2 (en) 2008-02-26 2012-05-15 Microsoft Corporation Controlling interference in shared memory systems using parallelism-aware batch scheduling
CN101360124B (zh) 2008-06-18 2013-04-24 华为技术有限公司 实现优先级互通的方法及装置
US20100100703A1 (en) 2008-10-17 2010-04-22 Computational Research Laboratories Ltd. System For Parallel Computing
WO2010052679A1 (en) 2008-11-10 2010-05-14 Nxp B.V. Resource controlling
US20100169570A1 (en) 2008-12-31 2010-07-01 Michael Mesnier Providing differentiated I/O services within a hardware storage controller
US20110302275A1 (en) 2010-06-04 2011-12-08 Rich Prodan Method and System for Matching Content Consumption Preference Via a Broadband Gateway
GB2473505B (en) 2009-09-15 2016-09-14 Advanced Risc Mach Ltd A data processing apparatus and a method for setting priority levels for transactions
EP2339795B1 (en) 2009-12-07 2013-08-14 STMicroelectronics (Research & Development) Limited Inter-chip communication interface for a multi-chip package
GB2478795B (en) 2010-03-19 2013-03-13 Imagination Tech Ltd Requests and data handling in a bus architecture
US8972995B2 (en) 2010-08-06 2015-03-03 Sonics, Inc. Apparatus and methods to concurrently perform per-thread as well as per-tag memory access scheduling within a thread and across two or more threads
CN101945046B (zh) 2010-09-15 2016-05-25 中兴通讯股份有限公司 一种vpls网络服务质量映射配置方法和系统
US8314807B2 (en) 2010-09-16 2012-11-20 Apple Inc. Memory controller with QoS-aware scheduling
US9069610B2 (en) * 2010-10-13 2015-06-30 Microsoft Technology Licensing, Llc Compute cluster with balanced resources
US9064050B2 (en) 2010-10-20 2015-06-23 Qualcomm Incorporated Arbitrating bus transactions on a communications bus based on bus device health information and related power management
US8776061B2 (en) * 2010-12-16 2014-07-08 International Business Machines Corporation Real-time distributed monitoring of local and global processor resource allocations and deallocations

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6546017B1 (en) * 1999-03-05 2003-04-08 Cisco Technology, Inc. Technique for supporting tiers of traffic priority levels in a packet-switched network
GB2367913A (en) * 2000-09-16 2002-04-17 Motorola Inc Processor resource scheduler
US7656880B1 (en) * 2004-06-09 2010-02-02 Verizon Laboratories Inc. Prioritized segmentation and reassembly methods and systems
CN101196834A (zh) * 2006-09-25 2008-06-11 英特尔公司 平台资源的服务质量实现
CN101784989A (zh) * 2007-08-24 2010-07-21 国际商业机器公司 在逻辑分区之间分配网络适配器资源

Also Published As

Publication number Publication date
CN103164284A (zh) 2013-06-19
US8490107B2 (en) 2013-07-16
GB2493594B (en) 2020-04-22
JP2013037681A (ja) 2013-02-21
US20130042249A1 (en) 2013-02-14
GB2493594A (en) 2013-02-13
JP6058303B2 (ja) 2017-01-11
GB201210138D0 (en) 2012-07-25

Similar Documents

Publication Publication Date Title
CN103164284B (zh) 用于不同优先级事务请求的处理资源分配的集成电路
US7054968B2 (en) Method and apparatus for multi-port memory controller
CN109634748A (zh) 集群资源调度方法、装置、设备及计算机可读存储介质
US8463958B2 (en) Dynamic resource allocation for transaction requests issued by initiator devices to recipient devices
US6804738B2 (en) Method and apparatus for scheduling a resource to meet quality-of-service restrictions
CN101089820B (zh) 信息处理装置及访问控制方法
CN108536543A (zh) 具有基于跨步的数据分散的接收队列
US20070156955A1 (en) Method and apparatus for queuing disk drive access requests
JPH04119445A (ja) 計算機システム
EP1820107A2 (en) Streaming memory controller
CN112083957B (zh) 带宽控制设备、多线程控制器系统及访存带宽控制方法
US20130042252A1 (en) Processing resource allocation within an integrated circuit
Weber et al. A quality-of-service mechanism for interconnection networks in system-on-chips
CN114640630B (zh) 一种流量管控方法、装置、设备及可读存储介质
CA2399186C (en) Data transfer apparatus and data transfer method
WO2021115482A1 (zh) 一种令牌的调整方法及装置
EP2761825B1 (en) Credit based power management
CN102098217A (zh) 一种基于概率的多优先级队列调度方法
CN109672747A (zh) 一种数据传输方法、装置、设备及计算机可读存储介质
CN115563038A (zh) 基于dma控制器的数据处理系统、方法和数据处理设备
CN102597976B (zh) 自适应时分多路复用来自多处理器核芯的存储器引用
CN104917692B (zh) 一种分发令牌的方法和装置
CN101587461A (zh) 存储器访问调度装置、调度方法与存储器访问控制系统
CN101196833A (zh) 用于存储器利用的方法和装置
US7224681B2 (en) Processor with dynamic table-based scheduling using multi-entry table locations for handling transmission request collisions

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20180530

Address after: cambridge

Co-patentee after: Anne science and Technology (China) Co., Ltd.

Patentee after: Advanced Risc Machines Ltd.

Address before: cambridge

Patentee before: Advanced Risc Machines Ltd.

TR01 Transfer of patent right