互连总线中虚拟通道的优先级推送方法和装置制造方法及图纸

技术编号:18403812 阅读:33 留言:0更新日期:2018-07-08 22:08
本申请公开了一种互连总线中虚拟通道的服务质量优先级推送方法和装置,解决现有的互连总线内部多虚拟通道使用场景中,低优先级的访问命令堵塞高优先级的访问命令的问题。该方法为,第一虚拟通道中的第一节点接收上一跳节点推送的访问命令的优先级;监控第一节点在第一虚拟通道内负载的所有访问命令的优先级;在推送的访问命令的优先级、负载的所有访问命令的优先级中选择最高的优先级,作为第一节点在第一虚拟通道的首个访问命令的优先级进行总线使用权的仲裁;在首个访问命令获得仲裁后,将所述选择的优先级推送至下一跳节点,这样,通过优先级的动态调整能够避免虚拟通道出现低优先级的访问命令堵塞高优先级的访问命令的问题。

Priority pushing method and device for virtual channel in interconnect bus

The present application discloses a service quality priority push method and device for the virtual channel in the interconnect bus, which solves the problem of blocking high priority access commands by the low priority access command in the existing multi virtual channel usage scenes within the existing interconnection bus. This method is that the first node in the first virtual channel receives the priority of the access command pushed by the last hop node; monitors the priority of all access commands that the first node loads in the first virtual channel; selects the highest priority in the priority of the push access command and the priority of all the access orders of the load. Arbitrate the priority of the first access command in the first virtual channel as the first node; after the first access command is arbitral, the priority of the selection is pushed to the next hop node, so that a low priority access command can be avoided by the dynamic adjustment of the priority. The problem of blocking high priority access commands.

【技术实现步骤摘要】
互连总线中虚拟通道的优先级推送方法和装置
本申请涉及芯片
,尤其涉及一种互连总线中虚拟通道的优先级推送方法和装置。
技术介绍
图1所示为一个芯片内部总线互联的示意图。其中,路由器(Router)负责实现每个主口(master)访问从口(slave)的路由计算,Router内部为交叉互联(crossbar)结构,根据每个master发出的访问命令(transaction)的访问地址,决定将其路由到某个输出节点。同时,由于每个master对每个slave都有不同的业务访问需求,整个互联通路采用了多个虚拟通道(virtualchannel,VC),每个VC负责传输一种业务访问类型。多个VC在实际传输中共享一个实际的物理通道。图2所示为Router内部多个VC共享一个物理通道的示意图。图2中以三个VC为例,每个VC负责一种需求的业务,分别是VC0对应实时性(Realtime,RT)需求、VC1对应低延时(Lowlatency,LL)需求、VC2对应大带宽(Bulk,B)需求,其中:RTVC有动态的优先级需求,包含高(High)、中(Medium)、低(Low)三个优先级,优先级高>中>低;LLVC固定中优先级,BVC固定低优先级。在实际场景中,会出现以下两种问题:问题一:Master/Router/Slave内部经常存在着低优先级(LowQoSlevel)的访问命令堵塞高优先级(HighQoSlevel)的访问命令的场景,如图2中Router0的RTVC中,低优先级无法获得仲裁,导致高优先级无法传输。问题二:整个通路的多级节点中也存在着低优先级的访问命令堵塞高优先级的访问命令的场景,如图2中Router1的RTVC被低优先级的访问命令填满,导致Router0的RTVC无法向前传递。针对上述问题,现有的解决方案一是:通过对每条通路增加对应的服务质量推送(QoSpressure)伴随信号,当下级节点反压当前节点时,会将当前的访问命令的高优先级向下推送(push),如此进行一级一级传递,最终传递到反压的堵塞节点,代替访问命令的低优先级参与仲裁,可有效解决问题一中的低优先级堵塞高优先级的问题,但是,这种解决方案对于问题二中的多VC出现的低优先级堵塞高优先级的问题无法解决。针对上述问题,现有的解决方案二是:对每个需要进行服务质量(QoS)提升的VC,增加一个优先级选择(Priority_sel)信号,该信号用来选择两个固定的优先级(QoSlevel),整个VC的服务质量可以根据优先级选择信号进行切换,例如,某个VC中的任一访问命令被堵塞时,利用所述优先级选择信号可以提升该VC中所有访问命令的优先级,以解决堵塞问题。不过,这种解决方案中的控制方式过于粗放,一旦服务质量的优先级提升,整个VC通路都进行彻底提升,对于后续进入互联总线内且不需要进行QoS提升的访问命令,也做了对应的提升;同时,由于每个VC都需要设置一个独立的优先级选择信号,会导致走线过多且应用不灵活。
技术实现思路
本申请实施例提供一种互连总线中虚拟通道的优先级推送方法和装置,解决现有的互连总线内部多虚拟通道使用场景中,某虚拟通道的某个节点内部低优先级的访问命令堵塞高优先级的访问命令的问题和某虚拟通道的多级节点中出现的低优先级的访问命令堵塞高先级的访问命令的问题。本申请实施例提供的具体技术方案如下:第一方面,提供一种互连总线中虚拟通道的优先级推送方法,包括:第一虚拟通道中的第一节点接收上一跳节点推送的访问命令的优先级;所述第一节点监控所述第一节点在所述第一虚拟通道内负载的所有访问命令的优先级;所述第一节点在所述上一跳节点推送的访问命令的优先级、所述第一虚拟通道内负载的所有访问命令的优先级中选择最高的优先级,作为所述第一节点在所述第一虚拟通道的首个访问命令的优先级进行总线使用权的仲裁;在所述首个访问命令获得仲裁后,所述第一节点将所述选择的优先级作为所述第一节点的访问命令的优先级推送至下一跳节点。该有益效果在于,在多个虚拟通道的互联总线结构中,每个虚拟通道的优先级可以根据整个虚拟通道内部的访问命令的优先级和接收到的上一跳节点的访问命令的优先级,实现动态调整,而且优先级的动态调整向前推送,不会影响到后级数据,作用域控制精准;此外,推送的优先级不会在固定的优先级之间切换,实现灵活,控制精度更高。结合第一方面,一种可能的设计中,所述第一节点监控所述第一节点在所述第一虚拟通道内负载的所有访问命令的优先级之前,所述方法还包括:确定所述第一节点在所述第一虚拟通道内负载有至少一个访问命令;结合第一方面,一种可能的设计中,在所述首个访问命令获得仲裁后,所述第一节点将所述选择的优先级作为所述第一节点的访问命令的优先级推送至下一跳节点,包括:确定所述下一跳节点对应的第一虚拟通道中存在信用额度;在所述首个访问命令获得仲裁后,将所述选择的优先级、所述首个访问命令和所述第一虚拟通道的标识同步发送至所述下一跳节点。结合第一方面,一种可能的设计中,在所述首个访问命令获得仲裁后,所述第一节点将所述选择的优先级作为所述第一节点的访问命令的优先级推送至下一跳节点,包括:确定所述下一跳节点对应的第一虚拟通道中不存在信用额度;将所述选择的优先级和所述第一虚拟通道的标识携带在服务质量提升数据包中发送至所述下一跳节点,所述服务质量提升数据包用来传输优先级。该有益效果在于,采用信用额度的机制来进行流控,当下一跳节点对应的第一虚拟通道中不存在信用额度时,通过服务质量提升数据包用来传输优先级,不携带任何访问数据,此时服务质量提升数据包不消耗任何信用额度也不受信用额度的反压,从而使优先级向前传递,实现优先级的动态调整,防止高优先级的访问命令被堵塞。结合第一方面,一种可能的设计中,将所述选择的优先级和所述第一虚拟通道的标识携带在服务质量提升数据包中发送至所述下一跳节点之后,所述方法还包括:若确定所述下一跳节点对应的第一虚拟通道中仍不存在信用额度,且接收到上一跳节点推送的优先级高于所述选择的优先级时,将所述上一跳节点推送的优先级和所述第一虚拟通道的标识携带在新的服务质量提升数据包中发送至所述下一跳节点。该有益效果在于,在优先级需要更新时,能够实现优先级的动态调整,实现优先级的逐级推送。第二方面,提供一种互连总线中虚拟通道的优先级推送装置,应用于第一虚拟通道中的第一节点,包括:接收单元,用于接收上一跳节点推送的访问命令的优先级;监控单元,用于监控所述第一节点在所述第一虚拟通道内负载的所有访问命令的优先级;确定单元,用于在所述上一跳节点推送的访问命令的优先级、所述第一虚拟通道内负载的所有访问命令的优先级中选择最高的优先级,作为所述第一节点在所述第一虚拟通道的首个访问命令的优先级进行总线使用权的仲裁;推送单元,用于在所述首个访问命令获得仲裁后,将所述选择的优先级作为所述第一节点的访问命令的优先级推送至下一跳节点。结合第二方面,一种可能的设计中,所述监控单元还用于:在监控所述第一节点在所述第一虚拟通道内负载的所有访问命令的优先级之前,确定所述第一节点在所述第一虚拟通道内负载有至少一个访问命令;结合第二方面,一种可能的设计中,所述确定单元具体用于:确定所述下一跳节点对应的第一虚拟通道中本文档来自技高网
...

