一种总线网络中优先级动态调整方法、装置和存储介质

文档序号:115482 发布日期:2021-10-19 浏览:67次 >En<

阅读说明:本技术 一种总线网络中优先级动态调整方法、装置和存储介质 (Method, device and storage medium for dynamically adjusting priority in bus network ) 是由 陈哲 刘弋波 郭晨光 王宏斌 于 2020-04-09 设计创作,主要内容包括:本发明提出了一种总线网络中优先级动态调整方法及装置,用以满足总线网络中命令优先级的实时调整,避免由于主设备无法及时获取带宽而导致主设备“饿死”的问题。总线网络中优先级动态调整方法,包括:针对总线网络连接的主设备,如果确定所述主设备满足优先级动态调整的触发条件,则设置紧急信号,所述紧急信号中携带有所述主设备的设备标识和优先级调整信息;向下游设备传递所述紧急信号,由所述下游设备根据所述设备标识和优先级调整信息调整所述主设备发送的命令的优先级。(The invention provides a method and a device for dynamically adjusting priority in a bus network, which are used for meeting the requirement of real-time adjustment of command priority in the bus network and avoiding the problem of starvation of a master device caused by the fact that the master device cannot acquire bandwidth in time. The priority dynamic adjustment method in the bus network comprises the following steps: aiming at a master device connected with a bus network, if the master device is determined to meet a trigger condition of priority dynamic adjustment, an emergency signal is set, wherein the emergency signal carries a device identifier and priority adjustment information of the master device; and transmitting the emergency signal to downstream equipment, and adjusting the priority of the command sent by the main equipment by the downstream equipment according to the equipment identification and the priority adjustment information.)

一种总线网络中优先级动态调整方法、装置和存储介质

技术领域

本发明涉及总线网络技术领域,尤其涉及一种总线网络中优先级动态调整方法、装置和存储介质。

背景技术

片上系统(SoC,System-on-a-chip)指的是在单个芯片上集成一个完整的系统,一般包括中央处理器(CPU)、存储器、总线以及外围电路等。

SOC芯片总线上连接有若干的主设备,当一些实时性主设备在某一时间段内无法从总线上获取足够带宽即将严重影响用户体验时,将该主设备后续待发命令的优先级动态升高,使得总线网络和下游从设备优先处理这些命令并尽可能快的返回响应,避免出现“饿死”(starvation)的情况。

但是,简单地动态提升后续待发命令的优先级,只能在整体和平均意义上加强带宽的分配和调节,无法解决瞬间某主设备因为不能及时获取带宽而导致“饿死”的问题。

发明内容

本发明实施例提供一种总线网络中优先级动态调整方法及装置,用以满足总线网络中命令优先级的实时调整,避免由于主设备无法及时获取带宽而导致主设备“饿死”的问题。

第一方面,提供一种总线网络中优先级动态调整方法,包括:

针对总线网络连接的主设备,如果确定所述主设备满足优先级动态调整的触发条件,则设置紧急信号,所述紧急信号中携带有所述主设备的设备标识和优先级调整信息;

向下游设备传递所述紧急信号,由所述下游设备根据所述设备标识和优先级调整信息调整所述主设备发送的命令的优先级。

在一种实施方式中,所述触发条件包括以下至少一种:接收到所述主设备发送的紧迫信号或者检测到所述主设备的实时带宽低于预设带宽阈值。

第二方面,提供另外一种总线网络中优先级动态调整方法,包括:

接收优先级动态调整紧急信号,所述紧急信号中携带有设备标识和优先级调整信息,其中,所述紧急信号是在总线网络连接的任一主设备满足优先级动态调整的触发条件时设置的;

根据所述优先级调整信息,调整当前处理的、所述设备标识对应的主设备所发送命令的处理优先级。

在一种实施方式中,根据所述优先级调整信息,调整当前处理的、所述设备标识对应的主设备所发送命令的优先级之前,还包括:

如果在多个输入端口上同时接收到至少两个紧急信号,则根据各紧急信号中携带的优先级调整信息,按照优先级由高到低的顺序选择一个紧急信号进行调整。

在一种实施方式中,调整当前处理的、所述设备标识对应的主设备所发送命令的优先级之后,还包括:

根据调整后的优先级,对各个输入端口准备下发的命令进行仲裁下发。

第三方面,提供一种总线网络中优先级动态调整装置,包括:

检测单元,用于针对总线网络连接的主设备,检测所述主设备是否满足优先级动态调整的触发条件;

信号设置单元,用于在所述检测单元确定所述主设备满足优先级动态调整的触发条件时,设置紧急信号,所述紧急信号中携带有所述主设备的设备标识和优先级调整信息;

发送单元,用于向下游设备传递所述紧急信号,由所述下游设备根据所述设备标识和优先级调整信息调整所述主设备发送的命令的优先级。

