第8章 PCI总线标准_第1页
第8章 PCI总线标准_第2页
第8章 PCI总线标准_第3页
第8章 PCI总线标准_第4页
第8章 PCI总线标准_第5页
已阅读5页,还剩49页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第8章PCI局部总线PCI总线概述总线命令及总线协议PCI总线的数据传输总线仲裁与总线配置PCI总线控制芯片S59338.1PCI总线概述CPUPCI桥接电路DRAM存储器CacheCPU总线

PCI总线ISA/EISA桥接电路SCSI卡硬盘卡网卡南桥打印机磁带机扫描仪ISA总线PCI总线的特点:

1)高传输效率:133~266MB/S2)支持突发传输(顺序读/写一批数据)3)独立于处理器(不依附于某个具体处理器)4)支持两种电压下的扩展卡(5V,3.3V)5)支持多总线主控方式6)存取时间延迟小7)数据的完整性和可靠性8)具有即插即用功能(自动选择未使用中断和地址)9)合理的管脚安排8.1.2

PCI信号定义

主设备:取得总线控制权的设备.

从设备:被主设备选中进行数据交换的设备.

信号类型:

IN单向输入信号,OUT:单向输出信号

T/S:双向三态输入/输出信号.

S/T/S:持续且低电平有效的三态信号(主设备产生).

O/D:漏极开路.

#:低电平有效1.系统接口信号CLKIN:PCI系统总线时钟。最高33MHz/66MHz,最低0Hz。PCI大部分信号在CLK的上升沿有效。RST#:IN复位信号图8.1PCI总线接口信号2.地址与数据接口信号AD[31:00]T/S:它们是地址、数据多路复用的输入/输出信号在FRAME#有效的第1个时钟,AD[31:00]上传送的是32位地址,称为地址期。在IRDY#和TRDY#同时有效时,AD[31:00]上传送的为32位数据,称为数据期。注:一次总线传输=地址期+数据期+数据期+…C/BE[3:0]#T/S:它们是总线命令和字节使能多路复用信号线PART/S:针对AD[31:00]和C/BE[3:0]#进行奇偶校验的校验位.3.接口控制信号FRAME#S/T/S:帧周期信号,帧有效周期表示一次传输的开始和持续。CycleFrame)IRDY#S/T/S:主设备准备好信号(InitiatorReady)TRDY#S/T/S:从设备准备好信号(TargetReady)注:

IRDY#,TRDY#同时有效,才能从主设备传送数据从设备.STOP#S/T/S:从设备发出的要求主设备终止当前的数据传送的信号。LOCK#S/T/S:锁定信号IDSELIN:初始化设备选择信号DEVSEL#S/T/S:设备选择信号4.仲裁信号REQ#T/S:总线占用请求信号GNT#T/S:总线占用允许信号5.错误报告信号PERR#S/T/S:数据奇偶校验错误报告信号SERR#O/D:系统错误报告信号6.中断信号PCI有4条中断线,分别是INTA#、INTB#、INTC#、INTD#

,电平触发,多功能设备可以任意选择一个或多个中断线,单功能设备只能用INTA#。7.64位总线扩展信号AD[63:32]T/S:扩展的32位地址和数据多路复用线C/BE[7:4]#T/S:总线命令和字节使能多路复用扩展信号线REQ64#S/T/S,64位传输请求信号ACK64#S/T/S:64位传输允许信号PAR64T/S:奇偶双字节校验8.高速缓存支持信号SBO#:IN/OUT:试探返回信号。SDONE#IN/OUT:查询完成信号。8.2.1.PCI总线命令8.2PCI总线命令及总线协议8.2.2PCI总线协议1.PCI总线的传输控制遵循的管理规则:

FRAME#、IRDY#和TRDY#信号控制PCI总线的数据传输。FRAME#和IRDY#两个信号的配合构成总线状态:

11空闲、00数据、01等待状态、10最后一个数据。01等待10最后00数据11空闲PCI总线传输的一般规则:(1)FRAME#和IRDY#信号定义了总线的忙/闲状态。(2)一旦FRAME#信号被置为无效,在同一传输期间不能重新设置。(3)除非设置了IRDY#信号有效,一般情况下不能设置FRAME#信号无效。(4)一旦主设备设置了IRDY#信号,直到当前数据期结束为止,主设备一般不能改变IRDY#信号和FRAME#信号的状态。(5)在完成最后一个数据期之后的时钟周期,主设备必须使IRDY#信号无效。2.PCI总线的寻址(1)I/O地址空间在I/O地址空间,32位AD线全部被用来提供一个完整的地址编码(字节地址)。�AD[1:0]和C/BE[3:0]指明传输的最低有效字节。(2)内存地址空间3.字节对齐PCI总线上不能进行字节的交换。但是,具有64位通道的主设备可以进行DWORD(双字)的交换。主设备可以在每个新数据期开始的时钟前沿改变字节使能信号,且在整个数据期中保持不变。4.PCI总线的驱动与过渡从一个设备驱动总线到另一个设备驱动PCI总线之间设置一个过渡期,又称为交换周期,以防止总线访问冲突。在每个地址(数据)期中,所有的AD线都必须被驱动到稳定的状态(数据),包括那些字节使能信号表明无效的字节所对应的AD线。5.设备选择注意:

DEVSEL#与FRAME#、TRDY#的关系,无DEVSEL#信号时的处理。8.3PCI总线的数据传输过程

8.3.1.总线上的读操作交换期从设备提供8最后读4读数据6读数据等待等待等待8.3.2总线上的写操作8最后5,6,7等待3,4写数据8.3.3传输的终止过程1.由主设备提出的终止传输结束超时(GNT#信号在内部延时计数器满后仍无效)

撤消FRAME#,建立IRDY#,直到TRDY#有效后传输完最后一个数据。2.由从设备提出的终止(发出STOP#信号)死锁后重试断开(8个时钟周期内从设备不能对主设备做出响应)。

发出STOP#信号并保持其有效,直到FRAME#撤消为止。PCI总线上的所有传输操作中,FRAME#、IRDY#、TRDY#和STOP#遵循的规则:当STOP#信号有效时,FRAME#应该在其后的2~3个时钟周期内尽快撤消,但撤消时应使IRDY#有效,从设备应无条件的保持STOP#的有效状态直到FRAME#撤消为止。FRAME#撤消后,STOP#也应该紧跟着撤消。在任何时钟的上升沿,如果STOP#和TRDY#同时有效,就表示是传输的最后周期,IRDY#要在下一个时钟的上升沿之前撤消,表示传输的结束。对于被目标设备终止的传输,主设备要继续完成它,就必须用下一个未传输的数据的地址来重试访问。8.4总线仲裁与总线配置

8.4.1PCI总线仲裁机制PCI总线采用集中式的同步仲裁方法握手方式:请求(REQ#)-允许(QET#)1.发REQ,请求占用总线2.允许占用总线仲裁过程:678910123458.4.2PCI总线的配置空间PCI设备的配置空间(64DW的配置寄存器)

PCI设备的配置空间为即插即用(PnP)提供支持,完全实现设备的再定位。

PCI设备是一个物理设备,包括嵌入在PCI总线上的PCI器件或者是插入PCI插槽上的PCI卡PCI功能是一个PCI物理设备可能包含的具有独立功能的逻辑设备,一个PCI设备可以包含1~8个PCI功能。如:一个PCI卡上可以包含一个独立的打印机模块,两个独立的数据采集器和一个独立的RS-485通信模块等。PCI规范要求每个功能都配备一个256B(64DW)的配置空间。在系统启动的时候由BIOS代码执行设备配置。一旦即插即用OS(如Windows2000)启动后,控制就传递给OS,OS接管设备管理。定义一个PCI设备配置空间的目的在于提供一套适当的配置措施,使之实现完全的设备再定位而无需用户干预安装、配置和引导,并由与设备无关的软件进行系统地址映射。所有PCI设备都必须实现PCI协议规定必需的配置寄存器,以便系统加电的时候利用这些寄存器的信息来进行系统配置。对PCI的配置访问实际上就是访问设备的配置寄存器。1.配置空间的寻址方法访问PCI设备配置空间时的必要条件:1)只有当输入目标设备的IDSEL信号有效。配置访问不使用地址总线的AD[31:11]。

。利用地址总线的高21位产生IDSEL。

。桥设备通过译码产生IDSEL。2)且在地址期内AD[1:0]为00时,才能被作为配置访问的目标设备。3)AD[7:2]配合C/BE#信号选择配置寄存器。2.配置空间访问的类型0类配置空间访问对(正在运行的)当前PCI总线上的目标设备配置寄存器所进行的访问。被配置访问的目标设备必须在地址期采样到其IDSEL输入信号有效,并且AD[1∶0]必须为00。地址期,AD[10∶8]用于选择物理设备的八种功能之一。AD[7∶2]为选择该功能设备的配置寄存器号(双字号);AD[1∶0]必须为00。数据期,AD[31∶0]传送的是配置读/写数据0/1类配置空间访问时在AD总线的地址期内出现在AD总线上的信息格式:保留功能编号寄存器编号000类访问:103170保留总线编号设备编号功能编号寄存器编号0107101523一类访问:311类配置空间访问对(通过PCI/PCI桥连接的)下一级PCI总线上的目标设备(配置寄存器)所进行的访问。地址期:AD[10∶8]用于选择物理设备的八种功能之一。AD[7∶2]为选择该功能设备的配置寄存器号;AD[15∶11]用于选择第二级总线上的某个设备的IDSEL信号有效,AD[23∶16]放总线号,AD[1∶0]必须为01。一旦PCI/PCI桥检测到1类配置访问,就有三种情况,须分别进行处理。桥片中也有桥配置空间寄存器,存放有总线号和次级总线号等信息。如果要访问的总线号既不同于桥的第二级总线号,也不在桥的第二级总线号的下级总线范围内,那么桥将忽略本次访问。如果总线号不同于桥的第二级总线,但在桥的第二级总线号的下级总线范围内,那么桥将本次访问作为1类配置访问传递给第二级总线。配置命令从第一级传递到第二级C/BE总线。如果总线号与桥的第二级总线号相同,那么桥将本次访问作为0类配置访问传递给第二级总线。AD[10:2]直接从桥的第一级传递到第二级AD总线。AD[15:11]的设备号用于选择第二级总线上哪个设备的IDSEL信号有效。配置命令从第一级传递到第二级C/BE总线。3、配置空间头区域(64DW)及功能(1)设备识别头区域有7个寄存器(字段)用于设备的识别。(2)设备控制表现在命令寄存器为发出和响应PCI总线命令提供了对设备粗略的控制。(3)设备状态状态寄存器用于记录PCI总线有关操作的状态信息。注意:该寄存器的有些位是只可清不可置,对这些位的写,被解释为对该位清零。例如,为了清位14而不影响其他位,应向该寄存器写0100000000000000B(4)基址寄存器(BADR)

