CN105357147B - 一种高速高可靠的片上网络适配单元 - Google Patents
一种高速高可靠的片上网络适配单元 Download PDFInfo
- Publication number
- CN105357147B CN105357147B CN201510859856.9A CN201510859856A CN105357147B CN 105357147 B CN105357147 B CN 105357147B CN 201510859856 A CN201510859856 A CN 201510859856A CN 105357147 B CN105357147 B CN 105357147B
- Authority
- CN
- China
- Prior art keywords
- data
- buffer area
- input
- output
- network
- 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
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
一种高速高可靠的片上网络适配单元,包括资源接口模块、DMA控制模块、数据同步模块、网络接口模块;资源接口模块产生接收使能、发送使能,DMA控制模块进行接收使能时,控制数据同步模块、网络接口模块进行数据接收,进行发送使能时,控制数据同步模块、网络接口模块进行数据发送,数据同步模块进行接收使能时允许网络接口模块写入数据并送至接收缓冲区,进行发送使能时允许网络接口模块从发送缓冲区读取数据并发送,网络接口模块进行接收使能时收到网络数据包后送至数据同步模块,进行发送使能时读取数据形成网络数据包发送至片上路由器。本发明解决了异步时钟域间任意长度数据包高速传输的瓶颈问题,提高了系统实时性。
Description
技术领域
本发明涉及适用于通信速率及可靠性要求高的片上网络芯片等大规模集成电路,特别是一种高速高可靠的片上网络适配单元。
背景技术
随着片上系统设计复杂度及工艺集成度的提高,传统的片上共享总线体系结构由于全局同步、线延时、信号完整性、可扩展性等原因成为系统性能提升的瓶颈,而基于包交换技术的片上网络被认为是解决上述问题的可行方案。片上网络主要由计算资源节点、网络适配单元和路由器组成。在系统中,网络适配单元是完成计算资源节点与路由器连接通信服务的关键组件,其性能直接影响到系统并行处理能力、高带宽数据传输特性的发挥。
在传统的片上网络适配单元设计中,计算资源节点通常采用IO读写的方式与网络适配单元进行数据交互,数据通信速率低,不利于系统并行性的发挥,无法有效满足片上网络中异步时钟域间的数据高速传输要求,在诸如航天等有高可靠性要求的应用领域,网络适配单元应能提供端到端的可靠通信。但是传统的片上网络适配单元可靠性设计比较单一,主要采用结构冗余方式,这种方式虽在一定程度上提高了通信可靠性,但并未对数据传输的正确性以及异步时钟域的亚稳态等影响通信可靠性的问题进行充分考虑。
发明内容
本发明解决的技术问题是:克服现有技术的不足,提供了一种通过采用DMA控制+地址描述符表+异步先入先出队列方法解决了异步时钟域间任意长度数据包高速传输瓶颈问题的高速高可靠的片上网络适配单元。
本发明的技术解决方案是:一种高速高可靠的片上网络适配单元,包括资源接口模块、DMA控制模块、数据同步模块、网络接口模块,其中
资源接口模块,接收片上计算资源节点产生的接收功能指令后,进行接收使能,接收片上计算资源节点产生的发送功能指令后,进行发送使能;
DMA控制模块,当进行接收使能时,读取接收描述符表,如果接收描述符表中接收缓冲区起始地址为合法的存储地址且计算资源节点中接收缓冲区不满时,产生并发送读请求信号至数据同步模块并更新接收描述符表中接收缓冲区存储状态,当数据同步模块中第一接收先入先出队列不满时,产生第一接收先入先出队列不满信号至网络接口模块,否则控制资源接口模块重新接收片上计算资源节点产生的接收功能指令,当第一接收先入先出队列不为空时,控制第一接收先入先出队列将数据依次送至计算资源节点中接收缓冲区;当进行发送使能时,读取发送描述符表,如果发送描述符表中发送缓冲区起始地址为合法的存储地址且发送缓冲区不为空时,产生并发送写请求信号至数据同步模块并更新发送描述符表中当前发送缓冲区存储状态,当数据同步模块中第一发送先入先出队列不为空时,产生第一发送先入先出队列不为空信号并送至网络接口模块,当第一发送先入先出队列不满时,控制第一发送先入先出队列从计算资源节点中发送缓冲区读取数据,否则控制资源接口模块重新接收片上计算资源节点产生的发送功能指令;所述的发送描述符表包括128个发送描述符,每个发送描述符由发送缓冲区状态、发送缓冲区起始地址组成,其中,发送缓冲区状态指计算资源节点中当前发送缓冲区的存储状态,发送缓冲区起始地址为该缓冲区的首地址;所述的接收描述符表包括128个接收描述符,每个接收描述符由接收缓冲区状态、接收缓冲区起始地址组成,其中,接收缓冲区状态指计算资源节点中当前接收缓冲区的存储状态,接收缓冲区起始地址为该缓冲区的首地址;
数据同步模块,包括第一发送先入先出队列、第一接收先入先出队列;第一接收先入先出队列,接收DMA控制模块的读请求信号,如果第一接收先入先出队列不满,则允许网络接口模块写入网络数据包中数据,否则不允许网络接口模块数据写入数据,当第一接收先入先出队列不为空时,将第一接收先入先出队列中数据依次送至计算资源节点中接收缓冲区;
第一发送先入先出队列,接收DMA控制模块的写请求信号,如果第一发送先入先出队列不满,则从计算资源节点中发送缓冲区读取数据,否则不从计算资源节点中发送缓冲区读取数据,当第一发送先入先出队列不为空信号时,允许网络接口模块依次读取数据;
网络接口模块,接收网络数据包后进行校验,当校验通过且接收到第一接收先入先出队列不满信号时,将网络数据包送至数据同步模块并写入第一接收先入先出队列,否则重新接收网络数据包;当接收到第一发送先入先出队列不为空信号时,从数据同步模块中读取数据后按照网络数据包格式进行封装,并将网络数据包发送至片上路由器。
所述的DMA控制模块包括控制寄存器、状态寄存器、发送描述符表地址寄存器、接收描述符表地址寄存器,其中
当进行接收使能时,控制寄存器从接收描述符表地址寄存器中读取接收描述符表,如果接收描述符表中接收缓冲区起始地址为合法的存储地址且接收缓冲区不满时,产生并发送读请求信号至数据同步模块并更新接收描述符表中接收缓冲区存储状态,状态寄存器监测接收过程,当数据同步模块中第一接收先入先出队列不满时,产生第一接收先入先出队列不满信号至网络接口模块,当第一接收先入先出队列不为空时,控制第一接收先入先出队列将数据依次送至计算资源节点中接收缓冲区,如果接收描述符表中接收缓冲区起始地址为不合法的存储地址或计算资源节点中接收缓冲区已满,则控制寄存器控制资源接口模块重新接收片上计算资源节点产生的接收功能指令;
当进行发送使能时,控制寄存器从发送描述符表地址寄存器中读取发送描述符表,如果发送描述符表中发送缓冲区起始地址为合法的存储地址且发送缓冲区不为空时,产生并发送写请求信号至数据同步模块并更新发送描述符表中当前发送缓冲区存储状态,状态寄存器监测发送过程,当数据同步模块中第一发送先入先出队列不为空时,产生第一发送先入先出队列不为空信号并送至网络接口模块,当第一发送先入先出队列不满时,控制第一发送先入先出队列从计算资源节点中发送缓冲区读取数据,如果发送描述符表中发送缓冲区起始地址为不合法的存储地址或发送缓冲区已满,则控制寄存器控制资源接口模块重新接收片上计算资源节点产生的发送功能指令。
所述的网络接口模块包括接收单元、发送单元,第二接收先入先出队列单元、第二发送先入先出队列单元,其中:
第二接收先入先出队列单元,接收网络数据包后进行缓存后送至接收单元,当接收到第一接收先入先出队列不满信号时,将校验后的网络数据包送至数据同步模块并写入第一接收先入先出队列;
接收单元,接收网络数据包后进行校验,如果校验通过且当第二接收先入先出队列不满时,则将网络数据包写入第二接收先入先出队列;
第二发送先入先出队列单元,当接收到第一发送先入先出队列不为空信号时,从数据同步模块的第一发送先入先出队列读取数据并缓存;
发送单元,从第二发送先入先出队列单元中读取数据后按照网络数据包格式进行封装,并将网络数据包送至片上路由器。
所述的校验包括格式校验、奇偶校验。
所述的第一发送先入先出队列、第一接收先入先出队列、第二接收先入先出队列或第二发送先入先出队列为双端口RAM。
本发明与现有技术相比的优点在于:
(1)本发明片上网络适配单元采用DMA控制+地址描述符表+异步先入先出队列的高速设计方案,解决了异步时钟域间任意长度数据包高速传输的瓶颈问题,提高了系统实时性。与采用IO访问模式的网络适配单元相比,其通信性能提升约63.53%;
(2)本发明片上网络适配单元具有数据错误、非法字符、数据包异常终止、链路状态异常等故障检测与恢复能力,同时具有较短的故障恢复时间;
(3)本发明片上网络适配单元包含两个网络接口模块,这种双冗余网络接口设计,提高了片上系统中计算资源节点与通信网络的连接度,提高了系统整体通信可靠性。与没有进行容错设计的网络适配单元相比,避免丢包的概率大约提升1.83倍。
附图说明
图1为本发明一种高速高可靠的片上网络适配单元的整体结构图;
图2为本发明一种高速高可靠的片上网络适配单元的数据接收过程状态转移过程;
图3为本发明一种高速高可靠的片上网络适配单元的数据发送过程状态转移过程;
图4为本发明一种高速高可靠的片上网络适配单元中DMA数据接收、发送地址描述符和数据缓冲区关系示意图;
图5为本发明一种高速高可靠的片上网络适配单元中异步先入先出队列结构示意图;
图6为本发明一种高速高可靠的片上网络适配单元中网络接口结构示意图;
图7为本发明一种高速高可靠的片上网络适配单元中网络接口通信链路信号示意图;
图8为本发明一种高速高可靠的片上网络适配单元中通信链路控制状态机。
具体实施方式
本发明提出一种片上网络适配单元,包括资源接口模块、DMA控制模块、数据同步模块、网络接口模块,其中,本发明适配单元中数据接收、发送过程均包含4步:(1)通信链路使能;(2)接收/发送描述符表信息的读取与验证;(3)数据的流水线传输和校验;(4)数据通信结果记录,下面结合附图对本发明做进一步说明。
如图1所示,本发明片上网络适配单元包括:资源接口模块,包括AHB主设备接口、APB从设备接口,完成网络适配单元与计算资源节点的数据通信;DMA控制模块,实现数据的高效自主读写;数据同步模块,包括数据包发送先入先出队列和接收先入先出队列,实现异步时钟域间通信数据的高效传输;网络接口模块:主要包括网络接口管理器和双冗余网络接口,实现与片上网络中路由器的数据通信服务。
本发明适配单元系统初始化时,数据接收过程状态转移过程如图2所示,数据发送过程状态转移过程如图3所示,计算资源节点通过资源接口模块对网络适配单元的接收/发送功能进行使能,当接收/发送功能使能后,DMA控制模块通过读取接收/发送描述符表信息,获取接收/发送缓冲区的起始地址及缓冲区空满信息,当缓冲区起始地址在系统合法的存储地址空间且缓冲区不满/空时,DMA控制模块便向数据同步模块进行读/写请求;如果接收/发送描述符表信息有错误(即存储地址空间非法或接收缓冲区已满或发送缓冲区为空),则重新启动接收发送过程。当DMA控制模块向数据同步模块进行读/写请求后,如果数据同步模块中接收缓冲区不为空或发送缓冲区不满,则允许DMA控制模块进行读/写操作,否则不允许。当DMA控制模块的读/写请求被允许后,便在DMA控制模块的控制下,经过资源接口模块和网络接口模块实现数据的连续接收/发送。
其中,当接收数据时,网络接口模块首先会对接收的网络数据包进行类型、格式等校验,然后写入数据同步模块供DMA控制模块进行读取;当发送数据时,网络接口模块则首先从数据同步模块读取数据,然后按照网络数据包格式进行封装,发送给路由器。如果接收/发送数据过程出现数据奇偶校验等错误,则将该数据丢弃,重新启动接收/发送;如果实现数据的正常接收/发送,则对接收/发送的数据长度进行校验,并记录校验结果,然后重新启动新的数据接收/发送过程。
下面通过一个具体的实施例对本发明适配单元进行进一步说明,本实施例的资源接口与计算资源节点的通信将遵循AMBA通信协议。在系统中,计算资源节点需要控制网络适配单元的复位、通信链路使能、数据发送和接收,并读取其通信状态,因此通过AHB主设备接口实现对存储器的DMA高效自主访问,符合系统高速通信、高并行度的要求,通过APB从设备接口实现计算资源节点对网络适配单元的控制和状态读取,同时有效降低系统资源开销。
DMA控制模块中共包含4个32位的寄存器,分别是控制寄存器、状态寄存器、发送描述符表地址寄存器和接收描述符表地址寄存器。其中,控制寄存器主要完成对网络适配单元的复位、使能以及数据发送、接收的使能;状态寄存器主要反映链路状态和数据发送接收是否存在错误,控制寄存器、状态寄存器功能定义如表1所示。
表1 控制、状态寄存器功能定义
发送描述符表地址寄存器、接收描述符表地址寄存器均为存储器,发送描述符表地址寄存器、接收描述符表地址寄存器包括多个描述符表(包括发送描述符、缓冲区状态、缓冲区地址)及数据缓冲区,如图4所示为描述符表和数据缓冲区间关系。发送描述符表地址寄存器、接收描述符表地址寄存器用来保存描述符的地址,利用地址描述符寄存器(发送描述符表地址寄存器、接收描述符表地址寄存器)在内存分配数据缓冲区的方式,可以在保证DMA数据高效传输的同时大大减少片上存储资源的开销。寄存器的bit31~10表示描述符表的基地址;bit9~3表示用于区分128个描述符表;bit2~0表示每个描述符表由2个32bits(8个字节)组成:第1个32bits是状态字,表示该描述符所指向的发送或接收缓冲区是否可用以及可发送、接收的数据大小(以字节为单位);第2个32bits表示发送、接收数据缓冲区地址。
在系统对网络适配单元初始化时,在存储区中为发送、接收描述符表分配地址,并将分配的地址保存在相应的发送、接收描述符表地址寄存器中,每一个描述符都会对应一个要发送或接收的数据包,因此通过控制寄存器中的发送、接收使能位便可控制网络适配单元实现数据的发送和接收。
如图5所示为本发明网络适配器的异步先入先出队列结构,采用双端口RAM实现。本实施例以快时钟同步慢时钟域下的异步控制信号为例,控制信号的同步采取了2级信号锁存的方式,避免信号重复误操作。异步先入先出队列能满足任意时钟间的数据同步,支持数据的高速通信。
在异步时钟域工作条件下,本发明网络适配单元避免亚稳态导致的系统功能异常或错误,为更好地避免亚稳态问题,本发明在先入先出队列中还采取如下容错措施以提高网络适配单元的可靠性:
(1)用同步器将读/写指针同步到先入先出队列满/空标志的产生逻辑中;
(2)考虑到读/写指针是多位信号,如果指针有多位信号同时发生改变,有可能产生毛刺,因此采用格雷码(Gray Code)使读/写指针每次只有1位信号变化。
本发明对网络适配单元的网络接口进行了冗余设计,并通过网络接口管理模块控制两个网络接口的通信,这样计算资源节点便可以通过网络适配单元同时与两个路由器互连。与只有一个网络接口相比,这种冗余设计可增强系统的连接度,有效解决了某路由器发生故障时,与之相连的计算资源节点无法与系统其他部分进行通信的问题,提高了系统的可靠性。
网络接口模块整体结构如图6所示,包括接收单元、发送单元,接收先入先出队列单元、发送先入先出队列单元、接口控制状态机单元,其通信协议设计借鉴了SpaceWire协议的部分思想。接收单元在接收到数据时,会将数据写入接收先入先出队列中,并将接收到的字符的奇偶校验结果、类型等信息报送至接口控制状态机单元;发送单元会从发送先入先出队列中读取数据并完成发送;接口控制状态机单元会根据接收到的状态信息控制整个网络接口模块的运行状态,以实现错误复位、链路重连等控制。
本发明在继承SpaceWire协议错误检测、异常处理、故障保护和恢复等容错特性的基础上,在物理层将原协议的串行通信改为由32bits数据位、1bit奇校验位、1bit控制字符标志位、1bit链路有效位组成的并行通信,采用全双工传输模式,极大提高了数据传输速率,网络接口通信链路如图7所示;另外,在数据链路层参考原协议定义了一种数据字符和FCT、EOP、EEP、ESC、NULL五种控制字符,如表2所示。
FCT是流量控制字符,用于流量控制以避免网络拥塞、缓冲区溢出导致数据丢失;EOP、EEP是网络数据包的两种包尾,主要用于标识网络数据包传输是否正确结束,EOP表示网络数据包正确传输,EEP表示网络数据包传输过程发生异常;ESC是转义字符,以备通信协议的扩展;NULL控制字符主要用于链路控制,保持链路空闲时的通信状态,以便系统对链路状态进行自主监测。
表2 字符类型定义
网络接口中,NoC_en和NoC_dis信号用来控制接口与路由的连通性。接收模块会判断流量控制是否错误,对接收到的网络数据进行类型和正确性的校验,然后将结果报送至接口控制状态机模块,具体错误类型包括数据奇校验错误、链路连接状态错误、流量控制错误、非法字符错误、数据包异常终止错误。网络通信采用了基于信用(Credit-based)的流控算法,网络接口每发送一个FCT字符就表示可接受8个字符,同样,网络接口每接收到一个FCT字符就表示可以向对方发送8个字符。
网络接口与通信网络的链路连接过程如图8所示。在系统复位时,通信链路首先进入连接准备状态Ready;当使能片上网络通信时,链路进入连接启动状态Start,开始发送NULL控制字符,进行链路通信检测;当正确接收到NULL字符后,表示链路通信正常,开始进入链路连接状态Connecting。在Connecting状态,网络接口会根据先入先出队列可用空间大小控制流控字符FCT的发送,当接收到FCT字符时,表示对方先入先出队列不满,可以进入运行态Run进行有效数据的正常通信。在链路通信建立过程中,如果发生错误或接收到非法控制字符,通信链路都会重新回到Ready状态进行错误恢复。
综上所述,本发明适配单元主要包括高速通信设计和可靠性设计两部分,其中,片上网络适配单元的高速通信为:
(1)采用DMA设计策略实现计算资源节点与网络适配单元之间的数据传输,有效减少对处理资源的占用,提高数据传输效率;
(2)采用地址描述符表的设计方法,避免当很多数据包同时到达网络适配单元时,频繁中断处理器导致的系统通信性能下降;
(3)在数据同步模块中,采用异步先入先出队列的设计方法,并对异步先入先出队列进行避免亚稳态设计,满足任意长度数据包在不同时钟频率间的高速传输,实现片上网络采用全局异步局部同步时钟策略时异步时钟域间的数据同步。
片上网络适配单元的可靠性为:
(1)采用基于信用的流量控制方法,避免系统发生网络拥塞,防止网络接口由于缓冲区溢出导致数据丢失;
(2)对网络接口进行数据错误、非法字符、数据包异常终止、链路状态异常等故障的检测与恢复设计,使系统具有较短的故障恢复时间(最短故障恢复时间为4个时钟周期);
(3)对片上网络适配单元进行双冗余网络接口设计,支持计算资源节点同时与两个路由器相连。当某路由器发生故障时,通过网络接口管理模块的控制,计算资源节点便可通过另一网络接口与通信网络保持正常连接,实现系统某个路由器发生故障时,计算资源节点与其他节点的正常通信,提高系统整体通信可靠性。
本发明说明书中未作详细描述的内容属本领域技术人员的公知技术。
Claims (5)
1.一种高速高可靠的片上网络适配单元,其特征在于包括资源接口模块、DMA控制模块、数据同步模块、网络接口模块,其中
资源接口模块,接收片上计算资源节点产生的接收功能指令后,进行接收使能,接收片上计算资源节点产生的发送功能指令后,进行发送使能;
DMA控制模块,当进行接收使能时,读取接收描述符地址寄存器所指向的接收描述符,如果接收描述符中接收缓冲区起始地址为合法的存储地址且计算资源节点中接收缓冲区不满,产生并发送读请求信号至数据同步模块并更新接收描述符中接收缓冲区存储状态,当接收描述符中接收缓冲区起始地址为合法的存储地址且计算资源节点中接收缓冲区不满且数据同步模块中第一接收先入先出队列不满时,产生第一接收先入先出队列不满信号至网络接口模块,如果接收描述符中接收缓冲区起始地址不为合法的存储地址或者计算资源节点中接收缓冲区为满,则控制资源接口模块重新接收片上计算资源节点产生的接收功能指令,当接收描述符中接收缓冲区起始地址不为合法的存储地址或者计算资源节点中接收缓冲区为满且第一接收先入先出队列不为空时,控制第一接收先入先出队列将数据依次送至计算资源节点中接收缓冲区;
当进行发送使能时,读取发送描述符地址寄存器所指向的发送描述符,如果发送描述符中发送缓冲区起始地址为合法的存储地址且发送缓冲区不为空,产生并发送写请求信号至数据同步模块并更新发送描述符中当前发送缓冲区存储状态,当发送描述符中发送缓冲区起始地址为合法的存储地址且发送缓冲区不为空且数据同步模块中第一发送先入先出队列不为空时,产生第一发送先入先出队列不为空信号并送至网络接口模块,如果发送描述符中发送缓冲区起始地址不为合法的存储地址或者发送缓冲区为空,控制资源接口模块重新接收片上计算资源节点产生的发送功能指令;所述的发送描述符地址寄存器可寻址128个发送描述符,每个发送描述符由发送缓冲区状态、发送缓冲区起始地址组成,其中,发送缓冲区状态指计算资源节点中当前发送缓冲区的存储状态,发送缓冲区起始地址为该缓冲区的首地址;所述的接收描述符地址寄存器可寻址128个接收描述符,每个接收描述符由接收缓冲区状态、接收缓冲区起始地址组成,其中,接收缓冲区状态指计算资源节点中当前接收缓冲区的存储状态,接收缓冲区起始地址为该缓冲区的首地址;
数据同步模块,包括第一发送先入先出队列、第一接收先入先出队列;第一接收先入先出队列,接收DMA控制模块的读请求信号,如果第一接收先入先出队列不满,则允许网络接口模块写入网络数据包中数据,否则不允许网络接口模块数据写入数据,当第一接收先入先出队列不为空时,将第一接收先入先出队列中数据依次送至计算资源节点中接收缓冲区;
第一发送先入先出队列,接收DMA控制模块的写请求信号,如果第一发送先入先出队列不满,则从计算资源节点中发送缓冲区读取数据,否则不从计算资源节点中发送缓冲区读取数据,当第一发送先入先出队列不为空信号时,允许网络接口模块依次读取数据;
网络接口模块,接收网络数据包后进行校验,当校验通过且接收到第一接收先入先出队列不满信号时,将网络数据包送至数据同步模块并写入第一接收先入先出队列,否则重新接收网络数据包;当接收到第一发送先入先出队列不为空信号时,从数据同步模块中读取数据后按照网络数据包格式进行封装,并将网络数据包发送至片上路由器。
2.根据权利要求1所述的一种高速高可靠的片上网络适配单元,其特征在于:所述的DMA控制模块包括控制寄存器、状态寄存器、发送描述符址寄存器、接收描述符址寄存器,其中
当进行接收使能时,控制寄存器从接收描述符址寄存器中读取接收描述符如果该接收描述符中接收缓冲区起始地址为合法的存储地址且接收缓冲区不满时,产生并发送读请求信号至数据同步模块并更新接收描述符中接收缓冲区存储状态,状态寄存器反映接收过程运行状态,若数据同步模块中第一接收先入先出队列不满,产生第一接收先入先出队列不满信号至网络接口模块,若第一接收先入先出队列不为空,控制第一接收先入先出队列将数据依次送至计算资源节点中接收缓冲区,如果接收描述符中接收缓冲区起始地址为不合法的存储地址或计算资源节点中接收缓冲区已满,则控制寄存器控制资源接口模块重新接收片上计算资源节点产生的接收功能指令;
当进行发送使能时,控制寄存器从发送描述符地址寄存器中读取发送描述符,如果该发送描述符中发送缓冲区起始地址为合法的存储地址且发送缓冲区不为空时,产生并发送写请求信号至数据同步模块并更新发送描述符当前发送缓冲区存储状态,状态寄存器反映发送过程运行状态,若数据同步模块中第一发送先入先出队列不为空,产生第一发送先入先出队列不为空信号并送至网络接口模块,如果发送描述符发送缓冲区起始地址为不合法的存储地址或发送缓冲区已满,则控制寄存器控制资源接口模块重新接收片上计算资源节点产生的发送功能指令。
3.根据权利要求1所述的一种高速高可靠的片上网络适配单元,其特征在于:所述的网络接口模块包括接收单元、发送单元,第二接收先入先出队列单元、第二发送先入先出队列单元、接口控制状态机单元,其中:
第二接收先入先出队列单元,接收网络数据包后进行缓存,当接收到第一接收先入先出队列不为满信号时,则允许数据同步模块从其读取数据;
接收单元,接收网络数据包后进行校验,如果校验通过且接收到第二接收先入先出队列不满信号,则将网络数据包写入第二接收先入先出队列;当数据同步模块中的第一接收先入先出队列不满时,数据同步模块会将数据从第二接收先入先出队列读至第一接收先入先出队列;
第二发送先入先出队列单元,从数据同步模块的第一发送先入先出队列读取数据并缓存,供发送单元读取后发送至片上路由器;
发送单元,从第二发送先入先出队列单元中读取数据后按照网络数据包格式进行封装,并将网络数据包发送至片上路由器。
4.根据权利要求1或3所述的一种高速高可靠的片上网络适配单元,其特征在于:所述的校验包括格式校验和奇偶校验。
5.根据权利要求1或3所述的一种高速高可靠的片上网络适配单元,其特征在于:所述的第一发送先入先出队列、第一接收先入先出队列、第二接收先入先出队列或第二发送先入先出队列为双端口RAM。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510859856.9A CN105357147B (zh) | 2015-11-30 | 2015-11-30 | 一种高速高可靠的片上网络适配单元 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510859856.9A CN105357147B (zh) | 2015-11-30 | 2015-11-30 | 一种高速高可靠的片上网络适配单元 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105357147A CN105357147A (zh) | 2016-02-24 |
CN105357147B true CN105357147B (zh) | 2018-12-21 |
Family
ID=55333017
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510859856.9A Active CN105357147B (zh) | 2015-11-30 | 2015-11-30 | 一种高速高可靠的片上网络适配单元 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105357147B (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106210172B (zh) * | 2016-07-25 | 2019-04-16 | 哈尔滨工业大学 | 以太网络数据ip地址高速分类装置 |
CN106603420B (zh) * | 2016-11-22 | 2019-07-12 | 北京控制工程研究所 | 一种具有实时和容错特性的片上网络路由器 |
CN108400903A (zh) * | 2018-01-22 | 2018-08-14 | 济南浪潮高新科技投资发展有限公司 | 一种物理层链路状态检测方法及装置 |
CN109547240B (zh) * | 2018-11-14 | 2022-01-25 | 重庆忽米网络科技有限公司 | 基于边缘计算的智能设备以及接入与设备的解析方法 |
CN111865831B (zh) * | 2019-04-30 | 2022-05-13 | 华为技术有限公司 | 数据处理的方法、网络设备、计算节点和系统 |
CN111555800B (zh) * | 2020-05-15 | 2021-07-20 | 北京光润通科技发展有限公司 | 一种千兆双光口服务器适配器 |
CN112583935B (zh) * | 2020-12-28 | 2022-11-22 | 深信服科技股份有限公司 | 缓冲区窗口调整方法、网关设备及存储介质 |
CN114237945B (zh) * | 2022-02-25 | 2022-05-13 | 四川鸿创电子科技有限公司 | 一种基于srio接口的互联系统消息处理方法、装置和介质 |
CN116302006B (zh) * | 2023-05-18 | 2023-08-18 | 珠海星云智联科技有限公司 | 模拟器的热升级方法及相关装置 |
CN117032644B (zh) * | 2023-10-08 | 2023-12-12 | 广东凯普生物科技股份有限公司 | 基于嵌入式软件的串口通信系统及方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101420380A (zh) * | 2008-11-28 | 2009-04-29 | 西安邮电学院 | 一种双层双环型片上网络拓扑结构 |
CN101447986A (zh) * | 2007-11-27 | 2009-06-03 | 国际商业机器公司 | 具有分区的片上网络及其处理方法 |
-
2015
- 2015-11-30 CN CN201510859856.9A patent/CN105357147B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101447986A (zh) * | 2007-11-27 | 2009-06-03 | 国际商业机器公司 | 具有分区的片上网络及其处理方法 |
CN101420380A (zh) * | 2008-11-28 | 2009-04-29 | 西安邮电学院 | 一种双层双环型片上网络拓扑结构 |
Non-Patent Citations (2)
Title |
---|
A Novel Communication Strategy between PE and NI in NoC-based MPSoC;Fu Fangfa等;《IEEE》;20100801;374-377页 * |
支持片上网络容错的高性能网络适配单元设计;苗志富等;《微电子学与计算机》;20150705;20-24页 * |
Also Published As
Publication number | Publication date |
---|---|
CN105357147A (zh) | 2016-02-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105357147B (zh) | 一种高速高可靠的片上网络适配单元 | |
US9736276B2 (en) | Packetized interface for coupling agents | |
CN110213143B (zh) | 一种1553b总线ip核及监视系统 | |
KR100611268B1 (ko) | 가상 채널 설정을 위한 강화된 일반 입출력 아키텍처 및관련 방법 | |
US8718065B2 (en) | Transmission using multiple physical interface | |
US4623997A (en) | Coherent interface with wraparound receive and transmit memories | |
US8788873B2 (en) | Server input/output failover device serving highly available virtual devices | |
KR100974105B1 (ko) | 패킷 프로세싱 방법 및 패킷 프로세싱 장치를 포함하는장치 | |
CN102495920B (zh) | 一种FPGA用基于PCIe的集成化逻辑分析模块 | |
JPH06511338A (ja) | 並行パケットバスに関する方法及び装置 | |
CN106603420B (zh) | 一种具有实时和容错特性的片上网络路由器 | |
CN102984123A (zh) | 使用多个消息组的计算机系统中的代理之间的通信消息请求事务类型 | |
US8166227B2 (en) | Apparatus for processing peripheral component interconnect express protocol | |
AU2004201674A1 (en) | Data Processing Apparatus and Data Processing Method | |
JP2014017006A (ja) | PCIExpressでのIDベースストリームを可能にする方法及び装置 | |
KR20150109259A (ko) | 트랜잭션 계층 패킷의 싱글 엔드형 통신을 위한 방법, 장치 및 시스템 | |
US10938622B2 (en) | Interconnection network for integrated circuit with fault detection circuitry provided locally to an upstream location | |
US6829670B1 (en) | Using consecutive block IDs to keep track of data transferred across a serially linked bridge | |
US11127442B2 (en) | Data transfers between a memory and a distributed compute array | |
CN108011795B (zh) | 一种实现通信设备中多板卡和多数据通道管理的方法及系统 | |
US6901475B2 (en) | Link bus for a hub based computer architecture | |
CN114928513A (zh) | 基于srio协议的双总线通信系统及通信方法 | |
US9274915B2 (en) | Sideband logic for monitoring PCIe headers | |
US6507609B1 (en) | Mechanism for capturing and reporting interrupt events of different clock domains | |
CN117692535B (zh) | 一种PCIe协议报文保序装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |