CN113515473A - 一种QoS控制方法、总线系统、计算装置和存储介质 - Google Patents
一种QoS控制方法、总线系统、计算装置和存储介质 Download PDFInfo
- Publication number
- CN113515473A CN113515473A CN202010271571.4A CN202010271571A CN113515473A CN 113515473 A CN113515473 A CN 113515473A CN 202010271571 A CN202010271571 A CN 202010271571A CN 113515473 A CN113515473 A CN 113515473A
- Authority
- CN
- China
- Prior art keywords
- real
- time command
- time
- processed
- receiving capacity
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 65
- 238000011217 control strategy Methods 0.000 claims abstract description 14
- 239000002245 particle Substances 0.000 claims abstract description 8
- 230000008569 process Effects 0.000 claims description 26
- 238000004590 computer program Methods 0.000 claims description 10
- 230000001360 synchronised effect Effects 0.000 claims description 2
- 230000004044 response Effects 0.000 abstract description 7
- 238000010586 diagram Methods 0.000 description 11
- 239000000872 buffer Substances 0.000 description 7
- 230000007246 mechanism Effects 0.000 description 5
- 238000013473 artificial intelligence Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 239000008187 granular material Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1605—Handling requests for interconnection or transfer for access to memory bus based on arbitration
- G06F13/161—Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
- G06F13/1678—Details of memory controller using bus width
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/18—Handling requests for interconnection or transfer for access to memory bus based on priority control
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Bus Control (AREA)
Abstract
本发明提出了一种QoS控制方法、总线系统、计算装置和存储介质,用于保证实时设备能够从总线系统,DDR持续稳定的获得需要的带宽,避免出现响应延迟过大等影响用户体验的情况出现。QoS控制方法中,根据DDR控制器的并发处理能力,为实时命令预留部分接收能力;所述方法,包括:接收各发送端口发送的待处理命令,所述待处理命令中携带有设备标识;根据所述设备标识,分别统计已经发往DDR控制器但未完成对DDR颗粒访问的实时命令数量和非实时命令数量;根据统计的实时命令数量、非实时命令数量以及预留的部分接收能力和剩余接收能力,确定QoS控制策略;根据确定出的QoS控制策略,向DDR控制器下发所述待处理命令。
Description
技术领域
本发明涉及总线系统技术领域,尤其涉及一种QoS控制方法、总线系统、计算装置和存储介质。
背景技术
SOC(System on Chip,系统级芯片)芯片中需要通过总线访问内存的主设备往往具备不同的特性,比如对路径上的延迟敏感的CPU(中央处理器),对带宽需求大的视频编解码引擎和AI(人工智能)加速器,还有一种具备实时特性的设备,比如显示播放引擎和CSI(相机串行接口)模块,其必须在访问内存时一直不间断,持续稳定的获得需要的带宽,否则可能会出现严重影响用户体验的情况。
一般SOC上的总线上都提供了通用的QOS(Quality ofService,服务质量)机制,来满足不同主设备对带宽和延迟等差异化的需求,比如命令的优先级设置,带宽限制或调节器。通过QoS机制可以调高实时性设备发出的实时性命令的优先级,让其更容易在同其他设备访问内存的仲裁竞争中获取优势,尽可能满足实时性需求。其中部分总线还提供了紧急机制(urgency),在实时性主设备因为某一时间段带宽获取不足快要出现饿死(starvation)时,将整个访问内存通路中该设备命令的优先级紧急提高来解决问题。
但是,提高实时性命令优先级的方法在一定程度上能够满足实时性设备的需求,但是,在某些极端情况下,例如,在某一时间段内,大量来自非实时性设备的低优先级命令已经事先发出并挤满了内存控制器中的命令队列和整个通道上的其他buffer(缓存)空间。这些处在pending(等待)状态的非实时性命令会较长时间占据访问内存的通道,这时,即使实时设备开始发出高优先级的实时性命令请求也只能在后面慢慢排队,从而导致实时设备无法及时获得其需求的带宽以及产生过大响应延迟等影响用户体验的情况。
发明内容
本发明实施例提供一种QoS控制方法、总线系统、计算装置和存储介质,用于保证实时设备能够从总线系统持续稳定的获得需要的带宽,避免响应延迟过大等影响用户体验的情况出现。
第一方面,提供一种QoS控制方法,所述服务质量QoS控制方法应用于总线系统中,根据双倍速率同步动态随机存储器DDR控制器的并发处理能力,为实时命令预留部分接收能力,其中,预留的部分接收能力用于处理所述实时命令,剩余接收能力用于处理实时命令或者非实时命令;
所述方法,包括:
接收各发送端口发送的待处理命令,所述待处理命令中携带有设备标识;
根据所述设备标识,分别统计已经发往DDR控制器但未完成对DDR颗粒访问(pending状态)的实时命令数量和非实时命令数量;
根据统计的实时命令数量、非实时命令数量以及预留的部分接收能力和剩余接收能力,确定QoS控制策略;
根据确定出的QoS控制策略,向DDR控制器下发所述待处理命令。
在一种实施方式中,根据统计的实时命令数量、非实时命令数量以及预留的部分接收能力和剩余接收能力,确定QoS控制策略,具体包括:
根据所述实时命令数量和非实时命令数量,如果所述实时命令数量不超过预留的部分接收能力以及非实时命令数量不超过剩余接收能力时,则确定利用预留的部分接收能力处理所述待处理实时命令,利用剩余接收能力处理所述待处理非实时命令;
根据所述实时命令数量和非实时命令数量,如果所述实时命令数量超过预留的部分接收能力以及非实时命令数量不超过剩余接收能力时,则确定利用剩余接收能力处理所述待处理实时命令和非实时命令;
根据所述实时命令数量和非实时命令数量,如果所述实时命令数量不超过预留的部分接收能力以及非实时命令数量超过剩余接收能力时,则确定利用预留的部分接收能力处理所述待处理实时命令,控制所述待处理非实时命令处于等待状态,直至剩余接收能力出现空闲。
在一种实施方式中,在接收各发送端口发送的待处理命令之前,还可选包括:
获取总线带宽占用信息;以及
根据所述总线带宽占用信息,确定总线带宽占用率大于预设阈值时,开启QoS控制方法。
在一种实施方式中,所述待处理命令中还携带有命令优先级信息,其中,所述实时命令对应的优先级信息通常不低于所述非实时命令对应的优先级。
第二方面,提供一种总线系统,包括:
控制寄存器,用于根据双倍速率同步动态随机存储器DDR控制器的并发处理能力,预先配置为实时命令所预留的部分接收能力的大小,其中,预留的部分接收能力用于处理所述实时命令,剩余接收能力用于处理实时命令或者非实时命令;
仲裁器,用于接收各发送端口发送的待处理命令,所述待处理命令中携带有设备标识;以及根据计数器统计的实时命令数量、非实时命令数量以及预留的部分接收能力和剩余接收能力,确定服务质量QoS控制策略;根据确定出的QoS控制策略,向DDR控制器下发所述待处理命令;
计数器,用于根据所述设备标识,分别统计已经发往DDR控制器但未完成对DDR颗粒访问的实时命令数量和非实时命令数量。
在一种实施方式中,所述仲裁器,具体用于根据所述实时命令数量和非实时命令数量,如果所述实时命令数量不超过预留的部分接收能力以及非实时命令数量不超过剩余接收能力时,则确定利用预留的部分接收能力处理所述待处理实时命令,利用剩余接收能力处理所述待处理非实时命令;根据所述实时命令数量和非实时命令数量,如果所述实时命令数量超过预留的部分接收能力以及非实时命令数量不超过剩余接收能力时,则确定利用剩余接收能力处理所述待处理实时命令和非实时命令;根据所述实时命令数量和非实时命令数量,如果所述实时命令数量不超过预留的部分接收能力以及非实时命令数量超过剩余接收能力时,则确定利用预留的部分接收能力处理所述待处理实时命令,控制所述待处理非实时命令处于等待状态,直至剩余接收能力出现空闲。
在一种实施方式中,本发明实施例提供的总线系统,还包括可选的带宽监视器,其中:
所述带宽监视器,用于获取在所述仲裁器接收各发送端口发送的待处理命令之前,获取总线带宽占用信息;
所述控制寄存器,具体用于根据所述总线带宽占用信息,确定总线带宽占用率大于预设阈值时,开启QoS控制方法。
在一种实施方式中,所述待处理命令中还携带有命令优先级信息,其中,所述实时命令对应的优先级信息通常不低于所述非实时命令对应的优先级。
第三方面,提供一种计算装置,所述计算装置包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现上述任一QoS控制方法所述的步骤。
第四方面他,提供一种计算机存储介质,所述计算机存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一QoS控制方法所述的步骤。
采用上述技术方案,本发明至少具有下列优点:
本发明所述的QoS控制方法、总线系统、计算装置和存储介质,通过预先为实时命令预留DDR控制器的部分接收能力,预留的部分接收能力专门用于处理实时命令,而且剩余接收能力也可以用于实时命令的处理,这样,可以避免非实时命令在一些极端情况下,由于非实时性命令挤满DDR控制器中的命令队列和整个通道上的其他buffer空间,保证实时设备能够从总线系统持续稳定的获得需要的带宽,避免响应延迟过大等影响用户体验的情况出现。
附图说明
图1为根据本发明实施例的设备通过总线访问内存的示意图;
图2为根据本发明实施例的QoS控制方法流程图;
图3a为根据本发明实施例的第一种使用绝对数量预留部分接收能力的示意图;
图3b为根据本发明实施例的第二种使用绝对数量预留部分接收能力的示意图;
图3c为根据本发明实施例的第三种使用绝对数量预留部分接收能力的示意图;
图3d为为根据本发明实施例的第四种使用绝对数量预留部分接收能力的示意图;
图4a为根据本发明实施例的第一种使用相对数量预留部分接收能力的示意图;
图4b为根据本发明实施例的第二种使用相对数量预留部分接收能力的示意图;
图4c为根据本发明实施例的第三种使用相对数量预留部分接收能力的示意图;
图5为根据本发明实施例的总线系统的结构示意图。
具体实施方式
为更进一步阐述本发明为达成预定目的所采取的技术手段及功效,以下结合附图及较佳实施例,对本发明进行详细说明如后。
需要说明的是,本发明实施例中的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。
在本文中提及的“多个或者若干个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
DDR内存颗粒本身的特性决定了对其访问必须密切关注效率问题,比如DDR命令以及数据间各种timing(latency,延迟)的存在,DDR控制器在设计上除了满足DDR本身的协议和时序要求外,还需要充分考虑带宽的利用效率。一般来说,DDR控制器内部会有一个一定深度的命令队列,通过一套策略对命令进行scheduling(调度)或者reordering(重排序),来达到提升效率的目的。另外,在总线内部的各个节点,也会存在缓冲器(buffer)和节拍器(pipeline),它们也能在堵塞情况下缓存一定数量的命令。
如图1所示,其为设备通过总线访问内存的示意图,各路设备(包括实时设备和非实时设备)连接总线,其发出的实时命令和非实时命令经过总线中的仲裁器仲裁后,将访问内存的命令发往DDR(双倍速率同步动态随机存储器)控制器,应当理解,图1仅为设备通过总线访问内存的示意,实际应用中,芯片的总线拓扑结构更加复杂。
总线经过仲裁后,可以将多个pending(等待)的命令一起送往DDR控制器,本发明实施例中,为了便于描述,将DDR控制器的最大接收数量称为并发接收能力(outstandingacceptance ability,本发明实施例中中简称OAA),OAA的大小取决于总线和DDR控制器中的队列和buffer的总容量。即DDR控制器内部命令队列和总线通路上buffer的存在,决定了OAA的来由和大小。
本发明实施例中,为了让保证实时设备能够持续稳定访问内存,根据DDR控制器的并发处理能力,为实时命令预留部分接收能力,其中,预留的部分接收能力用于处理实时命令,剩余接收能力用于处理实时命令或者非实时命令。
例如,以DDR控制器的并发接收能力为24个命令为例,具体实施时,可以为实时命令预留8个命令的接收能力,剩余的16个命令的接收能力为实时命令和非实时命令共享,仲裁器可以根据实际情况确定出不同的QoS控制策略。
需要说明的是,本发明实施例中,将实时设备发送的命令称为实时命令,将非实时设备发送的命令称为非实时命令。
如图2所示,其为本发明实施例提供的QoS控制方法的实施流程示意图,包括以下步骤:
S21、接收各发送端口发送的待处理命令。
具体实施时,总线中的仲裁器接收总线所连接的各路设备通过相应的输入端口发送的待处理命令。在接收到的待处理命令中携带有发送该待处理命令的设备的设备标识,根据设备标识,仲裁器可以判断接收到的待处理命令为实时命令还是为非实时命令。
S22、根据设备标识,分别统计已经发往DDR控制器但未完成对DDR颗粒访问的实时命令数量和非实时命令数量。
具体实施时,在总线中可以增加计数器,分别统计已经发往DDR控制器的实时命令数量和非实时命令的数量。
S23、根据统计的实时命令数量、非实时命令数量以及预留的部分接收能力和剩余接收能力,确定QoS控制策略。
本步骤中,仲裁器根据计数器的统计结果,确定相应的QoS控制策略。
在一个实施例中,仲裁器可以根据计数器统计的实时命令数量和非实时命令数量,如果实时命令数量不超过预留的部分接收能力以及非实时命令数量不超过剩余接收能力时,则确定利用预留的部分接收能力处理所述待处理实时命令,利用剩余接收能力处理所述待处理非实时命令。
仍然以DDR控制器的并发接收能力为24个命令为例,其中,为实时命令预留8个接收能力,剩余16个接收能力为实时命令和非实时命令共享。根据本发明实施例,当接收到的待处理命令通过仲裁器仲裁且下发给DDR控制器后,计数器根据待处理命令的类型为相应命令类型对应的计数加1,当DDR控制器返回数据响应后,表示这个待处理命令已经被处理完,不再是pending状态,计数器根据待处理命令的类型为相应命令类型对应的计数减1,初始时,实时命令只能占用预留的部分接收能力,非实时命令只能占用剩余接收能力,实时命令对应的计数达到预留的部分接收能力时,本例中,即达到8个时,实时命令可以占用剩余接收能力。
为了更好理解本发明的实施过程,图3a-图3d中用球和筐来代表将24个OAA中的8个预留给实时性命令来独占使用,剩下的16个给实时性命令和非实时性命令来共用。
图3a中有左右两个筐,一共可以放下24个球,代表24个OAA,其中左边的筐可以容纳的球的数量是16个,可以分配给实时和非实时命令使用,右边的筐可以容量的数量是8个,只能分配给实时性命令。
图3b中,用黑球代表实时性命令,白球代表非实时性命令,当命令通过仲裁器仲裁并且下发后就给这个命令分配相应的球,并放入对应的框中。当DDR颗粒返回数据响应后,代表这个命令已经被处理完不再是pending的状态,需要从筐中取出相应的球。一开始代表实时性命令的黑球只能放入右边的筐中,代表非实时性命令的白球只能放到左边的筐中。
在另一实施例中,仲裁器根据实时命令数量和非实时命令数量,如果所述实时命令数量超过预留的部分接收能力以及非实时命令数量不超过剩余接收能力时,则确定利用剩余接收能力处理所述待处理实时命令和非实时命令。
如图3c表示等右边的筐装满后,新来的黑球也可以放入左边的筐中。
在另一实施例中,仲裁器根据所述实时命令数量和非实时命令数量,如果所述实时命令数量不超过预留的部分接收能力以及非实时命令数量超过剩余接收能力时,则确定利用预留的部分接收能力处理所述待处理实时命令,控制所述待处理非实时命令处于等待状态,直至剩余接收能力出现空闲。
图3d表示白球永远只能放入左边的筐中,即使右边的筐没满。这种情况下,仲裁器只能允许实时性命令通过并下发,非实时性命令只能在仲裁器的入口等待,直到左边的“筐”回到未满的状态。
在硬件设计实现时,可以通过计数器来统计两种“筐”中黑白“球”的实际数量,仲裁器根据计数器统计的结果来协助仲裁决策。计数器针对实时命令和非实时命令的计数可以从0开始累加,也可以根据预留的部分接收能力的大小从最大值开始递减,这种实施方式中,根据计数器的数量可以判断出实时命令和非实时命令的剩余可用资源有多少。
需要说明的是,图3a-图3d是一种按照绝对数量预留OAA的方法,在某些总线的设计或配置上,访问DDR通路上可收纳的待处理命令数量可能非常大,使用绝对数量控制方法实际效果会下降。
有鉴于此,本发明实施例中还提供了一种相对数量控制的方法,分别如图4a-图4c所示,每一层“筐”放入“球”的规则和图3a-图3d完全相同,只有在下一层的“筐”全部装满“球”的情况,才能将新来的“球”放入上一层相应的筐中,如果不能满足条件,仲裁器将阻止任何命令下发直到规定的条件得以满足才能放行。相比图3a-图3d,图4a-图4c实现了对OAA相对数量控制的机制,在计数器和仲裁器的设计上也更复杂一些。
S24、根据确定出的QoS控制策略,向DDR控制器下发待处理命令。
具体实施时,为了提高带宽利用效率,本发明实施例中,还可以在总线中增加带宽监视器,用于获取带宽占用信息,根据带宽占用信息确定带宽占用率,当带宽占用率超过预设阈值时,开启本发明实施例提供的QoS控制方法,否则,实时命令和实时命令可以共享DDR控制器的并发接收能力,从而实现自适应动态调节带宽的功能。这如同道路上的公交车专用车道,可以只在上下班高峰时期限定使用范围,其他时间普通车辆也可以在公交车专用车道上行驶。
需要说明的是,仲裁器最基础的决策策略依然是基于命令间优先级比较大小决定哪个输入通道的命令胜出,在最大优先级命令同时存在的数量不止一个的情况下可以对端口进行轮询,或者根据等待时间的长短来做出仲裁决定。本发明是在现有仲裁机制基础上引入新的策略,协助仲裁器做出更优的决策。本发明实施例中的计数器可以用来对已经通过仲裁器下发且依旧处于pending状态的实时和非实时命令的数量进行统计,并将结果反馈给仲裁器协助做出仲裁决策。
基于此,步骤S21中接收到的待处理命令中还可以携带有命令优先级信息,其中,实时命令对应的优先级信息通常不低于非实时命令对应的优先级。
本发明实施例提供的QoS控制方法中,将DDR控制器的并发接收能力中的一部分预留给实时命令专用,剩下的给实时设备和非实时设备共用,其设计实现简单,且几乎不会带来面积和延迟的增加,避免响应延迟过大等影响用户体验的情况出现。
基于相同的技术构思,本发明实施例还提供了一种总线系统,如图5所示,包括:
控制寄存器51,用于根据双倍速率同步动态随机存储器DDR控制器的并发处理能力,预先配置为实时命令所预留的部分接收能力的大小,其中,预留的部分接收能力用于处理所述实时命令,剩余接收能力用于处理实时命令或者非实时命令;
仲裁器52,用于接收各发送端口发送的待处理命令,所述待处理命令中携带有设备标识;以及根据计数器统计的实时命令数量、非实时命令数量以及预留的部分接收能力和剩余接收能力,确定服务质量QoS控制策略;根据确定出的QoS控制策略,向DDR控制器下发所述待处理命令;
计数器53,用于根据所述设备标识,分别统计已经发往DDR控制器但未完成对DDR颗粒访问的实时命令数量和非实时命令数量。
图5中用黑球代表访问内存的实时性命令,白球代表非实时性命令,它们经过总线的仲裁器仲裁后往下游的DDR控制器发送。
在一种实施方式中,所述仲裁器52,具体用于根据所述实时命令数量和非实时命令数量,如果所述实时命令数量不超过预留的部分接收能力以及非实时命令数量不超过剩余接收能力时,则确定利用预留的部分接收能力处理所述待处理实时命令,利用剩余接收能力处理所述待处理非实时命令;根据所述实时命令数量和非实时命令数量,如果所述实时命令数量超过预留的部分接收能力以及非实时命令数量不超过剩余接收能力时,则确定利用剩余接收能力处理所述待处理实时命令;根据所述实时命令数量和非实时命令数量,如果所述实时命令数量不超过预留的部分接收能力以及非实时命令数量超过剩余接收能力时,则确定利用预留的部分接收能力处理所述待处理实时命令,控制所述待处理非实时命令处于等待状态,直至剩余接收能力出现空闲。
在一种实施方式中,本发明实施例提供的总线系统,还包括带宽监视器54,其中:
所述带宽监视器54,用于获取在所述仲裁器接收各发送端口发送的待处理命令之前,获取总线带宽占用信息;
所述控制寄存器51,具体用于根据所述总线带宽占用信息,确定总线带宽占用率大于预设阈值时,开启QoS控制方法。
在一种实施方式中,所述待处理命令中还携带有命令优先级信息,其中,所述实时命令对应的优先级信息通常不低于所述非实时命令对应的优先级。
基于相同的技术构思,本发明实施例还提供了一种计算装置,所述计算装置包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现上述任一QoS控制方法所述的步骤。
基于相同的技术构思,本发明实施例还提供了一种计算机存储介质,所述计算机存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一QoS控制方法所述的步骤。
通过具体实施方式的说明,应当可对本发明为达成预定目的所采取的技术手段及功效得以更加深入且具体的了解,然而所附图示仅是提供参考与说明之用,并非用来对本发明加以限制。
Claims (8)
1.一种QoS控制方法,其特征在于,所述服务质量QoS控制方法应用于总线系统中,根据双倍速率同步动态随机存储器DDR控制器的并发处理能力,为实时命令预留部分接收能力,其中,预留的部分接收能力用于处理所述实时命令,剩余接收能力用于处理实时命令或者非实时命令;
所述方法,包括:
接收各发送端口发送的待处理命令,所述待处理命令中携带有设备标识;
根据所述设备标识,分别统计已经发往DDR控制器但未完成对DDR颗粒访问的实时命令数量和非实时命令数量;
根据统计的实时命令数量、非实时命令数量以及预留的部分接收能力和剩余接收能力,确定QoS控制策略;
根据确定出的QoS控制策略,向DDR控制器下发所述待处理命令。
2.根据权利要求1所述的方法,其特征在于,根据统计的实时命令数量、非实时命令数量以及预留的部分接收能力和剩余接收能力,确定QoS控制策略,具体包括:
根据所述实时命令数量和非实时命令数量,如果所述实时命令数量不超过预留的部分接收能力以及非实时命令数量不超过剩余接收能力时,则确定利用预留的部分接收能力处理所述待处理实时命令,利用剩余接收能力处理所述待处理非实时命令;
根据所述实时命令数量和非实时命令数量,如果所述实时命令数量超过预留的部分接收能力以及非实时命令数量不超过剩余接收能力时,则确定利用剩余接收能力处理所述待处理实时命令和非实时命令;
根据所述实时命令数量和非实时命令数量,如果所述实时命令数量不超过预留的部分接收能力以及非实时命令数量超过剩余接收能力时,则确定利用预留的部分接收能力处理所述待处理实时命令,控制所述待处理非实时命令处于等待状态,直至剩余接收能力出现空闲。
3.根据权利要求1所述的方法,其特征在于,在接收各发送端口发送的待处理命令之前,还包括:
获取总线带宽占用信息;以及
根据所述总线带宽占用信息,确定总线带宽占用率大于预设阈值时,开启QoS控制方法。
4.一种总线系统,其特征在于,包括:
控制寄存器,用于根据双倍速率同步动态随机存储器DDR控制器的并发处理能力,预先配置为实时命令所预留的部分接收能力的大小,其中,预留的部分接收能力用于处理所述实时命令,剩余接收能力用于处理实时命令或者非实时命令;
仲裁器,用于接收各发送端口发送的待处理命令,所述待处理命令中携带有设备标识;以及根据计数器统计的实时命令数量、非实时命令数量以及预留的部分接收能力和剩余接收能力,确定服务质量QoS控制策略;根据确定出的QoS控制策略,向DDR控制器下发所述待处理命令;
计数器,用于根据所述设备标识,分别统计已经发往DDR控制器但未完成对DDR颗粒访问的实时命令数量和非实时命令数量。
5.根据权利要求4所述的系统,其特征在于,
所述仲裁器,具体用于根据所述实时命令数量和非实时命令数量,如果所述实时命令数量不超过预留的部分接收能力以及非实时命令数量不超过剩余接收能力时,则确定利用预留的部分接收能力处理所述待处理实时命令,利用剩余接收能力处理所述待处理非实时命令;根据所述实时命令数量和非实时命令数量,如果所述实时命令数量超过预留的部分接收能力以及非实时命令数量不超过剩余接收能力时,则确定利用剩余接收能力处理所述待处理实时命令和非实时命令;根据所述实时命令数量和非实时命令数量,如果所述实时命令数量不超过预留的部分接收能力以及非实时命令数量超过剩余接收能力时,则确定利用预留的部分接收能力处理所述待处理实时命令,控制所述待处理非实时命令处于等待状态,直至剩余接收能力出现空闲。
6.根据权利要求4所述的系统,其特征在于,还包括可选的带宽监视器,其中:
所述带宽监视器,用于获取在所述仲裁器接收各发送端口发送的待处理命令之前,获取总线带宽占用信息;
所述控制寄存器,具体用于根据所述总线带宽占用信息,确定总线带宽占用率大于预设阈值时,开启QoS控制方法。
7.一种计算装置,其特征在于,所述计算装置包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1至3中任一项所述的方法的步骤。
8.一种计算机存储介质,所述计算机存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至3中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010271571.4A CN113515473B (zh) | 2020-04-09 | 2020-04-09 | 一种QoS控制方法、总线系统、计算装置和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010271571.4A CN113515473B (zh) | 2020-04-09 | 2020-04-09 | 一种QoS控制方法、总线系统、计算装置和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113515473A true CN113515473A (zh) | 2021-10-19 |
CN113515473B CN113515473B (zh) | 2024-06-14 |
Family
ID=78060024
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010271571.4A Active CN113515473B (zh) | 2020-04-09 | 2020-04-09 | 一种QoS控制方法、总线系统、计算装置和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113515473B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115827521A (zh) * | 2023-02-08 | 2023-03-21 | 广州匠芯创科技有限公司 | 基于psram控制器的带宽管理方法、装置和介质 |
WO2023159652A1 (zh) * | 2022-02-28 | 2023-08-31 | 华为技术有限公司 | 一种ai系统、内存访问控制方法及相关设备 |
Citations (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020129181A1 (en) * | 2001-01-03 | 2002-09-12 | Nec Usa, Inc. | High-performance communication architecture for circuit designs |
US20020147389A1 (en) * | 2000-11-13 | 2002-10-10 | Samuel Cavallaro | Method and apparatus for concurrently displaying respective images representing real-time data and non-real-time data |
US20030169772A1 (en) * | 2002-03-05 | 2003-09-11 | Sony Corporation | Method for any speed dubbing using isochronous packets on isochronous channels or on asynchronous streams over an IEEE 1394-2000 serial bus network |
DE10242667A1 (de) * | 2002-09-13 | 2004-03-25 | Phoenix Contact Gmbh & Co. Kg | Echtzeitfähiges Steuerungssystem mit einer SPS-Applikation unter einem nicht echtzeitfähigen Betriebssystem |
WO2004102899A1 (en) * | 2003-05-13 | 2004-11-25 | Nokia Corporation | A traffic management method that divides time slots into sub-blocks for real time and non-real time traffic |
DE102004052555A1 (de) * | 2004-10-29 | 2006-05-04 | Bosch Rexroth Ag | Verfahren zum Austauschen von Daten zwischen Teilnehmern aus verschiedenen Netzwerken |
US20080049747A1 (en) * | 2006-08-22 | 2008-02-28 | Mcnaughton James L | System and method for handling reservation requests with a connection admission control engine |
KR20080026898A (ko) * | 2006-09-22 | 2008-03-26 | 삼성전자주식회사 | 버스제어장치 및 그 방법 |
CN102306133A (zh) * | 2011-07-04 | 2012-01-04 | 珠海全志科技股份有限公司 | Usb主机控制器及其数据传送方法 |
CN102521190A (zh) * | 2011-12-19 | 2012-06-27 | 中国科学院自动化研究所 | 一种应用于实时数据处理的多级总线系统 |
CN104521276A (zh) * | 2012-08-08 | 2015-04-15 | Sk电信有限公司 | 自适应非实时业务控制方法及其终端 |
CN105049432A (zh) * | 2015-07-09 | 2015-11-11 | 贵州电网公司六盘水供电局 | 基于实时数据总线的以太网与2m复接通道的协议转换方法 |
CN105243028A (zh) * | 2015-09-06 | 2016-01-13 | 珠海全志科技股份有限公司 | 一种降低图像缩小处理时系统峰值带宽的方法和装置 |
CN106302174A (zh) * | 2015-06-12 | 2017-01-04 | 中兴通讯股份有限公司 | 一种实现路由查找的方法及装置 |
CN107480078A (zh) * | 2017-08-29 | 2017-12-15 | 建荣半导体(深圳)有限公司 | 一种总线带宽分配方法、装置及芯片 |
CN108363669A (zh) * | 2017-01-26 | 2018-08-03 | 佳能株式会社 | 存储器访问系统、其控制方法、存储介质及图像形成装置 |
CN109375543A (zh) * | 2018-10-31 | 2019-02-22 | 珠海全志科技股份有限公司 | Dvs电压管理装置、系统及方法、存储介质、计算机设备 |
CN109514555A (zh) * | 2018-11-30 | 2019-03-26 | 深圳市汇川技术股份有限公司 | 命令交互方法、机器人示教器、机器人控制器及存储介质 |
CN110391960A (zh) * | 2018-04-18 | 2019-10-29 | 珠海全志科技股份有限公司 | 总线传输控制装置及方法 |
-
2020
- 2020-04-09 CN CN202010271571.4A patent/CN113515473B/zh active Active
Patent Citations (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020147389A1 (en) * | 2000-11-13 | 2002-10-10 | Samuel Cavallaro | Method and apparatus for concurrently displaying respective images representing real-time data and non-real-time data |
US20020129181A1 (en) * | 2001-01-03 | 2002-09-12 | Nec Usa, Inc. | High-performance communication architecture for circuit designs |
US20030169772A1 (en) * | 2002-03-05 | 2003-09-11 | Sony Corporation | Method for any speed dubbing using isochronous packets on isochronous channels or on asynchronous streams over an IEEE 1394-2000 serial bus network |
DE10242667A1 (de) * | 2002-09-13 | 2004-03-25 | Phoenix Contact Gmbh & Co. Kg | Echtzeitfähiges Steuerungssystem mit einer SPS-Applikation unter einem nicht echtzeitfähigen Betriebssystem |
WO2004102899A1 (en) * | 2003-05-13 | 2004-11-25 | Nokia Corporation | A traffic management method that divides time slots into sub-blocks for real time and non-real time traffic |
DE102004052555A1 (de) * | 2004-10-29 | 2006-05-04 | Bosch Rexroth Ag | Verfahren zum Austauschen von Daten zwischen Teilnehmern aus verschiedenen Netzwerken |
US20080049747A1 (en) * | 2006-08-22 | 2008-02-28 | Mcnaughton James L | System and method for handling reservation requests with a connection admission control engine |
KR20080026898A (ko) * | 2006-09-22 | 2008-03-26 | 삼성전자주식회사 | 버스제어장치 및 그 방법 |
CN102306133A (zh) * | 2011-07-04 | 2012-01-04 | 珠海全志科技股份有限公司 | Usb主机控制器及其数据传送方法 |
CN102521190A (zh) * | 2011-12-19 | 2012-06-27 | 中国科学院自动化研究所 | 一种应用于实时数据处理的多级总线系统 |
CN104521276A (zh) * | 2012-08-08 | 2015-04-15 | Sk电信有限公司 | 自适应非实时业务控制方法及其终端 |
CN106302174A (zh) * | 2015-06-12 | 2017-01-04 | 中兴通讯股份有限公司 | 一种实现路由查找的方法及装置 |
CN105049432A (zh) * | 2015-07-09 | 2015-11-11 | 贵州电网公司六盘水供电局 | 基于实时数据总线的以太网与2m复接通道的协议转换方法 |
CN105243028A (zh) * | 2015-09-06 | 2016-01-13 | 珠海全志科技股份有限公司 | 一种降低图像缩小处理时系统峰值带宽的方法和装置 |
CN108363669A (zh) * | 2017-01-26 | 2018-08-03 | 佳能株式会社 | 存储器访问系统、其控制方法、存储介质及图像形成装置 |
CN107480078A (zh) * | 2017-08-29 | 2017-12-15 | 建荣半导体(深圳)有限公司 | 一种总线带宽分配方法、装置及芯片 |
CN110391960A (zh) * | 2018-04-18 | 2019-10-29 | 珠海全志科技股份有限公司 | 总线传输控制装置及方法 |
CN109375543A (zh) * | 2018-10-31 | 2019-02-22 | 珠海全志科技股份有限公司 | Dvs电压管理装置、系统及方法、存储介质、计算机设备 |
CN109514555A (zh) * | 2018-11-30 | 2019-03-26 | 深圳市汇川技术股份有限公司 | 命令交互方法、机器人示教器、机器人控制器及存储介质 |
Non-Patent Citations (2)
Title |
---|
《THAERE EIDO; FERHAN PEKERGIN; MICHEL MAROT; TÜLIN ATMACA》: "《Multiservice Optical Packet Switched Networks: Modeling, Performance Evaluation and QoS Mechanisms in a Mesh Slotted Architecture》", 《2009 FIFTH INTERNATIONAL CONFERENCE ON NETWORKING AND SERVICES》, 26 May 2009 (2009-05-26) * |
刘峰, 葛霁光: "共享总线多微处理器系统中分布式仲裁方案的研究及实现", 浙江大学学报(工学版), no. 02, 25 April 2003 (2003-04-25) * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023159652A1 (zh) * | 2022-02-28 | 2023-08-31 | 华为技术有限公司 | 一种ai系统、内存访问控制方法及相关设备 |
CN115827521A (zh) * | 2023-02-08 | 2023-03-21 | 广州匠芯创科技有限公司 | 基于psram控制器的带宽管理方法、装置和介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113515473B (zh) | 2024-06-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7093256B2 (en) | Method and apparatus for scheduling real-time and non-real-time access to a shared resource | |
US8549199B2 (en) | Data processing apparatus and a method for setting priority levels for transactions | |
JP4222251B2 (ja) | バス調停装置およびバス調停方法 | |
US20070156955A1 (en) | Method and apparatus for queuing disk drive access requests | |
US8838863B2 (en) | Resource controlling with dynamic priority adjustment | |
US20080209093A1 (en) | Fine-grained bandwidth control arbiter and the method thereof | |
US20030074507A1 (en) | Method and apparatus for scheduling a resource to meet quality-of-service restrictions | |
US6519666B1 (en) | Arbitration scheme for optimal performance | |
US7213084B2 (en) | System and method for allocating memory allocation bandwidth by assigning fixed priority of access to DMA machines and programmable priority to processing unit | |
CN113515473B (zh) | 一种QoS控制方法、总线系统、计算装置和存储介质 | |
US20130042032A1 (en) | Dynamic resource allocation for transaction requests issued by initiator devices to recipient devices | |
CN107480078A (zh) | 一种总线带宽分配方法、装置及芯片 | |
KR101537034B1 (ko) | 스트림 트랜잭션(들)에 관련된 정보에 기초한 스트림 트랜잭션들의 중재 | |
US7613856B2 (en) | Arbitrating access for a plurality of data channel inputs with different characteristics | |
US20120060169A1 (en) | Systems and methods for resource controlling | |
US9891840B2 (en) | Method and arrangement for controlling requests to a shared electronic resource | |
JP2005316609A (ja) | バス調停装置およびバス調停方法 | |
KR100973419B1 (ko) | 버스 중재 방법 및 장치 | |
US8135878B1 (en) | Method and apparatus for improving throughput on a common bus | |
KR101167245B1 (ko) | 실시간으로 변경되는 중재 파라미터를 이용한 버스 중재 장치 및 중재 방법 | |
US7747806B2 (en) | Resource use management device, resource use management system, and control method for a resource use management device | |
CN115827521B (zh) | 基于psram控制器的带宽管理方法、装置和介质 | |
TWI332615B (en) | A fine-grained bandwidth control arbiter and the method thereof | |
TWI425363B (zh) | Adjustable Priority System Resource Arbitration Method | |
JP2002091903A (ja) | バスシステム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |