CN106230738B - 块发送通信网络数据的传输方法 - Google Patents
块发送通信网络数据的传输方法 Download PDFInfo
- Publication number
- CN106230738B CN106230738B CN201610596195.XA CN201610596195A CN106230738B CN 106230738 B CN106230738 B CN 106230738B CN 201610596195 A CN201610596195 A CN 201610596195A CN 106230738 B CN106230738 B CN 106230738B
- Authority
- CN
- China
- Prior art keywords
- data
- descriptor
- communication node
- block
- communication
- 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
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/12—Avoiding congestion; Recovering from congestion
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/25—Flow control; Congestion control with rate being modified by the source upon detecting a change of network conditions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Communication Control (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提出的一种块发送通信网络数据的传输方法,旨在提出提供一种能有效地将多种不同类型处理器组网协同工作的块数据通信方法。本发明通过下述技术方案予以实现:将若干个FPGA、信号专用处理器DSP和通用处理器PPC通过总线接口互连组成网络;在DSP和PPC的总线接口之上构建代码完全相同的通信组件,在FPGA的IP核生成的总线接口上采用可编程逻辑语言实现DSP和PPC软件架构相同的通信组件;通过网管通信节点动态异步配置其它通信节点的块数据通道描述符;将高速总线内存映射划分为通信节点的内存区域映射到网络地址中,形成数据成块发送的传输机制;发送通信节点向接收通信节点发送块数据,接收通信节点根据接收描述符接收数据,并可实现数据流控。
Description
技术领域
本发明涉及高速数据通信领域中为多种类型处理器通过RapidIO总线组网的块发送通信数据的传输方法。
技术背景
随着电子***的任务量日益庞大,***对大容量的数据、高度复杂的算法和实时运算速度的要求越来越高。高宽带、高速数据传输技术是高速数据通信***的核心技术之一,无线基础设施器件、网络接入设备、多服务平台、高端路由器、存储设备、信号和图象处理、军事和航天应用、工业计算、科学计算等应用场合,通常会采用不同类型的处理器完成高速数据的采集、信号处理和数据处理。由于异构多核处理器中加速设备内存有限,在进行加速计算时往往需要把主存中的数据分块传输到设备内存。现有的数据拷贝不支持数据的分块传输。目前,多核处理器的片上通信已经形成了多种不同的设计,但是无法有效地解决处理核之间的协作问题和芯片上通信通道分享问题,特别是面向嵌入式异构多核领域,由于芯片上的处理核种类、需求各异,对设计实现的代价有较高要求。在传统的嵌入式多处理器***中,处理器之间的互连是通过分时共享总线来实现的,所有通信争用总线带宽,由此就造成处理器越多,每个处理器可用带宽就越少,从而带来严重的***信息传输能力瓶颈,传统总线具有大量的引脚数目,带来了一定的电气特性和机械特性等问题,使得速率以及可传输距离都受到很大程度的制约。RapidIO总线是一种基于高性能包交换的串行总线,8B/10B编码时钟嵌入数据中,具有极低的延迟(纳秒级)和高带宽,成功解决了处理器集成芯片之间和线路板之间互连问题。目前RapidIO已经成为唯一的一个***内串行互连协议标准,世界各大半导体公司都陆续推出了基于RapidIO技术的相关产品,基于RapidIO通信体系架构技术的***已在电信、国防、医疗等行业大量使用。RapidIO互连技术的体系结构可分为逻辑层、传输层和物理层,其中,逻辑层支持多种编程模型,传输层既支持小网络也支持大网络,允许器件间具有灵活的网络拓扑结构,单个的RapidIO网络可以轻易支持成百上千个器件,物理层既支持容忍延迟的背板应用,也支持延迟敏感的存储器应用。 物理层在整个分级结构的底部,包括器件级接口的细节,如包传输机制、流量控制、电气特性和低级错误管理等。这样的层次划分提供了在任意层增加新的事务类型都无须更改其它层规范的灵活性。RapidIO分层结构使不同方法实现的器件在统一的硬件和软件基础上共存,减少甚至消除了对桥接技术的需要,降低了额外的协议转换开销。RapidIO通过规范定义好的维护寄存器、诊断寄存器以及配置寄存器可以对器件进行维护、参数配置和故障诊断。它主要应用于嵌入式***内部互连,支持芯片到芯片和板到板通信,同时具有传输延迟小、支持全局共享存储器、支持消息传递等优良特性。因此采用RapidIO总线组网并通过块发送数据完成处理器间的高速数据传输是有效的解决方法。高速数据通信技术在航空电子、航天测控、遥感、卫星通信和无线等领域受到高度的重视,而且近年来随着信息技术发展速度极快,***中需要传输的数据量越来越大,可靠性也越来越高,如此复杂的***往往需要多种不同类型的处理器协同工作,最高传输速率可达3.125Gbps的RapidIO总线的异构块数据通信***能解决上述需求。不同类型处理器组成的异构***,传统的做法是,根据功能需求在驱动程序的基础上,完成用户接口代码的编写,对点对点的通信,通过握手达成可靠性传输。对于点对多点的通信,需要合理规划,对底层物理通道进行分时复用,用户需要判断硬件总线是否空闲,完成复杂的握手协议才能保证可靠通信。这种靠与数据接收端握手来避免拥塞的方法效率低下,也无法实时对数据流量进行控制。
发明内容
本发明的目的是针对上述现有技术不足之处,提出提供一种高速、高效、可靠,可有效进行数据流控,并能有效地将多种不同类型处理器组网协同工作的块发送通信数据的传输方法,以解决多个逻辑通道共用一个物理通道时序竞争的矛盾。
本发明的上述目的可以通过以下措施来达到,本发明提出的一种块发送通信网络数据的传输方法,具有如下技术特征:
若干个现场可编程逻辑器件FPGA,数字信号处理器DSP和通用处理器PPC通过相同的高速交换型总线RapidIO互连组网,在DSP和PPC的外设RapidIO总线接口即高速总线层之上,用C语言构建通信组件层,为用户的功能应用程序层提供用户接口;在现场可编程逻辑器件FPGA的IP核生成的RapidIO总线接口上,用可编程逻辑语言构建与DSP和PPC代码完全相同的通信组件,为用户的功能应用程序层提供用户接口,用这种方式,采用相同的高速总线层和相同的通信组件层来互连不同特性的处理器,以统一的通信组件层为用户的功能应用程序层提供统一的数据收发接口,达成统一的用户接口;基于RapidIO总线组成的异构***指定一个网络管理通信节点,接收来自图形化建模工具描述的功能建模,通过网管通信节点动态异步配置其它通信节点的块数据通道描述符;然后在接收和发送通信节点开辟至少8个数据缓存区,将高速RapidIO总线内存映射机制划分为通信节点的内存区域映射到RapidIO网络地址中,形成数据成块发送的传输机制;通信节点之间通过内存映射到RapidIO网络地址,按照最大64K字节数据的业务量传输;预先定义通道名称获取一个连接句柄,通信节点向另一个通信节点发送数据时,连接句柄与数据通道映射,后续的数据收发操作都通过该连接句柄在一条物理通道内绑定多条逻辑通道;上位机将下发功能预案到网络管理通信节点,网络管理通信节点解析预案并找到功能对应的块数据通道集合,根据数据通道信息向接收通信节点和发送通信节点发送通道描述符信息,发送通信节点通过发送通道描述符向接收通信节点发送块数据,接收通信节点根据接收描述符接收数据。
本发明相比于现有技术具有如下有益效果:
高速、高效、可靠。本发明利用高速RapidIO总线的内存映射机制,通过划分通信节点的内存区域映射到RapidIO网络地址中,传输数据的接收不经过处理器的仲裁,数据可成块发送,数据包开销小,这种传输机制可达到物理带宽的80%,特别适用于大数据、高带宽的应用需求。通信节点之间通过内存映射到RapidIO网络地址,数据按照最大64K字节的业务量传输(可有多个业务),传输的中间过程接收通信节点的CPU并不知情,只是在总数据传输完成后,发送通信节点通过doorbell门铃消息的方式通知接收通信节点,这样保证了传输效率。RapidIO总线的底层包确认机制保证了数据传输的可靠性。
通信组件统一,用户接口完全屏蔽硬件。本发明将若干个现场可编程逻辑器件FPGA,信号专用处理器DSP和通用处理器PPC通过RapidIO总线接口互连组成网络,网络中的不同特性的处理器采用统一的通信组件给用户的应用层提供统一的数据收发接口,用户发送或接收数据时只需调用这些通信组件接口,而不必关心硬件的实际组成情况,降低了软件与硬件的耦合度。解决了多个逻辑通道共用一个物理通道时序竞争的矛盾。异构***中的不同特性的处理器采用统一的通信组件给用户提供统一的数据收发接口,利用连接句柄的方式可在一条物理通道内绑定多条逻辑通道,一条逻辑通道对应一个连接句柄,这样通信节点间可实现一对多,多对多的数据通信。该异构***指定一个网络管理通信节点,它接收来自图形化建模工具描述的功能建模,并解析来自上位机的功能预案,找到功能对应的块数据通道集合,根据数据通道信息向接收通信节点和发送通信节点发送通道描述符信息,发送通信节点通过发送通道描述符向接收通信节点发送块数据,接收通信节点根据接收描述符接收数据,这样可实现多个逻辑通道共用一个物理通道。
可有效进行数据流控。该***在数据的发送端设计数据流控传输机制,分为可检测流控和不检测流控两种,数据流控可避免接收端的数据拥塞,解决了传统***无法进行数据实时流控的问题。
具有软件标准化和可移植性。本发明在DSP和PPC的RapidIO总线接口之上用C语言构建了代码完全相同的通信组件,而FPGA由于硬件结构和编程语言的特殊性,是在IP核生成的RapidIO总线接口上采用可编程逻辑语言实现与DSP和PPC软件架构相同的通信组件。这样就实现了不同特性的处理器通过相同的总线和通信组件互连,达成统一的用户接口,具有软件标准化和可移植性。
具有很高的物理带宽。本发明在异构***的数据接收和发送方开辟多个(不小于8个)数据缓存区(在FPGA内部利用其自带的硬件BLOCKRAM生成数据缓存区域),保证一条物理通道上绑定多个逻辑应用。通过时钟嵌入数据8B/10B编码高速串行总线的RapidIO总线,具有很高的物理带宽,在2.5Gbps的4X端口发送数据的有效带宽可达8Gbps,该总线的内存映射机制,通过划分通信节点的内存区域映射到RapidIO网络地址中,传输数据的接收不经过处理器的仲裁,数据可成块发送,数据包开销小。这种传输机制可达到物理带宽的80%,特别适用于大数据、高带宽的应用需求。
由于RapidIO总线嵌入时钟数据8B/10B编码高速串行总线,构成通信节点之间独享带宽的点对点高速交换型总线。特别适用于大数据量高速的数据通信和速率和可靠性要求较高的信号与信息***。可广泛的应用航空电子、宽带卫星信号传输、高速无线信号处理。
附图说明
为了更清楚地理解本发明,现将通过附图来描述本发明,其中:
图1是本发明通过异构处理器分层结构实现块发送通信网络数据的传输方法示意图。
图2是本发明块数据通信的应用流程示意图。
图3是本发明连接句柄对象定位通道描述符的示意图。
图4是本发明通道描述符分区对应块数据端口对象的示意图。
图5是本发明发送通道描述符字段定义示意图。
图6是本发明接收通道描述符字段定义示意图。
图7是本发明接收数据块描述符定义示意图。
图8是本发明发送端不检测流控发送流程图。
图9是本发明发送端检测流控发送流程图。
图10是本发明接收端根据通道描述符定位数据块及描述符来接收数据的示意图。
具体实施方式
在以下描述的实施例中,基于高速交换型RapidIO总线互连的不同特性的PPC处理器、DSP处理器和FPGA的之间,利用RapidIO网络底层硬件内存映射通信机制,设计一种公用的通信组件,完成通信资源的管理、数据缓存管理、发送接收队列的管理、物理资源和逻辑资源的关联策略来实现带宽要求很高的数据传输。
参阅图1-图2。将数字信号处理领域中的专用处理器DSP、通用处理器PPC和现场可编程逻辑器件FPGA按照异构***的相同软件架构分为高速总线层、通信组件层和应用程序层。DSP和PPC自带的外设RapidIO总线接口形成高速总线层,在现场可编程逻辑器件FPGA内部利用可编程逻辑器件的硬件逻辑资源IP核生成RapidIO总线接口形成高速总线层,采用相同的高速交换型总线(RapdiIO总线)将三种不同类型处理器的高速总线层互连组成网络;DSP和PPC在高速总线层之上用C语言构建通信组件层,为应用程序层内的功能程序提供用户接口;FPGA在高速总线层之上用可编程逻辑语言实现与DSP和PPC软件架构相同的通信组件层,为应用程序层内的功能程序提供用户接口。用这种方式将不同特性的处理器通过相同的高速交换型RapdiIO总线互连,采用统一的通信组件给用户提供统一的数据收发接口,用户在应用程序层只需调用通信组件层接口即可完成数据的收发。基于RapidIO总线组成的异构***指定一个网络管理节点(网管节点)接收来自图形化建模工具描述的功能建模,网管节点分别发送通道描述符到块数据的发送节点和接收节点,通道描述符含有数据通道端口、数据大小及地址和有无流控等通信信息;通信节点之间通过内存映射到RapidIO网络地址,数据按照最大64K字节的业务量传输;通信节点向另一个通信节点发送数据时(比如DSP向PPC通信节点发送数据),物理通路虽然只有一条,但功能预案需要DSP上的功能程序1和功能程序2同时分别向PPC上的功能程序3和功能程序4发送数据,则可通过连接句柄与数据逻辑通道的映射,将功能程序1和功能程序3的连接句柄绑定一条逻辑通道,功能程序2和功能程序4的连接句柄绑定一条逻辑通道,后续的数据收发操作都通过各自的连接句柄在一条物理通道进行,这样就实现了一条物理通道内绑定多条逻辑通道,在实际应用时,上位机下发功能预案到网络管理通信节点,网络管理通信节点解析预案并找到功能对应的块数据逻辑通道的集合,根据数据通道信息向接收通信节点和发送通信节点发送通道描述符信息,发送通信节点通过发送通道描述符向接收通信节点发送块数据,接收通信节点根据接收描述符接收数据;在总数据传输完成后,发送通信节点通过doorbell门铃消息的方式通知接收通信节点,接收通信节点根据接收描述符接收数据。
为保证数据传输的可靠性,该异构***实现了流控和非流控两种数据传输机制,可检测流控的原理是在接收和发送通信节点开辟至少8个数据缓存区,将高速RapidIO总线内存映射机制划分为通信节点的内存区域映射到RapidIO网络地址中,在数据的发送端设计数据流控机制形成数据成块发送的数据流控传输;通信节点在发送数据时,发送方要读取接收方描述符的出队指针,和发送方描述符的入队指针差值是否大于槽位数目,来判决是否拥塞,如果拥塞则减少发送数据量实现流控,提高传输可靠性,如果采用非流控传输,则发送方不必读取接收方描述符的出队指针,虽然提高发送速率,但会有出现拥塞的可能。
在图3描述的连接句柄对象与通道描述符映射中,处理器通信节点上应用程序在收发数据之前,通过预先定义的通道名称获取一个连接句柄,后续的数据收发操作都通过该连接句柄进行。由于每个通信节点上的成块数据通道描述符都是网管通信节点异步配置的,网管通信节点可能在处理通信节点运行的过程中动态更改通道描述符配置,需要通过连接句柄能够判断对应的通道描述符是否匹配。发送端通信节点上的应用程序根据通道名称获取连接句柄,首先遍历描述符数组,比较通道名称,如果和配置的通道描述符匹配,就申请一个空闲的端口对象,获取一个唯一的连接序列号,组合连接序列号与端口对象编号作为连接句柄。
发送方通过连接句柄发送数据,首先连接句柄定位到端口对象,根据端口对象定位通道描述符,如果有相对应的通道描述符,根据通道描述符发送数据,完成后返回成功;如果没有对应的通道描述符,则遍历通道描述符数组,比较通道名称,直到找到匹配的描述符,更新通道描述符,再发送数据,完成后返回成功。
接收方通过连接句柄接收数据,首先连接句柄定位到端口对象,根据端口对象定位通道描述符,如果没有找到匹配的描述符,则获取端口对象信号量进入监听流程;如果找到匹配的描述符,就分析通道描述符内的字段是否表明数据到达,如果数据到达了就开始接收,没有到达就获取端口对象信号量进入监听流程。
参阅图4。通道描述符分区均分为发送通道描述符区和接收通道描述符区,在通道描述符分区对应块数据端口对象中,块数据发送端口连接块数据接收端口组成一个块数据,块数据发送端口对应发送通道描述符,块数据接收端口对应接收通道描述符,通信节点上的应用程序如果需要发送数据,则通过发送端口发送;如果需要接收数据,则通过接收端口接收。通信节点用网管下发的通道描述符去索引接收或者发送数据的端口号。
在图5描述的发送通道描述符字段定义中,每个字段的含义如下:
数据基地址标识块数据队列的RapidIO基地址,计算方式为,块数据队列RapidIO基地址= 数据基地址左移10位;
槽位大小标识块数据队列每个缓存最大长度,缓存最大长度=2的槽位大小次幂;
槽位数目标识块数据队列缓存个数,计算方式为,缓存个数=2的槽位数目次幂;
描述符基地址标识块数据描述符队列RapidIO基地址,计算方式为,块数据描述符队列RapidIO基地址= 描述符基地址左移10位;
d 端口发送指示,1发送、0接收;
c流控支持指示,1支持流控检测、0不支持流控检测;
n发送端是否需要发送数据块描述符与门铃。对于接收端为FPGA通信节点的情况下,该字段设置为0(FPGA是并行逻辑,信号电平的改变可以通知数据是否到来,不需要像通用处理器接收doorbell通知CPU仲裁),对于处理器通信节点,该字段设置为1;
接收通道编号标识接收端的逻辑通道;
连接序列号用于连接句柄与通道描述符唯一绑定,用于CPU通信节点,FPGA通信节点保留;
接收数据节点RapidIO编号;
块数据队列入队指针标识接收端数据接收状态;
通道名称标识发送端的逻辑通道名称。
在图6 描述的接收通道描述符字段定义中,每个字段的含义如下:
数据基地址,槽位大小,槽位数目,描述符基地址,连接序列号等同上描述。
通道对象序号用于通道描述符定位接收端口对象,FPGA通信节点保留;
块数据队列出队指针标识发送端数据发送状态;
通道名称标识接收端的逻辑通道名称。
在图7描述接收数据块描述符定义中,
当前数据块长度标识此次发送数据量大小;
当前发送端数据块入队指针给接收端作流控判决。
在图8描述的发送端不检测流控发送流程图中,发送端首先发送数据块,当前的数据块地址 = 数据基地址 + ( (槽位数目-1) & 入队指针 ) * 槽位大小;
发送端发送来自网管通信节点下发的数据块描述符,根据描述符字段n决定是否向接收端发送数据块描述符,接收端如果为FPGA通信节点,网管下发的发送端描述符字段n则为0,表示不向接收端发送描述符;传输数据块当前描述符地址= 描述符基地址 + ( (槽位数目-1) &入队指针) * 描述符大小;
接收端收到数据包后,当前数据块入队指针递增;
发送端根据来自网管通信节点下发的通道描述符字段n决定是否发送门铃,接收端为FPGA通信节点的,发送端描述符字段n设置为0,不发送门铃,如果为非FPGA通信节点的,发送门铃通知接收端数据到达。
在图9描述的发送端有检测流控发送流程中,发送端读取出队指针,拥塞检测,拥塞判断的规则是:
入队指针– 出队指针 >= 槽位数目则表示出现拥塞;发送数据块,当前的数据块地址= 数据基地址 + ( (槽位数目-1) &出队指针) * 槽位大小,发送端根据描述符字段n决定是否发送数据块描述符,接收端为FPGA通信节点的,发送端描述符字段n设置为0,表示不向接收端发送描述符;传输数据块描述符当前地址= 描述符基地址 + ( (槽位数目-1)&出队指针) * 描述符大小。
接收端收到数据包后,当前数据块入队指针递增;发送端根据来自网管通信节点下发的通道描述符字段n决定是否发送门铃,接收端为FPGA通信节点的,发送端描述符字段n设置为0,不发送门铃。
参阅图10。接收端根据通道描述符定位数据块及描述符来接收数据:接收端收到门铃产生中断,根据门铃携带字段信息定位接收通道描述符;接收端根据通道描述符定位当前数据块描述符和数据块如下:
当前数据块描述符地址=描述符基地址 + ( (槽位数目-1) &出队指针) * 描述符大小;
当前数据块地址= 数据基地址 + ( (槽位数目-1) &出队指针) * 槽位大小;
判断当前数据块是否有数据条件为出队指针+ 1 ==入队指针;无数据条件
(入队指针- 出队指针) & 0x7FFFFFFF <= 槽位数目;如果接收端发现(入队指针- 出队指针) & 0x7FFFFFFF >槽位数目则表明产生了数据覆盖,如果没有产生数据覆盖,接收端处理接收到的数据,递增出队列指针继续进行收数处理。
Claims (9)
1.一种块发送通信网络数据的传输方法,具有如下技术特征:
在现场可编程逻辑器件FPGA中,利用可编程逻辑器件的硬件逻辑资源IP核生成RapidIO总线接口,将若干个现场可编程逻辑器件FPGA,专用处理器DSP和通用处理器PPC通过RapidIO接口互连组成通信网络;在DSP和PPC的RapidIO接口之上构建代码完全相同的通信组件,在现场可编程逻辑器件FPGA的IP核生成的RapidIO总线接口上,采用可编程逻辑语言实现与DSP和PPC软件架构相同的通信组件,用这种方式网络中的不同特性的处理器通过相同的总线和通信组件互连,采用统一的通信组件给用户提供统一的数据收发接口;基于RapidIO总线组成的异构***指定一个网络管理通信节点,接收来自图形化建模工具描述的功能建模,通过网管通信节点动态异步配置其它通信节点的块数据通道描述符;在接收和发送通信节点开辟至少8个数据缓存区,将高速RapidIO总线内存映射机制划分为通信节点的内存区域映射到RapidIO网络地址中,形成数据成块发送的传输机制;通信节点之间通过内存映射到RapidIO网络地址,按照最大64K字节数据的业务量传输;预先定义通道名称获取一个连接句柄,通信节点向另一个通信节点发送数据时,连接句柄与数据通道映射,后续的数据收发操作都通过该连接句柄在一条物理通道内绑定多条逻辑通道;上位机将下发功能预案到网络管理通信节点,网络管理通信节点解析预案并找到功能对应的块数据通道集合,根据数据通道信息向接收通信节点和发送通信节点发送通道描述符信息,发送通信节点通过发送通道描述符向接收通信节点发送块数据,接收通信节点根据接收描述符接收数据。
2.如权利要求1所述的块发送通信网络数据的传输方法,其特征在于,通道描述符分区均分为发送通道描述符区和接收通道描述符区,在通道描述符分区对应块数据端口对象中,块数据发送端口连接块数据接收端口组成一个块数据,块数据发送端口对应发送通道描述符,块数据接收端口对应接收通道描述符,接收通道描述符索引了一个用于存储每次发送数据块信息和数据块内容的数据块描述符队列和一个数据块队列。
3.如权利要求1所述的块发送通信网络数据的传输方法,其特征在于,在总数据传输完成后,发送通信节点通过门铃doorbell消息的方式通知接收通信节点,接收通信节点根据接收描述符接收数据。
4.如权利要求1所述的块发送通信网络数据的传输方法,其特征在于,在异构***中,通信节点发送数据时,发送方读取接收方描述符的出队指针,判决是否拥塞,如果拥塞则减少发送数据量实现流控,并通过可检测流控和不检测流控数据流控传输机制实现数据流控。
5.如权利要求1所述的块发送通信网络数据的传输方法,其特征在于,在连接句柄对象与通道描述符映射中,处理器通信节点上应用程序在收发数据之前,通过预先定义的通道名称获取一个连接句柄。
6.如权利要求1所述的块发送通信网络数据的传输方法,其特征在于,每个通信节点上的块数据通道描述符都是网管通信节点异步配置的,网管通信节点在处理通信节点运行的过程中动态更改通道描述符配置,通过连接句柄判断对应通道描述符是否匹配。
7.如权利要求1所述的块发送通信网络数据的传输方法,其特征在于,设置在发送端通信节点上的应用程序根据通道名称获取连接句柄,首先遍历描述符数组,比较通道名称,如果和配置的通道描述符匹配,就申请一个空闲的端口对象,获取一个唯一的连接序列号,组合连接序列号与端口对象编号作为连接句柄,开始发送数据。
8.如权利要求1所述的块发送通信网络数据的传输方法,其特征在于,发送方通过连接句柄发送数据,将连接句柄定位到端口对象,根据端口对象定位通道描述符,如果有相对应的通道描述符,则根据通道描述符发送数据,完成后返回;如果没有对应的通道描述符,则遍历通道描述符数组,比较通道名称,直到找到匹配的描述符,更新通道描述符,再发送数据,完成后返回。
9.如权利要求1所述的块发送通信网络数据的传输方法,其特征在于,接收方通过连接句柄接收数据,首先将连接句柄定位到端口对象,根据端口对象定位通道描述符,如果没有找到匹配的描述符,则获取端口对象信号量进入监听流程;如果找到匹配的描述符,则分析通道描述符内的字段是否表明数据到达,如果数据到达了就开始接收,没有到达就获取端口对象信号量进入监听流程。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610596195.XA CN106230738B (zh) | 2016-07-26 | 2016-07-26 | 块发送通信网络数据的传输方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610596195.XA CN106230738B (zh) | 2016-07-26 | 2016-07-26 | 块发送通信网络数据的传输方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106230738A CN106230738A (zh) | 2016-12-14 |
CN106230738B true CN106230738B (zh) | 2019-03-19 |
Family
ID=57534689
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610596195.XA Active CN106230738B (zh) | 2016-07-26 | 2016-07-26 | 块发送通信网络数据的传输方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106230738B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107992316A (zh) * | 2017-11-24 | 2018-05-04 | 中国航空工业集团公司西安航空计算技术研究所 | 一种机载数据处理软件与信号处理软件的混合一体化加载方法 |
CN110048876A (zh) * | 2019-02-28 | 2019-07-23 | 西南电子技术研究所(中国电子科技集团公司第十研究所) | 大规模信号与信息异构处理机深度解耦方法 |
CN118138547B (zh) * | 2024-05-07 | 2024-07-23 | 珠海星云智联科技有限公司 | 用于发包描述符获取的方法、计算机设备及介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101089840A (zh) * | 2007-07-12 | 2007-12-19 | 浙江大学 | 基于多fpga的矩阵乘法并行计算*** |
WO2010122896A1 (ja) * | 2009-04-21 | 2010-10-28 | 京セラ株式会社 | データ伝送システム、データ伝送方法およびデータ送信装置 |
CN102004713A (zh) * | 2010-11-19 | 2011-04-06 | 中国船舶重工集团公司第七○九研究所 | 一种 TigerSHARC DSP LINK 口转串行 RapidIO总线的实现方法 |
CN104363169A (zh) * | 2014-11-24 | 2015-02-18 | 中国电子科技集团公司第二十九研究所 | 一种基于RapidIO消息模式的数据动态路由***及方法 |
-
2016
- 2016-07-26 CN CN201610596195.XA patent/CN106230738B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101089840A (zh) * | 2007-07-12 | 2007-12-19 | 浙江大学 | 基于多fpga的矩阵乘法并行计算*** |
WO2010122896A1 (ja) * | 2009-04-21 | 2010-10-28 | 京セラ株式会社 | データ伝送システム、データ伝送方法およびデータ送信装置 |
CN102004713A (zh) * | 2010-11-19 | 2011-04-06 | 中国船舶重工集团公司第七○九研究所 | 一种 TigerSHARC DSP LINK 口转串行 RapidIO总线的实现方法 |
CN104363169A (zh) * | 2014-11-24 | 2015-02-18 | 中国电子科技集团公司第二十九研究所 | 一种基于RapidIO消息模式的数据动态路由***及方法 |
Non-Patent Citations (1)
Title |
---|
基于FPGA的RapidIO总线接口设计、验证与实现;刘云鹏;《中国优秀硕士学位论文全文数据库 信息科技辑》;20131215;第三章、第四章 |
Also Published As
Publication number | Publication date |
---|---|
CN106230738A (zh) | 2016-12-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105706388B (zh) | 用于减小数据损坏概率的通道错误检测和通道去除机制 | |
CN105850086B (zh) | 用于高性能结构内的QoS的方法、装置和*** | |
CN105900386B (zh) | 一种用于传送以太网分组的方法及装置 | |
US7940788B2 (en) | System for transmitting data within a network between nodes of the network and flow control process for transmitting the data | |
KR930010915B1 (ko) | 다중 중앙 처리 유니트 인터록크 시스템 | |
EP1249978B1 (en) | Device and method for transmission in a switch | |
CN105745885A (zh) | 用于高性能结构内的灵活信用交换的方法和*** | |
KR20210033996A (ko) | 전용 저 레이턴시 링크를 사용한 다수의 하드웨어 가속기에 대한 통합된 어드레스 공간 | |
CN105359468A (zh) | 使用与链路结构分组异步的微片捆包的链路传送、位错误检测以及链路重试 | |
CN106230738B (zh) | 块发送通信网络数据的传输方法 | |
Saponara et al. | Design of an NoC interface macrocell with hardware support of advanced networking functionalities | |
CN105814828A (zh) | 利用隐式确收的高效的链路层重试协议 | |
US20220121381A1 (en) | Method of organizing a programmable atomic unit instruction memory | |
CN209149287U (zh) | 大数据运算加速*** | |
Plana et al. | SpiNNlink: FPGA-based interconnect for the million-core SpiNNaker system | |
CN116915708A (zh) | 路由数据包的方法、处理器及可读存储介质 | |
CN115269221A (zh) | 基于共享内存机制的fpga硬件抽象层设计方法、*** | |
US10938622B2 (en) | Interconnection network for integrated circuit with fault detection circuitry provided locally to an upstream location | |
CN104598430B (zh) | 一种cpu互联扩展***的网络接口互联设计与控制*** | |
Scott | The SCX channel: A new, supercomputer-class system interconnect | |
Dolter | A Programmable Routing Controller Supporting Multi-mode Routing and Switching in Distributed Real-Time Systems | |
Fox et al. | Reliably prototyping large SoCs using FPGA clusters | |
CA1294709C (en) | Controller for controlling multiple lan types | |
Trigui et al. | Mesh 2D Network on Chip with an open core protocol based network interface | |
Döring et al. | Flexibility for SCI-networks with rule-based routing |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | 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 |