PCI设备的配置空间可以在微处理器决定的地址空间中浮动,以便简化设备的配置过程。地址映射:系统初始化代码在引导操作系统之前,必须建立一个统一的地址映射关系,以确定系统中有多少存储器和I/O控制器,它们需要占用多少地址空间。当确定这些信息之后,系统初始化代码便可以把I/O控制器映射到合理的地址空间并引导系统。基址寄存器:为了使这种映射能够做到与相应的设备无关,在配置空间的头区域中安排了一组供映射时使用的基址寄存器。举例1:基址寄存器的值=FFFFFF01h=11111111111111111111111100000001b位0=1,表示是一个I/O地址空间映射位[31:2]第一个为1的是位8,表示映射的I/O空间为256。这意味着I/O映射的基地址应该起始于256的整数倍。求:最大/最小I/O映射地址空间?

最小I/O映射地址空间=4字节(2^2)最大I/O映射地址空间=256字节(协议规定)举例2:基址寄存器的值=FFF00000h=11111111111100000000000000000000B位0=0,表示是一个存储器地址空间映射位[2:1]=00b,它使32位存储器映射位3=0,表示它不是预取存储器。位[31:4]第一个为1的是位20,表示映射的存储空间为1MB。这意味着存储映射的基地址应该起始于1MB、2MB、3MB等的边界上。系统经过权衡后再向该基址寄存器写入实际映射的空间基址。求:最大/最小存储映射地址空间?最小存储映射地址空间=16字节(2^4)最大存储映射地址空间=2GB(2^31)扩展ROM基地址寄存器扩展ROM基地址=FFFF0001h位0=1,表示扩展ROM访问允许位[31:11]第一个为1的是位16,表示映射的存储空间为64K。这意味着ROM映射的基地址应该起始于64KB的边界(5)头区域中其它寄存器中断引脚寄存器8位只读寄存器,指明设备使用了PCI的哪个中断引脚。1代表INTA#,2为INTB#……中断请求线寄存器8位可读/写寄存器,指明设备的中断引脚和PC机的8259A的哪个中断输入线连。Min_Gnt/Max_lat寄存器Min_Gnt用来指定设备需要多长的突发传输时间。Max_lat用来表示对PCI总线进行访问的频繁程度。PCI中断1.PCI中断的共享3配置空间的访问方法针对x86兼容的系统,PCI协议定义了将处理器发出的I/O或存储器访问识别或转换为配置访问的转换机构,称为配置机构。配置机构是利用两个32位的I/O端口寄存器来访问PCI设备的配置空间的。配置地址端口寄存器(I/O地址为0CF8H~0CFBH)配置数据口寄存器(I/O地址为0CFCH~0CFFH)。第一步,将要访问的总线号、设备号、功能号和双字号写到配置地址端口寄存器。(32位写)第二步,执行一次对配置数据端口寄存器的I/O读/写。PCIBIOS初始化程序只能通过PCIBIOS才能访问PCI配置寄存器。PCIBIOS再通过配置地址端口寄存器和配置数据口寄存器实现其功能。1、16位PCIBIOS的调用通过INT1AH实现:AH=B1H,AL为子功能号。2、32位PCIBIOS的调用确认32位BIOS是否存在;确认BIOS是否支持PCIBIOS,取得PCIBIOS入口地址;通过对PCIBIOS入口地址的远程调用来实现:AH=B1H,AL为子功能号。4.PCI中断1.PCI中断请求

