一种应用于片上网络支持硬实时通信的路由开关的制作方法

文档序号:9276760阅读:246来源:国知局
一种应用于片上网络支持硬实时通信的路由开关的制作方法
【技术领域】
[0001]本发明涉及通信技术领域,具体地,涉及众核处理器中片上网络的实时通信技术,特别是面向不同优先级报文的通信竞争和延迟的众核片上网络环境,进一步地,涉及如何从硬件实现上来保证基于片上网络的众核系统中高优先级报文的优先传输,即涉及一种众核系统片上网络实时通信的硬件机制。
【背景技术】
[0002]随着片上系统朝着多核化、众核化的方向发展,基于总线结构的通信方式面临着越来越严峻的挑战,这些挑战主要来自带宽、延迟、功耗、可扩展性、可重用性、信号完整性、全局同步等,而片上网络技术(Network-on-Chip,简称NoC)恰恰是能够解决这些挑战的有效方法。进一步地,对于一些诸如雷达、声纳、多媒体等诸多国防和民用领域来说,通常需要高性能大规模的并行计算,其算法具有高计算密集性、高存储密集性和高实时性的特点。因此,在片上网络的实现上加入实时通信功能,将为片上网络在上述领域中的应用铺平道路。
[0003]实时性分为软实时与硬实时,软实时要求平均响应时间要小于某一个值,硬实时要求最坏响应时间要小于某一个值。事实上,在片上网络中,实时通信可以通过设置报文的优先级高低,使高优先级报文在片上网络传输时的局部过程中能够较低优先级报文先被传输。然而,这并不一定能保证最终实现高优先级报文在整个网络传输中在最坏情况下的延迟有一个确定值。在某些情况下,为了保证高优先级报文传输有确定的最坏延迟(即保证其硬实时性),甚至需要牺牲其平均延迟的性能(即软实时性)作为代价。此外,有一些片上网络使用基于时间戳的通信方式,在报文发送的开始或结束时打上时间戳,使得目标核芯知道该报文中的数据是否足够新还是已经过时而不能使用;应该注意到,这种时间戳方法可以提高片上网络对实时性请求响应的可靠性,使得系统不会因为使用了过时的数据而发生错误,但本身并不能提高对实时性报文的网络传输时效性。
[0004]另一方面,传统的采用虚通道(Virtual Channel,简称VC)技术的路由开关,在每一个方向的输入端有大量缓存单元组成的若干个输入虚通道(Input VC)队列,但每一个时钟最多只能有其中的一个输入虚通道(Input VC)能经交叉开关(Crossbar)向输出虚通道(Output VC)传输一个微片(Flit);同样的情况也发生在上游的输出虚通道(Output VC)向下游的输入虚通道(Input VC)的数据传输中。这样的路由开关不仅硬件资源消耗很大,并行性也较差。此外,传统的虫孔(Worm Hole)交换机制虽然能实现基于微片(Flit)的传输,但总体上单个虚通道依然是基于数据包(Packet)进行仲裁的,在这种仲裁方式中,一旦某个数据包(Packet)锁定了交叉开关的一个链接(Link),在这个数据包(Packet)全部传完之前,其他数据包(Packet)是无法越过它来传输的;这意味着,如果有低优先级的通信正在进行,在其结束之前,高优先级的通信请求将只能等待,所以,通过这种传统的路由开关无法实现实时通信。

【发明内容】

