CN110460545B - 一种面向片上网络的阻塞疏导型的不定数据包长路由器的设计方法 - Google Patents
一种面向片上网络的阻塞疏导型的不定数据包长路由器的设计方法 Download PDFInfo
- Publication number
- CN110460545B CN110460545B CN201910753339.1A CN201910753339A CN110460545B CN 110460545 B CN110460545 B CN 110460545B CN 201910753339 A CN201910753339 A CN 201910753339A CN 110460545 B CN110460545 B CN 110460545B
- Authority
- CN
- China
- Prior art keywords
- router
- packet
- data
- read
- fifo
- 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
- H04L49/00—Packet switching elements
- H04L49/10—Packet switching elements characterised by the switching fabric construction
- H04L49/109—Integrated on microchip, e.g. switch-on-chip
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/25—Routing or path finding in a switch fabric
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/25—Routing or path finding in a switch fabric
- H04L49/253—Routing or path finding in a switch fabric using establishment or release of connections between ports
- H04L49/254—Centralised controller, i.e. arbitration or scheduling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/30—Peripheral units, e.g. input or output ports
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/60—Software-defined switches
- H04L49/608—ATM switches adapted to switch variable length packets, e.g. IP packets
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种面向片上网络的阻塞疏导型的不定数据包长路由器的设计方法,所述设计方法包括以下内容:设计路由器微架构;在微架构的基础上设计路由器的工作时序;对路由器进行冲突仲裁设计保证数据包高效稳定的传输;对传递不定包长的数据进行不定包长控制设计。充分考虑到传输数据的不定长性,以及网络阻塞时某些路由器处于阻塞状态而其他路由器处于空闲状态的情况,从微架构设计、工作时序设计、冲突仲裁设计和不定包长控制器设计四个方面对路由器微架构进行优化,有效提高了传输网络中路由器的通信性能和缓解了传输过程中阻塞的发生,并且能够不丢包地传输数据包。
Description
技术领域
本发明涉及一种路由器的设计方法,尤其涉及一种适用于不定长数据包的传输和疏导的路由器的设计方法。
背景技术
路由器(Router),是连接Internet中各局域网的设备,会根据网络需求来选择最佳顺序和路径发送信号,它的功能非常强大,起着Internet中数据传输和网络连接桥梁的作用,是宏观计算机网络中不可或缺的一个关键部分。基于路由器在IP网中的重要地位,它愈发受到了广大学者们的重视,其内部架构的设计和优化也被广泛的研究。
片上网络(Network on Chip, NoC)是片上系统(System on Chip,SoC)的一种通信方法。NoC是通过在微处理器等芯片上集成计算资源以及其链接通信网络来完成通信任务。片上网络的通信子系统由接口,链路以及路由器构成。接口进行数据格式的转换,链路实现在路由器之间以数据包的形式传输数据,路由器则用于数据包分配。NoC使用路由和分组交换代替传统的总线方法,从而实现各模块之间的高速通信。
路由器(Router)是一种用于连接多个逻辑上分开的网络的网络互联设备。路由器的功能主要是连接作用和信息传输。路由器能对网络中的数据包进行“翻译”使其能够被不同的网络接收,从而达到网络之间的连接作用。当数据在不同网络之间传输时,路由器会根据各个信道的情况选择和设定路由,实现以最佳路径传输信号。路由器是互联网络的枢纽,引导数据包信号在网络之间传输。
在经典的片上网络系统中,路由通过其传输通道传送数据的过程大概分为四个阶段,即Routing Calculation (RC) ,Switch Allocation (SA) ,Switch Transfer (ST)和Link Transfer (LT)。Routing Calculation(RC)即路由计算。每个路由器内部都有具MAC表,记录着该路由器所掌握的全部目的地的地址。因此,RC即代表着路由器可以选择出一个对于系统来讲最佳的传输路径,提高速度,减少开销。Switch Allocation (SA)即交换机分配。此处的交换机分配类似于仲裁。在多个数据同时传入Router时,它可根据决定传入的数据哪个优先通过。Switch Transfer (ST)即开关转换。决定了优先权之后,十字开关就将数据从输入端传送到了相应的输出端寄存器内。Link Transfer (LT)即链路传输。接着数据就从一个Router中传输到链路中,逐步送往目的地。交换机在端口上接受计算机发送过来的数据帧,根据帧头的目的MAC地址查找MAC地址表,然后将该数据帧从对应端口上转发出去,在链路中进行传输,将数据传输到目的网络,从而实现了数据的交换。
当下的NoC被应用在数据采集背景中时,双入口单出口的路由器是应用最广泛的。这种路由器由六个部分组成,它们分别是:常规通道FIFO,紧急通道FIFO,路由器输出控制器,路由器输入控制器,以及一个输出端口和两个输入端口。对于绝大多数的数据采集工作,上面所介绍的双入口路由器都能较好的完成数据采集任务。但是包含这种路由的片上网络也还是有较为明显的缺点。经测量观察和分析之后可以发现,该路由在数据传输时会出现汇聚效应,使得较为上层的路由器会承担较大的数据量,从而导致整个网络的易阻塞性增加。在数据量比较大的情况下,可能会导致整个网络陷入瘫痪。与此同时,整个网络的数据吞吐量也会受限于最上层路由器的数据传输速率。这种路由器还有一个不足之处,就是其只能适用于固定两包长的数据包传输。基于以上情况,我们在双入口路由器的基础上,设计出了一种新型路由器,来解决上述问题,优化网络性能,并且使其能传输不定包长的数据包。
发明内容
本发明的目的在于克服现有技术的不足,提供一种面向片上网络的阻塞疏导型的不定数据包长路由器的设计方法,它能完成不定长数据包的传输和疏导,能够将不定长数据包从下层路由器运送到上层路由器或者同层的其他路由器,起到不定长数据包的传输和疏导的功能
本发明的目的是通过以下技术方案来实现的:一种面向片上网络的阻塞疏导型的不定数据包长路由器的设计方法,所述设计方法包括以下内容:
设计路由器微架构;
在微架构的基础上设计路由器的工作时序;
对路由器进行冲突仲裁设计保证数据包高效稳定的传输;
对传递不定包长的数据进行不定包长控制设计。
所述设计路由器微架构包括以下步骤:
将路由器分为紧急数据通道和常规数据通道,判断紧急数据通道和常规数据通道堵塞的可能性,只在堵塞可能性大的数据通道设计旁路寄存器;
确定路由器的入口数和出口数;
通过两类旁路FIFO以防止产生死锁现象;
根据路由器的功能确定各个FIFO的读写控制器功能。
所述在微架构的基础上设计路由器的工作时序包括以下步骤:
当路由器堵塞时的旁路读出时序为从下层路由器发来的数据发往同层路由器,并让每个包依次读入旁路输出FIFO,之后依次读出旁路输出FIFO;
当路由器堵塞时的旁路读入时序为从其他的同层路由器发来的数据发往上层路由器,并让每个包依次读入旁路输入FIFO,之后依次读出旁路输入FIFO。
所述对路由器进行冲突仲裁设计保证数据包高效稳定的传输包括以下步骤:
输入端口仲裁:当两个下层路由器都请求对此路由器写入数据包时,路由器的输入口的写入顺序进行仲裁;
写入FIFO仲裁:当路由器从下层路由器读取一个数据包时,对可选择被写入的FIFO进行仲裁;
读写旁路FIFO仲裁:当要从旁路输出FIFO中读出数据到同层路由器时,对读出的端口进行仲裁;以及当旁路输入FIFO要从同层路由器读入数据包时,对读入的端口进行仲裁;
读取FIFO仲裁:当路由器要读取数据包时,对可选择读取的FIFO进行仲裁。
所述对传递不定包长的数据进行不定包长控制设计包括以下步骤:
确定数据包打包格式:确定头包中包含的包长信息和接口地址,体包中包含采集的数据,以及尾包中包含采集数据所对应的时刻;
确定传输完整性:确定数据包写入和读出路由器的完整性。
所述确定数据包写入和读出路由器的完整性包括以下内容:
通过写包计数器和包长寄存器以确定数据包写入路由器的完整性;
通过读出路由器和写入路由器的动作绝对一致性以确定数据包读出路由器的完整性。
本发明的有益效果是:一种面向片上网络的阻塞疏导型的不定数据包长路由器的设计方法,充分考虑到传输数据的不定长性,以及网络阻塞时某些路由器处于阻塞状态而其他路由器处于空闲状态的情况,从微架构设计、工作时序设计、冲突仲裁设计和不定包长控制器设计四个方面对路由器微架构进行优化,有效提高了传输网络中路由器的通信性能和缓解了传输过程中阻塞的发生,并且能够不丢包地传输数据包。
附图说明
图1为实施例中拓扑结构的示意图;
图2为本发明方法的流程图;
图3为经典路由器微架构的示意图;
图4为本发明的路由器微架构的示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
在本发明的描述中,需要说明的是,术语“上”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,或者是该发明产品使用时惯常摆放的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
在本发明的描述中,还需要说明的是,除非另有明确的规定和限定,术语“设置”、“安装”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
下面结合附图进一步详细描述本发明的技术方案,但本发明的保护范围不局限于以下所述。
在NoC中,路由器是构成片上网络的关键结构。路由器在片上网络中,起到运输数据包和路由的作用。路由器性能和功能会决定整个网络的性能和功能。本专利提出了一种新型路由器,能完成不定长数据包的传输和疏导。这种新型路由器能够将数据包从下层路由器运送到上层路由器或者同层的其他路由器。经研究,这种路由器能充当类似于图1拓扑的网络中的骨干节点路由器。能够完成骨干节点路由器所要求的数据包的传输和疏导的功能。
本发明的目的是通过以下技术方案来实现的:一种面向片上网络的阻塞疏导型的不定数据包长路由器。总体设计如下:
如图2所示,一种面向片上网络的阻塞疏导型的不定数据包长路由器的设计方法,所述设计方法包括以下内容:
S1、设计路由器微架构;
进一步地,设计的路由器微架构满足既能往上层路由器传输数据包,又能往同层的其他路由器疏导数据包。由于微架构的设计涉及到往同层路由器读写数据包的问题,要避免发生死锁。
S2、在微架构的基础上设计路由器的工作时序;
进一步地,在微架构的基础上,设计路由器的工作时序,使路由器满足其应有的功能。同时,在这个前提之下,尽量减少传输所需要的时间,提高路由器的工作效率。
S3、对路由器进行冲突仲裁设计保证数据包高效稳定的传输;
进一步地,合理设计路由器的仲裁,使得路由器传输数据包公平高效、不丢包、少堵塞。
S4、对传递不定包长的数据进行不定包长控制设计。
进一步地,路由器需要传递不定包长的数据,因此对控制器的设计提出了更高要求。
所述设计路由器微架构包括以下步骤:
S11、将路由器分为紧急数据通道和常规数据通道,判断紧急数据通道和常规数据通道堵塞的可能性,只在堵塞可能性大的数据通道设计旁路寄存器;
进一步地,本路由器设计两种数据通道,一种是紧急数据通道,另一种是常规数据通道。两种通道分别有以下这些特点:常规数据通道数据包的量大、包长不定以及对及时性的要求不太高;紧急数据通道数据包的量少、包长固定、发生频率低以及对及时性要求高。根据数据通道的特点分析,判断出:紧急通道堵塞的可能性较小,常规通道堵塞的可能性较大。因此当路由器堵塞的时候,紧急通道数据包不需要疏导到同层路由器,而常规通道数据包需要疏导到同层路由器。故,只有常规数据能经过旁路寄存器。这样就能在保证了较高传输速率和较低堵塞可能性的前提下,尽量减少寄存器的数量。
S12、确定路由器的入口数和出口数;
进一步地,如图3所示,经典路由器的微架构可以暗示出一个经典片上网络采集系统的结构。有两个接口和下层路由器相连,有一个接口和上层路由器相连。当数据不需要进行疏通的时候,这样的两入一出的路由器就能满足数据包传输的要求。但当数据需要向同层路由器进行疏导时,就需要旁路输入输出口了。
因此,本发明的路由器的出口和入口设定为:
(1)两个和下层路由器相连的数据包入口;
(2)两个和不同两个同层路由器相连的数据包出口;
(3)两个和不同两个同层路由器相连的数据包入口;
(4)一个和上层路由器相连的数据包出口。
S13、通过两类旁路FIFO以防止产生死锁现象;
进一步地,如图4所示,死锁现象是当网络中有环路时,数据包一直在这个环路中绕圈,从而无法从环路中出去的一种现象。由于和同层路由器进行通信很容易产生死锁现象,这里要专门针对死锁现象进行设计。为了避免死锁现象的发生,本设计通过采用了两类FIFO来保证。一个是旁路输出FIFO(FIFO①),另一个是旁路输入FIFO(FIFO②)。旁路输出FIFO只能从下层路由器中读取数据包。同时,旁路输出FIFO只能向同层路由器的旁路输入FIFO写入数据包。旁路输入FIFO只能向上层的路由器写数据包。如此设计就能避免形成一个环,有效避免死锁现象的发生。
S14、根据路由器的功能确定各个FIFO的读写控制器功能。
因此,本发明的微架构如图4所示,包括4个FIFO,一个路由器输入控制器,一个旁路输入控制器,一个旁路输出控制器,一个路由器输出控制器。
4个FIFO分为常规通道FIFO、紧急通道FIFO、旁路输出FIFO以及旁路输入FIFO。常规通道FIFO用于缓存从下层路由器向上层路由器传输的常规数据。紧急通道FIFO用于缓存从下层路由器向上层路由器传输的紧急数据。旁路输出FIFO用于缓存从下层路由器向同层路由器传输的常规数据。旁路输入FIFO用于缓存从同层路由器向上层层路由器传输的常规数据。
路由器输入控制器负责控制哪个下层端口往哪个FIFO里写数据包。路由器输出控制器负责控制哪个FIFO能向上层路由器写数据包。旁路输出控制器负责控制旁路输出FIFO往哪个旁路输出端口写出数据。旁路输入控制器控制哪个旁路输入端口能往旁路输入FIFO中写数据。
所述在微架构的基础上设计路由器的工作时序包括以下步骤:
路由器未堵塞时的时序设计:当路由器未堵塞的时候,路由器的时序应该和经典的两入一出路由器相似;
进一步地,由于这个路由器有疏导数据包到同层路由器的功能,而只有在堵塞情况下才需要疏导数据包,因此将传输数据情况分为路由器堵塞与非堵塞来讨论。经过实验,认定当常规通道FIFO内已缓存四分之三的数据的时候,路由器进入堵塞状态。
进一步地,路由器未堵塞时的时序设计:当路由器未堵塞且同层路由器不需要送包进入此路由器时,此路由器的时序就是一般的时序。此处假设写入的数据包结构是:1个头包+N个体包+1个尾包(如下文无特殊说明,默认传输的数据包为此格式)。在第一个时钟周期内,先判断写入下层的两个路由器中哪个路由器的头包,然后判断写入到路由器中的哪个FIFO,再往此FIFO中写入数据包的头包;在下一个时钟周期中,往和前面相同的FIFO中写入第一个体包,并将头包读出至上层路由器;再下一个时钟周期中,往FIFO中写入第二个体包,并将第一个体包读出到上层路由器;……再下一个时钟周期中,往FIFO中写入尾包,并将第N个体包读出;在最后的时钟周期中,读出尾包。这就是写入一个不定长数据包的全过程,总共需要花费N+3个时钟周期。
S21、当路由器堵塞时的旁路读出时序为从下层路由器发来的数据发往同层路由器,并让每个包依次读入旁路输出FIFO,之后依次读出旁路输出FIFO;
进一步地,路由器堵塞时的旁路读出时序设计:当路由器堵塞且同层路由器不需要送包进入此路由器时,时序会发生改变。在第一个时钟周期内,先判断下层的两个路由器哪个的头包能够写入到旁路输出FIFO中去,然后往旁路输出FIFO中写入数据包的头包;在下一个时钟周期中,往旁路输出FIFO中写入第一个体包,并将头包读出到同层的路由器;再下一个时钟周期中,往旁路输出FIFO中写入第二个体包,并将第一个体包读出到同层路由器;……再下一个时钟周期中,往FIFO中写入尾包,并将第N个体包读出;在最后的时钟周期中,读出尾包。这一过程总共需要花费N+3个时钟周期。
S22、当路由器堵塞时的旁路读入时序为从其他的同层路由器发来的数据发往上层路由器,并让每个包依次读入旁路输入FIFO,之后依次读出旁路输入FIFO。
进一步地,旁路输入的时序设计:当路由器未堵塞且同层路由器需要向此路由器疏通包时,路由器会较为优先地通过旁路的包。在第一个时钟周期内,先判断哪个旁路的头包能够写入到旁路输入FIFO中去,然后往旁路输入FIFO中写入数据包的头包;在下一个时钟周期中,写入第一个体包,并将头包读出到上层的路由器;再下一个时钟周期中,写入第二个体包,并将第一个体包读出到上层路由器;……再下一个时钟周期中,写入尾包,并将第N个体包读出;在最后的时钟周期中,读出尾包。这一过程总共需要花费N+3个时钟周期。
所述对路由器进行冲突仲裁设计保证数据包高效稳定的传输包括以下步骤:
S31、输入端口仲裁:当两个下层路由器都请求对此路由器写入数据包时,路由器的输入口的写入顺序进行仲裁;
进一步地,当两个下层路由器都请求对此路由器写入数据包时,路由器的输入口产生冲突,需要仲裁。此处采用乒乓式仲裁。举个例子,若此路由器当前读取了下层A路由器的包,那么下次就读取下层B路由器的包,再下次就读取下层A路由器的包,如此往复。这样就避免了工作过程中长时间只读取了一个下层路由器的包,而另一个下层路由器的包未被读取的问题,能够将网络数据包的分布变得平均起来。如此就能最大限度的保证公平仲裁。
S32、写入FIFO仲裁:当路由器从下层路由器读取一个数据包时,对可选择被写入的FIFO进行仲裁;
进一步地,当路由器从下层路由器读取了一个包之后,可选择被写入的FIFO有3个,分别是紧急通道FIFO、常规通道FIFO和旁路输出FIFO,如图4所示。此时需要分情况写包。
当读入的包是紧急数据包时,写入紧急通道FIFO;当读入的是常规数据包且此时路由器处于未堵塞的状态时,写入常规通道FIFO;当读入的是常规数据包且此时路由器处于堵塞状态且旁路输出FIFO未满时,写入旁路输出FIFO;当读入的是常规数据包且此时路由器处于堵塞状态且旁路输出FIFO已满时,写入常规通道FIFO。
此写包方式的优点是:
(1)在不需要通过旁路疏通时也能保留两入一出的路由器的基本功能和时序。
(2)能最大化利用路由器中FIFO的空间。在旁路输出FIFO满的情况下,重新将包写入常规通道FIFO。
(3)由于三个FIFO是并行的且没有结构冲突,在某些条件下,可以并行写入数据。因此能最大化利用硬件结构。
S33、读写旁路FIFO仲裁:当要从旁路输出FIFO中读出数据到同层路由器时,对读出的端口进行仲裁;以及当旁路输入FIFO要从同层路由器读入数据包时,对读入的端口进行仲裁;
进一步地,当要从旁路输出FIFO中读出数据到同层路由器时,有两个端口可以走。此时采用乒乓式读出。例如,若此路由器当前向同层A路由器写入了包,那么下次就向同层B路由器写入包,再下次就向同层A路由器写入包,如此往复。
当旁路输入FIFO要从同层路由器读入数据包时,有两个路由器可以读。此时采用乒乓式读写。举个例子,若此路由器当前读取了同层A路由器的包,那么下次就读取同层B路由器的包,再下次就读取同层A路由器的包,如此往复。
以上两种仲裁方式能够将网络数据包的分布变得平均起来,从而实现公平仲裁,避免局部堵塞的情况。
S34、读取FIFO仲裁:当路由器要读取数据包时,对可选择读取的FIFO进行仲裁。
进一步地,当路由器要读取数据包时,一共有3个FIFO可读取,分别是紧急通道FIFO、常规通道FIFO和旁路输入FIFO,如图3所示。初步安排如下:当紧急通道FIFO非空时,优先将紧急数据包读出;当紧急通道FIFO和旁路输入FIFO中都为空且常规通道FIFO非空时,读出常规通道中的数据包;当紧急通道FIFO空且此路由器堵塞且旁路输入FIFO非空时,优先读出旁路输入FIFO中的数据包。
但是,如果常规通道FIFO和旁路输入FIFO长时间同时有读请求,像以上安排决定仲裁得话,旁路输入FIFO就会一直读出,从而导致常规数据通道FIFO中的数据包无法读出的情况。因此,增加一个算法解决此问题:增加一个4位计数器,当旁路输入FIFO和常规通道FIFO都有读数据包请求时,计数器计数值+1。当计数值小于14时,优先将旁路输入FIFO的数据包读出;当计数值大于等于14时,优先读出常规通道FIFO中的数据包。这个算法实现了当旁路输入FIFO和常规通道FIFO都有读数据包请求时,每传14个旁路输入FIFO的数据包就传2个常规输入FIFO的数据包的功能,这样就避免发生旁路输入FIFO将常规通道FIFO堵死的情况。
综上,读FIFO仲裁能满足以下需求:一是在没有互联网络包写入时,也能保留两入一出的路由器的基本功能和时序;二是不让旁路传输的数据包过度影响常规通道上传输的数据包。
所述对传递不定包长的数据进行不定包长控制设计包括以下步骤:
S41、确定数据包打包格式:确定头包中包含的包长信息和接口地址,体包中包含采集的数据,以及尾包中包含采集数据所对应的时刻;
进一步地,在不定包长的网络传输中,实现不丢包地传输数据包是个重要的挑战。在本设计中,数据包分为三个种类,分别为头包、体包和尾包。传输数据过程中,路由器第一个接收到的数据包就是头包,因此头包需要包含很多重要的路由信息,比如这个数据包是由哪个接口(采集器)发来的。同时,传输的数据包是不定包长,因此路由器必须“知道”这整个数据包有多长,因此头包也必须包含有包的长度信息。所以,头包中必须包含接口地址信息以及包的长度信息。第二个进入路由器的是体包,体包就是用来存放想要传输的数据值的。第三个进入路由器的是尾包,尾包用来传递的是何时采集到数据的。
S42、确定传输完整性:确定数据包写入和读出路由器的完整性。
进一步地,当讨论到丢包是如何产生的时候,无非就是路由器之间的读写不同步造成的。路由器之间的读写不同步包含以下两种情况:下层路由器已经读出了数据包,上层路由器却没有写入这个包;上层路由器已经写入了数据包,而下层路由器还未读出这个包。根据以上两种情况,在传输不定长数据包的时候,可以把数据包的传输完整性分为两个部分:一是写入路由器的完整性,二是读出路由器的完整性。
所述确定数据包写入和读出路由器的完整性包括以下内容:
S421、通过写包计数器和包长寄存器以确定数据包写入路由器的完整性;
进一步地,在本发明中,是通过路由器的写FIFO控制器来控制路由器之间传输数据包的完整性的。写FIFO控制器不仅用来控制FIFO写入数据包,还会记录写到了多少个包。当路由器向FIFO中写入了头包之后,写包计数器就开始计数。在写入尾包之前,每写一个包,计数值就加一。通过写包计数器,控制器就能知道,FIFO在何时写入了多少个包。同时,在头包的信息中,包含了整个数据包的包长,控制器将其解包出来并缓存到一个包长寄存器中。借助包长寄存器及其存储的包长数值,当写包计数器数值等于包长寄存器数值时,控制器控制FIFO停止写包。同时,通过写包计数器和包长寄存器相配合,控制器也能对写入的包进行定位。在写包计数器和包长寄存器的帮助下,写FIFO控制器可以精准地在头包进入路由器的时候开始写入,在尾包进入路由器之后结束写入。这就有效防止了下层路由器已经读出包时,上层路由器没有写入这个包这一丢包情况的发生。
S422、通过读出路由器和写入路由器的动作绝对一致性以确定数据包读出路由器的完整性。
进一步地,读出路由器的完整性通过读出路由器和写入路由器的动作绝对一致性来保证。当上层的写入路由器想要写入时,下层的读出路由器必须要读出;当上层的写入路由器不想写入时,下层的读出路由器绝不能读出。保证两者之间的动作保持高度一致。当上层的写入路由器的完整性得到保证时,只要下层的读出路由器的动作与其一致,那么,下层路由器的写入完整性就能得到保证。就能够实现不定长的数据包在路由器之间传输的要求,不会产生丢包
以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (6)
1.一种面向片上网络的阻塞疏导型的不定数据包长路由器的设计方法,其特征在于:所述设计方法包括以下步骤:
设计路由器微架构,所述路由器设置有两个和下层路由器相连的输入端口、一个和上层路由器相连的输出端口、两个和同层其他路由器相连的输入的旁路端口及两个和同层其他路由器相连的输出的旁路端口;
在微架构的基础上设计路由器的工作时序;
对路由器进行冲突仲裁设计保证数据包高效稳定的传输;
对传递不定包长的数据进行不定包长控制设计。
2.根据权利要求1所述的一种面向片上网络的阻塞疏导型的不定数据包长路由器的设计方法,其特征在于:所述设计路由器微架构包括以下子步骤:
将路由器分为紧急数据通道和常规数据通道,所述紧急数据通道数据包的量少、包长固定、发生频率低以及对及时性要求高,所述常规数据通道数据包的量大、包长不定以及对及时性的要求不太高;判断紧急数据通道和常规数据通道堵塞的可能性,只在堵塞可能性大的数据通道设计旁路寄存器;
确定路由器的入口数和出口数;
通过两类旁路FIFO以防止产生死锁现象;
根据路由器的功能确定各个FIFO的读写控制器功能。
3.根据权利要求1所述的一种面向片上网络的阻塞疏导型的不定数据包长路由器的设计方法,其特征在于:所述在微架构的基础上设计路由器的工作时序包括以下子步骤:
当路由器堵塞时的旁路读出时序为从下层路由器发来的数据发往同层路由器,并让每个包依次读入旁路输出FIFO,之后依次读出旁路输出FIFO;
当路由器堵塞时的旁路读入时序为从其他的同层路由器发来的数据发往上层路由器,并让每个包依次读入旁路输入FIFO,之后依次读出旁路输入FIFO。
4.根据权利要求1所述的一种面向片上网络的阻塞疏导型的不定数据包长路由器的设计方法,其特征在于:所述对路由器进行冲突仲裁设计保证数据包高效稳定的传输包括以下子步骤:
输入端口仲裁:当两个下层路由器都请求对此路由器写入数据包时,路由器的输入口的写入顺序进行仲裁;
写入FIFO仲裁:当路由器从下层路由器读取一个数据包时,对可选择被写入的FIFO进行仲裁;
读写旁路FIFO仲裁:当要从旁路输出FIFO中读出数据到同层路由器时,对读出的端口进行仲裁;以及当旁路输入FIFO要从同层路由器读入数据包时,对读入的端口进行仲裁;
读取FIFO仲裁:当路由器要读取数据包时,对可选择读取的FIFO进行仲裁。
5.根据权利要求1所述的一种面向片上网络的阻塞疏导型的不定数据包长路由器的设计方法,其特征在于:所述对传递不定包长的数据进行不定包长控制设计包括以下子步骤:
确定数据包打包格式:确定头包中包含的包长信息和接口地址,体包中包含采集的数据,以及尾包中包含采集数据所对应的时刻;
确定传输完整性:确定数据包写入和读出路由器的完整性。
6.根据权利要求5所述的一种面向片上网络的阻塞疏导型的不定数据包长路由器的设计方法,其特征在于:所述确定数据包写入和读出路由器的完整性包括以下:
通过写包计数器和包长寄存器以确定数据包写入路由器的完整性;
通过读出路由器和写入路由器的动作绝对一致性以确定数据包读出路由器的完整性。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910753339.1A CN110460545B (zh) | 2019-08-15 | 2019-08-15 | 一种面向片上网络的阻塞疏导型的不定数据包长路由器的设计方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910753339.1A CN110460545B (zh) | 2019-08-15 | 2019-08-15 | 一种面向片上网络的阻塞疏导型的不定数据包长路由器的设计方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110460545A CN110460545A (zh) | 2019-11-15 |
CN110460545B true CN110460545B (zh) | 2021-04-06 |
Family
ID=68486678
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910753339.1A Active CN110460545B (zh) | 2019-08-15 | 2019-08-15 | 一种面向片上网络的阻塞疏导型的不定数据包长路由器的设计方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110460545B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111478958B (zh) * | 2020-04-02 | 2022-05-10 | 桂林电子科技大学 | 一种片上网络时钟同步资源网络接口及同步参数配置方法 |
CN112729395B (zh) * | 2020-12-23 | 2022-09-13 | 电子科技大学 | 一种面向复杂SoC可靠性监测的片上传感器读出系统 |
CN113296731B (zh) * | 2021-05-25 | 2023-04-11 | 电子科技大学 | 一种基于片上网络的多通道数据采集的数据缓存方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101808032A (zh) * | 2010-03-04 | 2010-08-18 | 南京大学 | 面向静态XY路由算法的二维网格NoC路由器优化设计方法 |
KR101077539B1 (ko) * | 2009-08-18 | 2011-10-28 | 한국과학기술원 | 네트워크 온 칩 및 네트워크 온 칩 시스템 |
CN104065570A (zh) * | 2014-06-23 | 2014-09-24 | 合肥工业大学 | 异步可容错片上网络路由器设计方法 |
CN109831387A (zh) * | 2018-12-20 | 2019-05-31 | 天津市滨海新区信息技术创新中心 | 一种基于重计算的三维片上路由装置及其方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1112788C (zh) * | 2000-11-03 | 2003-06-25 | 国家数字交换系统工程技术研究中心 | 基于队列状态的累计补偿型循环轮询不定长包调度方法 |
CN104270279B (zh) * | 2014-10-28 | 2017-07-18 | 电子科技大学 | 一种片上网络非法路径故障在线检错电路 |
US20180183726A1 (en) * | 2016-12-27 | 2018-06-28 | Netspeed Systems, Inc. | Traffic mapping of a network on chip through machine learning |
-
2019
- 2019-08-15 CN CN201910753339.1A patent/CN110460545B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101077539B1 (ko) * | 2009-08-18 | 2011-10-28 | 한국과학기술원 | 네트워크 온 칩 및 네트워크 온 칩 시스템 |
CN101808032A (zh) * | 2010-03-04 | 2010-08-18 | 南京大学 | 面向静态XY路由算法的二维网格NoC路由器优化设计方法 |
CN104065570A (zh) * | 2014-06-23 | 2014-09-24 | 合肥工业大学 | 异步可容错片上网络路由器设计方法 |
CN109831387A (zh) * | 2018-12-20 | 2019-05-31 | 天津市滨海新区信息技术创新中心 | 一种基于重计算的三维片上路由装置及其方法 |
Non-Patent Citations (1)
Title |
---|
片上网络(NOC)交换结构设计和研究;付志洲;《中国优秀硕士学位论文全文数据库》;20110715;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN110460545A (zh) | 2019-11-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110460545B (zh) | 一种面向片上网络的阻塞疏导型的不定数据包长路由器的设计方法 | |
US7042891B2 (en) | Dynamic selection of lowest latency path in a network switch | |
US7346001B1 (en) | Systems and methods for limiting low priority traffic from blocking high priority traffic | |
US8060647B2 (en) | Multiple concurrent arbiters | |
US7260120B2 (en) | Ethernet switching apparatus and method using frame multiplexing and demultiplexing | |
JP4334760B2 (ja) | ネットワーキングシステム | |
US6401147B1 (en) | Split-queue architecture with a first queue area and a second queue area and queue overflow area having a trickle mode and an overflow mode based on prescribed threshold values | |
JP3789395B2 (ja) | パケット処理装置 | |
US6424659B2 (en) | Multi-layer switching apparatus and method | |
US7227841B2 (en) | Packet input thresholding for resource distribution in a network switch | |
US20020118692A1 (en) | Ensuring proper packet ordering in a cut-through and early-forwarding network switch | |
US7391786B1 (en) | Centralized memory based packet switching system and method | |
US6754222B1 (en) | Packet switching apparatus and method in data network | |
JPH09149083A (ja) | ファイバー・チャネル・スイッチ装置 | |
US6633576B1 (en) | Apparatus and method for interleaved packet storage | |
JPH10200567A (ja) | Lanスイッチ | |
JP3075163B2 (ja) | マルチポートフレーム交換方式 | |
US20070140260A1 (en) | System and method of single switch string hardware | |
US8131854B2 (en) | Interfacing with streams of differing speeds | |
US8670454B2 (en) | Dynamic assignment of data to switch-ingress buffers | |
JP3255113B2 (ja) | パケットスイッチシステム、これを含む集積回路、パケットスイッチ制御方法、パケットスイッチ制御プログラム記録媒体 | |
JP3597113B2 (ja) | パケット交換装置 | |
Zhang et al. | QBNoC: QoS-aware bufferless NoC architecture | |
CN110460530B (zh) | 一种面向数据采集系统的阻塞疏导旁路型路由器设计方法 | |
US6775286B1 (en) | Data packet router |
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 |