PCI中断线:INTA#、INTB#、INTC#、INTD#。

PCI中断源:PIRQA#~PIRQD#。

PCI中断源连接:通过映射到ISA中断(3~7,9~12,14~15)来实现。特点:当PCI中断被映射到一个ISA的IRQ后,该IRQ不可再被ISA设备(通过SERIRQ的中断)使用。PCI中断可与低电平有效的非ISA中断共享同一IRQ。实现:设备31的0号功能的60H~63H、68H~6BH的PIRQ路由控制寄存器实现PIRQA#~PIRQH#与IRQ的映射关系。PIRQ#路由控制寄存器[8bit]存放的是IRQ编码。PCI中断请求:PCI中断请求必须为电平触发方式。多个PIRQ#信号线能连在同一个IRQ上。不同PIRQ#的优先级由IRQ决定。同一PIRQ#不同设备INT*的优先级由安装次序决定。PCI中断响应PCI中断响应为单周期响应。HOST-PCI桥自动将双中断响应周期转换成单中断响应周期。其他中断响应过程与8259A同,中断类型号通过HOST-PCI桥再返回给处理器。中断响应周期中可插入等待周期。中断服务程序入口地址由中断描述符表管理。PCI中断共享PCI中断请求信号为漏极开路的。同一PIRQ不同设备的优先级最后安装的最高。即:中断向量表中中断向量为同一PIRQ最后安装的设备的中断服务程序入口地址。PCI中断的状态位通过中断服务程序读取,并处理。同一PIRQ中断服务实现方法:采用链表式处理方法。方法:PNP配置时将同一PIRQ的原中断向量存放到其设备驱动的特定寄存器后才替换为新的中断向量。PCI中断1.PCI中断的共享8259INTA#INTA#INTB#INTA#,B#,C#D#INTA#IRQ8IRQ9IRQ10IRQ14IRQ158259IRQ0IRQ1IRQ2IRQ6IRQ7INPUT0#INPUT1#INPUT3#TOCPUInterruptRouterPCI中断路由INTA#INTA#INTB#INTA#,B#,C#D#INTA#8259IRQ8IRQ9IRQ10IRQ14IRQ158259IRQ0IRQ1IRQ6IRQ7INPUT0#INPUT1#INPUT3#TOCPUInterruptRouterIRQ2推荐的PCI中断路由8.5PCI总线控制芯片5933图8.9S5933的内部结构8.5PCI控制器S5933的特点:符合PCI规范2.1的32位接口芯片。可作为PCI目标设备接口。可作为PCI主控设备接口。最高数据传输速度:132MB/s。使用5V电源。8.5.1

S5933的组成:

PCI总线接口。直接连接PCI总线。nvRAM接口。连接nvRAM。用户接口(ADD-ON)。8.5.2S5933的数据传送方式信箱(Mailbox)方式。传送简单的命令和状态参数,仅能实现目标访问(I/O访问)。S5933有输入、输出Mailbox寄存器各四个,可以采用中断或查询方式,用于传输少量数据(控制参数和状态)。FIFO方式。用于高速批量数据传输。S5933中两个独立的单向FIFO(8X32bit),PCItoAdd-OnFIFO和Add-OntoPCI。PCI主机与ADD-ON可对相关控制寄存器进行访问,实现双向数据传输(DMA方式)。该方式支持主控方式。PASS-THRU方式。直接访问ADD-ON资源。使用Pass-Thru通信,必须给S5933外接nvRAM配置芯片,以便给Pass-Thru在PC主机上分配空间,S5933配置空间中6个基址寄存器,与PASSTHRU方式有关基址寄存器1#-4#,基址寄存器0#被指定为S5933分配I/O资源,基址寄存器6保留不用。因此S5933可以建立四条Pass-Thru通道,实现单周期和突发(burst)数据传送。S5933中地址寄存器(APTA)用于存放要访问的资源地址;数据寄存器(APTD)用于暂存被读/写的数据。不支持主控方式。PCIExpress简介2001年春季的IDF上Intel正式公布PCIExpress,是取代PCI总线的第三代I/O技术,也称为3GIO。该总线的规范由Intel支持的AWG(ArapahoeWorkingGroup)负责制定。2002年4月17日,AWG正式宣布3GIO1.0规范草稿制定完毕,并移交PCI-SIG进行审核。开始的时候大家都以为它会被命名为SerialPCI(受到串行ATA的影响),但最后却被正式命名为PCIExpress。2006年正式推出Spec2.0(2.0规范)。目前,PCI-e3.0规范也已经确定,其编码数据速率,比同等情况下的PCI-E2.0规范提高了一倍,X32端口的双向速率高达320Gbps。各式不同的PCIExpress插槽(由上而下:x4,x16,x1,与x16),相较于传统的32-bitPCI插槽(最下方)与其它总线比较PCIe的规范主要是为了提升电脑内部所有总线的速度,因此带宽有多种不同规格标准,其中PCIex16是专为显卡所设计的部分。AGP的传输效率最高为2.1GB/s,不过对上PCIex16的8GB/s,很明显的就分出胜负。

PCI总线的最大优点是总线结构简单、成本低、设计简单,但是缺点也比较明显:并行总线无法连接太多设备,总线扩展性比较差,线间干扰将导致系统无法正常工作;当连接多个设备时,总线有效带宽将大幅降低,传输速率变慢;为了降低成本和尽可能减少相互间的干扰,需要减少总线带宽,或者地址总线和数据总线采用复用方式设计,这样降低了带宽利用率。PCIeVSPCI

与PCI总线相比,PCI-E总线主要有下面的技术优势:是串行总线,进行点对点传输,每个传输通道独享带宽。

PCIExpress总线支持双向传输模式和数据分通道传输模式。其中数据分通道传输模式即PCIExpress总线的x1、x2、x4、x8、x12、x16和x32多通道连接,x1单向传输带宽即可达到250MB/s,双向传输带宽更能够达到500MB/s,这个已经不是普通PCI总线所能够相比的了。

PCIExpress总线充分利用先进的点到点互连、基于交换的技术、基于包的协议来实现新的总线性能和特征。电源管理、服务质量(QoS)、热插拔支持、数据完整性、错误处理机制等也是PCIExpress总线所支持的高级特征。PCIE设备APCIE设备B链路(X1,X2,X4,X8,X16,X32)数据包数据包与PCI总线良好的继承性,可以保持软件的继承和可靠性。PCIExpress总线关键的PCI特征,比如应用模型、存储结构、软件接口等与传统PCI总线保持一致,但是并行的PCI总线被一种具有高度扩展性的、完全串行的总线所替代。

PCIExpress总线充分利用先进的点到点互连,降低了系统硬件平台设计的复杂性和难度,从而大大降低了系统的开发制造设计成本,极大地提高系统的性价比和健壮性。系统总线带宽提高同时,减少了硬件PIN的数量,硬件的成本直接下降。PCIe系统的拓扑结构