【技术保护点】
1.一种互连总线中虚拟通道的优先级推送方法,其特征在于,包括:第一虚拟通道中的第一节点接收上一跳节点推送的访问命令的优先级;所述第一节点监控所述第一节点在所述第一虚拟通道内负载的所有访问命令的优先级;所述第一节点在所述上一跳节点推送的访问命令的优先级、所述第一虚拟通道内负载的所有访问命令的优先级中选择最高的优先级,作为所述第一节点在所述第一虚拟通道的首个访问命令的优先级进行总线使用权的仲裁;在所述首个访问命令获得仲裁后,所述第一节点将所述选择的优先级作为所述第一节点的访问命令的优先级推送至下一跳节点。

【技术特征摘要】
1.一种互连总线中虚拟通道的优先级推送方法,其特征在于,包括:第一虚拟通道中的第一节点接收上一跳节点推送的访问命令的优先级;所述第一节点监控所述第一节点在所述第一虚拟通道内负载的所有访问命令的优先级;所述第一节点在所述上一跳节点推送的访问命令的优先级、所述第一虚拟通道内负载的所有访问命令的优先级中选择最高的优先级,作为所述第一节点在所述第一虚拟通道的首个访问命令的优先级进行总线使用权的仲裁;在所述首个访问命令获得仲裁后,所述第一节点将所述选择的优先级作为所述第一节点的访问命令的优先级推送至下一跳节点。2.如权利要求1所述的方法,其特征在于,所述第一节点监控所述第一节点在所述第一虚拟通道内负载的所有访问命令的优先级之前,所述方法还包括:确定所述第一节点在所述第一虚拟通道内负载有至少一个访问命令。3.如权利要求1或2所述的方法,其特征在于,在所述首个访问命令获得仲裁后,所述第一节点将所述选择的优先级作为所述第一节点的访问命令的优先级推送至下一跳节点,包括:确定所述下一跳节点对应的第一虚拟通道中存在信用额度;在所述首个访问命令获得仲裁后,将所述选择的优先级、所述首个访问命令和所述第一虚拟通道的标识同步发送至所述下一跳节点。4.如权利要求1或2所述的方法,其特征在于,在所述首个访问命令获得仲裁后,所述第一节点将所述选择的优先级作为所述第一节点的访问命令的优先级推送至下一跳节点,包括:确定所述下一跳节点对应的第一虚拟通道中不存在信用额度;将所述选择的优先级和所述第一虚拟通道的标识携带在服务质量提升数据包中发送至所述下一跳节点,所述服务质量提升数据包用来传输优先级。5.如权利要求4所述的方法,其特征在于,将所述选择的优先级和所述第一虚拟通道的标识携带在服务质量提升数据包中发送至所述下一跳节点之后,所述方法还包括:若确定所述下一跳节点对应的第一虚拟通道中仍不存在信用额度,且接收到上一跳节点推送的优先级高于所述选择的优先级时,将所述上一跳节点推送的...

【专利技术属性】
技术研发人员:林强郭鑫张志强
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1