CN112383474B - 一种多端口的SpaceFibre路由IP - Google Patents
一种多端口的SpaceFibre路由IP Download PDFInfo
- Publication number
- CN112383474B CN112383474B CN202011103562.0A CN202011103562A CN112383474B CN 112383474 B CN112383474 B CN 112383474B CN 202011103562 A CN202011103562 A CN 202011103562A CN 112383474 B CN112383474 B CN 112383474B
- Authority
- CN
- China
- Prior art keywords
- broadcast
- routing
- data
- port
- application
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/54—Organization of routing tables
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/16—Multipoint routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/58—Association of routers
- H04L45/586—Association of routers of virtual routers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/60—Router architectures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种多端口的SpaceFibre路由IP,用于实现数据的交换和信息的广播,所述路由IP包括管理端口模块、多个路由端口、路由交换模块以及广播控制模块;所述管理端口模块,用于实时地配置路由参数和反馈路由状态;一个路由端口为一个SpaceFibre节点,实现了SpaceFibre网络协议栈中的数据链路层、通道层、物理层以及管理层的功能,支持4路虚拟通道,支持广播通道,支持QoS调度服务,支持基于FDIR功能的错误恢复功能,实现了SpaceFibre的链路传输服务;所述路由交换模块,用于实现路由IP的数据转发;所述广播模块,用于实现路由IP的广播功能。在本发明的路由IP中,路由可以实时地进行路由配置和虚拟网络配置,实时地反馈网络状态,以便上层管理进行网络调控和监管。
Description
技术领域
本发明涉及航天工程领域,具体涉及用于SpaceFibre航天总线网络中SpaceFibre路由IP,特别涉及一种多端口的SpaceFibre路由IP。
背景技术
随着航天技术的不断发展,航天任务复杂性的提升,航天数据向大规模、多样性、和高速的方向发展。传统的互联总线如1553B总线、CAN总线、RS485总线越来越难以满足现在和未来的航天数据处理的需求。ESA提出了新型的SpaceFibre互联网络总线协议,支持点对点传输和路由组网,串行传输速率最高可达6.25Gbps。同时SpaceFibre提供虚拟通道机制,可以分类传输不同传输需求的数据;提供QoS(Quality of Service)机制,为不同类型的数据提供不同优先级的调度服务;提供FDIR(Fault Detection,Isolation andRecovery)机制,能够对发送的数据及时地进行错误恢复,为数据的发送提供可靠的保障。由于SpaceFibre的上述特点,能为数据传输提供定制QoS服务和可靠传输保障,SpaceFibre互联总线成为了研究热点。
SpaceFibre路由作为SpaceFibre网络的交换中心,对数据的交换起到至关重要的作用。SpaceFibre路由主要实现数据交换和信息广播的功能:数据交换基于虚拟网络进行交换;信息广播基于广播通道进行分发。目前缺乏一种便于移植的多端口的SpaceFibre路由IP。
发明内容
本发明的目的在于克服上述缺陷,涉及了一种便于移植的SpaceFibre Codec IP。该路由IP实现了一个管理端口加多个路由端口的SpaceFibre路由器,其中管理端口能够实时地配置路由和反馈路由状态,各路由端口即为一个完整的SpaceFibre节点IP。该路由IP支持虚拟网络配置;支持路由表配置;支持实时配置各路由接口的配置参数;支持实时地反馈各路由端口的状态;支持基于CrossBar结构的多路数据无交叉的交换;支持基于轮询的广播通道的信息广播;支持基于QoS功能的数据传输服务;支持基于FDIR功能的错误恢复功能。
为了实现上述目的,本发明提出了一种多端口的SpaceFibre路由IP,用于实现数据的交换和信息的广播,所述路由IP包括管理端口模块、多个路由端口、路由交换模块以及广播控制模块;
所述管理端口模块,用于实时地配置路由参数和反馈路由状态;
一个路由端口为一个SpaceFibre节点,实现了SpaceFibre网络协议栈中的数据链路层、通道层、物理层以及管理层的功能,支持4路虚拟通道,支持广播通道,支持QoS调度服务,支持基于FDIR功能的错误恢复功能,实现了SpaceFibre的链路传输服务;
所述路由交换模块,用于实现路由IP的数据转发;
所述广播模块,用于实现路由IP的广播功能。
作为上述***的一种改进,所述管理端口模块包括:命令配置缓存、配置控制单元、状态控制单元和状态反馈缓存;
所述命令配置缓存,用于缓存配置命令参数;该参数包括:路由的配置信息和各个路由端口的配置信息;路由的配置信息包括路由表、虚拟网络表、优先级表以及当前时间片;各个路由端口的配置信息包括SpaceFire节点所需的各类配置信息;
所述配置控制单元,用于当命令配置缓存中存有数据,将命令配置缓存的数据读取出来,根据对应的偏移地址分发到寄存器;
所述状态控制单元,用于当对应的状态发生改变时,根据状态寄存器各自的偏移地址加上状态变化,按照状态格式写入状态反馈缓存;
所述状态反馈缓存,用于存储路由的状态信息,包括:路由的运行状态反馈和各个端口的运行状态反馈;路由的运行状态反馈包括数据包超时状态和广播超时状态;各个路由端口的运行状态包括SpaceFibre节点管理层的状态反馈信息。
作为上述***的一种改进,一个路由端口包括多个输入虚拟通道、多个输出虚拟通道、一个广播输入接口和一个广播输出接口;
多个输入虚拟通道,用于当接收的数据为包尾时或者数据量大于64个数据字时,通知路由交换模块数据包已经到达;
多个输出虚拟通道,用于将来自路由交换模块的数据发送出去;
广播输入接口,用于将本路由端口接收到的广播信息转发至广播模块;
广播输出接口,用于接收广播模块发出的其它路由端口的广播信息。
作为上述***的一种改进,路由交换模块包括多个输入识别子模块、多个输出仲裁子模块以及完全无阻塞交叉矩阵;一个输入识别子模块对应一个路由端口的一个输入虚拟通道,一个输出仲裁子模块对应一个路由端口的一个输出虚拟通道;
输入识别子模块,用于读入输入虚拟通道的数据包,对数据包包头中目的地址进行解析,根据目的地址向对应的目的端口提出发送申请;
输出仲裁子模块,用于对各路发数申请进行虚拟网络号确认和基于动态优先级轮询仲裁的功能,对符合条件的发数申请进行授权,并建立发数通路;
完全无阻塞的交叉矩阵,用于实现了各路输入识别子模块的申请、输出仲裁子模块的授权、以及各路输入识别子模块的授权确认信号之间的完全无阻塞的交叉互联。
作为上述***的一种改进,所述输入识别子模块包括:地址解析单元和申请控制单元;
所述地址解析单元,用于对接收到的有效数据的包头的地址进行地址解析;
所述申请控制单元,用于当地址为路径路由地址,则直接向对应的端口发起申请;当地址为逻辑路由地址,则从路由表中读出地址对应的端口,然后再向该端口发起申请req;在提出申请时,根据本虚拟通道所属的虚拟网络号VN,向目的端口中属于相同虚拟网络中的输出虚拟通道提出发数申请;数据的发送采用“申请—授权”的连接形式,提出数据发送申请后,当对应的输出仲裁子模块通过授权指示grant信号给出授权,则数据传输的通路建立连接。
作为上述***的一种改进,所述输出仲裁子模块包括:申请仲裁单元和数据输出单元;
所述申请仲裁单元,用于收到来自对应的输入识别子模块中的申时请,判断该申请是否属于同一虚拟网络:若属于同一虚拟网络,则申请有效,则向对应的子输入识别模块发送授权信号grant;否则不属于同一虚拟网络的申请被忽略,不会建立数据通路连接;当虚拟网络中有多个输入识别子模块向该输出仲裁子模块提出申请时,采用基于阻塞机制的动态优先级轮询仲裁算法,对申请进行仲裁;授权信号有效后,数据通路连接成功;
所述数据输出单元,用于将输出仲裁子模块选择被授权的数据通路中的数据,写入对应路由端口中的输出虚拟通道并发送出去。
作为上述***的一种改进,所述输出仲裁子模块实现动态优先级轮询仲裁算法;每个输出虚拟通道对应的输出仲裁子模块中设有两个标识:当收到相同虚拟网络中的一个发数申请时,one_flag标识有效,可以直接进行授权;当收到相同虚拟网络中的两个以上的不同优先级发数申请时,more_flag标识有效,此时按照动态优先级轮询仲裁算法对发数申请进行授权;具体包括:
步骤S1)各个路由端口的输出虚拟通道已被分配一个初始化的优先级P,并处于空闲等待状态;
步骤S2)当虚拟网络中的一个虚拟节点的输出仲裁子模块收到发数申请时,若仅有一个申请,则进入到发数状态发送数据,转入步骤S4);若有两个及以上的申请时,即同一虚拟网络中数据发送产生冲突,则进入步骤S3);
步骤S3)在判别状态中,比较申请所对应的虚拟节点的优先级,并选择优先级最高的申请进行授权,然后进入发数状态发送数据,转入步骤S4);若申请所对应的虚拟节点的优先级相同,则按照默认的基础轮询顺序授权,并进入发数状态发数,转入步骤S4);当各路申请的优先级都降低为0时,对各路申请重置初始化优先级,各虚拟节点回到初始化优先级;
步骤S4)在端口发数状态,若more_flag有效,说明数据发送冲突且已按照动态优先级轮询算法进行仲裁,则建立起数据通路的发送方虚拟节点每发送完一包数据,其对应的初始化优先级更新为P=P-1,并返回到空闲等待状态,转入步骤S1);若one_flag有效,说明仅有一个发送申请且无冲突,则数据发送结束返回到空闲等待状态,无需更新优先级。
作为上述***的一种改进,广播模块包括:与路由端口个数相同的广播通道和一个广播主控逻辑单元,其中一个广播通道分别连接一个路由端口的广播输入接口和广播输出接口;
广播通道,用于当收到对应的广播输入接口输出的广播信息时,向广播主控逻辑单元提出广播申请;还用于接收到广播主控逻辑单元发送的其它广播通道的广播信息后,转发到对应的广播发送接口;
广播主控逻辑单元,用于当接收到一个广播通道的广播申请时,向其它广播通道广播该广播通道的广播信息;当出现了多个路由端口的广播申请同时到达的情况时,采用轮询的仲裁算法,对产生冲突的广播申请进行仲裁,同时对被延迟广播的广播信息写入延迟标志。
本发明的优势在于:
1、在本发明的路由IP中,路由可以实时地进行路由配置和虚拟网络配置,实时地反馈网络状态,以便上层管理进行网络调控和监管;
2、在本发明的路由IP中,各路输入虚拟通道中的数据包头地址被解析后,能够自动地根据所属的虚拟网络号VN向该目的端口的同一虚拟网络中的输出虚拟通道发送发数申请;各路输出虚拟通道接收到来自各路输入虚拟通道的发数申请后,能够自动地屏蔽掉不属于同一虚拟网络的发数申请;
3、在本发明的路由IP中,路由中某个虚拟网络出现发送冲突时,可以根据数据源的优先级,按照动态优先级轮询仲裁算法对数据申请冲突进行仲裁授权,保证了重要数据发送的优先性;
4、在本发明的路由IP中,路由广播出现广播冲突时,能够按照轮询仲裁的算法对广播进行轮询仲裁,并对等待的广播信息进行延迟标记;
5、在本发明的路由IP中,当路由端口需要增加时,通过增加输入识别模块、输出仲裁模块和互联信号,并对信号稍作修改即可实现,能够适用于不同数据传输的应用场景。
附图说明
图1为本发明的八个端口的SpaceFibre路由IP的结构图;
图2为本发明的管理端口模块的结构图;
图3为本发明的路由端口的结构图;
图4为本发明的输入识别子模块的结构图;
图5为本发明的输出仲裁子模块的结构图;
图6为本发明的动态优先级仲裁算法的流程图;
图7为完全无阻塞得交叉矩阵的示意图;
图8为本发明的广播控制模块的示意图;
图9为本发明的广播控制接口的示意图。
具体实施方式
下面结合附图对本发明的技术方案进行详细说明。
本发明设计了一种多端口的SpaceFibre路由IP,该路由IP实现了一个管理端口和8个数据端口(在本实施例中为8个端口,但不限定端口的个数)的路由,其中每个数据端口为一个完整的SpaceFibre节点。路由支持虚拟网络配置;支持路由表配置;支持基于完全无阻塞交叉结构的多路数据交换;支持基于发送冲突的动态优先级仲裁算法;支持基于轮询机制的广播通道的信息广播;实时配置各路由接口的配置参数;实时地反馈各路由端口的状态;支持数据端口的QoS传输服务和FDIR错误重传服务。该路由IP能够作为SpaceFibre组网中的路由节点,实现对数据的交换传输。
如图1所示,该路由IP实现了数据的交换和信息的广播,包括管理端口模块、多个路由端口、路由交换模块以及广播控制模块。其中管理模块包括寄存器配置子模块和状态反馈子模块,路由交换模块包括输入识别子模块、输出仲裁子模块和全连接的交换矩阵。
如图2所示,管理端口模块由命令配置子模块和状态反馈子模块组成。
路由中的配置参数信息主要分为两大类:路由的配置信息和各个路由端口的配置信息。路由的配置信息包括路由表、虚拟网络表、优先级表以及当前时间片;各个路由端口的配置信息即为SpaceFire节点所需的各类配置信息(如QoS参数等)。
路由的状态信息也分为两大类:路由的运行状态反馈和各个端口的运行状态反馈。路由的运行状态反馈包括数据包超时状态、广播超时状态等;各个路由端口的运行状态主要为SpaceFibre节点管理层的状态反馈信息(如各个虚拟通道的状态等)。
由于SpaceFibre路由涉及到的各类参数比较多,所以在命令配置和状态反馈的时候,加入了FIFO缓存。当配置命令到来时,先被缓存到命令配置缓存中,当命令配置缓存中一有数就会被读取出来,根据对应的偏移地址被分发到各处。当对应的状态发生改变时,状态反馈模块会根据状态寄存器各自的偏移地址加上状态变化,按照状态格式写入状态反馈缓存,以提供给上层监督网络运行状态。
如图4所示,一个路由端口为一个SpaceFibre节点,由实验室的SpaceFibre IP核实现。一个路由端口实现了SpaceFibre网络协议栈中的数据链路层、通道层、物理层以及管理层的功能,支持4路虚拟通道,支持广播通道,支持QoS调度服务,支持基于FDIR功能的错误恢复功能,实现了SpaceFibre的链路传输服务。
路由端口是完成数据转发的重要模块。路由端口的输入虚拟通道(Iutput VC,简记为VCI)接收到数据后,当接收的数据为包尾或者数据量大于64个数据字时数据有效,通知路由交换模块的输入识别子模块数据包已经到达,以便进行数据转发。当路由交换仲裁结束后,选择被授权的数据通道向端口的输出虚拟通道(Output VC,简记为VCO)写入数据,则数据在路由中完成交换,并成功转发。
路由端口同时实现了广播信息的广播。当路由端口收到广播信息后,会把广播信息写入对应的广播通道,并通过广播主控逻辑发送出去;当路由中的广播主控模块把广播信息广播到对应的广播通道后,广播通道会把广播信息广播到各自对应的路由端口。
如图5所示,路由交换模块是路由IP的核心功能模块,包括输入识别子模块、输出仲裁子模块以及完全无阻塞交叉矩阵,主要实现了数据的交换。
虚拟网络是SpaceFibre协议中一个重要的概念,数据的传输都是基于虚拟网络。SpaceFibre协议中规定:每个端口的各个虚拟通道都可以被分配一个虚拟网络号VN,相同虚拟网络上的虚拟通道之间才可以进行数据交互,并且同一个虚拟网络能且仅能连接到路由端口的一个虚拟通道。因此需要对路由端口的各个虚拟通道分配一个虚拟网络号,数据在相应的虚拟网络上传输,不同虚拟网络之间的数据无交叉。为了便于描述虚拟网络,提出一个“虚拟节点”的概念,一个虚拟网络中的各个虚拟节点即为该虚拟网络中对应端口的虚拟通道。
输入识别子模块主要实现了对数据包包头中目的地址的解析,以及向对应的目的端口建立发数通路的功能;输出仲裁子模块主要实现了对各路发数申请进行虚拟网络号确认和基于发送冲突的动态优先级轮询仲裁的功能,对符合条件的发数申请进行授权,建立发数通路;完全无阻塞的交叉矩阵模块主要实现了各路申请的交叉连接。
输入识别子模块和路由端口的输入虚拟通道相连(Iutput VC,简记为VCI),如图4所示。当路由端口收到有效数据时,首先对包头的地址进行地址解析:如果是路径路由地址,则直接向对应的端口发起申请;如果是逻辑路由地址,则需要从路由表中读出地址对应的端口,然后再向该端口发起申请req。在提出申请时,根据本虚拟通道所属的虚拟网络号VN,向目的端口中属于相同虚拟网络中的输出虚拟通道提出发数申请。数据的发送采用“申请—授权”的连接形式,提出数据发送申请后,当对应的输出仲裁模块通过授权指示grant信号给出授权,数据传输的通路建立连接。
输出仲裁子模块和路由端口的输出虚拟通道(Output VC,简记为VCO)相连,如图5所示。输出仲裁子模块收到来自输入识别模块中的申请,会判断该申请是否属于同一虚拟网络:若属于同一虚拟网络,则申请有效,则向对应的输入识别模块发送授权信号grant;否则不属于同一虚拟网络的申请被忽略,不会建立数据通路连接。当虚拟网络中有多个输入识别子模块向该输出仲裁子模块提出申请时,采用基于阻塞机制的动态优先级轮询仲裁算法,对申请进行仲裁。当收到输入识别子模块的仲裁确认后,数据通路连接成功,输出仲裁子模块选择被授权的数据通路中的数据,写入端口中的输出虚拟通道发送出去。
在同一个虚拟网络中,可能会由于某个数据通路的传输一直被占用产生发送冲突,导致其他数据通路的数据被阻塞,为了避免这种情况实现公平的数据传输,设计了一种基于发送冲突的动态优先级轮询仲裁算法。各端口的虚拟通道除了分配一个虚拟网络号之外,还会按照对应的网络号被分配一个初始化的优先级。每个输出虚拟通道对应的输出仲裁模块中都设有两个标识,当收到相同虚拟网络中的两个以上的发数申请时,more_flag有效;当收到相同虚拟网络中的一个发数申请时,one_flag有效。如图6所示,该动态优先级仲裁算法如下所述:
(1)各个路由端口的虚拟通道均被分配一个初始化的优先级P,即每个虚拟节点都有一个初始化的优先级,并处于空闲等待状态(Wait);
(2)当虚拟网络中的一个虚拟节点的输出仲裁模块收到发数申请时,若仅有一个申请,one_flag有效,则进入发数状态(Send)发送数据;若有两个及以上的申请时,more_flag有效,即同一虚拟网络中数据发送产生冲突,则进入优先级判别状态(Compare);
(3)在优先级判别状态(Compare)中,比较申请所对应的虚拟节点的优先级,并选择优先级高的那个申请建立数据发送通路,并进入到发数状态(Send);若申请所对应的虚拟节点的优先级相同,则按照默认的轮询顺序授权,并进入到发数状态进行数据发送(Send);当各路申请的优先级都降低为0时,对各路申请重置初始化优先级,各虚拟节点回到初始化优先级;
(4)在发数状态,若more_flag有效,说明数据发送冲突且需要按照动态优先级轮询算法进行仲裁,则建立起数据通路的发送方虚拟节点每发送完一包数据,其对应的初始化优先级更新P=P-1,并进入优先级判别状态(Compare)重新对申请仲裁并授权;若one_flag有效,说明数据发送无冲突,数据发完进入空闲等待状态(Wait);
完全无阻塞的交叉矩阵主要实现了各路输入识别子模块的申请、输出仲裁子模块的授权、以及各路输入识别子模块的授权确认等信号之间的完全无阻塞的交叉互联。交叉矩阵的逻辑互联结构如图7所示,行代表输入端口,列代表输出端口,(i,j)为一对输入-输出对,当(i,j)有连接申请时,矩阵节点从“cross”状态变为“bar”的状态,那么数据通路建立。并且(i,j)之间的连接建立不影响其他数据端口之间的连接互联和数据通路建立,实现了输入和输出的完全无阻塞交叉互联。
广播模块实现了路由的广播功能,广播模块的结构如图8所示。广播信息可以自定义,可以广播时间码、事件信息等其他重要信息。
如图9所示,路由中,每个路由端口的广播接口都对应一个广播通道。当收到端口的广播信息时,先接收到对应的广播通道中,然后向广播主控逻辑提出广播申请,并向除了收到广播的广播通道以外的其他广播通道进行广播。当广播主控逻辑发出广播时,广播通道接收到广播信息后,会发送到对应端口的广播接收接口。
若此时出现了多个端口的广播同时到达的情况,采用轮询的仲裁算法,对产生冲突的广播信息进行仲裁。同时对被延迟广播的广播信息写入延迟标志。
最后所应说明的是,以上实施例仅用以说明本发明的技术方案而非限制。尽管参照实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,对本发明的技术方案进行修改或者等同替换,都不脱离本发明技术方案的精神和范围,其均应涵盖在本发明的权利要求范围当中。
Claims (3)
1.一种多端口的SpaceFibre路由IP,用于实现数据的交换和信息的广播,其特征在于,所述路由IP包括管理端口模块、多个路由端口、路由交换模块以及广播模块;
所述管理端口模块,用于实时地配置路由参数和反馈路由状态;
一个路由端口为一个SpaceFibre节点,实现了SpaceFibre网络协议栈中的数据链路层、通道层、物理层以及管理层的功能,支持4路虚拟通道,支持广播通道,支持QoS调度服务,支持基于FDIR功能的错误恢复功能,实现了SpaceFibre的链路传输服务;
所述路由交换模块,用于实现路由IP的数据转发;
所述广播模块,用于实现路由IP的广播功能;
一个路由端口包括多个输入虚拟通道、多个输出虚拟通道、一个广播输入接口和一个广播输出接口;
多个输入虚拟通道,用于当接收的数据为包尾时或者数据量大于64个数据字时,通知路由交换模块数据包已经到达;
多个输出虚拟通道,用于将来自路由交换模块的数据发送出去;
广播输入接口,用于将本路由端口接收到的广播信息转发至广播模块;
广播输出接口,用于接收广播模块发出的其它路由端口的广播信息;
所述路由交换模块包括多个输入识别子模块、多个输出仲裁子模块以及完全无阻塞交叉矩阵;一个输入识别子模块对应一个路由端口的一个输入虚拟通道,一个输出仲裁子模块对应一个路由端口的一个输出虚拟通道;
输入识别子模块,用于读入输入虚拟通道的数据包,对数据包包头中目的地址进行解析,根据目的地址向对应的目的端口提出发送申请;
输出仲裁子模块,用于对各路发数申请进行虚拟网络号确认和基于动态优先级轮询仲裁的功能,对符合条件的发数申请进行授权,并建立发数通路;
完全无阻塞的交叉矩阵,用于实现了各路输入识别子模块的申请、输出仲裁子模块的授权、以及各路输入识别子模块的授权确认信号之间的完全无阻塞的交叉互联;
所述输入识别子模块包括:地址解析单元和申请控制单元;
所述地址解析单元,用于对接收到的有效数据的包头的地址进行地址解析;
所述申请控制单元,用于当地址为路径路由地址,则直接向对应的端口发起申请;当地址为逻辑路由地址,则从路由表中读出地址对应的端口,然后再向该端口发起申请req;在提出申请时,根据本虚拟通道所属的虚拟网络号VN,向目的端口中属于相同虚拟网络中的输出虚拟通道提出发数申请;数据的发送采用“申请—授权”的连接形式,提出数据发送申请后,当对应的输出仲裁子模块通过授权指示grant信号给出授权,则数据传输的通路建立连接;
所述输出仲裁子模块包括:申请仲裁单元和数据输出单元;
所述申请仲裁单元,用于收到来自对应的输入识别子模块中的申时请,判断该申请是否属于同一虚拟网络:若属于同一虚拟网络,则申请有效,则向对应的子输入识别模块发送授权信号grant;否则不属于同一虚拟网络的申请被忽略,不会建立数据通路连接;当虚拟网络中有多个输入识别子模块向输出仲裁子模块提出申请时,采用基于阻塞机制的动态优先级轮询仲裁算法,对申请进行仲裁;授权信号有效后,数据通路连接成功;
所述数据输出单元,用于将输出仲裁子模块选择被授权的数据通路中的数据,写入对应路由端口中的输出虚拟通道并发送出去;
所述输出仲裁子模块实现动态优先级轮询仲裁算法;每个输出虚拟通道对应的输出仲裁子模块中设有两个标识:当收到相同虚拟网络中的一个发数申请时,one_flag标识有效,可以直接进行授权;当收到相同虚拟网络中的两个以上的不同优先级发数申请时,more_flag标识有效,此时按照动态优先级轮询仲裁算法对发数申请进行授权;具体包括:
步骤S1)各个路由端口的输出虚拟通道已被分配一个初始化的优先级P,并处于空闲等待状态;
步骤S2)当虚拟网络中的一个虚拟节点的输出仲裁子模块收到发数申请时,若仅有一个申请,则进入到发数状态发送数据,转入步骤S4);若有两个及以上的申请时,即同一虚拟网络中数据发送产生冲突,则进入步骤S3);
步骤S3)在判别状态中,比较申请所对应的虚拟节点的优先级,并选择优先级最高的申请进行授权,然后进入发数状态发送数据,转入步骤S4);若申请所对应的虚拟节点的优先级相同,则按照默认的基础轮询顺序授权,并进入发数状态发数,转入步骤S4);当各路申请的优先级都降低为0时,对各路申请重置初始化优先级,各虚拟节点回到初始化优先级;
步骤S4)在端口发数状态,若more_flag有效,说明数据发送冲突且已按照动态优先级轮询算法进行仲裁,则建立起数据通路的发送方虚拟节点每发送完一包数据,其对应的初始化优先级更新为P=P-1,并返回到空闲等待状态,转入步骤S1);若one_flag有效,说明仅有一个发送申请且无冲突,则数据发送结束返回到空闲等待状态,无需更新优先级。
2.根据权利要求1所述的多端口的SpaceFibre路由IP,其特征在于,所述管理端口模块包括:命令配置缓存、配置控制单元、状态控制单元和状态反馈缓存;
所述命令配置缓存,用于存储配置命令参数;该参数包括:路由的配置信息和各个路由端口的配置信息;路由的配置信息包括路由表、虚拟网络表、优先级表以及当前时间片;各个路由端口的配置信息包括SpaceFire节点所需的各类配置信息;
所述配置控制单元,用于当命令配置缓存中存有数据,将命令配置缓存的数据读取出来,根据对应的偏移地址分发到寄存器;
所述状态控制单元,用于当对应的状态发生改变时,根据状态寄存器各自的偏移地址加上状态变化,按照状态格式写入状态反馈缓存;
所述状态反馈缓存,用于存储路由的状态信息,包括:路由的运行状态反馈和各个端口的运行状态反馈;路由的运行状态反馈包括数据包超时状态和广播超时状态;各个路由端口的运行状态包括SpaceFibre节点管理层的状态反馈信息。
3.根据权利要求1所述的多端口的SpaceFibre路由IP,其特征在于,广播模块包括:与路由端口个数相同的广播通道和一个广播主控逻辑单元,其中一个广播通道分别连接一个路由端口的广播输入接口和广播输出接口;
广播通道,用于当收到对应的广播输入接口输出的广播信息时,向广播主控逻辑单元提出广播申请;还用于接收到广播主控逻辑单元发送的其它广播通道的广播信息后,转发到对应的广播发送接口;
广播主控逻辑单元,用于当接收到一个广播通道的广播申请时,向其它广播通道广播该广播通道的广播信息;当出现了多个路由端口的广播申请同时到达的情况时,采用轮询的仲裁算法,对产生冲突的广播申请进行仲裁,同时对被延迟广播的广播信息写入延迟标志。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011103562.0A CN112383474B (zh) | 2020-10-15 | 2020-10-15 | 一种多端口的SpaceFibre路由IP |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011103562.0A CN112383474B (zh) | 2020-10-15 | 2020-10-15 | 一种多端口的SpaceFibre路由IP |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112383474A CN112383474A (zh) | 2021-02-19 |
CN112383474B true CN112383474B (zh) | 2022-11-01 |
Family
ID=74581538
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011103562.0A Active CN112383474B (zh) | 2020-10-15 | 2020-10-15 | 一种多端口的SpaceFibre路由IP |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112383474B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113490293B (zh) * | 2021-06-13 | 2022-04-12 | 复旦大学 | 一种双层自适应重配置环簇片上网络硬件结构 |
CN114490456B (zh) * | 2021-12-28 | 2024-06-04 | 海光信息技术股份有限公司 | 电路模块、信用控制方法、集成电路和存储介质 |
CN116192353B (zh) * | 2022-12-16 | 2023-10-13 | 中国科学院声学研究所 | 一种基于fpga的多路选择器同步工作***及方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4630258A (en) * | 1984-10-18 | 1986-12-16 | Hughes Aircraft Company | Packet switched multiport memory NXM switch node and processing method |
CN106603420A (zh) * | 2016-11-22 | 2017-04-26 | 北京控制工程研究所 | 一种具有实时和容错特性的片上网络路由器 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6393506B1 (en) * | 1999-06-15 | 2002-05-21 | National Semiconductor Corporation | Virtual channel bus and system architecture |
CN110474670B (zh) * | 2019-07-18 | 2021-06-08 | 中国科学院国家空间科学中心 | 一种基于FPGA的SpaceFibre星载网络服务质量控制*** |
CN111030747B (zh) * | 2019-11-22 | 2021-08-31 | 中国科学院国家空间科学中心 | 一种基于FPGA的SpaceFibre节点IP核 |
-
2020
- 2020-10-15 CN CN202011103562.0A patent/CN112383474B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4630258A (en) * | 1984-10-18 | 1986-12-16 | Hughes Aircraft Company | Packet switched multiport memory NXM switch node and processing method |
CN106603420A (zh) * | 2016-11-22 | 2017-04-26 | 北京控制工程研究所 | 一种具有实时和容错特性的片上网络路由器 |
Also Published As
Publication number | Publication date |
---|---|
CN112383474A (zh) | 2021-02-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112383474B (zh) | 一种多端口的SpaceFibre路由IP | |
JP2923693B2 (ja) | 大容量atmスイッチ | |
US7173931B2 (en) | Scheduling the dispatch of cells in multistage switches | |
US7298739B1 (en) | System and method for communicating switch fabric control information | |
US5528584A (en) | High performance path allocation system and method with fairness insurance mechanism for a fiber optic switch | |
US5467347A (en) | Controlled access ATM switch | |
JP3459235B2 (ja) | パケット交換装置及び同制御方法 | |
US5418781A (en) | Architecture for maintaining the sequence of packet cells transmitted over a multicast, cell-switched network | |
US20020019904A1 (en) | Three-dimensional switch providing packet routing between multiple multimedia buses | |
JP3322195B2 (ja) | Lanスイッチ | |
NZ531266A (en) | Scalable switching system with intelligent control | |
US5768270A (en) | ATM switch using synchronous switching by groups of lines | |
JP3181526B2 (ja) | 非同期転送モード交換システムのスイッチング装置及びスイッチング方法 | |
US6570845B1 (en) | Switching system including a mask mechanism for altering the internal routing process | |
US5742597A (en) | Method and device for multipoint switching and arbitration in output-request packet switch | |
CN112073336A (zh) | 基于AXI4 Stream接口协议的高性能数据交换***及方法 | |
US7103056B2 (en) | Scheduling the dispatch of cells in multistage switches using a hierarchical arbitration scheme for matching non-empty virtual output queues of a module with outgoing links of the module | |
US7130301B2 (en) | Self-route expandable multi-memory packet switch with distributed scheduling means | |
CN114257557B (zh) | 一种数据分组交换***和方法 | |
US6643294B1 (en) | Distributed control merged buffer ATM switch | |
CN109379304B (zh) | 一种用于降低低优先级包延迟的公平调度方法 | |
US6819675B2 (en) | Self-route multi-memory expandable packet switch with overflow processing means | |
US7254139B2 (en) | Data transmission system with multi-memory packet switch | |
JP3645733B2 (ja) | ネットワーク中継装置及びネットワーク中継方法 | |
US7142515B2 (en) | Expandable self-route multi-memory packet switch with a configurable multicast mechanism |
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 |