专利名称:仲裁控制方法、通信方法、仲裁器和通信系统的制作方法
技术领域:
本发明涉及仲裁控制方法、通信方法、仲裁器和通信系统。
背景技术:
随着集成电路工艺和片上系统(SoC,System-on-Chip)的发展,片上集成电路密 度越来越大,可以容纳更多的功能单元,例如可以集成更多的处理器核心(core)、用于处理 器核心与主存通信的存控、用于芯片与外部其他设备通信的接口单元及更多第三方IP核 等。片上功能单元的增多对片上通信带宽和延迟都提出了更高的要求,与此同时,集成电路 特征尺寸的减小使连线所造成的延时占据了片上通信中越来越大的比例,这些问题的出现 都使得传统的总线互连方式不再适合片上系统的发展。片上网络(NoC,Network-on-chip)是一种将传统计算机系统网络应用于片上互 连的技术,能够较好地满足日益增长的片上通信需求。其中,常见的NoC拓扑结构有二维网 状网络(mesh)。简单地说,类似于棋盘,每个交叉点上有一个功能单元,功能单元之间的连 线就是网络,其中,每一个功能单元作为一个通信节点(又称节点)都有自己的网络接口和 收发缓存。环网(又称环形网络)结构是一种常用的互连拓扑结构。其中,节点与链路构成 了一个闭合环;每个节点只与相邻的两个节点相连;每个节点必须将信息转发给下一个相 邻的节点。环形网络结构中,相邻通信节点之间以短线连接,能较好地解决片上功能单元之 间的长交叉连线问题,因此片上环形网络被越来越多地应用于多核处理器中,例如国际商 业机器公司(IBM)的CELL多核处理器。为了解决环形网络中管理复杂与维护困难的问题,以及更均衡地在节点之间分配 资源以及更充分地发挥通信链路的利用效率,通常采用中心仲裁器对节点之间的通信资源 进行管理和分配,并且中心仲裁器的设置需要兼顾公平性以及高效率。在现有的中心仲裁 技术中,例如国际商业机器公司(IBM)的CELL多核处理器中,所采用的仲裁控制方法为首 先,请求节点提出通信请求,中心仲裁器将所接收到的通信请求向目标节点进行广播,目标 节点接收到该广播信息后将根据自身是否能对该通信请求进行处理向中心仲裁器返回自 身的通信信用记录;通信信用记录用于标识该目标节点是否具有通信信用,通信信用可采 用节点中可用的接收缓冲个数进行表示,当目标节点中有可用的接收缓冲时即该目标节点 具有通信信用;中心仲裁器侦听到该目标节点所返回的通信信用记录后,判断是否可以执 行请求节点的该通信请求,当可以执行时中心仲裁器发送仲裁成功响应至该请求节点;接 着,该请求节点接收到仲裁成功响应后,再向链路仲裁单元提出链路请求,获得链路仲裁成 功响应后才能进行数据传输。举个例子,参考图1,节点A和节点B为环形网络中的两个节点,节点A提出向节 点B写数据的请求。首先,节点A将该请求提交至中心仲裁器;中心仲裁器接收到该请求 后,发出广播信息并开始侦听;节点B接收到该广播信息后,向中心仲裁器返回通信信用记 录记录,用以表明自身是否可以接收数据;中心仲裁器一旦侦听到节点B返回的通信信用记录记录后,判断节点B是否可以接收数据,例如,如果可以接收,节点B具有通信信用,如 果不可以接收,节点B不具有通信信用;当节点B具有通信信用时,中心仲裁器返回仲裁成 功响应并发送至节点A ;接着,节点A提出链路仲裁请求,当节点A至节点B的链路可用时, 链路仲裁单元将向节点A返回仲裁响应,否则节点A将一直等待。接收到链路可用的仲裁 响应后,节点A开始向节点B传输数据。在另一种情况下,即当节点B不具备通信信用时, 中心仲裁器向发出请求的节点A返回仲裁失败请求,节点A重新发送请求。也就是说,上述仲裁方法先根据目标节点的通信信用记录进行请求仲裁,再进行 链路仲裁。对于这种两段式的仲裁方法,首先,在链路请求过程中,当链路不可用时,请求节 点的通信资源一直被占用,降低了链路的使用效率;其次,由于通过广播侦听的方法对目标 节点的信用信息进行检查,每个时钟节拍仅能对一个通信请求进行广播或侦听,从而限制 了中心仲裁器的流水仲裁能力,使中心仲裁器在每个时钟节拍只能处理一个通信请求,当 节点规模越来越大时,这种流水仲裁能力将无法满足通信要求;此外,由于采用广播侦听的 方式,延时较长,中心仲裁器的仲裁效率无法提高。
发明内容
本发明解决的问题是,提供一种仲裁控制方法和通信方法,以及相应的仲裁器和 通信系统,解决集中式仲裁的流水仲裁能力较低,以及通信节点上的资源利用率较低的问题。为解决上述问题,本发明提供一种仲裁控制方法,包括对通信请求进行排序,所 述排序与所述通信请求的链路距离和提交时间相关;对排序的所述通信请求进行筛选并提 交筛选后的通信请求;根据所提交的通信请求的类型,对所述通信请求进行仲裁,返回仲裁 响应,所述仲裁响应为仲裁失败响应或仲裁成功响应;根据所述仲裁响应,更新链路记录和
信用记录。可选的,所述对通信请求进行排序包括接收并缓存有效的通信请求;根据所述 通信请求的提交时间,对所述通信请求进行排序并保存所述提交时间,当所述通信请求的 提交时间相同时,按照所述通信请求的链路距离对其进行排序。可选的,所述对排序的所述通信请求进行筛选并提交筛选后的通信请求包括根 据目标节点的通信信用对排序的通信请求进行筛选;提交所述筛选上的通信请求。可选的,所述根据目标节点的通信信用对排序的通信请求进行筛选包括按照所述排序,遍历所述通信请求,检查其目标节点是否具有通信信用;先将目标 节点具有通信信用的通信请求,按照所述排序序号依次将其筛选上;之后,再将其目标节点 没有通信信用的通信请求,按照其所述排序序号依次将其筛选上。可选的,所述仲裁包括对于所筛选上的通信信号分别进行信用仲裁以及链路仲 裁,其中,所述信用仲裁,用于仲裁与所述通信请求对应的目标节点是否具有通信信用,当 所述目标节点具有通信信用,所述信用仲裁成功;所述链路仲裁,用于仲裁与所述通信请求 对应的链路是否可用,当所述链路可用,所述链路仲裁成功。可选的,所述信用仲裁包括对于满足通信信用的通信请求,返回仲裁成功响应; 对于不满足通信信用的通信请求,根据通信请求的类型,进行仲裁。可选的,所述对于不满足通信信用的通信请求,根据通信请求的类型进行仲裁包括当请求数据请求不满足通信信用条件时,返回仲裁失败响应;当应答数据请求不满足通信信用条件时,一直等待,直至仲裁命中。可选的,所述链路仲裁包括对于满足链路要求的通信请求,返回仲裁成功响应; 对于不满足链路要求的通信请求,采取无限制阻塞仲裁直至仲裁命中。可选的,所述链路仲裁包括链路冲突检查,分别检查每个请求的链路是否冲突以 及检查两个请求之间的链路是否冲突;请求冲突检查,用于检查来自于不同环网的通信请 求是否存在冲突。可选的,所述请求冲突检查包括请求之间链路冲突检查,检查不同时筛选提交并 同时进行仲裁的通信请求之间的链路向量以及其传输方向,判断是否存在冲突;下网冲突 检查,用于检查不同环形网络的不同请求在下网时,是否存在冲突。可选的,所述请求之间链路冲突检查包括当不同时筛选提交并同时进行仲裁的 通信请求链路向量有冲突,并且传输方向相同时,所述通信请求链路冲突;当所述通信请求 链路向量有冲突而请求0与请求1的传输方向不相同时,或者当所述通信请求链路向量无 冲突而请求0与请求1的传输方向相同时,或者当所述通信请求链路向量无冲突且请求0 与请求1的传输方向不相同时,所述通信请求之间的链路不冲突。可选的,当所述通信请求链路冲突时,对所述通信请求的优先级进行设定。可选的,返回所述仲裁响应之后,还包括进行预定时间的延时。可选的,所述根据仲裁结果更新链路记录和信用记录在获得仲裁结果的同一个时 钟节拍内完成。本发明还提供了一种应用所述仲裁控制方法的通信方法,包括发送单元发送通 信请求;仲裁器应用所述仲裁控制方法对所述通信请求进行排序、筛选和仲裁,并将所述仲 裁响应返回至所述发送单元其中,所述排序与所述通信请求的链路距离、提交时间相关;所 述发送单元根据所述仲裁响应,传输数据或发送通信请求。可选的,所述发送单元发送通信请求包括所述发送单元通过上层协议将通信数 据组织成固定长度的数据包写入发送缓冲中,并将与各个数据包对应的通信请求写入到相 应的请求发送队列中。可选的,所述发送单元发送通信请求还包括所述发送单元间隔发送Req请求和 Ack请求。可选的,所述发送单元根据仲裁响应传输数据或发送通信请求包括当所述发送 单元接收到返回的前一个通信请求的仲裁响应后,处理下一个通信请求。可选的,所述发送单元根据仲裁响应传输数据或发送通信请求包括当所述发送 单元接收到前一个通信请求的仲裁成功响应时,启动数据传输以及提交下一个通信请求; 当所述发送单元接收到前一个通信请求的仲裁失败响应时,重发失败请求或提交下一个通 信请求。可选的,还包括接收单元接收数据,以及当信用释放时,向所述仲裁器发送信用 释放信号。本发明还提供了一种仲裁器,包括请求筛选单元,用于接收源节点所提交的通信 请求,对其进行排序,所述排序顺序与所述通信请求的链路距离和提交时间相关,并对排序 后的通信请求进行筛选,提交筛选后的通信请求;信用管理单元,用于记录和管理各节点的通信信用,并发送目标节点的通信信用记录;检查单元,用于记录环形网络上各个链路的使 用情况,并根据所述信用管理单元所发送的通信信用记录,对所述请求筛选单元所提交的 通信请求进行链路检查和信用检查,获得仲裁结果。可选的,所述请求筛选单元包括缓存单元,用于提供通信请求的缓存空间;请求 提交控制单元,用于对所述缓存单元中的通信请求进行筛选以及提交筛选后的通信请求。可选的,所述请求筛选单元包括缓存单元,用于保存由源节点所提交的通信请 求、所述通信请求的提交时间以及排队次序;计时器,用于记录由源节点所提交的通信请求 的提交时间;控制单元,用于根据所述缓存单元中所述通信请求的提交时间以及链路距离, 对所述通信请求进行排序,并根据所述信用管理单元所发送的目标节点的通信信用以及所 述检查单元返回的前一个通信请求的仲裁响应,输出控制信号;选通单元,用于根据所述控 制单元输出的控制信号,选择提交所述缓存单元中的通信请求。可选的,所述信用管理单元包括选通器,用于选择信用更新类型;加法器,用于 根据所述选通器所输出的信用更新类型,对通信信用记录进行更新;信用寄存器,用于存储 所述通信信用记录。可选的,所述信用更新类型包括无信用释放且无仲裁,此时通信信用记录不改 变;无信用释放且有仲裁,此时通信信用记录减少一个单位;有信用释放且有仲裁,此时通 信信用记录不改变;有信用释放且无仲裁,此时通信信用记录增加一个单位。可选的,所述检查单元包括链路检查单元,用于检查每一个通信请求与当前链路 是否存在链路冲突;信用检查单元,用于根据所述信用管理单元中的通信信用记录,检查通 信请求的目标节点是否具有通信信用;请求检查单元,用于检查来自于不同环形网络的通 信请求之间是否存在冲突。本发明还提供了一种应用所述仲裁器的通信系统,还包括至少一个发送单元,用 于发送通信请求以及根据仲裁结果,发送通信数据或重新发送通信请求;至少一个接收单 元,用于接收通信数据和通信请求。可选的,所述发送单元包括请求发送单元,用于将通信请求发送至环形网络;数 据发送单元,用于根据仲裁结果,将通信数据发送至环形网络。可选的,所述请求发送单元至少包括两个请求缓存单元,分别用于保存待发送的 Req请求和Ack请求;请求发送控制单元,用于根据前一个通信请求的仲裁响应,控制下一 个通信请求的发送或者数据发送单元;请求选通单元,用于根据所述请求发送控制单元的 控制信号,选择并发送所述发送缓存单元中所保存的通信请求。可选的,所述两个请求缓存单元为同一个存储器的两部分。可选的,所述请求缓存单元的大小至少为两个数据包。可选的,当所述请求发送控制单元接收到所述仲裁器所返回的仲裁响应后,对所 述仲裁响应进行判断,如果是仲裁成功响应,所述请求发送控制单元向所述请求选通单元 发送相应的控制信号,清除所述请求缓存单元中已获得仲裁成功响应的通信请求并提交下 一个通信请求;如果是仲裁失败响应,所述请求发送控制单元向所述请求选通单元发送相 应的控制信号,提交下一个请求或重发失败请求。可选的,所述数据发送单元至少包括两个发送缓存单元,分别用于保存待发送的 请求数据包和应答数据包;数据发送控制单元,用于向数据选通单元发送控制信号,控制通信数据的发送;数据选通单元,用于根据所述数据发送控制单元的控制信号,选择待发送的 数据并将其发送至环形网络。可选的,所述发送单元包括请求缓存单元,用于保存待发送的通信请求;数据缓 存单元,用于保存待发送的通信数据包;控制单元,用于接收所述仲裁器返回的仲裁响应, 控制所述请求缓存单元将通信请求发送至环形网络以及控制所述数据缓存单元进行通信 数据的发送。可选的,所述接收单元至少包括两个接收缓存单元,分别用于保存待发送的Req 请求和Ack请求;信用释放单元,一旦所述接收缓存单元中的数据包被读走,所述信用释放 单元向所述仲裁器发送信用释放信号。可选的,所述两个接收缓存单元为同一个存储器的两部分。可选的,所述接收缓存单元的大小至少为两个数据包。与现有技术相比,上述技术方案通过对通信请求进行基于提交时间和提交距离的 排序,并且对排序后的通信请求进行筛选之后才进行仲裁,减少了通信请求的总体等待时 间,有效地提高了仲裁的效率和链路利用率。另一方面,上述技术方案通过有条件优先提交的筛选方式对通信请求进行筛选, 有效地减少了由于缺乏信用而发生的失败。又一方面,上述技术方案在仲裁过程中,通过对请求和应答的区别仲裁,有效地解 决了通信过程由于消息依赖而造成的死锁状态。
图1是现有技术中环形网络通信的结构示意图;图2是本发明仲裁器实施方式的结构示意图;图3是图2中请求筛选单元实施方式的结构示意图;图4是本发明请求筛选单元具体实施例的结构示意图;图5是本发明仲裁器一种具体实施例中请求筛选单元根据节点规模扩展的结构 示意图;图6是本发明仲裁器另一种具体实施例中请求筛选单元根据仲裁能力扩展的结 构示意图;图7是图2中信用管理单元具体实施方式
的结构示意图;图8是图2中检查单元具体实施方式
的结构示意图;图9是本发明通信系统实施方式的结构示意图;图10是本发明通信系统中请求发送单元具体实施方式
的结构示意图;图11是本发明通信系统中数据发送单元具体实施方式
的结构示意图;图12是本发明通信系统中发送单元具体实施方式
的结构示意图;图13是图8中接收单元具体实施方式
的结构示意图;图14是本发明通信系统具体实施例的工作示意图;图15是本发明仲裁控制方法实施方式的流程示意图;图16是本发明仲裁控制方法具体实施方式
的仲裁流程示意图;图17是本发明通信方法实施方式的流程示意图18是本发明通信方法实施方式中通信请求的格式示意图;图19是本发明通信方法一种具体实施例中通信请求提交以及接收到仲裁响应后 发送数据上网的工作时序示意图;图20是本发明通信方法另一种具体实施例中通信请求提交以及接收到仲裁响应 后发送数据上网的工作时序示意图。
具体实施例方式为实现公平、高效的通信,本发明实施方式中引入请求筛选机制,可使仲裁器在进 行仲裁之前对节点端所发送的请求进行排序和筛选,提高了链路的使用率。此外,仲裁器根 据不同类型请求进行有条件优先的仲裁,使得仲裁更加高效。另外,还可以根据环形网络规 模或仲裁能力的变化,设置多级的请求筛选,方便地实现通信系统的扩展。参考图2,本发明实施方式提供了一种仲裁器100,包括请求筛选单元110,用于 接收源节点所提交的通信请求,对其进行排序,所述排序顺序与所述通信请求的链路距离 和提交时间有关,并对排序后的通信请求进行筛选,提交筛选后的通信请求;信用管理单元 120,用于记录和管理各节点的通信信用,并将目标节点的通信信用记录发送至请求筛选单 元110以及检查单元130 ;检查单元130,用于记录环形网络上各个链路的使用情况,并根据 信用管理单元120所发送的通信信用记录,对请求筛选单元110所提交的通信请求进行链 路检查和信用检查,获得仲裁结果。其中,仲裁器100通过环形网络与多个通信节点相连接。在一个通信过程中作为 源节点的通信节点可作为另一个通信过程中的目标节点,接收通信数据和通信请求;在一 个通信过程中作为目标节点的通信节点也可作为另一个通信过程中的源节点,对通信请求 进行发送或者根据仲裁结果重新发送请求或发送通信数据。参考图3,请求筛选单元110具体可包括缓存单元101,用于提供通信请求的缓存 空间,具体来说,请求提交的缓冲深度等于所连接的节点数目;请求提交控制单元102,用 于对所述缓存单元中的通信请求进行筛选以及提交筛选后的通信请求。其中,参考图4,所述请求提交控制单元102具体可包括计时器103、控制单元 104和选通单元105 ;其中缓存单元101,用于保存由源节点所提交的通信请求、所述通信请 求的提交时间以及排队次序;计时器103,用于记录由源节点所提交的通信请求的提交时 间;控制单元104,用于根据缓存单元101中所述通信请求的提交时间以及链路距离,对所 述通信请求进行排序,并根据信用管理单元120所发送的目标节点的通信信用记录以及检 查单元130所返回的前一个通信请求的仲裁响应,输出控制信号;选通单元105,用于根据 控制单元104所输出的控制信号,选择提交缓存单元101中的通信请求。在一个具体实施例中,请求筛选单元110与节点a、节点b、节点c和节点d相连接。 当作为源节点的节点a、节点b、节点c和节点d分别提交通信请求aO、通信请求b0、通信请 求cO和通信请求d0至该请求筛选单元110后,首先,计时器103记录下每个通信请求的提 交时间,并将其保存至缓存单元101中;接着,控制单元104根据所述通信请求的提交时间 对其进行排序,进一步地,当所述通信请求的提交时间相同时,还可根据其传输距离对其进 行排序;通信请求的排列次序被记录在缓存单元101中。然后,在控制单元104接收到通信请求所对应的目标节点具有通信信用的情况下,例如通信请求b0所对应的目标节点具有信用记录,当控制单元104接收到前一个通信 请求(例如通信请求a0)的仲裁成功响应或仲裁失败响应时,控制单元104向选通单元105 发出控制信号S0,使选通单元105选择输出相应的通信请求,即通信请求b0 ;当控制单元 104接收到前一个通信请求(即通信请求aO)的请求重发响应时,控制单元104向选通单元 105发出控制信号Si,使选通单元105重新发送通信请求aO。此外,在本发明仲裁器的实施方式中,请求筛选单元110具有较好的独立性和扩 展能力,可根据节点规模或仲裁能力进行灵活地扩展。例如,当通信节点的数目较多时,可构成多级的请求筛选层结构。参考图5,第一请 求筛选层210中包括六个请求筛选单元,其中每个请求筛选单元处理三个节点所提交的通 信请求;第二请求筛选层220中包括两个请求筛选单元221和222,每个请求筛选单元对来 自第一请求筛选层210中三个请求筛选单元的筛选结果进一步进行筛选,并将所获得的结 果提交给检查单元130。在这种情况下,检查单元130每个时钟节拍处理的仍是请求筛选单 元221和222所提交的通信请求,并不需要具有显著增强的仲裁能力。而当检查单元130的仲裁能力较强时,也就是说,一个时钟节拍中,检查单元130 能够对多个通信请求进行仲裁时,可采取另一种请求筛选结构。参考图6,在一个具体实施 例中,将检查单元130与四个请求筛选单元相连接,使其在一个时钟节拍内处理分别来自 于所述四个请求筛选单元所提交的通信请求。在其它的实施方式中,还可根据实际通信需求,同时使用上述两种请求筛选结构, 以获得与节点规模及仲裁能力相匹配的仲裁器结构。信用管理单元120对节点的可用接收缓冲个数进行记录和管理,以获得节点的通 信信用记录,例如当节点的接收缓冲被占用时,其不具有通信信用。信用管理单元120还可 将各节点的通信信用记录发送至请求筛选单元110以及检查单元130。其中,当信用管理单 元120所返回的目标节点的通信信用记录,表示该目标节点具有通信信用时,请求筛选单 元110根据前一个仲裁响应结果,选择通信请求并提交至检查单元130 ;检查单元130根据 信用管理单元120所返回的目标节点的通信信用记录,对各通信请求进行信用仲裁。此外,信用管理单元120还对节点通信信用记录进行更新,具体来说可包括当 节点接收缓冲中的数据包被读走之后,信用管理单元120接收由节点所发出的信用释放信 号,更新该节点的通信信用记录;当检查单元130对通信请求进行了仲裁后,信用管理单元 120根据仲裁结果,更新对应的目标节点的通信信用记录。参考图7,信用管理单元120可包括选通器121,用于选择信用更新类型;加法器 122,用于根据选通器121所输出的信用更新类型,对通信信用记录进行更新;信用寄存器 123,用于存储所述通信信用记录。其中,信用更新类型可包括无信用释放且无仲裁,此时 通信信用记录不改变;无信用释放且有仲裁,此时通信信用记录减少一个单位;有信用释 放且有仲裁,此时通信信用记录不改变;有信用释放且无仲裁,此时通信信用记录增加一个 单位。根据环形网络上各个链路的使用情况以及信用管理单元120所发送的信用记录, 检查单元130可对请求筛选单元110所提交的通信请求进行检查,并获得仲裁结果。其中, 仲裁结果包括仲裁成功响应和仲裁失败响应;当链路不冲突以及目标节点具有通信信用 时,对应的通信请求可获得仲裁成功响应,且检查单元130将所述仲裁成功响应返回至源节点以及请求筛选单元110 ;当存在链路冲突或者目标节点无信用时,对应的通信请求根 据其类型,获得仲裁失败响应或继续等待;对于获得仲裁失败的通信请求,检查单元130将 其仲裁失败响应返回至对应的源节点以及请求筛选单元110。此外,当对应的通信请求需要 重发时,检查单元130将请求重发失败响应返回至请求筛选单元110,使请求筛选单元110 在同一个时钟节拍重新向检查单元130发送所述通信请求。具体来说,参考图8,检查单元130可包括链路检查单元131,用于检查每一个通 信请求与当前链路是否存在链路冲突;信用检查单元132,用于根据信用管理单元120中的 记录,检查通信请求的目标节点是否具有通信信用;请求检查单元133,用于检查来自于不 同环形网络的通信请求之间是否存在冲突。其中,请求检查单元133具体来说,可检查来 自不同环形网络的通信请求之间是否存在链路冲突以及检查来自不同环形网络的通信请 求之间是否存在下网冲突,并当两请求存在冲突时,根据仲裁响应结果,确定各请求的优先 级。参考图9,本发明实施方式还提供了 一种应用上述仲裁器100的通信系统,还包 括至少一个发送单元310,用于发送通信请求以及根据仲裁器100通过环形网络返回的仲 裁结果,发送通信数据或重新发送通信请求;至少一个接收单元320,用于接收通信数据和 通信请求。其中,仲裁器100,用于对发送单元310所发送的通信请求进行排序和筛选,其排 序与所述通信请求的提交时间和链路距离有关,提交筛选后的通信请求,并对其进行仲裁, 以及对接收单元320的通信信用记录进行管理和更新。在通信过程中,每个通信节点可包括发送单元和接收单元。在同一个通信过程中, 每个节点可通过其接收单元接收通信数据和通信请求,以及通过其发送单元,对通信请求 进行发送或者根据仲裁结果重新发送请求或发送通信数据。在一种实施方式中,发送单元310可包括请求发送单元,用于将通信请求发送至 环形网络;以及数据发送单元,用于根据仲裁结果,将通信数据发送至环形网络。参考图10,请求发送单元至少包括请求缓存单元401和402,分别用于保存待发 送的请求数据(Req)请求和应答数据(Ack)请求;请求发送控制单元403,用于根据前一个 通信请求的仲裁响应,控制下一个通信请求的发送;请求选通单元404,用于根据请求发送 控制单元403的控制信号,选择并发送请求缓存单元401和402中所保存的通信请求。在通信过程中,请求和应答往往具有依赖关系。采用两个请求缓存单元401和402 对Req请求和Ack请求的区分保存,可打断通信间请求和应答的依赖关系,避免网络出现死 锁,并且出于公平性的考虑,可间隔从请求缓存单元401和402提取通信请求并进行发送, 即一次提取Req请求而下一次提取Ack请求,或一次提取Ack请求而下一次提取Req请求。 其中,两个请求缓存单元401和402采用先进先出(FIFO)存储结构,具体来说,可采用两个 存储器,也可以采用同一个存储器的两个部分;其大小可根据具体传输要求进行设定,为了 保证传输的连续性,请求缓存单元401和402都应不小于2个数据包。请求发送控制单元403可根据仲裁响应,控制通信请求提交的频率;也就是说,只 有当接收到前一个通信请求的仲裁响应之后,才能提交下一个通信请求。具体地,当请求发 送控制单元403接收到仲裁器330所返回的仲裁响应后,对所述仲裁响应进行判断,如果是 仲裁成功响应,请求发送控制单元403向请求选通单元404发送相应的控制信号,清除所 述请求缓存单元中已获得仲裁成功响应的通信请求并提交下一个请求;如果是仲裁失败响应,请求发送控制单元403向请求选通单元404发送相应的控制信号,提交下一个请求或重 发失败请求。参考图11,数据发送单元可包括,两个数据缓存单元501和502,分别用于保存待 发送的请求数据包和应答数据包;数据发送控制单元503,用于向数据选通单元发送控制 信号,控制通信数据的发送;数据选通单元504,用于根据所述数据发送控制单元的控制信 号,选择待发送的数据并将其发送至环形网络。在一种具体实施例中,仲裁器330所返回的仲裁响应传输至发送单元310的请求 发送单元以及数据发送单元。当所述仲裁响应为仲裁成功响应时,所述数据发送控制单元 503控制所述数据选通单元504发送数据,且所述请求发送控制单元403清除请求缓存单元 401和402中已获得仲裁成功响应的通信请求并提交下一个请求。在发送单元310的另一种实施方式中,参考图12,发送单元310包括请求缓存单 元601和602,分别用于保存待发送的Req请求和Ack请求;数据缓存单元603和604,分别 用于保存待发送的请求数据包和应答数据包;以及控制单元605,其中,所述控制单元605 用于控制请求缓存单元601和602将通信请求发送至环形网络并控制数据缓存单元603和 604进行通信数据的发送。具体来说,当控制单元605接收到仲裁器330所返回的仲裁成功 响应时,控制单元605向数据缓存单元603和604发送启动控制信号,将相关的通信数据发 送至环形网络;当控制单元605接收到仲裁器330所返回的仲裁失败响应时,控制单元605 控制请求缓存单元601和602提交下一个请求或重发失败请求。参考图13,接收单元320可包括接收缓存单元321和322,分别用于保存所接收 的Req数据包和Ack数据包。其中,两个接收缓存单元321和322可采用两个存储器,也可 以采用同一个存储器的两个部分;其大小可根据具体传输要求进行设定,为了保证传输的 连续性,接收缓存单元321和322都应不小于2个数据包。此外,接收单元320还可包括信用释放单元323,用于监控接收单元320的通信信 用记录。具体来说,一旦接收缓存单元321和322中数据包被读走,信用释放单元323向仲 裁器330发送信用释放信号。在接收单元320的一种具体实施方式
中,在每个时钟节拍, 信用释放单元323可读取接收缓存单元321和322的缓冲个数,并将其与所记录的上一时 钟节拍的缓存个数相比较,当当前时钟节拍所获得的缓冲个数小与上一时钟节拍的缓存个 数,信用释放单元323向仲裁器330发送信用释放信号。参考图14,在具体工作过程中,发送单元310将通信请求发送至仲裁器330,仲裁 器330对所接收到的通信请求进行排序、筛选后,依次分别经过信用和链路仲裁,形成仲裁 响应后返回与发送单元310对应的接收单元320 ;接着,当返回仲裁成功响应之后,发送单 元310发送通信数据上网并发送下一个通信请求;当返回仲裁失败响应之后,发送单元310 重新发送失败请求或发送下一个通信请求。参考图15,本发明实施方式还提供了一种仲裁控制方法,包括步骤Si,对通信请 求进行排序,所述排序与所述通信请求的链路距离和提交时间相关;步骤S2,对排序的所 述通信请求进行筛选并提交筛选后的通信请求;步骤S3,根据所提交的通信请求的类型, 对所述通信请求进行仲裁,返回仲裁失败响应或仲裁成功响应;步骤S4,根据所述仲裁响 应,更新链路记录和信用记录。下面即结合附图和实施例对本发明的具体实施方式
做详细的说明。
其中,步骤Sl可包括接收并缓存有效的通信请求;根据所述通信请求的提交时间,对所述通信请求进行排序并保存所述提交时间,当所述通信请求的提交时间相同时,按 照所述通信请求的链路距离对其进行排序。其中,判断通信请求是否有效可通过判断通信请求的有效位来实现。具体来说,在步骤Sl中,先处理提交时间较早的通信请求,有利于实现通信请求 之间的公平,使先接收的通信请求先进行处理。而对于提交时间相同的通信请求,则先处 理具有较短的传输距离的通信请求,有利于有效地利用环形网络链路资源;由于需要短距 离传输的通信请求所占用的环网链路少,相比于需要长距离传输的通信请求而言更容易实 现,因此先处理传输距离短的通信请求,可有效地提高链路利用率,减少通信请求总体的等 待时间。所述对通信请求进行处理具体来说是指将通信请求按照所述顺序放入发送缓冲。举个例子,节点A提出向节点B的写数据请求即请求0,节点A与节点B之间的传 输距离为dl ;节点C提出向节点B的写数据请求即请求1,节点C与节点B之间的传输距离 为d2,在步骤Sl中当请求0的提交时间早于请求1的提交时间时,先处理请求0,并记录 请求0和请求1的请求时间;当请求0的提交时间与请求1的提交时间相同时,记录请求0 和请求1的请求时间并且比较传输距离dl和d2,当dl大于d2时,先处理传输距离为d2的 请求,即请求1。将所接收的通信请求排序之后,通过步骤S2,根据所述通信请求的目标节点是否 具有通信信用对所述通信请求进行筛选。其中,先按照所述排序,遍历所述通信请求,检查 对应的目标节点是否具有通信信用;先将对于其目标节点具有通信信用的通信请求,按照 其所述排序序号依次筛选上并提交;之后,再将其目标节点没有通信信用的通信请求,按照 其所述排序序号依次筛选上并提交。具体来说,可在遍历所述通信请求的过程中,选择其目标节点具有通信信用的通 信请求,将其按照其排序序号进行排列,并按照该排列的顺序依次将所述通信请求筛选上 并提交,例如将所选择的通信请求按其排序的序号从小到大的顺序进行排列,先选中所选 择的通信请求中排序序号小的,再选中所选择的通信请求中排序序号大的;当目标节点具 有通信信用的通信请求都被筛选上了之后,对于目标节点不具有通信信用的通信请求,按 照其排序序号以一定的顺序进行排列,并按照该排列的顺序依次选中这些通信请求,例如 先选中排序序号小的,再选中排序序号大的。举个例子,请求0、请求1、请求2和请求3之间具有如下关系请求0先于请求1、 请求2和请求3提交,请求1与请求2同时提交且早于请求3,但请求1具有较请求2较小 的传输距离。经过步骤Sl的排序之后,上述通信请求具有这样的排序关系最先为请求0, 其次是请求1,随后是请求2,最后是请求3。接下来,根据请求0、请求1、请求2和请求3的 目标节点是否具有通信信用进行筛选,例如,只有请求1和请求3对应的目标节点具有通信 信用时,则先筛选上请求1,再选中请求3 ;然后对于其目标节点不具有通信信用的请求0和 请求2,在筛选上请求3之后,先选中请求0,再选中请求2。接下来,执行步骤S3。其中,所述仲裁可包括对于筛选上的通信信号分别进行信用仲裁以及链路仲裁;在信用仲裁中,根据所提交的通信请求的不同类型,对所述通信请求 做出不同的仲裁响应。其中,仲裁响应可包括仲裁成功响应和仲裁失败响应。具体来说,对于其目标节点具备通信信用以及链路不冲突的通信请求,返回仲裁成功响应;对于不满足链路要求的通信请求,采取无限制阻塞仲裁直至仲裁命中;而对于 其目标节点不具有通信信用的通信请求,则需要根据通信请求的类型进行仲裁。通信请求 的类型可分为Req请求和Ack请求;对于Req请求,当Req请求的目标节点不具备通信信用 时,返回仲裁失败响应;而对于Ack请求,当Ack请求的目标节点不具备通信信用条件时,一 直等待,直至仲裁命中。其中,所述仲裁命中是指所述请求的目标节点具备通信信用并且将 该请求发送至所述目标节点的链路无冲突。在本发明仲裁控制方法的一种具体实施例中,由于对通信信用的集中管理和链路 分配,仲裁能力可提高为一个时钟节拍处理两个通信请求。参考图16,下面结合对请求0和 请求1的仲裁来进行说明,请求0和请求1分别为不同请求筛选单元的筛选结果。其中,对 所述通信请求进行仲裁包括链路冲突检查、请求冲突检查以及目标信用检查。其中,链路冲突检查可包括分别检查每个请求的链路是否冲突以及检查两个请 求之间的链路是否冲突。例如对于请求0,将其链路向量与环网链路状态记录进行比较,有 冲突为1,无冲突为0 ;同样地,对于请求1,将其链路向量与环网链路状态记录进行比较,有 冲突为1,无冲突为0。其中,请求冲突检查可包括请求之间链路冲突检查和下网冲突检查。具体来说,由于来自于不同请求筛选单元的请求0和请求1可能来自同一个环网, 或者来自不同的环网,且同一个环形网络中的通信具有单向性,检查两个请求之间的链路 是否冲突可包括检查两个请求之间的链路向量以及两个请求的传输方向。例如当请求 0与请求1的链路向量有冲突,并且请求0与请求1的传输方向相同时,请求0与请求1之 间的链路冲突;当请求0与请求1的链路向量有冲突而请求0与请求1的传输方向不相同 时,或者当请求0与请求1的链路向量无冲突而请求0与请求1的传输方向相同时,或者当 请求0与请求1的链路向量无冲突且请求0与请求1的传输方向不相同时,请求0与请求 1之间的链路不冲突。当请求之间存在冲突时,可根据前一个请求的仲裁响应,对当前请求冲突的优先 级进行设定。具体来说,对于两个请求冲突的优先级,可采用轮转的方式。举个例子,请求 0与请求1存在冲突,通过优先级设置,使请求0仲裁命中;当请求0获得仲裁成功响应时, 该仲裁响应返回至优先级设置单元,使其进行轮转;当请求1再次与请求0之后筛选上的请 求2发生冲突时,通过优先级的设置可使请求1仲裁命中。通过根据仲裁响应对请求的优 先级进行设置,可避免仲裁过程中的饥饿现象。下网冲突检查的目的在于检查不同环形网络的不同请求是否会在下网时存在冲 突。同一个节点可以通过一个或多个环形网络接收请求或数据,但其仅能通过唯一的一个 下网端口获得数据,也就是说,当来自不同环形网络的请求具有相同目标节点时,则可能会 出现这些请求同时到达目标节点,在这种情况下,对于目标节点为同一个节点的至少两个 不同的请求,对该目标节点的下网端口同时产生了需求,也就是请求会在下网时产生冲突。 下网冲突检查具体来说,可通过检查来自不同环形网络的至少两个请求的下网向量,获知 是否会同时通过同一个下网端口进入目标节点,如果是,则存在冲突,反之则不冲突。其中,目标信用检查可包括分别获取请求0与请求1的目标节点;检查两个目标 节点的信用记录;分别判断请求0和请求1的目标节点是否具有通信信用。步骤S3还包括请求筛选单元接收到检查单元的仲裁结果之后,根据所述仲裁结果,提交下一个通信请求或重发前一个通信请求。具体来说,当通信请求获得仲裁成功响应后,请求筛选单元清除已获得仲裁成功 响应的通信请求,将序列中的下一个通信请求选中并提交检查单元进行仲裁;当通信请求 获得仲裁失败响应后,请求筛选单元清除已获得仲裁失败响应的通信请求,并将序列中的 下一个通信请求选中并提交检查单元进行仲裁;当通信请求获得请求重发响应后,请求筛 选单元重新发送前一时钟节拍被筛选上的通信请求。在具体实现中,由于仲裁器与源节点之间存在一定距离,仲裁响应的传输存在线 路延时,因此步骤S3还可包括在检查单元发出仲裁响应之后,进行预定时间的延时。例 如,预定时间可为一个或若干个时钟节拍。在检查单元发出仲裁结果的同一个时钟节拍内,执行步骤S4,进行更新,具体来 说,包括对链路记录以及信用记录的更新。参考图17,本发明实施方式提供了一种应用上述仲裁控制方法的通信方法,包括 步骤S11,发送单元发送通信请求;步骤S12,仲裁器应用上述仲裁控制方法对所述通信请 求进行排序、筛选和仲裁,并将所述仲裁响应返回至所述发送单元其中,所述排序与所述通 信请求的链路距离、提交时间有关;步骤S13,发送单元根据所述仲裁响应,传输数据或发 送通信请求。具体来说,步骤Sll包括发送单元通过上层协议将通信数据组织成固定长度的 数据包写入发送缓冲中,并将与各个数据包对应的通信请求写入到相应的请求发送队列 中。图18为一种通信请求格式的示意图,包括源节点标识、目标节点标识、传输距离和请求 类型。源节点标识用于标识发送单元,即提交该通信请求的节点;目标节点标识用于标识接 收单元,即作为接收该通信请求的目标节点;传输距离用于表明所述源节点与所述目标节 点之间的链路距离,即传输该通信请求所需要的链路距离;请求类型可包括Req请求和Ack 请求。为打断通信过程中Req请求和Ack请求之间的依赖关系,步骤Sll还可包括发送单 元间隔发送Req请求和Ack请求,即一次发送Req请求而下一次发送Ack请求,或一次发送 Ack请求而下一次发送Req请求。在步骤S13中,当发送单元接收到返回的前一个通信请求的仲裁响应返后,才能 发送下一个通信请求。其中,当接收到前一个通信请求的仲裁成功响应时,发送单元启动数 据传输以及提交下一个通信请求;具体来说,发送单元可控制两次通信请求的时间间隔不 小于一个数据包的链路流量,以保证连续仲裁命中的请求传输数据时不会发生数据上网的 链路冲突。而当接收到前一个通信请求的仲裁失败响应时,发送单元重发失败请求或提交 下一个通信请求。此外,本发明通信方法的实施方式还可包括步骤S14,接收单元接收数据,以及当 信用释放时,向仲裁器发送信用释放信号。下面结合通信请求提交以及接收到仲裁响应后发送数据上网的工作时序图对本 发明通信方法实施方式作进一步说明。参考图19,在TO节拍,环网上的节点a、节点b和节点c作为源节点,分别提交通 信请求01、通信请求02和通信请求03,通信请求01、通信请求02和通信请求03被进行排 序;在Tl时钟节拍,节点a所提交的通信请求01被筛选上,提交至仲裁器进行仲裁;在T2 时钟节拍,通信请求01经过仲裁,获得仲裁成功响应,接着节点b所提交的通信请求02被筛选上;在T3时钟节拍,仲裁器向节点a传输通信请求01的仲裁成功响应,而通信请求02 经过仲裁,获得仲裁成功响应,并且节点c所提交的通信请求03被筛选上;在T4时钟节拍, 通信请求01的仲裁成功响应返回至节点a,仲裁器向节点b传输通信请求02的仲裁成功响 应,而通信请求03经过仲裁,获得仲裁成功响应;在T5时钟节拍,节点a接收到通信请求01 的仲裁成功响应后传输通信请求01的数据包上网,通信请求02的仲裁成功响应返回至节 点b,而仲裁器向节点c传输通信请求03的仲裁成功响应。在接下来的T6时钟节拍和T7 时钟节拍,节点b和节点c分别接收到通信请求02和通信请求03的仲裁成功响应后,分别 将通信请求02和通信请求03的数据包传输上网。而参考图20,在TO节拍,环网上的节点a’、节点b’和节点C’作为源节点,分别提 交通信请求01、通信请求02和通信请求03,通信请求01、通信请求02和通信请求03被进 行排序;在Tl时钟节拍,节点a’所提交的通信请求01被筛选上进行仲裁;在T2时钟节拍, 通信请求01仲裁失败,仲裁器中的请求筛选单元接收到请求重发响应之后,立刻将通信请 求01重新发送至仲裁器;在T3时钟节拍,通信请求01仲裁成功,接着节点b’所提交的通 信请求02被筛选上;在T4时钟节拍,仲裁器向节点a’传输通信请求01的仲裁成功响应, 而通信请求02获得仲裁失败响应,接着节点C’所提交的通信请求03被筛选上;在T5时钟 节拍,通信请求01的仲裁成功响应被返回至节点a’,仲裁器向节点b’传输通信请求02的 仲裁失败响应,而通信请求03经过仲裁,获得仲裁成功响应;在T6时钟节拍,节点a’接收 到通信请求01的仲裁成功响应后传输通信请求01的数据包上网并且提交通信请求11,通 信请求02的仲裁失败响应返回至节点b’后节点b’重新发送通信请求02,仲裁器向节点 c’传输通信请求03的仲裁成功响应;在T7时钟节拍,节点a’继续传输通信请求01的数 据包,节点b’重新发送通信请求02,而通信请求03的仲裁成功响应被返回至节点C’ ;在T8 时钟节拍,节点a’仍旧继续传输通信请求01的数据包,节点C’开始传输通信请求03的数 据包并且提交通信请求13,而通信请求02被筛选上;在经过了时钟节拍T9的仲裁成功、时 钟节拍TlO的传输之后,在时钟节拍T11,通信请求02返回至节点b’,并在时钟节拍T12,节 点b’接收到通信请求02的仲裁成功响应后传输通信请求02的数据包上网。在上述通信方法的实施方式中,由于每个源节点每次只能提交一个通信请求,并 且提交频率由仲裁响应控制,因此当只有一种类型的通信请求,例如Req请求或Ack请求 时,根据仲裁的结果来决定提交新请求或重发失败请求,避免了相同类型的通信请求之间 的乱序;此外,可更加灵活地控制提交节奏,避免了数据的上网冲突,也降低了重发失败请 求的等待,提高了通信效率。综上所述,上述各种实施方式通过对通信资源信用和链路的集中管理和分配,简 化了仲裁过程,提高了流水仲裁能力和链路的通信效率。具体来说,在仲裁之前,通过在对通信请求进行排序时,采用了阻塞式排队和短距 离优先,在保证公平性的基础上,减少了通信请求的总体等待时间,有效地提高了仲裁的效 率和链路利用率。并且,在仲裁之前,通过对通信请求的筛选,采用了有条件的优先提交,有效地减 少了由于缺乏信用而发生的失败。此外,在仲裁过程中,通过对请求和应答的区别仲裁,有效地解决了通信过程由于 消息依赖而造成的死锁状态。
本发明虽然以较佳实施例公开如上,但其并不是用来限定本发明,任何本领域技 术人员在不脱离本发明的精神和范围内,都可以做出可能的变动和修改,因此本发明的保 护范围应当以本发明权利要求所界定的范围为准。
权利要求
一种仲裁控制方法,其特征在于,包括对通信请求进行排序,所述排序与所述通信请求的链路距离和提交时间相关;对排序的所述通信请求进行筛选并提交筛选后的通信请求;根据所提交的通信请求的类型,对所述通信请求进行仲裁,返回仲裁响应,所述仲裁响应为仲裁失败响应或仲裁成功响应;根据所述仲裁响应,更新链路记录和信用记录。
2.根据权利要求1所述的仲裁控制方法,其特征在于,所述对通信请求进行排序包括接收并缓存有效的通信请求;根据所述通信请求的提交时间,对所述通信请求进行排序并保存所述提交时间,当所 述通信请求的提交时间相同时,按照所述通信请求的链路距离对其进行排序。
3.根据权利要求2所述的仲裁控制方法,其特征在于,所述对排序的所述通信请求进 行筛选并提交筛选后的通信请求包括根据目标节点的通信信用对排序的通信请求进行筛选;提交筛选上的通信请求。
4.根据权利要求3所述的仲裁控制方法,其特征在于,所述根据目标节点的通信信用对排序的通信请求进行筛选包括按照所述排序,遍历所述通信请求,检查其目标节点是否具有通信信用;先将目标节点具有通信信用的通信请求,按照所述排序序号依次将其筛选上;之后,再将其目标节点没有通信信用的通信请求,按照其所述排序序号依次将其筛选上。
5.根据权利要求1所述的仲裁控制方法,其特征在于,所述仲裁包括对于所筛选上的通信信号分别进行信用仲裁以及链路仲裁,其中,所述信用仲裁,用于仲裁与所述通信请求对应的目标节点是否具有通信信用,当所述目标节点具有通信信用,所述信用仲裁成功;所述链路仲裁,用于仲裁与所述通信请求对应的链路是否可用,当所述链路可用,所述链路仲裁成功。
6.根据权利要求5所述的仲裁控制方法,其特征在于,所述信用仲裁包括对于满足通信信用的通信请求,返回仲裁成功响应;对于不满足通信信用的通信请求,根据通信请求的类型,进行仲裁。
7.根据权利要求6所述的仲裁控制方法,其特征在于,所述对于不满足通信信用的通 信请求,根据通信请求的类型进行仲裁包括当请求数据请求不满足通信信用条件时,返回 仲裁失败响应;当应答数据请求不满足通信信用条件时,一直等待,直至仲裁命中。
8.根据权利要求5所述的仲裁控制方法,其特征在于,所述链路仲裁包括对于满足链路要求的通信请求,返回仲裁成功响应;对于不满足链路要求的通信请求,采取无限制阻塞 仲裁直至仲裁命中。
9.根据权利要求5所述的仲裁控制方法,其特征在于,所述链路仲裁包括链路冲突检查,分别检查每个请求的链路是否冲突以及检查两个请求之间的链路是否冲突;请求冲突检查,用于检查来自于不同环网的通信请求是否存在冲突。
10.根据权利要求9所述的仲裁控制方法,其特征在于,所述请求冲突检查包括请求之间链路冲突检查,检查不同时筛选提交并同时进行仲裁的通信请求之间的链路 向量以及其传输方向,判断是否存在冲突;下网冲突检查,用于检查不同环形网络的不同请求在下网时,是否存在冲突。
11.根据权利要求10所述的仲裁控制方法,其特征在于,所述请求之间链路冲突检查 包括当不同时筛选提交并同时进行仲裁的通信请求链路向量有冲突,并且传输方向相同 时,所述通信请求链路冲突;当所述通信请求链路向量有冲突而请求0与请求1的传输方向不相同时,或者当所述 通信请求链路向量无冲突而请求0与请求1的传输方向相同时,或者当所述通信请求链路 向量无冲突且请求0与请求1的传输方向不相同时,所述通信请求之间的链路不冲突。
12.根据权利要求11所述的仲裁控制方法,其特征在于,当所述通信请求链路冲突时, 对所述通信请求的优先级进行设定。
13.根据权利要求1所述的仲裁控制方法,其特征在于,返回所述仲裁响应之后,还包 括进行预定时间的延时。
14.根据权利要求1所述的仲裁控制方法,其特征在于,所述根据仲裁结果更新链路记 录和信用记录在获得仲裁结果的同一个时钟节拍内完成。
15.一种应用根据权利要求1-14中任一所述仲裁控制方法的通信方法,其特征在于, 包括发送单元发送通信请求;仲裁器应用所述仲裁控制方法对所述通信请求进行排序、筛选和仲裁,并将所述仲裁 响应返回至所述发送单元其中,所述排序与所述通信请求的链路距离、提交时间相关;所述发送单元根据所述仲裁响应,传输数据或发送通信请求。
16.根据权利要求15所述的通信方法,其特征在于,所述发送单元发送通信请求包括 所述发送单元通过上层协议将通信数据组织成固定长度的数据包写入发送缓冲中,并将与 各个数据包对应的通信请求写入到相应的请求发送队列中。
17.根据权利要求15所述的通信方法,其特征在于,所述发送单元发送通信请求还包 括所述发送单元间隔发送Req请求和Ack请求。
18.根据权利要求15所述的通信方法,其特征在于,所述发送单元根据仲裁响应传输 数据或发送通信请求包括当所述发送单元接收到返回的前一个通信请求的仲裁响应后, 处理下一个通信请求。
19.根据权利要求15所述的通信方法,其特征在于,所述发送单元根据仲裁响应传输 数据或发送通信请求包括当所述发送单元接收到前一个通信请求的仲裁成功响应时,启 动数据传输以及提交下一个通信请求;当所述发送单元接收到前一个通信请求的仲裁失败 响应时,重发失败请求或提交下一个通信请求。
20.根据权利要求15所述的通信方法,其特征在于,还包括接收单元接收数据,以及 当信用释放时,向所述仲裁器发送信用释放信号。
21.一种仲裁器,其特征在于,包括请求筛选单元,用于接收源节点所提交的通信请求,对其进行排序,所述排序顺序与所 述通信请求的链路距离和提交时间相关,并对排序后的通信请求进行筛选,提交筛选后的通信请求;信用管理单元,用于记录和管理各节点的通信信用,并发送目标节点的通信信用记录;检查单元,用于记录环形网络上各个链路的使用情况,并根据所述信用管理单元所发 送的通信信用记录,对所述请求筛选单元所提交的通信请求进行链路检查和信用检查,获 得仲裁结果。
22.根据权利要求21所述的仲裁器,其特征在于,所述请求筛选单元包括 缓存单元,用于提供通信请求的缓存空间;请求提交控制单元,用于对所述缓存单元中的通信请求进行筛选以及提交筛选后的通 信请求。
23.根据权利要求21所述的仲裁器,其特征在于,所述请求筛选单元包括缓存单元,用于保存由源节点所提交的通信请求、所述通信请求的提交时间以及排队 次序;计时器,用于记录由源节点所提交的通信请求的提交时间;控制单元,用于根据所述缓存单元中所述通信请求的提交时间以及链路距离,对所述 通信请求进行排序,并根据所述信用管理单元所发送的目标节点的通信信用以及所述检查 单元返回的前一个通信请求的仲裁响应,输出控制信号;选通单元,用于根据所述控制单元输出的控制信号,选择提交所述缓存单元中的通信 请求。
24.根据权利要求21所述的仲裁器,其特征在于,所述信用管理单元包括 选通器,用于选择信用更新类型;加法器,用于根据所述选通器所输出的信用更新类型,对通信信用记录进行更新; 信用寄存器,用于存储所述通信信用记录。
25.根据权利要求24所述的仲裁器,其特征在于,所述信用更新类型包括 无信用释放且无仲裁,此时通信信用记录不改变;无信用释放且有仲裁,此时通信信用记录减少一个单位; 有信用释放且有仲裁,此时通信信用记录不改变; 有信用释放且无仲裁,此时通信信用记录增加一个单位。
26.根据权利要求21所述的仲裁器,其特征在于,所述检查单元包括 链路检查单元,用于检查每一个通信请求与当前链路是否存在链路冲突;信用检查单元,用于根据所述信用管理单元中的通信信用记录,检查通信请求的目标 节点是否具有通信信用;请求检查单元,用于检查来自于不同环形网络的通信请求之间是否存在冲突。
27.一种应用根据权利要求21-26中任一所述仲裁器的通信系统,其特征在于,还包括至少一个发送单元,用于发送通信请求以及根据仲裁结果,发送通信数据或重新发送 通信请求;至少一个接收单元,用于接收通信数据和通信请求。
28.根据权利要求27所述的通信系统,其特征在于,所述发送单元包括请求发送单元,用于将通信请求发送至环形网络;数据发送单元,用于根据仲裁结果,将通信数据发送至环形网络。
29.根据权利要求28所述的通信系统,其特征在于,所述请求发送单元至少包括两个请求缓存单元,分别用于保存待发送的Req请求和Ack请求;请求发送控制单元,用于根据前一个通信请求的仲裁响应,控制下一个通信请求的发送;请求选通单元,用于根据所述请求发送控制单元的控制信号,选择并发送所述发送缓 存单元中所保存的通信请求。
30.根据权利要求29所述的通信系统,其特征在于,所述两个请求缓存单元为同一个 存储器的两部分。
31.根据权利要求29所述的通信系统,其特征在于,所述请求缓存单元的大小至少为 两个数据包。
32.根据权利要求29所述的通信系统,其特征在于,当所述请求发送控制单元接收到 所述仲裁器所返回的仲裁响应后,对所述仲裁响应进行判断,如果是仲裁成功响应,所述请 求发送控制单元向所述请求选通单元发送相应的控制信号,清除所述请求缓存单元中已获 得仲裁成功响应的通信请求并提交下一个通信请求;如果是仲裁失败响应,所述请求发送 控制单元向所述请求选通单元发送相应的控制信号,提交下一个请求或重发失败请求。
33.根据权利要求28所述的通信系统,其特征在于,所述数据发送单元至少包括两个数据缓存单元,分别用于保存待发送的请求数据包和应答数据包;数据发送控制单元,用于向数据选通单元发送控制信号,控制通信数据的发送;数据选通单元,用于根据所述数据发送控制单元的控制信号,选择待发送的数据并将 其发送至环形网络。
34.根据权利要求27所述的通信系统,其特征在于,所述发送单元包括请求缓存单元,用于保存待发送的通信请求;数据缓存单元,用于保存待发送的通信数据包;控制单元,用于接收所述仲裁器返回的仲裁响应,控制所述请求缓存单元将通信请求 发送至环形网络以及控制所述数据缓存单元进行通信数据的发送。
35.根据权利要求27所述的通信系统,其特征在于,所述接收单元至少包括两个接收缓存单元,分别用于保存待发送的Req请求和Ack请求;信用释放单元,一旦所述接收缓存单元中的数据包被读走,所述信用释放单元向所述 仲裁器发送信用释放信号。
36.根据权利要求35所述的通信系统,其特征在于,所述两个接收缓存单元为同一个 存储器的两部分。
37.根据权利要求35所述的通信系统,其特征在于,所述接收缓存单元的大小至少为 两个数据包。
全文摘要
一种仲裁控制方法、应用该仲裁控制方法的通信方法、仲裁器和应用该仲裁器的通信系统,其中,所述仲裁控制方法包括对通信请求进行排序,所述排序与所述通信请求的链路距离和提交时间相关;对排序的所述通信请求进行筛选并提交筛选后的通信请求;根据所提交的通信请求的类型,对所述通信请求进行仲裁,返回仲裁失败响应或仲裁成功响应;根据所述仲裁响应,更新链路记录和信用记录。本发明通过对通信资源信用和链路的集中管理和分配,简化了仲裁过程,提高了流水仲裁能力和链路的通信效率。
文档编号H04L12/40GK101989942SQ20091016536
公开日2011年3月23日 申请日期2009年8月7日 优先权日2009年8月7日
发明者任秀江, 李宏亮, 胡苏太, 过锋, 郑卫华, 郑方, 黄永勤 申请人:无锡江南计算技术研究所