处理层数据包生成方法、装置及PCIExpress系统的制作方法

文档序号:9844050阅读:348来源:国知局
处理层数据包生成方法、装置及PCI Express系统的制作方法
【技术领域】
[0001]本发明涉及高速串行总线领域,尤其涉及一种用于PCI Express (PeripheralComponent Interconnect Express,高速外部设备互连总线)系统的处理层数据包生成方法、装置及PCI Express。
【背景技术】
[0002]PCI Express技术是为了适应计算机技术的发展而提出的第3代高性能I/O总线技术,PCI Express技术的软件框架是与PCI (Peripheral Component Interconnect,外部设备互连总线)技术的软件框架完全兼容,与PCI技术采用并行数据传输不同,PCI Express技术是采用串行数据传输。
[0003]PCI Express协议规定,PCI Express由物理层、数据链路层以及处理层组成;其中处理层主要实现TLP(Transact1n Layer Packet,处理层数据包)的组包与解包;数据链路层的主要功能为保证在各链路上发送与接收的TLP的完整性,数据链路层通过序列号生成与检测电路以及LCRC(Link Cyclic Redundancy Check,链路层循环冗余校验)电路来保证数据包正确传输。
[0004]如图1所示,TLP结构与PCI Express中各个层的关系,在现有技术中,处理层生成TLP时,只生成TLPd部分,即图1中的头字段Header、数据字段Data及摘要字段Digest,其长度为DW(lDW = 4Byte)的整数倍,TLP传输到数据链路层时再添加2Byte长的序列号字段Sequence Number与IDW长的LCRC值,TLP传输到物理层时再添加IByte长的开始标志字段STP与IByte长的结束标志字段END。即,现有TLP生成方法需要在数据链路层与物理层进行移位操作,将增加TLP的传输延时。
[0005]因此,如何提供一种可以解决现有TLP生成方法需要在数据链路层与物理层进行移位操作的TLP生成方法,是本领域技术人员亟待解决的技术问题。

【发明内容】