[0005]本发明要解决的技术问题是克服现有的缺陷,提供了一种支持优先级传输的应用于片上网络支持硬实时通信的路由开关,可以应用于任意采用确定性路由策略的片上网络中,而对整个网络的拓扑结构没有限制;在应用中,只需要将每一个报文增加一个优先级标识来标明其优先级,结合报文中必须包含的目的地信息,该报文就会被片上网络按照其相应的优先级经过确定的路由向目标核芯传输;以此路由开关构建的片上网络既能保证高优先级报文平均传输延迟时间少,又能保证高优先级报文传输的最坏延迟是一个确定值,即能同时兼顾软、硬实时性的要求,从而提高片上网络通信的对实时性请求的服务质量。
[0006]为了解决上述技术问题,本发明提供了如下的技术方案:
[0007]一种应用于片上网络支持硬实时通信的路由开关,包括:
[0008]报文数据格式,报文中的每个微片包括请求、路由及目标核芯响应所需的数据传输信息、所需传送至目的地的数据实部和用来标识该微片优先级的优先级标识位;
[0009]路由策略,路由开关可以结合任何确定性的路由策略,数据的传输首先沿着确定好的路由策略中的其中一维度传输到与目的地节点相同维度的节点上,然后再沿着其中另外的维度依次传输到目的地节点,最后从目的地节点的本地通道输出;
[0010]链路层流控机制,采用改进型的虫孔交换机制,包括报文在路由开关内部及片上网络的各路开关之间的路由、仲裁、缓存和传输都是基于微片进行的和高优先级微片在缓存、仲裁和传输各方面都优先于低优先级微片;与
[0011]路由开关机构,路由开关在每一个方向上包括支持优先级缓存的输入方向通道、路由计算模块、支持优先级仲裁的仲裁器和支持优先级的输出通道。
[0012]进一步地,数据传输信息包括用来标识当前微片是否是一个有效微片的有效标识位和用来标识当前微片最终是发往众核系统中哪一个目标核芯,路由开关据此确定对当前微片的路由决策的目标节点标识位。
[0013]进一步地,数据传输信息还包括用来标识当前微片最初是发自众核系统中哪一个模块的源节点标识位和用来标识当前微片是否是所属报文的最后一个微片的尾部标识位。
[0014]进一步地,支持优先级缓存的输入方向通道包括:
[0015]每个输入方向只有对应与路由的有限数量的方向通道;
[0016]限制低优先级微片使其不能占据一个方向通道全部的通道缓存;和
[0017]对于一个方向存在的任意通道,每个通道都是支持后进入的高优先级微片能比先进入的低优先级微片先由该通道输出,而相同优先级的微片遵循先入先出的顺序。
[0018]进一步地,路由计算模块包括:
[0019]当有一个来自前级输出通道或者本地核芯的微片向所述路由计算模块对应的输入方向的方向通道发送传输请求时,所述路由计算模块能够读取该微片中的目标节点;和
[0020]能够通过比较目标节点与本路由开关的节点号,来确定该微片应该缓存到哪一个方向通道。
[0021]进一步地,支持优先级仲裁的仲裁器包括:
[0022]能够识别本路由开关中可能发往所述仲裁器对应的输出方向的各个方向通道有无微片传输请求,若一个方向存在的任意通道有传输请求,能通过读取其优先级标识位来判断其为尚优先级请求还是低优先级请求;和
[0023]若上述请求中包含有高优先级微片的传输请求,则按照每个时钟以公平轮流的方式在各个装载着高优先级微片的通道之间选择一个,允许其向输出通道传输;但若只存在低优先级微片的传输请求,则所述仲裁器按照每个时钟以公平轮流的方式在各个装载着低优先级微片的通道之间选择一个,允许其向输出通道传输。
[0024]进一步地,支持优先级的输出通道包括:
[0025]能够接收本路由开关的从其它方向发送来的高优先级微片和低优先级微片并缓存起来;和
[0026]支持后进入的高优先级微片能比先进入的低优先级微片先输出,而相同优先级的微片遵循先入先出的顺序,向下一跳对应的方向通道传输。
[0027]本发明一种应用于片上网络支持硬实时通信的路由开关,包括报文优先级的定义和识别,不同优先级报文的缓存、仲裁和输出;报文的各个微片可以被缓存于某个路由开关输入端的方向通道内,这种方向通道结合路由,并且支持高优先级微片比低优先级微片先输出,而同种优先级微片先入先出;此外,去往相同输出方向的微片由该方向的仲裁器按照公平轮巡的方式进行仲裁,这种仲裁同样以确保各个对应通道内优先级高的微片先被选择输出为如提;从而,这种基于微片的缓存、仲裁的路由开关完全确保了尚优先级报文在各个路由器中的最坏传输时间,进一步的,成为兼顾软、硬实时通信的保证。
【附图说明】
[0028]附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:
[0029]图1为报文中一个微片的数据格式示意图;
[0030]图2为路由开关的结构不意图;
[0031]图3为输入方向通道的输入请求的响应流程图;
[0032]图4为输入方向通道为高优先级微片预留一个缓存的输入请求效果示意图;
[0033]图5为输入方向通道的输出响应流程图;
[0034]图6为当输入方向通道内包含若干高优先级微片和低优先级微片时的输出效果示意图;
[0035]图7为对应本地输出方向的优先级仲裁器的仲裁响应流程图;
[0036]图8为本地方向的优先级仲裁器的仲裁效果示意图;
[0037]图9为输出通道的输入输出响应流程图;
[0038]图10为输出通道的实现示意图。
【具体实施方式】
[003
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1