[发明专利]基于压缩变换的面向多微包并行处理结构的重传方法有效

专利信息
申请号: 201210421636.4 申请日: 2012-10-29
公开(公告)号: CN102981804A 公开(公告)日: 2013-03-20
发明(设计)人: 庞征斌;徐炜遐;夏军;张峻;陆平静;童元满;王绍刚;张建民;徐金波;齐星云;常俊胜;董德尊 申请(专利权)人: 中国人民解放军国防科学技术大学
主分类号: G06F9/38 分类号: G06F9/38
代理公司: 国防科技大学专利服务中心 43202 代理人: 郭敏
地址: 410073 湖*** 国省代码: 湖南;43
权利要求书: 查看更多 说明书: 查看更多
摘要: 发明公开了一种基于压缩变换的面向多微包并行处理结构的重传方法,目的是解决结点控制器芯片接口访问控制部件中多路并行数据出错时需要快速定位并重传的问题。技术方案是在多微包并行处理结构的发送模块和重传缓冲区之间添加一个重映射模块,改进重传缓冲区的结构,在对多微包进行重传时,重映射模块对多微包进行压缩变换,将有效单微包重映射到重传缓冲区,并在多微包传输出错时精确定位重传单微包在重传缓冲区中的起始地址,读出出错单微包,拼凑成N路并行数据后提交给发送模块。采用本发明可使得重传缓冲区存储空间减小,解决了N个单微包同时进行传输出错时的单微包快速定位问题;有效减少了重传次数,提高了重传效率。
搜索关键词: 基于 压缩 变换 面向 多微包 并行 处理 结构 方法
【主权项】:
1.一种基于压缩变换的面向多微包并行处理结构的重传方法,其特征在于包括以下步骤:第一步,改进多微包并行处理结构,方法是:1.1在多微包并行处理结构的发送模块和重传缓冲区之间添加一个重映射模块,重映射模块是一个软件模块,与发送模块和重传缓冲区相连;重映射模块从发送模块接收多微包,对多微包进行压缩变换,将压缩变换后的有效单微包重映射到重传缓冲区,并在多微包传输出错时从重传缓冲区读出出错单微包,拼凑成N路并行数据后提交给发送模块;1.2改进重传缓冲区的结构:重传缓冲区与重映射模块相连;重传缓冲区从重映射模块接收压缩变换后的有效单微包,在重传时将出错单微包的备份提交给重映射模块;重传缓冲区由N个宽度为W、深度为D/N的静态随机存取存储器SRAM组成,D与N均是2的幂次方,N个SRAM逻辑上形成宽度为N*W、深度为D/N的重传缓冲区,并通过N个读使能端口和N个写使能端口实现N个单微包数据的并行读写,N个SRAM中索引相同的地址形成逻辑上的一行,行读指针Row_RdPtr控制一行数据的读,行写指针Row_WtPtr控制一行数据的写,变量Offset_RdPtr为Row_RdPtr在一行中的偏移,变量Offset_WtPtr为Row_WtPtr在一行中的偏移;同时,重传缓冲区由读指针RdPtr记录对重传缓冲区的读索引,写指针WtPtr记录对重传缓冲区的写索引;读指针RdPtr的低位即为RdPtr在重传缓冲区中一行内的偏移量Offset_RdPtr,写指针WtPtr的低位即为WtPtr在重传缓冲区中一行内的偏移量Offset_WtPtr,高位地址为RdPtr在重传缓冲区中的逻辑行数Row_RdPtr,为WtPtr在重传缓冲区中的逻辑行数Row_WtPtr;重传缓冲区的大小为D*W;第二步,改进后的多微包并行处理结构将从协议层报文转发模块接收的单微包发送至第二处理器,过程是:2.1报文拼装模块从第二协议层报文FIFO中取出待传输的协议层命令和数据,根据单微包到达第二协议层报文FIFO的时间顺序将N个单微包组装成一个多微包{Flit[N-1],Flit[N-2],…,Flit[1],Flit[0]},将组装后的多微包提交给发送缓冲区;2.2发送缓冲区从报文拼装模块接收拼装好的多微包,对多微包进行缓存,接收到发送模块的读请求后将多微包发送给发送模块;2.3发送模块根据从链路状态机接收的消息完成以下工作:2.3.1如果发送模块从链路状态机收到的是远程重传响应,转2.4步;2.3.2如果发送模块从链路状态机收到的是本地重传请求,发送模块向异步发送FIFO发送一个多微包,多微包中的一个单微包为该重传请求,其它单微包均为空微包,请求第二处理器重新发送出错单微包,转2.5步;2.3.3如果发送模块从链路状态机收到的是信用和响应信息,则从发送缓冲区读取一个多微包{Flit[N-1],Flit[N-2],…,Flit[1],Flit[0]},将此多微包写入异步发送FIFO,同时向重映射模块发出写使能信号,并将该多微包发送给重映射模块,重映射模块对多微包{Flit[N-1],Flit[N-2],…,Flit[1],Flit[0]}进行压缩变换,并将压缩变换后的K个有效单微包重映射到重传缓冲区中,方法是:2.3.3.1重映射模块对多微包{Flit[N-1],Flit[N-2],…,Flit[1],Flit[0]}进行压缩变换:记向量VEC[N-1:0]为多微包中N个单微包的有效位向量,位向量值为1表示有效,位向量值为0表示无效,VEC[0]对应Flit[0]的有效信息、…、VEC[N-1]对应VEC[N-1]的有效信息;记一个多微包中有K个单微包为有效单微包,1≤K≤N,K为自然数;重映射模块采用冒泡排序方法对多微包中的N个单微包及其位向量进行排序,使得多微包中的有效单微包放置在低位,无效单微包在高位,多微包的有效位向量VEC[N-1:0]为:2.3.3.2重映射模块将压缩变换后的K个有效单微包重映射到重传缓冲区中,过程如下:2.3.3.2.1如果K≤N-OffSet_WtPtr,将SRAM[OfSet_WtPtr+K-1:OfSet_WtPtr]的写使能信号置为1,WtPtr=(WtPtr+K)%D,转2.5步;否则,转2.3.3.2.2步;2.3.3.2.2将SRAM[OfSet_WtPtr+K-N-1:0]、SRAM[N-1:OfSet_WtPtr]的写使能信号置为1,WtPtr=(WtPtr+K)%D,转2.5步;2.4由重映射模块将出错单微包从重传缓冲区读出提交给发送模块,过程如下:2.4.1接收方检测到多微包传输出错,向发送方发送一个远程重传请求LLRReq,LLRReq中包含重传定位ESeq;2.4.2发送方收到接收方发送过来的LLRReq后,向接收方发送一个重传响应LLRAck,LLRAck中包含发送方的WtPtr值和接收方发过来的ESeq信息;2.4.3发送方调整RdPtr为ESeq值,并将重传请求LLRReq发送至重映射模块,重映射模块根据RdPtr精确定位重传单微包在重传缓冲区中的起始地址:第行、偏移量为2.4.4重映射模块将出错单微包从重传缓冲区中读出并重新发送给发送模块,具体过程如下:2.4.4.1如果RdPtr=WtPtr,跳出重传模式,转2.5步,否则进入2.4.4.2步;2.4.4.2如果Row_RdPtr不等于Row_WtPtr,转2.4.4.3步;如果Row_RdPtr=Row_WtPtr,根据Offset_RdPtr的取值范围按以下步骤拼凑由N个单微包组成的多微包:2.4.4.2.1若Offset_RdPtr≥1,则N个单微包数据格式为:Flit[N-1:Offset_WtPtr]为空微包,Flit[Offset_WtPtr-1:Offset_RdPtr]为重传缓冲区中读出的单微包数据,Flit[Offset_RdPtr-1:0]为空微包,重映射模块将拼凑后的多微包提交给发送模块,转2.5步;2.4.4.2.2若Offset_RdPtr=0,则N个单微包数据格式为:Flit[N-1:Offset_WtPtr]为空微包,Flit[Offset_WtPtr-1:0]为重传缓冲区中读出的单微包数据,重映射模块将拼凑后的N路并行数据提交给发送模块,转2.5步;2.4.4.3重映射模块将重传缓冲区中Flit[N-1:Offset RdPtr]读出,重映射模块将重传单微包拼凑为N路并行数据:若Offset_RdPtr≥1,则N个单微包数据格式为:Flit[Offset_RdPtr-1:0]为空微包,与Flit[N-1:Offset_RdPtr]形成N路并行数据提交给发送模块,Row_RdPtr=(Row_RdPtr+1)%(D/N),转2.4.4.3.1步;否则Offset_RdPtr=0,Flit[N-1:0]均为重传缓冲区单微包数据,重映射模块将此多微包提交给发送模块,Row_RdPtr=(Row_RdPtr+1)%(D/N),转2.4.4.3.1步;2.4.4.3.1如果Row_RdPtr不等于Row_WtPtr,执行2.4.4.3.2步;如果Row_RdPtr=Row_WtPtr,则重传缓冲区中Flit[Offset_WtPtr-1:0]需要重传,重映射模块将重传单微包拼凑为N路并行数据:若Offset_WtPtr=0,转2.5步;若Offset_WtPtr≥1,则N个单微包数据格式为:Flit[N-1:Offset_WtPtr]为空微包,Flit[Offset_WtPtr-1:0]为重传缓冲区单微包数据,重映射模块将此多微包提交给发送模块,转2.5步;2.4.4.3.2重映射模块将重传缓冲区中Flit[N-1:0]提交给发送模块,Row_RdPtr=(Row_RdPtr+1)%(D/N),转2.4.4.3.1步;2.5每一个链路层时钟周期内发送模块向异步发送FIFO写入一个多微包{Flit[N-1],Flit[N-2],…,Flit[1],Flit[0]},第二处理器按照Flit[0]、Flit[1]、…、Flit[N-1]的顺序每个物理层时钟周期内从异步发送FIFO读取一个单微包,进而在N个物理层时钟周期内读取一个多微包{Flit[N-1],Flit[N-2],…,Flit[1],Flit[0]}。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国人民解放军国防科学技术大学,未经中国人民解放军国防科学技术大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/patent/201210421636.4/,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top