适合于多处理器片上网络的传输协议的制作方法

文档序号:7687366阅读:159来源:国知局
专利名称:适合于多处理器片上网络的传输协议的制作方法
技术领域
本发明涉及片上网络通讯领域,具体涉及一种适合于多处理器片上网络的传输协议。
技术背景随着集成电路制造工艺的不断进步,单片系统芯片(System-ori-Chip)将可以集成数 十甚至更多的处理器。传统的总线结构无法有效支持越来越多的处理器,而片上网络 (Network-on-Chip)则是目前用于解决多处理器互联的最有前途的方案。片上网络的主要特征是多处理器和网络通讯,片上网络通讯的关键技术包括通讯协议 和拓扑结构。通讯协议定义了节点如何连接到网络上以及节点间如何传输信息,通常分为 多个层次。本发明所描述的一种数据传输协议相当于OSI协议模型中的传输层及其上层协 议,可以应用于任何物理层、数据链路层和网络层。发明内容本发明要解决的技术问题是提供一种适合于多处理器片上网络的传输协议,主要用于 多处理器片上网络的节点间的数据传输。多处理器片上网络一般包括一个主控处理器和多个从控处理器,针对这个特点,本发 明提供了两类数据传输方式,即主请求传输和从请求传输。片上网络中的主控处理器可以 发起主请求传输和从请求传输,从控处理器只能发起主请求传输。所述主请求传输是指两节点间的传输由其中一个节点发起,另一节点响应请求。发起 传输的节点称为主节点,响应请求的节点称为从节点。所述从请求传输是指两节点间的传输由第三节点向两节点中的其中一个节点发出从 请求传输请求,再由接收到请求的节点向另一节点发出传输请求。发起从请求传输的节点 称为主节点,接收主节点请求的节点称为直接从节点,剩下的一个节点称为间接从节点。为了解决上述技术问题,本发明提供一种适合于多处理器片上网络的传输协议,适用 于片上网络节点间的数据传输,根据不同的传输方式和数据传输方向,包括下列四类传输过程过程一、主请求发送,包括以下步骤步骤1.1、主节点向从节点发送包含传输参数的"主请求发送"请求包,等待接收从 节点发出的反馈包;步骤1.2、从节点接收到"主请求发送"请求包;若从节点忙,无法进行传输,则向主节点发送"从节点忙"反馈包,主节点收到后, 经过一定的延时,重新执行步骤l.l;若请求包中的传输参数有误,从节点向主节点发送"出错"反馈包,主节点收到后, 本次传输结束;若请求包中的传输参数正确,且从节点可以进行传输,从节点向主节点发送"准备传 输"反馈包,并等待主节点发送数据包;步骤1.3、主节点收到从节点发出"准备传输"反馈包后,开始依次发送若干数据包, 直至达到请求包中设定的数据传输量,之后等待接收从节点发出的"传输完毕"反馈包;步骤1.4、从节点接收主节点发出的数据包,将其中的数据逐个保存在请求包中设定 的相应地址,直至接收的数据量达到请求包中设定的数据传输量,之后向主节点发送"传 输完毕"反馈包;步骤1.5、主节点收到从节点发出的"传输完毕"反馈包,本次传输完成; 过程二、主请求接收,包括以下步骤步骤2.1、主节点向从节点发送包含传输参数的"主请求接收"请求包,等待接收从 节点发出的反馈包;步骤2.2、从节点接收到"主请求接收"请求包;若从节点忙,无法进行传输,则向主节点发送"从节点忙"反馈包,主节点收到后, 经过一定的延时,重新执行步骤2.1;若请求包中的传输参数有误,从节点向主节点发送"出错"反馈包,主节点收到后, 本次传输结束;若请求包中的传输参数正确,且从节点可以进行传输,从节点向主节点发送"准备传输"反馈包,之后执行步骤2.3;步骤2.3、从节点开始从请求包中设定的相应地址中依次读出数据,并打包成数据包发送至主节点,直至达到请求包中设定的数据量,之后等待接收主节点发出的"传输完毕"反馈包;步骤2.4、主节点收到从节点发出的"准备传输"反馈包后,开始接收从节点发出的 数据包,将其中的数据逐个取出并保存,直至达到请求包中设定的数据量,之后向从节点 发送"传输完毕"反馈包;步骤2.5、从节点收到主节点发出的"传输完毕"反馈包,本次传输完成;过程三、从请求发送,包括以下步骤步骤3.1、主节点向直接从节点发送一个包含直接从节点端传输参数的"从请求发送"请求包和一个包含间接从节点端传输参数的"从请求发送"请求包,等待接收直接从节点发出的反馈包;步骤3.2、直接从节点接收到主节点发出的"从请求发送"请求包; 若直接从节点忙,无法进行传输,则向主节点发送"从节点忙"反馈包,主节点收到后,经过一定的延时,重新执行步骤3.1;若请求包中的传输参数有误,直接从节点向主节点发送出"出错"反馈包,主节点收到后,本次传输结束;若请求包中的传输参数正确,且直接从节点可以进行传输,则执行步骤3.3;步骤3.3、直接从节点向间接从节点发送包含间接从节点传输参数"主请求发送"请 求包,之后等待间接从节点发出的反馈包;步骤3.4、间接从节点接收到直接从节点发出"主请求发送"请求包;若间接从节点忙,无法进行传输,则向直接从节点发送"从节点忙"反馈包,直接从 节点收到后,经过一定的延时,重新执行步骤3.3;若请求包中的传输参数有误,间接从节点向直接从节点发送"出错"反馈包,直接从 节点收到后,向主节点发送发送"出错"反馈包,本次传输结束;若请求包中的传输参数正确,且间接从节点可以进行传输,间接从节点向直接从节点 发送"准备传输"反馈包,之后等待直接从节点发送数据包;步骤3.5、直接从节点收到间接从节点发出的"准备传输"反馈包后,从请求包中设 定的相应地址中依次读出数据,并打包成数据包发送至主节点,直至达到请求包中设定的 数据量,之后等待接收间接从节点发出的"传输完毕"反馈包;步骤3.6、间接从节点接收直接从节点发出的数据包,将其中的数据逐个保存在请求 包中设定的相应地址,直至接收的数据量达到请求包中设定的数据传输量,之后向直接从 节点发送"传输完毕"反馈包;步骤3.7、直接从节点收到间接从节点发出的"传输完毕"反馈包,向主节点发送"传 输完毕"反馈包;步骤3.8、主节点收到直接从节点发出的"传输完毕"反馈包,本次传输完成; 过程四、从请求接收,包括以下步骤步骤4.1、主节点向直接从节点发送一个包含直接从节点端传输参数的"从请求接收" 请求包和一个包含间接从节点端传输参数的"从请求接收"请求包,等待接收直接从节点 发出的反馈包;步骤4.2、直接从节点接收到主节点发出的"从请求接收"请求包;若直接从节点忙,无法进行传输,则向主节点发送"从节点忙"反馈包,主节点收到 后,经过一定的延时,重新执行步骤4.1;若请求包中的传输参数有误,直接从节点向主节点发送出"出错"反馈包,主节点收 到后,本次传输结束;若请求包中的传输参数正确,且直接从节点可以进行传输,则执行步骤4.3;步骤4.3、直接从节点向间接从节点发送包含间接从节点传输参数"主请求接收"请 求包,之后等待间接从节点发出的反馈包;步骤4.4、间接从节点接收到直接从节点发出"主请求接收"请求包;若间接从节点忙,无法进行传输,则向直接从节点发送"从节点忙"反馈包,直接从 节点收到后,经过一定的延时,重新执行步骤4.3;若请求包中的传输参数有误,间接从节点向直接从节点发送"出错"反馈包,直接从 节点收到后,向主节点发送发送"出错"反馈包,本次传输结束;若请求包中的传输参数正确,且间接从节点可以进行传输,间接从节点向直接从节点 发送"准备传输"反馈包,之后执行步骤4.5;步骤4.5、间接从节点从请求包中设定的相应地址中依次读出数据,并打包成数据包 发送至直接从节点,直至达到请求包中设定的数据量,之后等待接收直接从节点发出的"传 输完毕"反馈包;步骤4.6、直接从节点收到间接从节点发出的"准备传输"反馈包后,开始接收间接 从节点发出的数据包,将其中的数据逐个保存在请求包中设定的相应地址,直至达到请求 包中设定的数据量,之后向间接从节点发送"传输完毕"反馈包,并向主节点发送"传输 完毕"反馈包;步骤4.7、间接从节点收到直接从节点发出的"传输完毕"反馈包;步骤4.8、主节点收到直接从节点发出的"传输完毕"反馈包,本次传输完成。所述的数据传输的基本单位是包,包由头信息(Header)和载荷(Payload)组成。头 信息包括了包类型,源节点编号和目标节点编号三部分信息,所述的包类型包括请求包、 数据包和反馈包三类。请求包的载荷包括请求类型、目标节点编号、传输方向、数据位宽、 数据传输量,数据首地址和地址变化模式。数据包的载荷为数据和当前数据传输量,或仅 为数据。反馈包的载荷为反馈类型。所述的请求包中的请求类型分为主请求,直接从请求和间接从请求三类。主请求类型 的请求包包括从节点端的传输参数,用于所有四类传输过程。直接从请求类型的请求包包 括直接从节点端的传输参数,间接从请求类型的请求包包括间接从节点端的传输参数。直 接从请求类型的请求包和间接从请求类型的请求包用于从请求发送过程和从请求接收过 程,由主节点向直接从节点发送。请求包中的目标节点编号在主请求发送过程和主请求接收过程为从节点编号,在从请 求发送过程和从请求接收过程中为间接从节点编号。请求包中的传输方和请求类型一同决定传输过程属于主请求发送、主请求接收、从请 求发送或从请求接收之一。请求包中的数据位宽用于决定数据包中单个数据的位宽,包括8比特、16比特、32 比特和64比特四类。请求包中的地址变化模式请求包中的地址变化模式包括递增,递减和恒定三类;当前 数据地址根据数据首地址、数据位宽和当前数据传输量计算得到。在递增模式下,当前数 据地址是数据首地址加上(当前数据传输量《当前数据位宽对应的地址对齐量);在递减 模式下,当前数据地址是数据首地址减去(当前数据传输量《当前数据位宽对应的地址对 齐量);在恒定模式下,当前数据地址等于数据首地址;恒定模式只能用于包按序到达的 片上网络中。所述的反馈包中的反馈类型包括准备传输、节点忙、出错、传输完毕四类。其中"准 备传输"、"节点忙"和"出错"反馈包用于回应请求包,分别表示接受请求,拒绝请求和 请求包中的参数有误。"传输完毕"反馈包表示节点巳接收完所有数据。所述的数据包中可以包含或不包含当前数据传输量,在包乱序到达的片上网络中必须 包含当前数据传输量。数据包中的数据部分由多个数据打包得到,待传输数据依次填充不同的数据包。在最 后一个数据包中,若数据不能填满,则剩余部分用零填充。本发明提供的数据传输协议可以用于按序到达和乱序到达的片上网络中,在按序到达 的片上网络中,数据包不用包含当前数据传输量,节省了传输量。在乱序到达的片上网络 中,由于数据传输绝大部分在随机访问存储器间进行,接收到的数据包无需排序即可写入 随机访问存储器。