在一种实施方式中,所述触发条件包括以下至少一种:接收到所述主设备发送的紧迫信号或者检测到所述主设备的实时带宽低于预设带宽阈值。

第四方面,提供一种总线网络中优先级动态调整装置,包括:

接收单元,用于接收优先级动态调整紧急信号,所述紧急信号中携带有设备标识和优先级调整信息,其中,所述紧急信号是在总线网络连接的任一主设备满足优先级动态调整的触发条件时设置的;

调整单元,用于根据所述优先级调整信息,调整当前处理的、所述设备标识对应的主设备所发送命令的优先级。

在一种实施方式中,所述调整单元,还用于如果在多个输入端口上同时接收到至少两个紧急信号,则根据各紧急信号中携带的优先级调整信息,按照优先级由高到低的顺序选择一个紧急信号进行调整。

在一种实施方式中,本发明实施提供的第二种总线网络中优先级动态调整装置,还包括:

仲裁单元,用于根据调整后的优先级,对各个输入端口准备下发的命令进行仲裁下发。

在一种实施方式中,所述调整单元,还用于如果在多个输入端口上同时接收到至少两个紧急信号,则根据各紧急信号中携带的优先级调整信息,按照优先级由高到低的顺序选择一个紧急信号进行调整。

第五方面,提供了一种计算装置,所述计算装置包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现上述任一总线网络中优先级动态调整方法所述的步骤。

第六方面,提供了一种计算机存储介质,所述计算机存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一总线网络中优先级动态调整方法所述的步骤。

采用上述技术方案,本发明至少具有下列优点:

本发明所述的总线网络中优先级动态调整方法、装置和存储介质,在各个设备之间传递的信号中增加紧急信号,利用该紧急信号传递需要调整优先级的主设备的设备标识和相应的优先级调整信息,使得下游设备可以根据紧急信号即时调整当前待处理的、相应主设备所发送命令的优先级,避免由于主设备无法及时获取带宽而导致的“饿死”问题。

附图说明

图1为根据本发明实施例的总线网络拓扑结构示意图;

图2为根据本发明实施例的第一种总线网络中优先级动态调整方法实施流程示意图;

图3为根据本发明实施例的第二种总线网络中优先级动态调整方法实施流程示意图;

图4为根据本发明实施例的arbiter路由器处理紧急信号的示意图;

图5为根据本发明实施例的demux路由器中紧急信号处理的示意图;

图6为根据本发明实施例的第一种总线网络中优先级动态调整装置的结构示意图;

图7为根据本发明实施例的第二种总线网络中优先级动态调整装置的结构示意图。

具体实施方式

为更进一步阐述本发明为达成预定目的所采取的技术手段及功效,以下结合附图及较佳实施例,对本发明进行详细说明如后。

需要说明的是,本发明实施例中的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。

在本文中提及的“多个或者若干个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。

发明人发现,现有的命令优先级动态调整方法无法满足实时调整主设备已发命令优先级的需要,即已经传递到总线网络中的命令的优先级,只能调整主设备的待发命令,从而存在由于主设备无法及时获取带宽而导致的“饿死”(starvation)问题。有鉴于此,本发明实施例中,在主设备与总线网络及其下游设备之间中利用边带(sideband)信号实现紧急信号的传递,增加的紧急信号用于携带待调整优先级的主设备的设备标识和优先级调整信息,这样,总线网络中的相关设备和从设备等下游设备可以根据该紧急信号中携带的信息对相应主设备发送的命令优先级进行即时调整,避免由于主设备无法及时获取带宽而导致的“饿死”问题。

如图1所示,其为本发明实施例提供的总线网络拓扑结构示意图,总线网络分别与主设备0,主设备1,主设备2和主设备3以及从设备0和从设备1连接,在总线网络内部,包括若干个协议转换接口和路由器,应当理解,图1所示的总线网络结构仅用于示意,实际芯片中的总线拓扑结构可以比图1更复杂,连接的主设备和从设备数量也远比图1多,在图1中:

协议转接口是连接设备与总线内部网络的桥梁,主从设备的接口协议可以是多种,比如AXI(Advanced eXtensible Interface,高级扩展接口),AHB(Advanced Highperformance Bus,高级高性能总线)或其他协议,需要转换成统一的内部命令数据格式在总线网络内部进行传递。对于连接主设备的协议转接口,还连接有一个QOS(Quality ofService,服务质量)产生器,通常负责命令优先级的产生,带宽的检测和调节,在本发明实施例中也负责动态优先级紧急调整机制的触发。

路由器负责总线网络内部命令数据的传递、仲裁与分发。图1中的路由器0和路由2带有命令仲裁装置,其可以同时接收从不同的输入端口流入的命令,当从不同的输入端口有多个命令同时流入时,路由器0或者路由器2会根据各个命令的优先级进行仲裁,将胜出的命令进行下发;路由器1带有命令分发装置,用于将命令分发到不同的出口方向去。

