PCI Express流控机制的研究与实现
- 格式:pdf
- 大小:3.45 MB
- 文档页数:5
pci-e总线基本传输机制1.引言1.1 概述概述部分的内容可以写成以下内容:PCI-E(Peripheral Component Interconnect Express)总线是一种计算机扩展插槽标准,旨在提供高速、高性能的数据传输能力。
它广泛应用于各种计算机设备,如显卡、网络卡、存储卡等,使它们能够与主板进行有效的通信和数据传输。
PCI-E总线采用了一套全新的传输机制,以取代之前的PCI (Peripheral Component Interconnect)总线。
与传统的PCI总线相比,PCI-E总线在带宽、速度和可扩展性等方面有了巨大的提升。
它能够提供更高的数据传输速度和更大的带宽,满足现代计算机对于高性能、高速度数据传输的需求。
PCI-E总线的传输机制是基于高速串行通信的。
传统的PCI总线采用的是并行传输,每次传输数据的位数较多,而PCI-E总线则采用了串行传输的方式,减少了数据线的数量,提高了信号传输的速度和质量。
同时,PCI-E总线还采用了差分传输技术,通过正负两个信号线来传输数据,有效地减少了信号的干扰和噪声,提高了信号的稳定性和可靠性。
除此之外,PCI-E总线还采用了分层的架构设计。
它将总线分为物理层、数据链路层和传输层,每一层都有相应的协议和规范,用于确保数据的正确传输和处理。
这种分层的设计使得PCI-E总线具有较高的灵活性和可扩展性,能够适应不同设备和不同需求的应用。
综上所述,PCI-E总线作为一种高速、高性能的数据传输接口,已经成为现代计算机系统中不可或缺的一部分。
它的概念和特点将在接下来的文章中进一步介绍和探讨。
1.2文章结构文章结构是指整篇文章的组织结构和内容安排。
一个清晰、合理的文章结构能够使读者更好地理解文章主题,并能够有条理地获取所需信息。
本文的结构如下:1. 引言1.1 概述:介绍PCI-E总线的重要性和应用背景,引出本文的主题。
1.2 文章结构:概述本文的组织结构并列举各部分的内容大纲。
基于流量控制的CompactPCI Express通讯接口模块驱动设计阚丹丹;李越;凌云锋【摘要】CompactPCI Express架构是未来工业控制计算机的一个发展方向;CompactPCI Express计算机由主处理模块与功能扩展模块组成;通讯接口模块是一种功能扩展模块,用于扩展CompactPCI Express总线工业控制计算机系统的通讯接口;对通讯模块在WindowsXP操作系统环境下进行了驱动程序的开发,在驱动开发过程中采用了链表缓冲实现数据的高速发送或接收,使用虚拟通道区分传输数据的优先级;该驱动程序已经投入使用,在使用过程中运行稳定可靠.【期刊名称】《计算机测量与控制》【年(卷),期】2010(018)009【总页数】3页(P2194-2196)【关键词】CompactPCI Express;驱动开发;通讯;流量控制【作者】阚丹丹;李越;凌云锋【作者单位】江苏自动化研究所,江苏,连云港,222006;江苏自动化研究所,江苏,连云港,222006;江苏自动化研究所,江苏,连云港,222006【正文语种】中文【中图分类】TP3110 引言2002年PCISIG组织发布了PCI Exp ress 1.0规范。
该组织又于2005年发布PCI Express规范在工业控制领域的规范PICMG EXP.0 Com pactPCI Express Specification R1.0,我们称之为CompactPCIExp ress规范[1]。
Com pactPCI Exp ress架构采用高速串行方式传输数据,使总线带宽大大提高。
在软件上,Compac tPCI Express兼容PCI的软件模型,但它又有属于自己的高级功能,如虚拟通道和流量控制等,这些功能充分利用Com pactPCI Exp ress的总线带宽。
CompactPCI Express通讯接口模块负责为Com pactPCI Express计算机提供各种接口,如:串行接口、CAN总线接口、通用I/O接口和1553B总线接口;该模块是基于CompactPCIExp ress总线的计算机系统的重要组成部分。
pciexpress简介及详细资料基本概念PCI Express的接口根据汇流排位宽不同而有所差异,包括X1、X4、X8以及X16(X2模式将用于内部接口而非插槽模式)。
较短的PCI Express卡可以插入较长的PCI Express插槽中使用。
PCI Express 接口能够支持热拔插,这也是个不小的飞跃。
PCI Express卡支持的三种电压分别为+3.3V、3.3Vaux以及+12V。
用于取代AGP接口的PCI Express接口位宽为X16,将能够提供5GB/s的频宽,即便有编码上的损耗但仍能够提供4GB/s左右的实际频宽,远远超过AGP 8X的2.1GB/s的频宽。
PCI Express规格从1条通道连线到32条通道连线,有非常强的伸缩性,以满足不同系统设备对资料传输频宽不同的需求。
例如,PCI Express X1规格支持双向资料传输,每向资料传输频宽250MB/s,PCI Express X1已经可以满足主流声效晶片、网卡晶片和存储设备对资料传输频宽的需求,但是远远无法满足图形晶片对资料传输频宽的需求。
因此,必须采用PCI Express X16,即16条点对点资料传输通道连线来取代传统的AGP汇流排。
PCI Express X16也支持双向资料传输,每向资料传输频宽高达4GB/s,双向资料传输频宽有8GB/s之多,相比之下,目前广泛采用的AGP 8X资料传输只提供2.1GB/s的资料传输频宽。
尽管PCI Express技术规格允许实现X1(250MB/秒),X2,X4,X8,X12,X16和X32通道规格,但是依目前形式来看,PCI Express X1和PCI Express X16将成为PCI Express主流规格,同时晶片组厂商将在南桥晶片当中增加对PCI Express X1的支持,在北桥晶片当中增加对PCI Express X16的支持。
除去提供极高资料传输频宽之外,PCI Express因为采用串列封包方式传递资料,所以PCI Express接口每个针脚可以获得比传统I/O标准更多的频宽,这样就可以降低PCI Express设备生产成本和体积。
第一章绪论1.1引言现代测控技术与系统是一随着计算机技术、检测技术和控制技术的发展而迅猛发展的综合性技术,是在传统的测控技术的基础上,融现代传感技术、通信技术和计算机技术于一体,将现代最新科学研究方法与成果应用于测控系统中。
现代科学技术的融入不但使现代测控技术在各方面得到广泛应用,而且加快了现代测控技术的发展,形成了现代测控技术朝微型化、集成化、远程化、网络化、虚拟化等方向发展。
同时,现代测控技术是一门实践性非常强的技术,既包括硬件、软件的设计,又包括系统的集成,随着其在国防、工业、农业等领域应用的深度和广度的扩大,它将为提高生产效率、改进技术水平做出巨大的贡献[1]。
随着计算机技术和测控技术的发展,计算机已经融入到测控系统之中,或者说测控系统融入计算机系统中,因此很难将测控系统总线与计算机总线截然分开。
随着计算机技术、网络技术和微电子技术的迅速发展,测控总线技术也处于不断发展之中,更高性能的总线将不断涌现。
目前已有的总线或网络也将不断改进、提高和进一步标准化,这些都将对测控系统的体系结构变革和性能提高产生重大影响[2]。
虚拟仪器是全新概念的新一代测试仪器,是现代仪器技术和计算机技术深层结合的产物。
它打破了计算机与仪器之间的界限,将计算机强大的信号分析处理和显示功能与测控系统硬件资源有机地结合起来,能够更迅速、更经济地解决测控问题。
1.2课题研究背景20世纪90年代,随着超大规模集成电路技术和微处理器结构体系研究的不断发展,促使CPU更新换代速度加快,导致IBM-PC及兼容机迅速由16位机转到32位机,并且大量涌入市场,伴随而来的是微机硬件价格越来越低,其性价比则以惊人的速度迅速提高。
由于IBM-PC及其兼容机是世界主流机,与之相配合的软件资源是极其丰富的,能熟练使用这类计算机的工程技术人员非常多。
因此,与IBM-PC兼容,用于工业现场测控的工业PC机得到了迅速的发展。
为了满足IBM-PC及兼容机用于数据采集及控制的需要,国内外许多厂商生产了各种各样的数据采集板卡(或I/O板卡)。
邮局订阅号:82-946360元/年技术创新PLDCPLDFPGA应用《PLC技术应用200例》您的论文得到两院院士关注PCI Express 研究及基于FPGA 的实现Research on PCI Express Bus and Implementation of Based on FPGA(桂林电子科技大学)林锦棠敖发良LINJin-tangAOFa-liang摘要:本文描述了第三代通用I/O 总线PCI Express 产生的背景,分析PCI Express 总线的主要特点及体系结构。
同时本文提出了通过PCI Express 总线来实现SDH 信号高速数据通信,讨论了用Xilinx 可编程逻辑器件FPGA 来实现PCI Express 的细节和优势。
关键词:PCI Express 总线;FPGA;SDH;体系结构;Virtex-5LXT 中图分类号:TP33文献标识码:AAbstract:This paper describes the background of the third -generation I/O bus called PCI Express,analyses the main feature and architecture of PCI Express Bus.At the same time,this paper proposed a new design method which can implement the high speed data rate communication of SDH signal through the PCI Express Bus.And it discusses the particular and the advantage of using Field Programmable Gate Array (FPGA)which from the Xilinx to implement the PCI Express Bus.Key words:PCI Express Bus;FPGA;SDH;Architecture;Virtex-5LXT文章编号:1008-0570(2008)10-2-0185-03前言计算机系统中的各个功能部件的数据交换都是通过总线来实现的,所以总线的速度对于整机的性能有着巨大的影响。
【博文连载】PCIe扫盲——FlowControl基础(一)Flow ControlFlow Control即流量控制,这一概念起源于网络通信中。
PCIe总线采用Flow Control的目的是,保证发送端的PCIe设备永远不会发送接收端的PCIe设备不能接收的TLP(事务层包)。
也就是说,发送端在发送前可以通过Flow Control机制知道接收端能否接收即将发送的TLP。
在PCI总线中,并没有Flow Control这样的机制,因此发送端并不知道当前时刻,接收端能够接收对应的TLP。
因此,发送端只能先尝试发送,期间可能会被插入多个等待周期(接收设备尚未就绪等原因),甚至是重发(Retries)等。
PCIe Spec规定,PCIe设备的每一个端口(Ports)都必须支持Flow Control机制,在发送TLP之前,Flow Control必须先检查接收端口是否有足够的Buffer空间来接收这个TLP。
当PCIe设备支持多个VC(Virtual Channel)时,Flow Control机制可以显著地提高总线的传输效率。
PCIe Spec规定,每个PCIe设备最多支持8个VC,并且每个VC 的Flow Control Buffer是完全独立的。
也就是说,某一个VC的Flow Control Buffer满了,并不会影响其他的VC的通信。
前面的文章中介绍过,Flow Control机制是通过相邻两个端口(Ports)的数据链路层之间发送DLLP(Flow Control DLLPs)来实现的。
在进行初始化的时候,接收端需要向发送端报告(reports)其Buffer的大小,在正常运行状态(Run-time)时,会周期性地通过Flow Control DLLPs来告知发送端,接收端的各个Buffer的大小。
需要注意的是,虽然Flow Control DLLP只在相邻的数据链路层之间传输,但是相关的Buffer和计数器(FC Counter)确实存在于事务层(Transaction Layer)的。
数采与处理计算机测量与控制.2009.17(12) Computer Measurement &Control ・2555・中华测控网收稿日期:2009204227; 修回日期:2009206225。
作者简介:张伟达(19852),男,福建人,在读硕士,主要从事数字化测试方向的研究。
黄芝平(19652),男,湖南人,博导,教授,主要从事数字化测试、网络化测试方向的研究。
文章编号:167124598(2009)1222555203 中图分类号:TP339文献标识码:A基于PCI Express 的高速数据传输系统研究与开发张伟达,黄芝平,唐贵林(国防科技大学仪器科学与技术系,湖南长沙 410073)摘要:为了解决高速数据采集系统中的数据传输速率这一瓶颈问题,在对PCI Express 总线进行研究后,提出了一种基于PCI Ex 2press 总线的高速数据传输系统的构建方法;系统设计中采用模块化的设计思想,探讨了PCI Express 软件层的设计思路和实现方法,阐述了各个模块的功能,最后对编写PCI Express 设备驱动程序的几个关键问题进行了论述并给出解决方案;采用以上设计方法,系统运行稳定可靠,目前已实现215Gbit/s 的数据传输速率,对系统进行改进可获得5Gbit/s 、10Gbit/s 甚至更高的数据传输速率。
关键词:高速数据传输;PCI Express ;WDM ;设备驱动程序R esearch and Development of High -speed Data T ransferSystem B ased on PCI Express BusZhang Weida ,Huang Zhiping ,Tang Guilin(Department of Instrumental Science and Technology ,National University of Defense Technology ,Changsha 410073,China )Abstract :In most high -speed data -collection systems ,t he data transfer rate has become a choke point.As to solve t his problem ,we made a research on PCI Express Bus technology and developed a new way to solve t he rate problem wit h t his PCI Express technology.During t he research ,we adopt t he idea of modularization ,discussed t he design and realization approach on t he software layer ,elaborated t he moduals πfunction respectively and discussed t he critical technology during t he writing of device driver ,which makes t he final solution out.Wit h t he application of t his technology ,t he system runs robustly and presently it can transfer data wit h t he rate of 215Gbit/s.Making some improvement ,we can boost t he rate up to 5Gbit/s 、10Gbit/s or more t han t hat.K ey w ords :high -speed data transfer ;PCI Express ;WDM ;device driver0 引言在高速数据采集系统中,由于FP GA 具有丰富的逻辑资源、能提供强大的处理能力而受到青睐,而面对高速率的数据流(如吉比特以太网,SD H 光网络等),常常又需要高速度、大容量的存储设备,服务器可通过RA ID (Redundant Arrays of Independent Disks ,廉价冗余磁盘阵列)技术提供近乎无限的存储空间,而且使得数据存取速率成倍提升,又有充足的运算资源进行数据采集的后期处理,从而成为高速数据采集系统平台的首选。
pcie的流控机制
PCIe流控机制是指用于管理PCI Express总线上数据传输的机制。
PCIe(Peripheral Component Interconnect Express)是一种
高速串行总线技术,用于连接各种外设设备到计算机系统。
PCIe中的流控机制主要包括以下几个方面:
1. 信号握手:在发起方(发送数据的设备)和目标方(接收数据的设备)之间进行握手操作,以确保数据可以正常传输。
例如,当发起方有数据要发送时,会向目标方发送请求信号,目标方接收到请求后会发送回复信号,表示可以接收数据。
2. 发送端流控:PCIe支持发送端流控机制,即发送方设备可
以向接收方设备发送流控请求,以控制发送速率。
例如,当接收方设备的缓冲区已满时,可以发送一个流控请求给发送方设备,要求其暂停发送数据,以避免数据丢失或缓冲区溢出。
3. 接收端流控:PCIe还支持接收端流控机制,即接收方设备
可以向发送方设备发送流控指示,以控制接收速率。
例如,当接收方设备的缓冲区有足够的空间时,可以发送一个流控指示给发送方设备,告知其可以继续发送数据。
4. 顺序化:PCIe使用顺序化机制来确保数据包按照发送的顺
序到达目标方设备。
每个数据包都有一个序列号,接收方设备会检查序列号来确认数据包的顺序是否正确,如果发现数据包乱序,则会发送流控请求给发送方设备重新发送乱序的数据包。
通过上述流控机制,PCIe可以实现高效、可靠的数据传输。
流控机制可以有效地调整发送和接收速率,避免数据丢失和溢出,同时保证数据的有序性。
PCI Express维基百科,自由的百科全书PCI Express ,简称PCI-E ,是电脑总线PCI 的一种,它沿用了现有的PCI 编程概念及通讯标准,但建基于更快的串行通信系统。
英特尔是该接口的主要支援者。
PCIe 仅应用于内部互连。
由于PCIe 是基于现有的PCI 系统,只需修改物理层而无须修改软件就可将现有PCI 系统转换为PCIe 。
PCIe 拥有更快的速率,以取代几乎全部现有的内部总线(包括AGP 和PCI )。
英特尔希望将来能用一个PCIe 控制器和所有外部设备交流,取代现有的南桥/北桥方案。
除了这些,PCIe 设备能够支援热拔插以及热交换特性,支援的三种电压分别为+3.3V 、3.3Vaux 以及+12V 。
考虑到现在显卡功耗的日益增加,PCIe 而后在规范中改善了直接从插槽中取电的功率限制,16x 的最大提供功率达到了75W[1],比AGP 8X 接口有了很大的提升。
基本可以满足当时(2004年)中高阶显卡的需求。
这一点可以从AGP 、PCIe 两个不同版本的6600GT 显卡上就能明显地看到,后者并不需要外接电源。
PCIe 只是南桥的扩展总线,它与操作系统无关,所以也保证了它与原有PCI 的兼容性,也就是说在很长一段时间内在主板上PCIe 接口将和PCI 接口共存,这也给用户的升级带来了方便。
由此可见,PCIe 最大的意义在于它的通用性,不仅可以让它用于南桥和其他设备的连接,也可以延伸到芯片组间的连接,甚至也可以用于连接图形芯片,这样,整个I/O 系统重新统一起来,将更进一步简化计算机系统,增加计算机的可移植性和模块化。
历史在2001年的春季英特尔开发者论坛(IDF )上Intel 公布了取代PCI 总线的第三代I/O 技术,被称为“3GIO ”。
该总线的规范由Intel 支持的AWG (Arapahoe Work Group )负责制定。
2002年4月17日,AWG 正式宣布3GIO 1.0规范草稿制定完毕,移交PCI 特殊兴趣组织(PCI-SIG )进行审核,2002年7月23日经过审核后正式公布,改名为“PCI Express ”,并根据开发蓝图2006年正式推出Spec2.0(2.0规范)。
文章编号=1009 -2552 (2016)08 -0130 -04 DOI:10.13274/ki.hdzj.2016. 08. 032P C I E x p r e s s流控机制的研究与实现夏寅星,罗浩丁,章建雄(中国电子科技集团公司第三十二研究所,上海200233)摘要:PCI E x p re s s总线协议通过流控机制降低数据重传概率、调度虚拟通道传输事务,提高数据链路的传输效率。
文中对P C I E x p re s s协议的流控机制进行分析,并提出一种实现流控机制的设计方案,包括发送流控模块、接收流控模块等。
该方案在一款P C Ie接口的以太网卡控制器中实现,通过对流控系统的仿真验证,结果表明该设计方案实现了 P C I E x p re s s流控功能。
关键词:PCI E x p re s s总线;流控;信用量;事务层;数据链路层中图分类号:T N915 文献标识码:AR e s e a r c h a n d i m p l i m e n t a t i o n o f P C I e x p r e s s f l o w c o n t r o l m e c h a n i s m X I A Y i n-x i n g,L U O H a o-d i n g,Z H A N G J ia n-x io n g(The32nd Research Institute of China Electronics Technology Group Corporation,Shanghai200233, China) Abstract:P C I Express bus pro to col can im prove the e fficie n c y ol data transm ission through flo w co n tro lm echanism to reduce the p ro b a b ility ol data retransm ission and sche du lin g v irtu a l channel transm ission services.In th is p a p e r,the flo w co n tro l m echanism of P C I Express protocol is a n a ly z e d,w h ic h proposed adesign to achieve i t,in c lu d in g the transm ission flo w co n tro l m odule and the receives flo w co n tro l m o d u le.The designis im p lem e nted in a P C Ie in te rfa ce E the rnet card c o n tro lle r.T hrough the s im u latio n of the flo w co n tro l system ,the results show th a t the design im plem ents P C I Express flo w c o n tro l. Key words:P C I Express b u s;flo w c o n tro l;c r e d it;transaction la y e r;data lin k la ye r,信息疼术2016年第8期0引言PCIExpress (Peripheral Component Interconnect Express,简称PCIe)总线协议由于具有高带宽、高可 靠性、低电压、多通道以及与上一代PCI总线技术良 好的兼容性等特点[1 -3],被广泛运用于PC、服务器、嵌入式设备中。
PCIe协议以流量类别(TC)、虚通 道(VC)、TC/VC映射及优先级仲裁机制为事务层 数据包(TLP)传输提供有区别的服务质量(QoS)[4]。
为了使数据传输不受阻塞,PCIe收发端 均会提供多个虚通道。
当链路建立时,配置软件会 建立虚拟信道保证TLP包可以通过不同的虚通道 传输。
如果某一虚通道的流控缓冲区已满,则可以报告发送端暂停发送,同时发送端就可以使用另一 个虚通道并发送与该虚通道相关的事务。
流控机制 能够提高数据传输效率,故PCIe链路必须实现流控。
通过对P C I e流控机制的研究,结合一款PCIe 接口的以太网网卡控制器,本文提出一种实现PCIe 流控功能的设计方案。
本文的设计方案,在保证功 能及效率的情况下通过设置合理的模块参数及模块 复用、信号复用等方法,减少模块接口的同时也减少 所需的连线,由此降低芯片的面积和功耗。
本文用 V e rilo g H D L语言对设计进行描述并通过仿真验证流 控模块功能的正确性。
1PCIe流控机制分析1.1 P C I e系统结构P C Ie协议定义了一种三层传输体系结构[5-7],从上到下依次为事务层、数据链路层和物理层,每一 层又分为发送和接收两部分。
发送时,在事务层接收稿日期:2015-09 -01作者简介:夏寅星(1990-),男,硕士研究生,研究方向为F P G G A 设计。
_^VC 7 :图2流控实现结构每个VC中的流控模块包含了一个发送流控模块和一个接收流控模块。
发送流控模块接收发送流 控信用量并判断另一端是否有足够的空间接收,如 果有则从发送缓冲区中提出数据并发送,同时更新 内部的信用量。
接收流控模块则接收来自另一端的数据并放入接收缓冲区,当应用层从接收缓冲区中收端是否有足够的缓冲区空间来接收待发送的T LP(P T L P ),其中fie ld s iz e 为计数器中的位宽。
CL - ( CC + PTLP ) m od 2[/i e /"s l z e ] ^ 2[f i e l d s i z e ] /2 ( 1)此检查可以保证C C 加上待发送的下一个数据 包所需的信用不会超过C L 。
在接收端同样设置一 个缓冲区用来保存T L P ,同时根据接收数据包的信 息更新信用的分配量C A ( C re d it A llo c a te d )。
当T LP 进入接收缓冲区时,CA并不会发生改变,只有当T L P发往应用层后,缓冲区空间增大,C A 才会增加。
当流控更新时C A会更新到发送端的C L 。
根据实际情况和最大缓冲区容量,本文将计数器宽度(即上文中的fie ld s iz e )设置为头流控使用模256计数器 (8位宽),数据流控使用模4096计数器(12位宽)。
P C I e 中定义了无限流控信用值,一个通告无限流控信用的设备在初始化之后不需要发送流控更新 数据包,永远也不会阻塞发送器发送事务。
在初始 化流控时,设备通过在F C _I n it 1 D L L P 的信用字段 中发送一个0来通告无限信用。
一般把C P L 事务 的流控模式设为无限信用模式,因为完成包不能及 时到达可能导致设备误以为事务没有完成而造成 错误。
2流控模块设计方案2. 1流控实现结构通过对流控原理的分析,根据流控信息的传递 过程及其中所需的判断处理仲裁,设计发送流控模 块、接收流控模块以及缓冲区来实现对应的功能。
本设计使用了 8个V C ,每个通道的设计完全相同, 其中发送流控的数据经过V C 仲裁器进行优先级判 断后传入链路层。
接收到的数据则直接进入相应 V C 。
流控实现的结构如图2所示。
收应用层传入的数据打包成T L P ,并在数据链路层 为其添加序列号和冗余校验码(C R C ),在物理层给 数据包加上起始符和结束符后编码为串行差分信号 发往另一端的P C Ie 设备。
在接收部分,处理过程与 之相反,物理层接收到串行数据信号通过解码并逐 层拆解,最终发送到应用层。
数据链路层生成的数 据链路包(D L L P )用于实现流控协议、A C K /N A K 协 议、电源管理信息传输等[8]。
P C I e 流控协议以“流控信用”(F low C ontrolC re d it ,F C C )[9]为单位来报告缓冲区的空间大小。
完成包的头F C C 单位代表4D W (16字节),请求包 的头F C C 单位代表5D W (20字节)。
数据FCC 一 个单位代表4D W (16字节)。
不同类型的T L P 分别 用不同的流控信用单独控制,具体分为报告(P )、非报告(N P )和完成(C P L )三种类型。
不同类型的事 务又包含头缓冲区和数据缓冲区,每个缓冲器里含 有6种不同的缓冲区[10-11]。
流控信用在数据链路 层组包,但是其数据是由事务层提供并且在事务层 起作用[12]。
在链路初始化时,各个接收器通过流 控D L L P 向链路另一端的端口报告其缓冲区的大小 (以流控信用为单位)。
1.2 P C Ie 流控原理P C Ie 设备在发送数据之前,先检查接收方是否有足够的接收缓存空间。
因此,接收方需要通过流 控信用将接收方的缓存容量信息传递给发送方。
图1展示了数据传输过程中的流控信息传递过程。
图1数据传输和流控信息传输在发送端设置一个待处理事务缓冲区,其作用是缓存将要发送的T L P 。
同时从接收流控D L L P 数 据包,提取出接收方的信用限额C L ( C re d it L im it )。
根据待处理事务缓冲区中T L P 的信息可以知道该T L P 包所需的信用量(P T L P ),加上已经使用的信用量C C ( C re d it C onsum ed )可以得出本次发送所需的信用量C R ( C re d it R e q u ire d )。
根据公式(1 )判断接数据链路层V C 仲裁器I应用层读取数据时,接收缓冲区的变化将更新模块内部的 信用量,并把接收流控信用量数据更新到数据链路 层通过D L L P传输到另一端设备。
在本文中,考虑 到实际情况把每个V C缓冲区设为8k B。
但在设计 中该缓冲区大小为可配置的,该数值在今后的应用 中可以根据需要进行调整,使之能够适用于其他P C Ie总线系统。
2.2发送流控模块设计发送流控模块分为3个层次,最外层的模块主 要通过状态机进行转发T L P,里面包含一个数据处 理的子模块,其中又例化了 3个相同的流控计数子 模块分别对P、N P以及C P L的信用量进行分配管 理。
发送流控模块结构如图3所示。
图3发送流控模块当V C选通且数据链路层准备接受数据后模块 开始判断流控信用量并从缓冲区中请求T L P发送。