PCIe系统的拓扑结构主要设备有根复合体,与根复合体相连的是CPU、主存储器、交换开关、端点和PCIe到PCI的桥等。两个PCIe设备间以点到点的链路进行连接。交换开关根复合体交换开关DDRSDRAM交换开关Infiniband10GbpsEthernetFiberchannelPCIE/PCI桥SCSIPCI总线处理器Add-inGbpsEthernet端点端点端点端点端点端点GFXPCI设备PCI设备根复合体(RootComplex)根复合体是将CPU和主存储器连接到PCIe线路结构的设备,相当于PCI系统中的主桥,它可以支持一个或多个PCIe端口,每个端口连出一条PCIe链路,下挂一个端点设备或一个交换开关,上图中根复合体支持3个端口。根复合体代表CPU启动PCIe事务,代表CPU访问主存储器;能在端口上接收来自PCIe设备的访问主存储器的请求;也可以将事务从一个端口路由到另一个端口。根复合体内部提供中央资源:热插拔控制器、电源管理控制器、中断控制器、错误检测和报告逻辑等。根复合体根复合体寄存器存储器控制器Host/PCI桥虚拟P2P虚拟P2P中断控制、电源管理、热插拔控制交换开关(Switch)交换开关是一个具有2-n端口的设备,每一个端口连一条PCIe链路,在系统中用于多设备的互连。交换开关有四个端口,一个上游端口指向根复合体,三个下游端口指向离开根复合体的方向,每一端口与一条链路相连。交换开关可以将事务从任一个端口路由到另一个端口。虚拟P2P虚拟P2P虚拟P2P虚拟P2P交换开关端点(Endpoint)端点是一个具体的设备,如以太网、USB或图形设备,是PCIe事务的请求者(启动事务)或完成者(响应事务)。端点使用PCI类型0配置头标,每个端点初始化时设置一个设备ID(请求者ID或完成者ID),由总线号、设备号和功能号组成。端点作为挂连在一条链路上的唯一设备,设备号总是0。类似于PCI设备,PCIe也有多功能端点,每端点最多支持8个功能,其中必须有能能0。端口(Port)端口是PCIe设备与链路之间的接口,由差分发送器和接收器组成。指向根复合体方向的端口为上游端口;离开根复合体方向的端口为下游端口。端点上只有上游端口,根复合体上只有下游端口,交换开关上有上、下游端口。一个端口中接收包的是入端口,发送包的出端口。PCIe到PCI/PCI-X的桥

通过PCIe到PCI/PCI-X的桥设备,原PCI/PCI-X总线和设备也可以纳入PCIe系统,PCI/PCI-X总线随系统统一编号。图中标示了一条PCI/PCI-X总线及其扩展槽。请求者和完成者(Requester&Completer)

请求者是PCIe线路结构中发起事务的设备,根复合体和端点都可以担当请求者。完成者是被寻址的设备或者说是请求者的目标设备,请求者从完成者读数据向完成者写数据,根复合体和端点都可以成为完成者。请求者完成者CplDMRd存储器读请求正常结束PCIe的事务机制PCIe的事务包括以下四种:存储器事务、IO事务、配置事务和消息事务。根据事务是否需要返回完成包,这些事务又分为转发和非转发事务。在TLP的传递和事务的执行过程中,涉及到请求者和完成者,发送者和接收者4个实体,它们之间的关系如下图所示。设备A向设备B发送请求时,设备A是发送者,设备B是接收者;设备B向设备A发送完成时,设备B是发送者,设备A是接收者。发送请求的是请求者,如设备A;发送完成的是完成者,如设备B。请求者完成者CplDMRd存储器读请求正常结束TLP数据包类型TLP数据包类型缩写名存储器读请求MRd锁定存储器读请求MRdLK存储器写请求MWrIO读IORdIO写IOWr配置读(类型0或类型1)CfgRd0、CfgRd1配置写(类型0或类型1)CfgWr0、CfgWr1不带数据的消息请求Msg带数据的消息请求MsgD不带数据的完成Cpl带数据的完成CplD与锁定存储器读请求对应的不带数据的完成CplLk与锁定存储器读请求对应的带数据的完成CplDLk交换开关根复合体交换开关DDRSDRAM交换开关InfinibandFiberchannelPCIE/PCI桥SCSI处理器端点端点端点端点端点IOWrGFXCPU对端点的IO写IOWrIOWrCplCplCpl交换开关根复合体交换开关DDRSDRAM交换开关Infiniband10GbpsEthernetFiberchannelPCIE/PCI桥SCSI处理器端点端点端点端点端点端点GFX由端点发起对存储器读MRdCplDMRdMRdCplDCplDPCIe的体系结构连接管理,数据完整性,错误检测和错误校验数据链路层组装和拆解TLP数据包事务层定义了PCIe