在图1中,无箭头的粗线表示传递命令数据的传递通道,其可以是上行或下行,带箭头的细线表示传递优先级紧急调节信息的紧急(hurry)信号通道,属于独立于命令数据通道的sideband(边带)信号,它从连接主设备的协议转接口向下发起传递,经由总线网络中的路由器一直传播到连接从设备的协议转接口。需要注意的是并非所有主设备都需要紧急调节命令的优先级,图1所示的实施例中,主设备2和主设备3的协议转接口就没有传递hurry信号给下游设备。

以下结合图1所示的总线网络拓扑结构图对本发明实施例提供的总线网络中优先级动态调整方法进行说明,如图2所示,可以包括以下步骤:

S21、针对总线网络连接的主设备,如果确定所述主设备满足优先级动态调整的触发条件,则设置紧急信号。

具体实施时,针对总线网络连接的主设备,协议转接口实时检测主设备是否满足优先级动态调整的触发条件。

在一个实施例中,QoS产生器通过连接主设备的协议转接口检测实时带宽,当实时带宽低于预设带宽阈值时,触发协议转接口启动命令优先级紧急调整机制,设置紧急(hurry)信号并向下游设备传递。

在另一个实施例中,还可以由主设备根据自身的状态来判断是否需要触发协议转接口发起命令优先级的紧急调整机制。具体地,如果主设备根据自身的状态确定需要触发协议转接口发起命令优先级的紧急调整机制,则可以向协议转接口发送紧迫(urgency)信号。

如图1所示,主设备0有一根虚线箭头表示的urgency(紧迫)信号传递给协议转接0,通过该urgency信号使得主设备可以通过检测内部状态来触发总线网络发起命令优先级的紧急调整,而不需要总线的QOS产生器进行判断产生。

具体实施时,紧急信号中携带有主设备的设备标识和优先级调整信息。协议转接口检测到主设备送出的urgency信号拉高时,启动命令优先级紧急调整机制并设置hurry信号。在一种实施方式中,还可以设置一个可选的过滤装置,用于过滤urgency信号上宽度很小的脉冲或者毛刺,避免命令优先级紧急调整机制被频繁开启或者关闭,一旦命令优先级紧急调整机制被启用,hurry信号中的主设备ID和优先级调整信息被设置到相应的值,并向下游设备传递。

如表1所示,其为hurry信号通道组成示意图,其中,设备标识(ID)为需要紧急调整命令优先级的主设备在总线网络中的设备编号,每个主设备的设备ID在总线网络中是唯一的。优先级调整信息可以表示主设备命令优先级需要更改到的绝对值。例如,二进制的00表示不启动紧急机制,11表示总线网络中相应主设备所有pending命令的优先级都调节到11;也可以用来表示命令优先级的调节幅度,比如二进制00表示不调节,01表示优先级加1,10表示优先级加2,11表示优先级调到最高。

表1

设备标识 优先级调整信息

S22、向下游设备传递设置的紧急信号,由下游设备根据设备标识和优先级调整信息调整主设备发送的命令的优先级。

如图3所示,其为总线网络中的路由器接收到hurry信号的处理流程示意图,包括以下步骤:

S31、接收优先级动态调整紧急信号。

其中,接收到的紧急信号中携带有设备标识和优先级调整信息,该紧急信号是协议转接口确定总线网络连接的任一主设备满足优先级动态调整的触发条件时设置的。

S32、根据优先级调整信息,调整当前处理的、所述设备标识对应的主设备所发送命令的优先级。

本步骤中,根据接收到的紧急信号中携带的优先级调整信息,调整紧急信号中携带的设备标识对应的主设备所发送命令的优先级。

具体实施时,在总线网络内包括两种结构的路由器(demux),一种为带有命令分发功能的路由器,这种路由器仅有一个输入端口,如图1中的路由器1;另外一种为带有命令仲裁(arbiter)功能的路由器,这种路由器有多个输入端口,如图1中的路由器0和路由器2。

如图4所示,其为arbiter路由器处理紧急信号的示意图。在arbiter路由器内部,每一输入端口对应一个监测模块,当arbiter路由器的某输入端口的hurry信号生效时,表明某主设备命令的优先级需要紧急调整,arbiter路由器中的监测模块将检测相应的输入端口准备下传的命令是否为紧急信号中携带的设备标识对应的主设备发送的,如果是,则根据hurry信号中的优先级调整信息更新命令中自带的优先级,然后再参与仲裁下发。

在一种实施方式中,各主设备发送的命令中携带有设备标识,监测装置可以比较准备下发的命令中的设备标识与紧急信号中的设备标识是否一致来判断两者是否属于同一主设备。