[0006]本发明提供了一种用于PCI Express系统的处理层数据包生成方法、装置及PCIExpress,以解决现有TLP生成方法需要在数据链路层与物理层进行移位操作导致的增加TLP传输延时的问题。
[0007]本发明提供了一种用于PCI Express系统的TLP生成方法,PCI Express包括处理层、数据链路层及物理层,TLP生成方法包括:控制处理层生成初始TLP,初始TLP包括预留字段、头字段、数据字段及摘要字段,预留字段包括空白的开始标志字段、序列号字段、LCRC字段及结束标志字段;控制数据链路层和物理层计算并填写预留字段,生成最终的TLP。
[0008]进一步的,计算并填写预留字段生成最终的TLP包括:控制物理层确定并填写开始标志字段及结束标志字段,控制数据链路层确定并填写序列号字段,控制LCRC电路计算并填写LCRC字段。
[0009]进一步的,LCRC电路包括多个不同输入位宽的并行循环冗余校验电路;控制LCRC电路计算并填写LCRC字段包括:根据初始TLP的有效数据位宽,使能对应输入位宽的并行CRC电路计算并填写LCRC。
[0010]进一步的,使能对应输入位宽的并行CRC电路计算链接CRC包括:检测到开始标志字段,基于开始标志字段确定第一周期的有效数据位宽,选择第一周期的并行CRC电路,并产生第一周期的并行CRC电路的初始值,计算出输出值;在下一周期选择与内部总线数据位宽对应的并行CRC电路,将前一周期的并行CRC电路的输出值作为本周期的并行CRC电路的初始值,计算出输出值;检测到结束标志字段,基于结束标志字段确定最后一周期的有效数据位宽,选择最后一周期的并行CRC电路,将前一周期的并行CRC电路的输出值作为本周期的并行CRC电路的初始值,计算出输出值,并将其作为LCRC。
[0011]进一步的,还包括:当初始TLP为背靠背TLP时,检测初始TLP的开始标志字段及结束标志字段,将背靠背TLP拆分为两个待处理的初始TLP,同时处理两个待处理的初始TLP。
[0012]进一步的,同时处理两个待处理的初始TLP包括:复用不同输入位宽的并行CRC电路,计算LCRC字段。
[0013]本发明提供了一种用于PCI Express系统的TLP生成装置,PCI Express包括处理层、数据链路层及物理层,TLP生成装置包括:预留模块,用于控制处理层生成初始TLP,初始TLP包括预留字段、头字段、数据字段及摘要字段,预留字段包括空白的开始标志字段、序列号字段、LCRC字段及结束标志字段;控制模块,用于控制数据链路层和物理层计算并填写预留字段,生成最终的TLP。
[0014]进一步的,控制模块用于控制物理层填写开始标志字段及结束标志字段,控制数据链路层填写序列号字段,控制LCRC电路计算并填写LCRC字段。
[0015]进一步的,LCRC电路包括多个不同输入位宽的并行CRC电路;控制模块用于根据初始TLP的有效数据位宽,使能对应输入位宽的并行CRC电路计算并填写LCRC。
[0016]进一步的,控制模块用于检测到开始标志字段,基于开始标志字段确定第一周期的有效数据位宽,选择第一周期的并行CRC电路,并产生第一周期的并行CRC电路的初始值,计算出输出值;在下一周期选择与内部总线数据位宽对应的并行CRC电路,将前一周期的并行CRC电路的输出值作为本周期的并行CRC电路的初始值,计算出输出值;检测到结束标志字段,基于结束标志字段确定最后一周期的有效数据位宽,选择最后一周期的并行CRC电路,将前一周期的并行CRC电路的输出值作为本周期的并行CRC电路的初始值,计算出输出值,并将其作为LCRC。
[0017]进一步的,控制模块还用于当初始TLP为背靠背TLP时,检测初始TLP的开始标志字段及结束标志字段,将背靠背TLP拆分为两个待处理的初始TLP,同时处理两个待处理的初始 TLP ο
[0018]进一步的,控制模块用于复用不同输入位宽的并行CRC电路,计算LCRC字段。
[0019]本发明提供了一种PCIExpress系统,其包括本发明提供的TLP生成装置,使用TLP生成装置生成TLP。
[0020]本发明的有益效果:
[0021 ]本发明提供了一种新的TLP生成方法,通过控制处理层生成初始TLP,初始TLP包括预留字段、头字段、数据字段及摘要字段,预留字段包括空白的开始标志字段、序列号字段、LCRC字段及结束标志字段,控制数据链路层和物理层计算并填写预留字段,生成最终的TLP;在生成TLP的过程中,由于不需要对TLP包进行移位,因此减小了TLP的传输延时。进一步的,采用全并行的结构对LCRC值进行计算,实现处理背靠背TLP而不丢包,保证了 TLP传输带宽。进一步的,对背靠背TLP拆分处理,并对不同输入位宽的并行CRC电路复用,减少了电路资源开销。
【附图说明】
[0022]图1为TLP结构与PCIExpress中各个层的计算关系;
[0023]图2为本发明第一实施例提供的TLP生成装置的结构示意图;
[0024]图3为本发明第二实施例提供的TLP生成方法的流程图;
[0025]图4为内部传输总线位宽为128bit时,常见的背靠背TLP传输模式;
[0026]图5为本发明第三实施例提供的LCRC电路功能框图。
【具体实施方式】
[0027]现通过【具体实施方式】结合附图的方式对本发明做出进一步的诠释说明。
[0028]第一实施例:
[0029]图2为本发明第一实施例提供的TLP生成装置的结构示意图,由图2可知,在本实施例中,本发明提供的TLP生成装置2包括:
[0030]预留模块21,用于控制处理层生成初始TLP,初始TLP包括预留字段、头字段、数据字段及摘要字段,预留字段包括空白的开始标志字段、序列号字段、LCRC字段及结束标志字段;
[0031]控制模块22,用于控制数据链路层和物理层计算并填写预留字段,生成最终的TLP0
[0032]在一些实施例中,上述实施例中的控制模块22用于控制物理层填写开始标志字段及结束标志字段,控制数据链路层填写序列号字段,控制LCRC电路计算并填写LCRC字段。
[0033]在一些实施例中,上述实施例中的LCRC电路包括多个不同输入位宽的并行CRC电路;控制模块22用于根
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1