下面结合附图对本发明的具体实施方式
作进一步详细说明。 图1是主请求发送过程的流程示意图; 图2是主请求接收过程的流程示意图; 图3是从请求发送过程的流程示意图; 图4是从请求接收过程的流程示意图。
具体实施方式
以下结合附图来说明本发明的一种具体实施方式
,但不作为对本发明的限定。本实施 实例包括主请求发送,主请求接收,从请求发送和从请求接收四种传输过程。在本实施例中,片上网络包含三个节点,节点零可以发起主请求传输和从请求传输,节点i和节点n可以响应主请求传输和从请求传输,并发起主请求传输。数据地址为32比特,且为字节地址,数据传输量为16比特,节点编号为3比特。片上网络中的包为乱 序到达。包的位宽为88比特,其中包括8比特的头信息和80比特的载荷。所述头信息包括2比特的包类型,3比特的源节点编号和3比特的目标节点编号。包 类型的二进制表示是请求包00 数据包01 反馈包10所述的三个节点编号的二进制表示是 节点零000 节点I : 001 节点II: 010 所述请求包的载荷包括好的消息由新的簇头广播给簇内所有节点,这时下一轮簇头在当前轮的TDMA
时隙就转给当前轮的簇头来进行传输数据,省去了重新分配TDMA时隙的过程。
3.根据权利要求l所述的一种应用于无线传感器网络的分簇节能路由算法,
其特征是
1) 不是每 一次传输数据后都构造簇,而是R轮之后才重新构造簇;
2) 簇头的选择不是随机的,而是根据每轮之后节点的剩余能量值对下一轮 的簇头节点作出预测,不会选择到剩余能量值低的节点作为簇头;
3) 分簇是均匀的,均匀分簇包括两个含义 一是簇内节点数目大体相同; 二是簇的物理范围大体相当;
4) 引入功率控制机制,使得每个节点传输数据的能量最小化;
5) 不必每轮传输数据之前都广播这一轮的TDMA时隙表,采取的方法是将 预测的下一轮簇头在当前轮的TDMA时隙转给当前轮的簇头在下一轮中进行数 据传输使用,这样省去了重新分配TDMA时隙的过程。
4.根据权利要求2所述的一种应用于无线传感器网络的分簇节能路由算法, 其特征是
簇头预测阶段,簇头预测的出发点为选择距离原簇头较近的节点作为新簇
头或选择剩余能量较多的节点作为新的簇头;簇头维系一张关于簇内节点信息
的表格,表格数据格式为簇内节点"节点;的位置信息丄,,节点/的剩余能量g;
簇头需过计算每个簇成员节点《值来预测新的簇头,^值通过(1)式得到
一簇内节点倒簇头的距离=S, () 《—簇内节点/的剩余能量—5递减模式下,当前数据地址=数据首地址_ (当前数据传输量《当前数据位宽对应的地址 对齐量)。恒定模式不能用于乱序到达的片上网络。当数据地址用字节地址表示时,计算 公式中的移位运算"<<当前数据位宽对应的地址对齐量"对于不同数据位宽分别是8比特不移位16比特左移l位32比特左移2位64比特左移3位所述主请求发送过程,由节点零发起,节点I响应,节点零向节点I的0x10000000 (十六进制)地址发送3个32比特的数据,地址变化模式为递增。传输过程包括以下步骤步骤1.1、节点零向节点I发送包含传输参数的"主请求发送"请求包,头信息中包类型为00,源节点为000,目标节点为001,载荷中地址变化模式为10,数据首地址为 0x10000000,请求类型为OO,目标节点编号为001,传输方向为l,数据位宽为IO,数据 传输量为0x0003 (十六进制)。节点零等待接收节点I发出的反馈包; 步骤1.2、节点I接收到"主请求发送"请求包;若节点I忙,无法进行传输,则向节点零发送"从节点忙"反馈包,头信息中包类型 为10,源节点为001,目标节点为000,载荷中反馈类型为Ol。节点零收到后,经过一定 的延时,重新执行步骤l.l;若请求包中的传输参数有误,节点I向节点零发送"出错"反馈包,头信息中包类型 为io,源节点为ooi,目标节点为OOO,载荷中反馈类型为IO。节点零收到后,本次传输 结束;若请求包中的传输参数正确,且节点I可以进行传输,节点I向节点零发送"准备传输"反馈包,头信息中包类型为10,源节点为ooi,目标节点为ooo,载荷中反馈类型为00。节点I等待节点零发送数据包;步骤1.3、节点零收到节点I发出"准备传输"反馈包后,开始依次发送2个数据包, 头信息中包类型为01,源节点为000,目标节点为001。第1个数据包的第0到31比特为 第1个数据,第32到63比特为第2个数据,第64到79比特为当前数据传输量0。第2 个数据包的第0到31比特为第3个数据,第32到63比特填充为零,第64到79比特为当前数据传输量2。节点零等待接收节点I发出的"传输完毕"反馈包;步骤1.4、节点I接收节点零发出的数据包,可能先收到第l个数据包,也可能先收 到第2个数据包。收到第1个数据包时,取出第1个数据存放在地址0x10000000,第2个 数据存放在地址0x10000004。收到第2个数据包时,取出第3个数据存放在地址 0x10000008。节点I发送"传输完毕"反馈包,头信息中包类型为IO,源节点为001,目 标节点为000,载荷中反馈类型为ll;步骤1.5、节点零收到节点I发出的"传输完毕"反馈包,本次传输完成。 图1示意了一次主请求发送过程。所述主请求接收过程,由节点零发起,节点I响应,节点零节点I 1的0x10000000 地址接收2个64比特的数据,地址变化模式为递增。传输过程包括以下步骤步骤2.1、节点零向节点I发送包含传输参数的"主请求接收"请求包,头信息中包 类型为00,源节点为000,目标节点为001,载荷中地址变化模式为10,数据首地址为 0x10000000,请求类型为OO,目标节点编号为001,传输方向为0,数据位宽为ll,数据 传输量为0x0002。节点零等待接收节点I发出的反馈包;步骤2.2、节点I接收到"主请求接收"请求包;若节点I忙,无法进行传输,则向节点零发送"从节点忙"反馈包,头信息中包类型 为10,源节点为001,目标节点为000,载荷中反馈类型为Ol。节点零收到后,经过一定 的延时,重新执行步骤2.1;若请求包中的传输参数有误,节点I向节点零发送"出错"反馈包,头信息中包类型 为10,源节点为001,目标节点为000,载荷中反馈类型为IO。节点零收到后,本次传输 结束;若请求包中的传输参数正确,且节点i可以进行传输,节点i向节点零发送"准备传输"反馈包,头信息中包类型为io,源节点为ooi,目标节点为ooo,载荷中反馈类型为00。节点I执行步骤2.3;步骤2.3、节点I开始从地址0x10000000和0x10000008读出2个64比特数据,并 依次打包成2个数据包发送至节点零。数据包头信息中包类型为Ol,源节点为001,目标 节点为000。第1个数据包的第0到63比特为第1个数据,第64到79比特为当前数据传 输量0。第2个数据包的第0到63比特为第2个数据,第64到79比特为当前数据传输量1。节点I等待接收节点零发出的"传输完毕"反馈包;步骤2.4、节点零收到节点I发出的"准备传输"反馈包后,可能先收到第1个数据 包,也可能先收到第2个数据包。收到第l个数据包时,取出第l个数据。收到第2个数 据包时,取出第2个数据。节点零向节点I发送"传输完毕"反馈包,头信息中包类型为 10,源节点为OOl,目标节点为OOO,载荷中反馈类型为ll;步骤2.5、节点I收到节点零发出的"传输完毕"反馈包,本次传输完成。图2示意了一次主请求接收过程。所述从请求发送过程,由节点零发起,节点I响应,节点I从地址0x11000000向节 点II的0x12000000地址发送2个64比特的数据,地址变化模式为递增。传输过程包括以下步骤步骤3.1、节点零向节点I发送一个包含节点I端传输参数的"从请求发送"请求包, 头信息中包类型为OO,源节点为OOO,目标节点为OOl,载荷中地址变化模式为10,数据 首地址为0x11000000,请求类型为10,目标节点编号为OIO,传输方向为l,数据位宽为ii,数据传输量为oxooo2;和一个包含节点n端传输参数的"从请求发送"请求包,头信息中包类型为oo,源节点为OOO,目标节点为OOl,载荷中地址变化模式为10,数据首地 址为0x12000000,请求类型为ll,目标节点编号为OIO,传输方向为l,数据位宽为ll, 数据传输量为0x0002。节点零等待接收节点I发出的反馈包;步骤3.2、节点I接收到节点零发出的"从请求发送"请求包;若节点I忙,无法进行传输,则向节点零发送"从节点忙"反馈包,头信息中包类型 为10,源节点为OOl,目标节点为OOO,载荷中反馈类型为Ol。节点零收到后,经过一定 的延时,重新执行步骤3.1;若请求包中的传输参数有误,节点I向节点零发送出"出错"反馈包,头信息中包类 型为IO,源节点为OOl,目标节点为OOO,载荷中反馈类型为IO。节点零收到后,本次传 输结束;若请求包中的传输参数正确,且节点I可以进行传输,则执行步骤3.3;步骤3.3、节点I向节点II发送包含节点II传输参数"主请求发送"请求包,头信息 中包类型为OO,源节点为OOl,目标节点为OIO,载荷中地址变化模式为10,数据首地址 为0x12000000,请求类型为OO,目标节点编号为OIO,传输方向为l,数据位宽为11,数据传输量为ox0002。节点i等待节点n发出的反馈包;步骤3.4、节点n接收到节点I发出"主请求发送"请求包;若节点n忙,无法进行传输,则向节点i发送"从节点忙"反馈包,头信息中包类型 为io,源节点为oio,目标节点为ooi,载荷中反馈类型为oi。节点i收到后,经过一定的延时,重新执行步骤3.3;若请求包中的传输参数有误,节点n向节点i发送"出错"反馈包,头信息中包类型 为io,源节点为oio,目标节点为ooi,载荷中反馈类型为io。节点i收到后,向节点零发送发送"出错"反馈包,头信息中包类型为10,源节点为ooi,目标节点为ooo,载荷中反馈类型为10。本次传输结束;若请求包中的传输参数正确,且节点n可以进行传输,节点n向节点i发送"准备传 输"反馈包,头信息中包类型为io,源节点为oio,目标节点为ooi,载荷中反馈类型为 oo。节点n等待节点i发送数据包;步骤3.5、节点I收到节点n发出的"准备传输"反馈包后,从地址(bdlOOOOOO和 0x11000008读出2个64比特数据,并依次打包成2个数据包发送至节点零。数据包头信 息中包类型为Ol,源节点为001,目标节点为010。第1个数据包的第0到63比特为第1 个数据,第64到79比特为当前数据传输量0。第2个数据包的第0到63比特为第2个数 据,第64到79比特为当前数据传输量1。节点I等待接收节点II发出的"传输完毕"反 馈包;步骤3.6、节点II接收节点I发出的数据包,可能先收到第l个数据包,也可能先收 到第2个数据包。收到第1个数据包时,取出第1个数据存放在地址0x12000000。收到第 2个数据包时,取出第2个数据存放在地址0x12000008。节点II向节点I发送"传输完毕" 反馈包,头信息中包类型为IO,源节点为OIO,目标节点为OOl,载荷中反馈类型为ll;步骤3.7、节点I收到节点II发出的"传输完毕"反馈包,向节点零发送"传输完毕" 反馈包,头信息中包类型为IO,源节点为OOl,目标节点为OOO,载荷中反馈类型为ll;步骤3.8、节点零收到节点I发出的"传输完毕"反馈包,本次传输完成。图3示意了一次从请求发送过程。所述从请求接收过程,由节点零发起,节点I响应,节点I的0x12000000地址接收 3个32比特的数据,保存在从0x11000000开始的地址空间,地址变化模式为递增。传输过程包括以下步骤步骤4.1、节点零向节点I发送一个包含节点I端传输参数的"从请求发送"请求包, 头信息中包类型为OO,源节点为000,目标节点为001,载荷中地址变化模式为10,数据首地址为0x11000000,请求类型为io,目标节点编号为oio,传输方向为o,数据位宽为io,数据传输量为oxooo3;和一个包含节点n端传输参数的"从请求发送"请求包,头信息中包类型为oo,源节点为ooo,目标节点为001,载荷中地址变化模式为10,数据首地 址为0x12000000,请求类型为ll,目标节点编号为010,传输方向为0,数据位宽为IO, 数据传输量为0x0003。节点零等待接收节点I发出的反馈包;步骤4.2、节点I接收到节点零发出的"从请求接收"请求包;若节点I忙,无法进行传输,则向节点零发送"从节点忙"反馈包,头信息中包类型 为io,源节点为ooi,目标节点为OOO,载荷中反馈类型为Ol。节点零收到后,经过一定 的延时,重新执行步骤3.1;若请求包中的传输参数有误,节点I向节点零发送出"出错"反馈包,头信息中包类 型为io,源节点为ooi,目标节点为OOO,载荷中反馈类型为IO。节点零收到后,本次传 输结束;若请求包中的传输参数正确,且节点I可以进行传输,则执行步骤4.3;步骤4.3、节点I向节点II发送包含节点II传输参数"主请求发送"请求包,头信息 中包类型为OO,源节点为001,目标节点为010,载荷中地址变化模式为10,数据首地址 为0x12000000,请求类型为OO,目标节点编号为010,传输方向为0,数据位宽为10,数据传输量为ox0003。节点i等待节点n发出的反馈包;步骤4.4、节点n接收到节点I发出"主请求接收"请求包;若节点n忙,无法进行传输,则向节点i发送"从节点忙"反馈包,头信息中包类型为io,源节点为oio,目标节点为001,载荷中反馈类型为Ol。节点I收到后,经过一定的延时,重新执行步骤4.3;若请求包中的传输参数有误,节点n向节点i发送"出错"反馈包,头信息中包类型为io,源节点为oio,目标节点为001,载荷中反馈类型为IO。节点I收到后,向节点零 发送发送"出错"反馈包,头信息中包类型为10,源节点为001,目标节点为000,载荷 中反馈类型为10。本次传输结束;若请求包中的传输参数正确,且节点n可以进行传输,节点n向节点i发送"准备传输"反馈包,头信息中包类型为10,源节点为010,目标节点为001,载荷中反馈类型为 00。节点II执行步骤4.5;步骤4.5、节点II从地址0x12000000, 0x12000004和0x12000008读出3个32比特数 据,并依次打包成2个数据包发送至节点I 。数据包头信息中包类型为Ol,源节点为010, 目标节点为001。第1个数据包的第0到31比特为第l个数据,第32到63比特为第2个 数据,第64到79比特为当前数据传输量0。第2个数据包的第0到31比特为第3个数据, 第32到63比特填充为零,第64到79比特为当前数据传输量2。节点II等待接收节点I 发出的"传输完毕"反馈包;步骤4.6、节点I收到节点II发出的"准备传输"反馈包后,开始接收节点II发出的 数据包,可能先收到第l个数据包,也可能先收到第2个数据包。收到第l个数据包时, 取出第1个数据存放在地址0x11000000,第2个数据存放在地址0x11000004。收到第2 个数据包时,取出第3个数据存放在地址0x11000008。节点I向节点II发送"传输完毕" 反馈包,头信息中包类型为IO,源节点为OOl,目标节点为OIO,载荷中反馈类型为ll。 节点I向节点零发送"传输完毕"反馈包,头信息中包类型为10,源节点为001,目标节 点为OOO,载荷中反馈类型为ll;步骤4.7、节点n收到节点i发出的"传输完毕"反馈包;步骤4.8、节点零收到节点I发出的"传输完毕"反馈包,本次传输完成。图4示意了一次从请求接收过程。最后,还需要注意的是,以上列举的仅是本发明的一个具体实施例。显然,本发明不 限于以上实施例,还可以有许多变形。本领域的普通技术人员能从本发明公开的内容直接 导出或联想到的所有变形,均应认为是本发明的保护范围。
权利要求
1、一种适合于多处理器片上网络的传输协议,适用于片上网络节点间的数据传输,其特征在于,包括下列四类传输过程过程一、主请求发送,包括以下步骤步骤1.1、主节点向从节点发送包含传输参数的“主请求发送”请求包,等待接收从节点发出的反馈包;步骤1.2、从节点接收到“主请求发送”请求包;若从节点忙,无法进行传输,则向主节点发送“从节点忙”反馈包,主节点收到后,经过一定的延时,重新执行步骤1.1;若请求包中的传输参数有误,从节点向主节点发送“出错”反馈包,主节点收到后,本次传输结束;若请求包中的传输参数正确,且从节点可以进行传输,从节点向主节点发送“准备传输”反馈包,并等待主节点发送数据包;步骤1.3、主节点收到从节点发出“准备传输”反馈包后,开始依次发送若干数据包,直至达到请求包中设定的数据传输量,之后等待接收从节点发出的“传输完毕”反馈包;步骤1.4、从节点接收主节点发出的数据包,将其中的数据逐个保存在请求包中设定的相应地址,直至接收的数据量达到请求包中设定的数据传输量,之后向主节点发送“传输完毕”反馈包;步骤1.5、主节点收到从节点发出的“传输完毕”反馈包,本次传输完成;过程二、主请求接收,包括以下步骤步骤2.1、主节点向从节点发送包含传输参数的“主请求接收”请求包,等待接收从节点发出的反馈包;步骤2.2、从节点接收到“主请求接收”请求包;若从节点忙,无法进行传输,则向主节点发送“从节点忙”反馈包,主节点收到后,经过一定的延时,重新执行步骤2.1;若请求包中的传输参数有误,从节点向主节点发送“出错”反馈包,主节点收到后,本次传输结束;若请求包中的传输参数正确,且从节点可以进行传输,从节点向主节点发送“准备传输”反馈包,之后执行步骤2.3;步骤2.3、从节点开始从请求包中设定的相应地址中依次读出数据,并打包成数据包发送至主节点,直至达到请求包中设定的数据量,之后等待接收主节点发出的“传输完毕”反馈包;步骤2.4、主节点收到从节点发出的“准备传输”反馈包后,开始接收从节点发出的数据包,将其中的数据逐个取出并保存,直至达到请求包中设定的数据量,之后向从节点发送“传输完毕”反馈包;步骤2.5、从节点收到主节点发出的“传输完毕”反馈包,本次传输完成;过程三、从请求发送,包括以下步骤步骤3.1、主节点向直接从节点发送一个包含直接从节点端传输参数的“从请求发送”请求包和一个包含间接从节点端传输参数的“从请求发送”请求包,等待接收直接从节点发出的反馈包;步骤3.2、直接从节点接收到主节点发出的“从请求发送”请求包;若直接从节点忙,无法进行传输,则向主节点发送“从节点忙”反馈包,主节点收到后,经过一定的延时,重新执行步骤3.1;若请求包中的传输参数有误,直接从节点向主节点发送出“出错”反馈包,主节点收到后,本次传输结束;若请求包中的传输参数正确,且直接从节点可以进行传输,则执行步骤3.3;步骤3.3、直接从节点向间接从节点发送包含间接从节点传输参数“主请求发送”请求包,之后等待间接从节点发出的反馈包;步骤3.4、间接从节点接收到直接从节点发出“主请求发送”请求包;若间接从节点忙,无法进行传输,则向直接从节点发送“从节点忙”反馈包,直接从节点收到后,经过一定的延时,重新执行步骤3.3;若请求包中的传输参数有误,间接从节点向直接从节点发送“出错”反馈包,直接从节点收到后,向主节点发送发送“出错”反馈包,本次传输结束;若请求包中的传输参数正确,且间接从节点可以进行传输,间接从节点向直接从节点发送“准备传输”反馈包,之后等待直接从节点发送数据包;步骤3.5、直接从节点收到间接从节点发出的“准备传输”反馈包后,从请求包中设定的相应地址中依次读出数据,并打包成数据包发送至主节点,直至达到请求包中设定的数据量,之后等待接收间接从节点发出的“传输完毕”反馈包;步骤3.6、间接从节点接收直接从节点发出的数据包,将其中的数据逐个保存在请求包中设定的相应地址,直至接收的数据量达到请求包中设定的数据传输量,之后向直接从节点发送“传输完毕”反馈包;步骤3.7、直接从节点收到间接从节点发出的“传输完毕”反馈包,向主节点发送“传输完毕”反馈包;步骤3.8、主节点收到直接从节点发出的“传输完毕”反馈包,本次传输完成;过程四、从请求接收,包括以下步骤步骤4.1、主节点向直接从节点发送一个包含直接从节点端传输参数的“从请求接收”请求包和一个包含间接从节点端传输参数的“从请求接收”请求包,等待接收直接从节点发出的反馈包;步骤4.2、直接从节点接收到主节点发出的“从请求接收”请求包;若直接从节点忙,无法进行传输,则向主节点发送“从节点忙”反馈包,主节点收到后,经过一定的延时,重新执行步骤4.1;若请求包中的传输参数有误,直接从节点向主节点发送出“出错”反馈包,主节点收到后,本次传输结束;若请求包中的传输参数正确,且直接从节点可以进行传输,则执行步骤4.3;步骤4.3、直接从节点向间接从节点发送包含间接从节点传输参数“主请求接收”请求包,之后等待间接从节点发出的反馈包;步骤4.4、间接从节点接收到直接从节点发出“主请求接收”请求包;若间接从节点忙,无法进行传输,则向直接从节点发送“从节点忙”反馈包,直接从节点收到后,经过一定的延时,重新执行步骤4.3;若请求包中的传输参数有误,间接从节点向直接从节点发送“出错”反馈包,直接从节点收到后,向主节点发送发送“出错”反馈包,本次传输结束;若请求包中的传输参数正确,且间接从节点可以进行传输,间接从节点向直接从节点发送“准备传输”反馈包,之后执行步骤4.5;步骤4.5、间接从节点从请求包中设定的相应地址中依次读出数据,并打包成数据包发送至直接从节点,直至达到请求包中设定的数据量,之后等待接收直接从节点发出的“传输完毕”反馈包;步骤4.6、直接从节点收到间接从节点发出的“准备传输”反馈包后,开始接收间接从节点发出的数据包,将其中的数据逐个保存在请求包中设定的相应地址,直至达到请求包中设定的数据量,之后向间接从节点发送“传输完毕”反馈包,并向主节点发送“传输完毕”反馈包;步骤4.7、间接从节点收到直接从节点发出的“传输完毕”反馈包;步骤4.8、主节点收到直接从节点发出的“传输完毕”反馈包,本次传输完成。
2、 根据权利要求l所述的适合于多处理器片上网络的传输协议,其特征在于主请求发 送和主请求接收过程在两个节点间进行,发出请求包的节点称为主节点,接收请求包的节点 称为从节点;从请求发送和从请求接收过程在三个节点间进行,发出"从请求发送"和"从 请求接收"请求包的节点称为主节点,接收"从请求发送"和"从请求接收"请求包的节点 称为直接从节点,另一节点称为间接从节点。
3、 根据权利要求l所述的适合于多处理器片上网络的传输协议,其特征在于数据传输 的基本单位是包,包括头信息和载荷组成;头信息包括了包类型、源节点编号和目标节点编 号三部分信息,所述的包类型包括请求包、数据包和反馈包三类;请求包的载荷包括请求类 型、目标节点编号、传输方向、数据位宽、数据传输量,数据首地址和地址变化模式;数据 包的载荷为数据和当前数据传输量,或仅为数据;反馈包的载荷为反馈类型。
4、 根据权利要求1或3所述的适合于多处理器片上网络的传输协议,其特征在于请求 包中的请求类型分为主请求、直接从请求和间接从请求三类;主请求类型的请求包包括从节 点端的传输参数,用于所有四类传输过程;直接从请求类型的请求包包括直接从节点端的传 输参数,间接从请求类型的请求包包括间接从节点端的传输参数;直接从请求类型的请求包 和间接从请求类型的请求包用于从请求发送过程和从请求接收过程,由主节点向直接从节点 发送;请求包中的目标节点编号在主请求发送过程和主请求接收过程为从节点编号,在从请求 发送过程和从请求接收过程中为间接从节点编号;请求包中的传输方和请求类型一同决定传输过程属于主请求发送、主请求接收、从请求 发送或从请求接收之一;请求包中的数据位宽用于决定数据包中单个数据的位宽,包括8比特、16比特、32比特 和64比特四类;请求包中的地址变化模式请求包中的地址变化模式包括递增,递减和恒定三类;当前数 据地址根据数据首地址、数据位宽和当前数据传输量计算得到;在递增模式下,当前数据地 址是数据首地址和当前数据传输量之和;在递减模式下,当前数据地址是数据首地址和当前 数据传输量之差;在恒定模式下,当前数据地址是数据首地址;恒定模式只能用于包按序到 达的片上网络中。
5、根据权利要求1或3所述的适合于多处理器片上网络的传输协议,其特征在于数据 包中可以包含或不包含当前数据传输量,在包乱序到达的片上网络中必须包含当前数据传输数据包中的数据部分由多个数据打包得到,待传输数据依次填充不同的数据包;在最后 一个数据包中,若数据不能填满,则剩余部分用零填充。
6、根据权利要求1或3所述的适合于多处理器片上网络的传输协议,其特征在于反馈 包中的反馈类型包括准备传输、节点忙、出错、传输完毕四类;其中"准备传输"、"节点忙" 和"出错"反馈包用于回应请求包,分别表示接受请求,拒绝请求和请求包中的参数有误;"传 输完毕"反馈包表示节点己接收完所有数据。
全文摘要
本发明公开了一种适合于多处理器片上网络的传输协议,适用于片上网络节点间的数据传输,包括下列四类传输过程过程一、主请求发送;过程二、主请求接收;过程三、从请求发送;过程四、从请求接收。本发明的适合于多处理器片上网络的传输协议,主要用于多处理器片上网络的节点间的数据传输。
文档编号H04L29/06GK101227486SQ200810059579
公开日2008年7月23日 申请日期2008年2月3日 优先权日2008年2月3日
发明者鹏 刘, 册 史, 吴江南, 夏冰杰, 姚庆栋, 王维东, 项存昶 申请人:浙江大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1