在一个实施例中,如果arbiter路由器在多个输入端口上同时接收到至少两个紧急信号,则根据各紧急信号中携带的优先级调整信息,按照优先级由高到低的顺序选择一个紧急信号进行调整。

即如果arbiter路由器在多个不同的输入端口上同时接收到了紧急信号,这种实施方式下,arbiter路由器可以先对接收到的紧急信号进行仲裁,一种可能的处理方法可以是根据紧急信号中携带的优先级调整信息,选择优先级最高的紧急信号调整其对应命令的优先级,如果优先级相同,则进行轮询仲裁,由此可以实现根据紧急信号中的优先级调整信息依次对同时接收到的多个紧急信号对应的命令优先级进行调整。紧急信号会通过arbiter路由器的输出端口向下传递。

进一步地,根据调整后的优先级,对各个输入端口准备下发的命令进行仲裁下发。

如图5所示,其为命令分发(demux)路由器中紧急信号处理的示意图。demux路由器只有一个输入端口,demux路由器只需将接收到的命令按照其中携带的优先级分发给某个输出端口并传递给相应的下游设备即可。与arbiter路由器类似,demux路由器中的输入端口也对应设置一个监测模块,在紧急信号生效时,监测模块检测输入端口是否有来自同一主设备的命令,如果是,则根据紧急信号中携带的优先级调整信息更新相应命令中自带的优先级,紧急信号会通过demux路由器的所有输出端口向下传递。

本发明实施例提供的总线网络中优先级动态调整方法,在主设备、总线网络以及从设备之间增加一根紧急信号通道,当检测到主设备满足优先级动态调整的触发条件时,设置紧急信号生效并依次向下游设备传递,从而将主设备已经传递到总线网络以及从设备等下游设备的命令优先级紧急提升,实现了命令优先级的即时调整,避免了由于主设备在某一瞬间无法及时获取带宽而导致的“饿死”问题。

基于相同的技术构思,本发明实施例还分别提供了相应的总线网络中优先级动态调整装置,由于上述装置解决问题的原理与分别与上述的总线网络中优先级动态调整方法相似,因此上述装置的实施可以参见方法的实施,重复之处不再赘述。

如图6所示,其为本发明实施例提供的第一种总线网络中优先级动态调整装置的结构示意图,包括:

检测单元61,用于针对总线网络连接的主设备,检测所述主设备是否满足优先级动态调整的触发条件;

信号设置单元62,用于在所述检测单元确定所述主设备满足优先级动态调整的触发条件时,设置紧急信号,所述紧急信号中携带有所述主设备的设备标识和优先级调整信息;

发送单元63,用于向下游设备传递所述紧急信号,由所述下游设备根据所述设备标识和优先级调整信息调整所述主设备发送的命令的优先级。

在一种实施方式中,所述触发条件包括以下至少一种:接收到所述主设备发送的紧迫信号或者检测到所述主设备的实时带宽低于预设带宽阈值。

具体实施时,图6所示的总线网络中优先级动态调整装置可以设置于协议转接口中。

如图7所示,其为本发明实施例提供的第二种总线网络中优先级动态调整装置的结构示意图,包括:

接收单元71,用于接收优先级动态调整紧急信号,所述紧急信号中携带有设备标识和优先级调整信息,其中,所述紧急信号是在总线网络连接的任一主设备满足优先级动态调整的触发条件时设置的;

调整单元72,用于根据所述优先级调整信息,调整当前处理的、所述设备标识对应的主设备所发送命令的处理优先级。

在一种实施方式中,所述调整单元,还用于如果在多个输入端口上同时接收到至少两个紧急信号,则根据各紧急信号中携带的优先级调整信息,按照优先级由高到低的顺序选择一个紧急信号进行调整。

在一种实施方式中,本发明实施提供的第二种总线网络中优先级动态调整装置,还包括:

仲裁单元,用于根据调整后的优先级,对各个输入端口准确下发的命令进行仲裁下发。

在一种实施方式中,所述调整单元,还用于如果在多个输入端口上同时接收到至少两个紧急信号,则根据各紧急信号中携带的优先级调整信息,按照优先级由高到低的顺序选择一个紧急信号进行调整。

具体实施时,图7所示的总线网络中优先级动态调整装置可以设置与总线网络中的路由器中。

基于相同的技术构思,本发明实施例还提供了一种计算装置,所述计算装置包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现上述任一总线网络中优先级动态调整方法所述的步骤。

基于相同的技术构思,本发明实施例还提供了一种计算机存储介质,所述计算机存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一总线网络中优先级动态调整方法所述的步骤。

通过具体实施方式的说明,应当可对本发明为达成预定目的所采取的技术手段及功效得以更加深入且具体的了解,然而所附图示仅是提供参考与说明之用,并非用来对本发明加以限制。

13页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种PCIe Switch的系统扩展管理方法

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!