




已阅读5页,还剩51页未读, 继续免费阅读
(电路与系统专业论文)pciexpress数据链路层的设计.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
p c i - e x p r e s s 数据链路层的设计电路与系统2 0 4 i1 1 2 4劳懋元 摘要 p c i e x p r e s s ( 3 g 1 0 ) 即第三代通用i o 总线,它的出现带来了一场革命,不 但能与原来的p c i 设备兼容工作,还可以增强原有设备的性能。p c i e x d r e s s 的 特点就是高性能、高扩展性、高可靠性、很好的升级性以及低花费。今天的软件 应用越来越依赖于硬件平台,特别是输入输出子系统,日常应用中常常会出现从 视频源和音频源传来的大量的流数据要处理,甚至有许多的数据是要求实时处理 的。p c i e x p r e s s 不仅能够满足极大输入输出总线带宽的要求,同时在桌面系统、 移动系统、服务器、通讯系统、工作站、嵌入式系统中也能很好的得到应用。 无疑p c i e x 口r e s s 是种先进的技术,对于它的研究和应用是相当有意义和价 值的。然而目前p c i e x 口r e s s 的相关研究和开发主要集中在国外,可以参考的资料 相当少,因此要完成硬件具体实现具有相当的难度,设计过程函盖了i c 设计的前 端到后端,需要具备一定的i c 设计经验。 数据链路层( d l l ) 在p c i 也x p r e s s 的三层架构中介于数据事物层( t l ) 和 物理层( p l ) 间,主要担负提供可靠数据传输的功能。数据链路层设计代码量 较大,在da _ t a p a 吐l 上存在多路数据调度的问题,其设计的好坏在后期的性能验证 中也被证实有很大的影响,同时从性能角度出发,c r c 的计算不能采取按位运算 的方法,但采用多位同时计算的方法又要考虑电路延时,为了达到目标频率需要 精心设计电路,避免相关路径延时太大,造成综合不能达到要求。其他的功能部 件,例如a c 勋,n a k 机制和流量控制更新机制对于整体性能都有很大影响,因此 数据链路层的设计在实现功能的基础上,对于性能的思考也是十分重要的。 关键词:p c i - e x p i e 船 3 g i ot l pd l l p t ld l lp l ! 里! :坠! 竺! 墼墨堡墅生塑垡生 皇堕兰至竺! 竺! ! ! 翌蒸燮垂 a b s t r a c t p c i e x p r e s s ( 3 g i o ) a st h e t h i r dg e n e r a t i o no fu n i v e r sa 1i ,o i n t e r c o n n e c t ,l e a d st oa r e v 0 1 u t i o n i ti sn o to n l yp c ic o m p a t i b l e ,b u ta l s oc a l le n h a n c et h ep e r l 0 r n l a n c eo ft h ee x i s t e m d e v i c e ,t h ek e yp c i e x p r e s sa 札r i b u t e sa r e :h - g hp e r f b 丌1 1 a n c e ,s u p p o r tm u l t l p l e p l a t f o 丌1 1 s i 1 1 t e r c o n n e c t ,h i g hr e l i a b i l i t y ,e a s yf o ru p g m d e 锄dl o wc o s t t b d a yt h es o f t w a r ei sb e c o m i n gm o r e a n dm o r ed e p e n d e n to nt h eh a r d w a r ep l a t f b r r n ,e s p e c i a l l yt h el ,os u b s y s t e m t h e r ea r eu s u a l l ya m a s so fd a t at h a tf 而mt 1 1 ev i d e oo ra u d i os o u r c et ob ep r o c e s s e d ,s o m e t i m et 1 e ye v e nn e e dt 0b e r e a l t i m ep r o c e s s e d p c i - e x p r e s sc 锄n o t0 1 1 l ys a t i s 母t h er e q u i r e m e n to f h u g e ) b a n d w i d t h ,b u t a l s oc a nb e 印p l i e dt od e s ps y s t e m ,m o b i l es y s t e m ,s e r v e c o m m u n i ca t j o ns y s t e m ,w o r ks t a t i o n a n de m b e d d e ds y s t e i nb r i l l i a n ny - w i t h o u td o u b t 出a tt h ep c i - e x p r e s si s 锄a d v 8 n c e dt e c l l n o j o “t h er e s e ha n dj m p 】e m e n t o fp c i e x p r e s sa r em a k m gs e n s ea n dv a l u a b l e b u tt h ep c i 也x p r e s sr e l a t e dr e s e a r c ha 工l d d e v e l 叩m e n ta r em a i n l yi nf o r e i g n c o u n t r yn ow ,s ot 1 1 e r ea r ef e wf e f e r e n c e di n f o m a t i o n ,t h e r e f o r e i ti sq u i t ed i 伍c u l tt oa c c o m p i i s ht h eh a d w a r ei m p l e m e n t a t i o n t h ep r o c e s sc o v e r st h ef 吣n t - e n d a n db a c k e n dp a r to f i cd e s i g n ;i tn e e d sc e r t a i ni cd e s i g ne x p e r i e n c e d a t al i n kl a y e r ( d l l ) a c t s 嬲锄i n t e n l l e d i a t es t 4 9 eb e t w e e nt 1 1 e1 协1 s a c t j o nl a y e r ( t l ) a n d 廿1 ep h y s i c a ll a y e r ( p l ) i 乜p r i m a r yr e s p o l l s i b i l i t yi st op m v i d ear e l i a b l em e c h a n i s mf o r e x c h a n g i n gd a 诅t h e 锄o u n to fc o d i n gi sq u i t eb i g ,e s p e c i a l l y 证也ed a t ap a t h ,i te x i s t s t l l ep r o b l e mo f 曲i 廿a t i n gm u l t i p a 也d a t a ,t h ed e s i g ns t y l ei sa p p r o v e dt oh a v i n gb i g i n f l u e n c eo nt h ep e r f o r m a n c e ,f 如mt h ep e f f b r m a n c es t a n d p o i n t ,t h ec a l c u l a t i o no f c r cc a nn o ta c c e p t 也eb i to p e m t i o nw a y ,b u tw h e nu s i n gt h em u l t i b nw a y ,i ts h o u l d c o n s i d e r 血ec i r c u i td e l a yp m b l e m t h ec i r c l l i ts h o u l db ed e s i 鲈e da b o m t i v e l yt o a v o i db i gd e l a yp a mw h i c h 埘um a k es ”m e s i s 蹦1 t h ea c k 悄a km e c h a n i s ma n dt h e n o wc o m r 0 1m e c h a n i s mh a v ef e a ti n n u e n c eo n 廿l ep e r f b m a n c e ,s ob a s e do nt h ei m p l e m e n 诅t j o n o f d l li t sa l s oi m p o r c a l l tt oc o n s i d e ro f i n c r e a s i “gp e d b 瑚柏n c e k e y w o r d s :p c i e x p r e s s 3 g i ot l pd l l pt ld l lp l 4 图表索引 图表1p c i e x d r e s s 层次结构9 图表2p c i e x p r e s s 拓扑结构1 0 图表3p c i 总线结构1l 图表4p c i e x d r e s s 总线结构1 2 图表5t l p 发送结构1 6 图表6t l p 接收处理1 6 图表7d l l p 的传输一1 7 图表8d l l p 格式1 7 图表9a c k ,n a k 机制1 8 图表1 0 a c k ,n a k 响应选择1 9 图表1 1a c k ,n a k 处理流程2 0 图表1 2 流量控制初始化流程2 2 图表1 3d l l 整体框图2 7 图表1 4c o n 仃0 1 1 e r 架构2 8 图表1 5d l c m s m 状态图2 9 图表1 6t l p 接收流程一3 3 图表1 7 t l p 接收实现框图3 4 图表1 8l c r c 计算原理3 5 图表1 9d l l p 接收实现框图一3 6 图表2 0t l p 发送实现框图3 7 图表2 1 重发管理模块大体框图3 8 图表2 2a s p m 状态转换图4 0 图表2 3l 0 到l 1 转换步骤4 1 图表2 4l o 到l 2 ,l 3r e a d y 状态转换4 2 图表2 5 流量控制更新框图4 3 图表2 6 关键路径时序报告4 8 图表2 7 关键路径电路图4 8 图表2 8 复制组合逻辑前4 9 图表2 9 复制组合逻辑后5 0 图表3 0 复制寄存器前5 1 图表3 1 复制寄存器后j 5 1 图表3 24 个r e q u e s ti n b o u n d b d w i 拙一5 3 图表3 34 个r e q u e s to u t b o db a n d 、v i d t h 5 4 图表3 43 2 个r e q u e s ti n b o u n db a n d w i d 廿l 5 4 图表3 53 2 个r e q u e s to u t b o u n db a n d w j d i h 5 5 图表3 63 2 个r e q u e s ti n b o u n db a i l d w i d 曲w i t hf i f o 5 5 图表3 73 2 个r e q u e s to u t b o u n db a r d w i d t hw i t hf o 5 6 p c i - e x p r e 船数据链路层的设计电路与系统2 0 4 1 1 1 2 4 劳鳖雾 表格索引 表格l 流量信息更新参考频率2 3 表格2 超时重发参考频率2 4 表格3 错误通知类型4 3 表格4 综合资源使用情况4 6 袭格5p l d ap c i ec o r e 资源使用4 6 表格6a l t e mp c i ec o r e 资源使用4 7 8 p c i i e x p r e s s 数据链路层的设计电路与系统2 0 4 1 11 2 4 劳懋元 1 p c i e x p r e s s 概述 1 。1p c i - e x p 隋s s 层次结构 p c ie x p r e s s 协议中定义了三层结构:事务层( t r a n s a c t i o nl a y e r ) 、数据链 路层( d a t al i n kl a y e r ) 和物理层( p h y s i c a ll a y e r ) 。 图表1p c i e x d r e s s 层次结构 事务层( t l ) 主要负责组包和拆包,负责管理基于信用的流量控制。 数据链路层( d l l ) 主要负责链路的管理和数据完整性的管理,包括错误的 检测和错误的纠正。 物理层( p l ) 包含接口的所有电路:驱动器和输入缓冲、并一串串一并转 换、锁相环、阻抗匹配电路,具有接口初始化和维护的功能。物理层可以更 迸一步地细分为逻辑物理层( l o g i c a lp h y s i c a ll a y e r ) 和电气物理层 ( e 1 e c t r i c a lp h y s i c a ll a y e r ) 。逻辑物理层在发送方向上负责从数据链路 层接收包,进行处理发送上链路;在接收方向上负责将从链路收到的包经过 处理转发到数据链路层。电气物理层是连接到链路的模拟接口,包含每个通 道的差分收发器。 p c i ,e x p r e s s 数据链路层的设计电路与系统乏塑1 1 1 2 41 至! 堕 1 。2p c j - e x p p s 设备,拓扑结构 图表2p c i * e x d r e s s 拓扑结构 p c i e x p r e s s 协议中共定义了三种设备:r o o tc o p l e x 、e n d p o i n t 和s w i t c h 。 r o o tc o m p l e x 在系统中的位置类似于p c i x 中的主桥,它是i o 层次的根, 它将c p u 和m e m o r y 连接至i o 部件。每个r 0 0 tc o m p l e x 可以有一个或多个p c i e x d r e s sp o r t ( r o o tp o r t ) ,每个接口定义一个层次域。 e n d p o i n t 是p c ie x p r e s s 的端点设备,可以分为p c ie x p r e s se n d p o i n t 和 l e g a c ye n d p o i n t 两类。 s w i t c h 是p c ie x p r e s s 的交换设备,可以理解为逻辑上由多个p c i p c i 桥 组合而成,每个桥对应于一个s w it c h 端口。从配置软件来看,s w i t c h 是两 个或更多个逻辑的p c i p c i 桥。 1 3p c i e x p r e s s 与p c i 比较 1 3 1p c i 总线危机 如果计算机只需要进行上网浏览和软件下载等简单的应用,p c i 技术也就足 够了。然而时光飞逝,到2 0 0 4 年的时候,新的技术和设备层出不穷,特别是游 戏和多媒体应用越来越广泛,p c i 的工作频率和带宽都已经无法满足需求。此外, p c i 还存在i r q 共享冲突等问题。 p c i 现在已经接近了其性能的极限,工作频率很难提高,工作电压无法轻易 降低,同步时钟数据传输受到信号失真的限制,而且其信号路由原则对经济有效 的f r 4 技术是一种限制。虽然也有很多旨在跨越这些限制,以创造更高带宽的通 1 0 p c i - e x p 船s 数据链路层的设计 电路与系统2 0 4 1 1 1 2 4 劳懋元 用i 0 总线方法,无奈它们在导致了成本急剧升高之外,对性能的增益却是少 之又少。 现今的软件应用对硬件平台提出了更多的要求,特别是i 0 子系统。用台 式机和笔记本电脑等设备,来处理不同来源的视频和音频数据流已经司空见惯 了,而在p c i2 2 或者p c i x 规范里对这种与时间有关的数据却缺乏相关的支 持。比如视频点播和音频再分配等应用都使服务器受到实时限制。此外,如今的 平台需要越来越高的带宽来处理多种同时传输的数据,不能再以同样方式对等处 理所有的数据了,因为延迟的实时数据与没有数据一样都毫无意义。 1 3 2p c i - e x p r e s s 对比p c i 首先来看p c i 的特点: 图表3p c i 总线结构 p c i 采用并行的信号机制 传输速率从3 3 m b s 到2 6 6 h l b s 总线带宽有3 2 b i t 6 4 b i t 两种 支持边带( s i d eb a n d ) 信号控制 l o a d s t o r e 架构 内存,i 0 ,配置空间 p c i 电源管理 奇偶和e c c p c 卜e x p r e s s 数据链路层的设计电路与系统2 0 4 i1 1 2 4 劳懋元 再来看p c i e x p r e s s 的特点: 图表4p c i - e ) ( p r e s b 总线结构 串行差分接口 传输速率达到了2 5 g b s 具有多种传输模式,非常灵活:l x ,2 x 3 2 x i n _ b a n d 控制 l o a ds t o r e 架构 内存,i 0 ,配置和信息 增强控制机制 与目前的p c i 软件1 0 0 兼容 高级电源管理 高级r a s ,支持热插拔 支持q o s ( 服务质量) 我们看到,p c ie x p r e s s 和p c i 既有共同点也有差别,最重要的地方被保留 了,比如l o a d s t o r e 架构。由于p c ie x p r e s s 采用串行的机制,好象在计算机 中一直都是串行性能较优,比如串行接口的硬盘v s 并行接口的硬盘。p c ie x p r e s s 较之p c i 也更加灵活了,比如支持多种传输速率,那么厂商就可以根据自己的 需要开发出面向不同用户的产品。p c ie x p r e s s 也支持更多先进的技术,比如 r a s 和支持热插拔,从优盘的使用我们就可以感受到热插拔的好处。此外,它也 有个很大的优点,1 0 0 兼容p c i 软件。 2 1 4p c i - e x p 怕s s 发展现状 1 4 1p c i - e x p r e s s 规范的发展 2 0 0 1 年春季i d f 期间,i n t e l 公司宣布将会开发第三代输入输出技术( 3 g 1 0 技术) 来取代现有的p c i 总线技术。同年8 月份,p c i s i g 批准了代号为a r a p a l l o e 的3 g i o 标准。第二年的4 月份,p c i s i g 和a r a p a h o e 工作小组正式完成了3 g 1 0 的草案,并且将其正式命名为p c i e x p r e s s 。 2 0 0 2 年7 月2 3 日,p c i s i g 正式发布了p c i e x p r e s s1 0 版规范。 2 0 0 3 年4 月1 5 日,p c i s i g 又发布了p c i e x p r e s s1 0 a 版规范。 2 0 0 5 年3 月2 8 日,正式发布了p c h ! x p r e s s1 1 版规范。 目前,p c i s i g 已经着手制订下一代p c i e x p r e s s 规范,即p c i e x p r e s s2 o 标准,其主要改变是重新定义了物理层,该标准将把带宽由目前的一条l a i l e 2 5 g b s 提高到5 0 g b ,s 。近日s y n o p s y s 公司已经宣布,其面向p c i e x p r c s s 的 d e s i 朗w a r e 率先支持新推出的p c i e x p r e s s2 0 规范g e ni i 。 1 4 2p c i - e x p r e s s 设备开发应用现状 截止到2 0 0 6 年1 月3 1 目,已经有不少企业的产品通过了p c i s i g 的认证测 试,在p c i s i g 颁布的p c i e x p r e s s 集成商列表中看到,目前已经存在多种类型 的p c i 。e x p r e s s 设备,诸如:终端控制器( e n d p o i n tc o n t r o l l e r ) ;千兆网卡控制器 ( g i g a b i t e t h e m c t c o m m l l e r ) :图形加速卡( g r a p h i c s ) ;h o s t b r i d g e 1 妯o t c o m p l e x ; s w i t c h ;计算机主板( m o n l e r b o a r d ) 等等。 而进步观察集成商列表后发现,目前开发出p c i e x p r e s s 设备的主要还是 i c 知名企业,例如:s ”o p s y s ,c a d e n c ed e s i g ns y s t e m s ,g d a t e c h n 0 1 0 9 i e si n c , m e n t o rg r a p m c s ,p l da p p l i c a t i o i l s ,r e n e s a st e c l l i l o l o g y ,m t e r a ,x i l i n x ,1 1 1 c , a t it c c h l l o l o 西e s ,n v i d 执等等。反观国内目前从事p c i e x p r e s s 开发的企业并 不是很多,因此对于p c i e x p r e s s 的设计研究显得更为有意义。 p c i e x p r c s s 数据链路层的设计 电路与系统2 0 4 l l l 2 4 劳懋元 1 5p c i e x p 怕s s 未来发展趋势 就像i s a 总线的淘汰一样,p c i e x p r e s s 总线取代p c i 总线也将是一个逐步 过渡的过程,毕竟市场上还存在太多的p c i 扩展卡。但作为新一代数据总线的标 准,p c i e x p r e s s 总线取代捉襟见肘的p c i 总线已是大势所趋,它能给电脑硬件 的发展提供一种高性能的总线平台,充分发挥各硬件子系统的性能,并为这些子 系统今后的性能提升开辟更广阔的空间。从这个意义上说,p c l e x p r e s s 所带来 的影响将会远远超过a g p 从2 、4 到8 ,硬盘从并行a t a 到串行a t a 、内存 从s d r a l 到d d r 及c p u 主频的突飞猛进等“局部”改进。 当然p c i e x p r e s s 也并不是未来唯一的发展方向,同样也存在竞争对手,从 最近的一些报道中我们也可以看到,目前很多公司也提出了自己的解决带宽问题 的新协议方案,例如i n t e l 提出了i n t e lh u b ,v i a 的v l i n k ,s i s 的m u t l 0 l 以及a 如的h y p e r t r a n s p o r t 等。其中目前2 o 版本的h y p e r t r a n s p o r t 总线包 含对p c ie x p r e s s 技术的支持和优化,并且将让处理器和系统其他设备之间的数 据传输带宽提升到2 0 g b s 。 j 4 2 数据链路层概述 2 1 数据链路层功能 d l l 主要功能包括以下几方面: 数据包交换 夺从事物层( t l ) 接收t l p 并添加s e q u e n c e n m b e t l p 传输序号) 和l c r c ( 1 i n kc r c ) ,封装成包交给物理层( p l ) 进行传输。 夺从物理层( p l ) 接收t l p 并去除s e q u e n c e n u m b 叫t l p 传输序号) 和l c r c ( 1 i n kc r c ) ,交给事物层( t l ) 处理。 数据链路层包 夺a c k n a kd l l p :用于t l p 的收发响应; 夺f c j i l i tf c 二u p d a t cd l l p :用于流量控制信息的交互; 夺p md l l p :用于电源管理的控制。 错误检测和数据重发 夺t l p 传输序号与l c r c 的计算生成。 夺备份t l p 用于数据重发。 夺对于t l p 和d l l p 的数据完整性检测。 夺错误报告的指示。 夺链路不稳定的超时数据重发。 以下将分别进行具体介绍。 2 1 1t l p 的处理 首先了解下,一个完整的t l p 包经过三层处理后的发送时的形式。 p c i - e x p r e s s 数据链路层的设计 电路与系统2 0 4 1 1 1 2 4 劳懋元 图表5 t l p 发送结构 从图中可以看到,蓝色部分是数据链路层对于t l p 进行的处理,添加了传 输序号和c r c 校验。添加传输序号的作用是:1 ) 保证在接收端按序接收;2 ) 配合a c l 洲a k 机制实现错误重发,a c l 洲a k 是针对于序号进行的,因此重发 也是基于序号的。添加c r c 目的是对于t l p 内容进行保护,而且是对于一个完 整包的c r c 保护,进一步加强了数据的可靠传输。 相反可知,在接收端数据链路层的作用就是去除传输序号和c r c 。并且提 取传输序号和c r c 进行相关检测以判断是否是正确的t l p 包。 图表6 t l p 接收处理 1 6 p c i - e 。p r e s s 数据链路层的设计电路与系统2 0 4 1 1 1 2 4 劳懋元 2 1 2d l l p 的处理 数据链路层包( d l l p ) 相对于t l p 要简单多,其主要作用就是进行传输的 可靠控制,其作用范围只到数据链路层,并不会继续向上传递给t l ,d l l p 对 于t l 来说是不可见的。 图表7 d l l p 的传输 而且d l l p 的长度是固定的,都是4 8 b 盥,其中1 6 b i t s 是c r c 校验数据。 图表8 d l l p 格式 不同于t l p 的是,在接收的时候只需进行c r c 的校验,而没有传输序列的 检测,也不需要进行响应操作,一旦错误就直接丢弃。d l l p 在发送的时候也不 需要像t l p 那样进行备份用于重发。 p c i e x p r e s s 数据链路层的设计电路与系统2 0 4 1 11 2 4 劳懋元 2 1 2 。1a c k ,n a k 响应机制 d l l 的最基本职责是保证数据的可靠传输。即要求在接收端收到n j 包的 顺序要和发送端发送时的顺序完全一样。因此对于每个收到的t l p ,首先是对于 l c r c 的检查,保证内容在传输过程中的正确性,然后就用到了s e q u 肌c e n 砌b e r 传输序号,a c 列n a k 机制也就是基于传输序号的。由以下图可见,一个基本的 收包响应过程。 图表9 a c i ( n a k 机制 其实和a c 列n a k 机制紧密配合的就是重发机制,因为在发送的时候,发送 端保留了一个备份,因此当收到a c k n a k d l l p 后,需要对重发缓存进行操作, 如果是a c k ,就将对应的t l p 和之前的t l p 清除,如果是n a k ,则找到对应 的t l p 和其之后发送的t i j ,一起重新发送。 前面提到,对于收到的t l p 进行传输序号检测,然后决定响应的是a c k 还 是n a kd l l p ,具体的讲有三种情况: p c i - e x p r e s s 数据链路层的设计电路与系统2 0 4 1 1 1 2 4 劳懋元 t ot 糟n s a c t 0 nl a y e r 图表1 0 a ck n a k 响应选择 由上图可见,在接收端保留着一个标记,n e x l r c v _ s e q ( n r s ) ,即期待收 到的t l p 包的序号。通过n r s 与收到t l p 提取的传输序号的比较,决定响应的 d l l p 类型。 n r s 等于传输序号,可以判断该t l p 是正确的期待中的包,将t l p 处理后 传递给t l ,同时n r s 加l ,因为考虑到性能问题,所以并不是马上发d l l p , 而是采用周期定时发送机制,时间到后对之前的t l p 统一响应。 n r s 大于传输序号,即表示收到的t l p 在之前已经正确收到过,所以定义 该t l p 为重复的t l p 包,对于该t l p 不需要传递给t l ,但是要发送a c k d l l p ,使得发送端将该t l p 从重发缓存中清除。 n r s 小于传输序号,即表示中间丢包了,因此必须发送n a kd l l p ,让发 送端重新传送,保证丢弃的包能重新发送。 对于发送端,当收到a c u n a kd l l p 后也要进行必要的检查,然后对重发 缓存做相应的操作。 p c 一e x p r c s s 数据链路层的设计电路与系统2 0 4 l l1 2 4 劳魅元 图表1 1a c k ,n a k 处理流程 和接收端类似,发送端保留一个标志,n e x tt r a n s m i t 二s e q t s ) ,表示下 一个要发送的t i p 的传输序号,还有一个标志,a c k ds e q ,即之前的a c k d l l p ,已经响应的最后一个t l p 的序号。 通过上图中的n t s 、a c 刚e q 、与a c k 小a k d l l p 中的序号的比较,最 终决定对于重发缓存的操作处理。 2 1 2 2 流量控制机艇 p c i e x d r e s s 协议中最基本的机制就是流量控制,该机制的存在不仅是对于本 地缓存的一种有效保护,同时对于收发t l p 的性能也有很大的影响。 对于流量控制可以细分为两个部分: 流量的初始化 流量的实时更新 在设备初始化的过程中,需要通知对方设备本地的缓存默认大小,这样才能 p c i e 砷r c s s 数据链路层的设计 电路与系统2 0 4 1 1 1 2 4 劳懋元 防止对方设备发送太快导致本地缓存o v e r n o w 情况的出现,而这部分工作就由 数据链路层来完成,具体的方式就是发送流量控制初始化d l l p ,在d l l p 中包 含了相应信息。 这里首先要介绍下p c i e x d r e s s 中存在的传输包类型。主要分为以下几类: p o s t e dr e q u e s t n o n p o s t e dr e q u e s t c o m p l e t i o n p o s t e dr e q u e s t 是指发出去后不需要对方回复结果的包,n o n - p o s t e dr e q u e s t 是指发出后需要对方给予回复的包,而对方回复的包就叫c o m p l e t i o n 。 因此本地的缓冲也分为p 、n p 、c p l 三种类型,用于存放相应的包。同样在 流量控制初始化的时候也就要将这三类的缓存大小通知对方。 为了进一步保证可靠性,在流量控制初始化的过程中又可以细分为两个子过 程,首先按照p 、n p 、c p l 的顺序发出三个称为f ci n i t l 的包,其作用就是通知 对方设备自己的缓存大小。然后再按照p 、n p 、c p l 的顺序发出三个称为f c i n i t 2 的包,其作用是让对方与之前收到的f ci i l i t l 的包进行核对,进一步确认。 p c i e x p r e s s 数据链路层的设计电路与系统2 0 4 1 1 1 2 4 劳懋元 图表1 2 流量控制初始化流程 当双方设备都记录下对方的缓存大小后,就可以开始正常的包传输。接下来 涉及的问题就是流量信息的实时更新,设备需要及时有效的将本地的缓存情况通 知对方,使得对方有效控制发包过程。 这个职能也是通过发送d l l p 的方式完成,这类d l l p 称为f cu p d a t e d l l p ,这里考虑到性能的原因,提供两种更新方式: 定时周期性更新 某种类型的缓存空间一旦变化,尽早更新 周期性更新即在一个定时器的控制下,周期性的发送d l l p ,而且每次都是 将p 、n p 、c p l 三类缓存信息都通知对方,即发送三个d l l p 。而第二种方式只 需要在某类缓存发生变化的时候,一旦总线闲置,就发送该类d l l p 。这样就可 p c i e x p r c s s 数据链路层的设计 电路与系统2 0 4 11 1 2 4劳懋元 以有效提高发包效率。 对于周期性更新中的定时器溢出时间的设置也不是任意的,可以根据以下公 式结合实际系统情况计算: 堂竖丝塑垡粤罢竺尘堕堡堕竺堕竺嘲。删黜 备l 酗f 谳 h 在p c i e x p r e s s 的s p e c 中给出了如下表的指导值: 一 1 2 82 3 了 2 8了36 7 5 84 83 3 u f = 4 u f = 4u f = 1 4u f = 王5u f = 3 0u f = 30u f = 3 0 董 2 5 64 1 62 1 71 1 81 d 79 d7 24 5 皂 u f = 14 u f = 14u f = 14 u f = 2 5u f = 3 0u f = 30u f = 3 0 蛊5 1 25 5 92 明1 5 48 61 0 95 2 u f = ou f = 10u f = ou f = 1ou f = 2 0u f = 2ou f :2 0 0 1 0 2 4 1 d 7 5 4 5鹞21 5 01 9 41 5 08 4 g u f =,0u f = 1 _ 。u f = ou f = 1ou f = 2 0u f = 2ou f = 2 0 吾 2 0 4 82 0 9 51 0 5 75 3 82 7 83 s 5 2 7 e t 4 8 皿 u = 0u f = 1 + 0u f = 10u f = 1 ou f = 2ou f = 2ou f = 20 罄 艚9 64 1 4 32 11 0 弓05 3 47 0 65 3 42 葡 甚 u f = gu f = 10u f = 10u f = 1 0 u f = 2 ou f = 2 ou f = 2 0 2 1 。2 3 功耗管理 表格1 流量信息更新参考频率 在p c i e x d r c s s 协议中也提供了比较完整的功耗管理机制。数据链路层在其 中主要担负着信息沟通的职能。设备如果较长时间处于闲置状态或者软件控制要 求进低功耗状态,并不是可以马上进入,需要和对方设备协商和沟通,避免由于 不知道对方进入低功耗状态造成的不必要的数据丢失。因此这里也是通过发送 d l l p 的方式来通知和协商。 主要有四种p md l l p : p m e n t e r _ l 1 p m _ e m e r _ l 2 3 p m a c t i v e s t a t e - r e q u e s t - _ l 1 p m - _ r e q u e s t _ a c k 2 1 3 重发机制 重发机制是数据链路层很重要的功能部分,也是保证可靠传输的关键所在。 p c i e x p r e s s 数据链路层的设计电路与系统2 0 4 l l l 2 4 劳懋元 对于每个t l p 在传递给p l 的同时都将存储备份到重发缓存中,而造成重发的有 两种情况: 收到对方设备发送的n a kd l l p ,表示有包在发送过程中数据错误或者包丢 失,需要本地设各重新发送。 在设定的时间内没有收到来自对方设备的应答,也就是既没有a c kd l l p 也没有n a k d l l p ,那么可能是链接有问题不稳定,所以再进行一次发送。 在重发的过程中,重发的包是指在重发缓存中所有没有得到对方设备响应的 t l p ,在接收端,如果当前的t l p 是有问题的,那么哪怕之后来的包都是正确 的,仍然被丢弃掉,要求对方从那个有问题的包开始重新按顺序发送一次。 这里有两点需要进一步说明: 超时重发的限定时间如何设置? 如果一直没有响应,是否不停的发生限时重发? 对于第一个问题,限定时间也是可以按照以下公式计算: f 坚塑- 二生坐型羔些箬罢兰娑坐型笠坐兰苎! 竺拍t 脚一。血f m ,! + 3 + 默一一 毋m n ”a 。r j 班l t 最w i d t 轴 。i 一一 在p c i e x p r e s s 的s p e c 中给出了如下表的指导值 l 醣靶o p e 糟t l n gw i d m x 1】【2x 4x 8x 1 2x 1 6x 3 2 1 2 8 7 3 8 42 1 92 0 11 7 41 4 4窖9 墨 2 5 6 1 2 4 86 5 13 5 43 2 12 7 02 1 61 3 5 0 一 旦是 5 ,2 1 6 7 78 6 74 鑫22 5 83 2 72 5 81 5 6 釜 知2 3 圳3拍3 5 8 4 s4 5 05 8 24 5 02 5 2 a i 一 蔷 2 8 s 2 8 s3 1 7 1 6 1 48 3 41 0 9 5 8 3 44 4 毒 苫 1 2 4 2 96 2 4 33 1 5 01 6 0 22 1 1 81 28 2 8 4 8 9 6 表格2 超时重发参考频率 对于第二个问题,超时重发是有次数限制的,如果连续三次重发后,仍然没 有响应,那么当第四次超时发生,先不发送重发包,而是通知p l 重新建立链接, 因为这样的情况有可能链接已经出了问题需要重新双方协商建立稳定链接。当 p l 完成重新建立链接后,再把要重发的包发送出去,以此保证传输的可靠。对 于超时重发和四次重发需要重新建立链接这两重情况都属于数据链路层发生的 错误需要报告给上层。 2 4 p c l e x p r e s s 数据链路层的设计电路与系统2 0 4 1 1 1 2 4 劳懋元 2 2 数据链路层性能 对于数据链路层的性能考虑,主要是两个方面: m e m o r ) r 的使用情况,主要是重发缓存的大小。 d l l p 和t l p 的合理调度最大限度的保证带宽。 其中第二点是本次设计过程中需要重点考虑的,如何做到t l p 和d l l p 合理 调度,减少由于切换过程造成的带宽浪费,是值得考虑的地方。这里重点是t l p 和a c k n a kd l l p 以及f cu p d a t ed l l p 问的调度,这三种包占据了数据的绝 大部分。而a c k n a k 发送时间如果
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年中国希伯胺原料药行业市场分析及投资价值评估前景预测报告
- 核电电焊工考试题及答案
- 2025年中国无线垂直鼠标行业市场分析及投资价值评估前景预测报告
- 用户行为分析-第149篇-洞察与解读
- 肿瘤免疫治疗专利布局-洞察与解读
- 2025国考常州市生态保护岗位申论必刷题及答案
- 2025国考福建金融监管局行测数量关系预测卷及答案
- 2025国考廊坊市法律事务岗位申论题库含答案
- 2025国考人社部行测数量关系易错点
- 2025国考丹东市纪检监察岗位行测题库含答案
- 2025-2030中国骆驼奶制品营养价值研究及产业化开发可行性分析报告
- 2025年南通市中考语文试题卷(含答案)
- 宁乡辅警考试试卷必刷题
- 高端定制家具成本优化2025年研究报告
- 2025年-《中华民族共同体概论》课后习题答案-新版
- 2025重庆碳管家科技有限公司招聘1人笔试历年参考题库附带答案详解
- 吊装储罐施工方案
- 尾矿库施工安全培训课件
- 智慧政务智能人事管理系统创新创业项目商业计划书
- 2025年电工证考试题及答案测试卷测试题(答案)
- 2025年全国统一驾驶证科目一考试题库(附答案)
评论
0/150
提交评论