的电器特性,负责接口和设备间的连接物理层PCIe设备层次PCIE设备层次PCIe规范规定对于设备的设计采用分层结构,包括事务层(Transaction)、数据链路层(DataLink)、物理层(Physical),它们在垂直方向又可以进一步分成两部分:处理出站流量的发送部分和处理入站流量的接收部分。PCIe两个互连的设备采用事务的方式通信。事务是指为实现设备间某种信息传送而定制的由一个或若干个包组成的发送序列,事务通过事务包(TransactionLayerPacket,TLP)具体实现。根据设备的分层结构,在链路上传送的包有事务层包(TLP)、数据链路层包(DLLP)、物理层包(PLP)。物理层数据链路层事务层PCIE核逻辑接口设备核物理层数据链路层事务层PCIE核逻辑接口设备核TxTxRxRxLINK发送设备A的事务层根据来自发送设备核的信息,构建发送TLP,有三个字段。发送TLP在送上链路之前,本设备的数据链路层和物理层要对它进行组装,数据链路层层为TLP分配一个序列号(SeqNum),计算出包括序列号在内的链路CRC(LCRC),附加在TLP的头和尾;物理层再加上起始(STP)和结束(End)帧控制字符。目标接收设备B的数据链路层和物理层对接收TLP进行图中所示的拆解,如果没有错误,将TLP发送至接收者的事务层,在事务层,信息被译码并送至设备B的核。事务包(TLP)HeaderDataECRCTransmitBuffersPerVCLinkPacketSequenceTLPLCRCDLLPse.g.Ack/NakECRCMuxPhysicalPacketStartLinkPacketEndEncode并/串差分驱动器流控制虚通道管理排序发送事务层(Transaction)数据链路层(DataLink)物理层(Physical)PCIE设备各层的功能关系事务层包(TLP)PCIe事务使用的TLP起源于发送器设备的事务层,终止于接收设备的事务层。随着TLP通过发送设备的各层,数据链路层和物理层也参与对TLP进行相应的拆解。TLP包的装配核心部分是包的头标和数据区,由事务层根据软件层/设备核送来的信息构建,事务层还计算出基于头标和数据区的端-端CRC字段(32b),成为ECRC,并添加到包上,ECRC字段是可选的。ECRC字段由TLP包的最终目标设备在事务层用来检查TLP头标和数据区中的CRC错误。TLP的核心部分前推到数据链路层,由数据链路层加上序列号,计算出基于序列号和TLP全部字节的CRC字段,称为LCRC,并添加到包上。LCRC字段由链路另一端的接收设备来检查带有序列号的TLP中的CRC错误。带序列号的LCRC的TLP前推至物理层,物理层将1B开始帧字符和1B结束帧字符串连在包上,对包进行编码,差分发送出去。事务包(TLP)HeaderDataECRCTransmitBuffersPerVCLinkPacketSequenceTLPLCRCDLLPse.g.Ack/NakECRCMuxPhysicalPacketStartLinkPacketEndEncode并/串差分驱动器事务层包(TLP)HeaderDataECRCReceiveBuffersPerVCLinkPacketSequenceTLPLCRCDLLPse.g.Ack/NakECRCDe-MuxPhysicalPacketStartLinkPacketEndDecode串/并差分驱动器流控制虚通道管理排序发送接收PCIE设备各层的功能关系事务层(Transaction)数据链路层(DataLink)物理层(Physical)开始序列号头数据ECRCLCRC结束来自软件层/设备核心的TLP核心部分的信息由事务层创建由数据链路层附加由物理层附加比特发送方向TLP包的拆解

TLP位流输入到链路对方的接收设备,物理层将TLP的开始和结束帧字符剥去,所得到的TLP送到数据链路层。在数据链路层检查TLP中的错误,并剥除序列号和LCRC字段,如果没有LC

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论