PCIE总线基础知识
PCI-Express总线简介
pcie总线简述pcie总线是第三代i/o互连总线,pcie应用用在桌面电脑、通信平台、服务器、工作站、移动通信、嵌入式器件中。
是低价而大量的传输的解决方案。
pcie兼容pci总线,由于pcie的低潜伏期通信使得它拥有很高的带宽和总数较少的管脚数量。
pcie的主要特征:●可以传送多种数据信息格式。
●串行发送接收双通道,高带宽,速度快。
可灵活扩展。
●支持热插拔和热交换。
●低电源消耗,并有电源管理功能。
●支持QoS链路配置和公正策略。
●具有包和层协议架构。
●每个物理链接含有多种虚拟通道。
●兼容pci。
●多种保证数据完整性的机制。
●错误处理机制和调试简便性。
pcie的基本结构包括根组件(Root Complex)、交换器(Switch)和各种终端设备。
pcie总线一个拓扑结构例子如下:Root Complex(根组件):root Complex为下层io设备连接到cpu提供路径。
endpoint(终端设备):就是接收请求(request)或者发送应答(completer)的总线终端设备。
Swith(路由器):为上游器件和下游器件通信选择路径,如下图。
一个基本的数据链路(Link)如下图:一个基本的pcie数据链路至少两对差分驱动信号如图:一对是接收,一对是发送。
如图是一条lane,每个数据链路(link)至少包含一个lane,为了线性增加link的带宽,link支持*N条lanes(N=1、2、4、8、12、16、32)。
例如单条lane支持的单向带宽是 2.5gb/s,那么一个数据链路单方向支持的最高带宽就80gb/s。
pcie总线规范包括以下各子层协议:pcie总线包括Transaction Layer(处理层)、Data Link Layer (数据链路层)、Physical Layer(物理层)。
pcie总线使用包来完成器件之间的通信。
这些数据包信息在Transaction Layer 和Data Link Layer中形成,即除了数据信息外,在不同的层中加入不同的开销,以方便管理,如下图。
PCI总线详解
系统
CLK RST#
PCI卡
AD63~AD32
C/BE#7~BE#4
PAR64 REQ64# ACK64#
64位扩充
LOCK#
INTA# INTB# INTC# INTD#
接口控制 中断
TD1 TD0 TCK TMS TRST#
JTAG
3
回17页 回18页 回22页
回29页
二、PCI总线信号定义
主设备、从设备使用的信号有一部分不同。 1、系统接口信号
接口识别: 命令+地址 命令+地址
软件指令: MOV
IN/OUT
1010/1011 配置空间片选①+地址
IN/OUT②
采用特殊方法区分地址对应的不同空间, 如在I/O空间中开辟特殊区域
①配置空间片选:同一配置命令,只有一个接口响应总线命令 ②IN/OUT:配置命令使用频率较低,借用I/O指令通过间接访问实现
基础知识: ①一个扩展卡(PCI物理设备,简称设备)可包含多个功能 设备(简称功能,PCI总线标准规定最多有8个功能); ②每个设备(所有功能)只有一个IDSEL引脚信号。
22
回下页
转16页
2、PCI设备及其配置空间
存在问题: ①所有设备均没有I/O地址(尚等待管理程序分配),如何 选择某个设备以读取资源需求和分配资源? ②在没有I/O地址时,如何选择某个功能? ③在没有I/O地址时,如何读取不同厂家功能设备的资源 需求?
6
回16页
7、64位总线扩展信号 • AD[63:32] T/S:扩展的32位地址和数据多路复用
线 • C/BE[7:4]# T/S:总线命令和字节使能多路复用扩
展信号线 • REQ64# S/T/S,64位传输请求信号 • ACK64# S/T/S:64位传输允许信号 • PAR64 T/S:奇偶双字节校验
PCI总线
1.2 PCI总线概念
PCI是Peripheral Component Interconnect(外设部件互连标准) 的缩写,是一种高速的局部总线,它是目前个人计算机中使用最为广 泛的接口,几乎所有的主板产品上都带有这种插槽。PCI插槽也是主 板带有最多数量的插槽类型,在目前的台式机主板上,ATX结构的主 板一般带有5~6个PCI插槽,而小一点的MATX主板也都带有2~3个PCI 插槽,可见其应用的广泛性。它与ISA、EISA总线完全兼容,尽管每 台微型计算机系统的插槽数目有限,但PCI局部总线规格提供了“共 用插槽”,可以容纳一个PCI及一个ISA。
2021年1月30日星期六
1.3 PCI总线的特点
PCI总线开放性好,不受CPU类型限制,具有广泛的兼容性 和可扩展性,是一种低成本、高效益很有前途的局部总线。它 在高档微型计算机中广泛使用,究其原因,就在于它所具有的 强大优势。
2021年1月30日星期六
2021年1月30日星期六
图1-1 PCI总线结构
1.4 PCI总线信号2021年1月30日星来自六图1-2 PCI总线信号
PCI总线
1.1 PCI的提出
PCI总线称为外部设备互连总线,实现了微处理器与外围设备 之间的高速通道,总线频率33 MHz,与CPU的时钟频率无关;总线 宽度32位,并可以扩展到64位,所以其带宽达到了132~264 MB/s。 PCI总线是Intel公司于1991年下半年首先提出的,并与IBM、 Compaq、AST、HP、DEC等100多家公司联合成立了PCI Special Interest Group(PCI SIG),于1992年6月推出了PCI总线标准1.0 版,1993年4月底发布了2.0版,1995年6月初发布了2.1版,1998年 12月又更新为2.2版。
pcie基本原理
pcie基本原理PCIe基本原理PCIe(Peripheral Component Interconnect Express)是一种高速、点对点的串行总线标准,用于连接计算机内部的外部设备。
它是目前最流行的计算机总线标准之一,被广泛用于连接各种设备,如显卡、网卡、存储控制器等。
本文将介绍PCIe的基本原理,以帮助读者更好地理解这一技术。
PCIe采用串行传输方式,相比传统的并行总线,具有更高的带宽和更低的延迟。
它采用差分信号传输,即同时传输正负两路信号,以减少信号干扰和提高传输速度。
PCIe总线的带宽通常用“xN”来表示,其中“x”表示总线的通道数,而“N”表示每个通道的数据传输速率。
例如,PCIe 3.0 x16表示具有16个通道,每个通道的传输速率为PCIe 3.0规范下的速率。
PCIe总线采用多通道的方式来提高数据传输速度。
每个通道都有自己的发送和接收端口,可以同时进行数据传输。
此外,PCIe还支持多路复用技术,即将多个数据流通过同一物理通道传输,以提高总线的利用率。
这种设计使PCIe具有更高的带宽和更好的扩展性,可以满足不同设备对数据传输速度的需求。
PCIe总线还采用了“插槽”和“连接器”的设计,以便用户可以方便地连接和更换设备。
每个PCIe插槽都有一定数量的针脚,用于传输数据、电源和地线。
连接器则负责将插槽与设备连接起来,保证信号传输的可靠性和稳定性。
PCIe插槽通常分为不同的规格,如PCIe x1、PCIe x4、PCIe x8和PCIe x16等,以适应不同设备的需求。
PCIe总线还具有“热插拔”和“热插拔”功能,用户可以在计算机运行时插入或拔出设备,而无需重新启动计算机。
这使得设备的更换和升级变得更加方便快捷。
此外,PCIe还支持“链路层发现”和“链路层训练”功能,用于自动检测和优化总线的性能,以提高数据传输的稳定性和可靠性。
总的来说,PCIe是一种高速、灵活、可靠的计算机总线标准,被广泛应用于各种设备之间的连接。
第1章 PCI总线的基本知识
PCI(Peripheral Component Interconnect)总线的诞生与PC(Personal Computer)的蓬勃发展密切相关。
在处理器体系结构中,PCI总线属于局部总线(Local Bus)。
局部总线作为系统总线的延伸,主要功能是为了连接外部设备。
处理器主频的不断提升,要求速度更快,带宽更高的局部总线。
起初PC使用8位的XT总线作为局部总线,并很快升级到16位的ISA(Industry Standard Architecture)总线,逐步发展到32位的EISA(Extended Industry Standard Architecture)、VESA(Video Electronics Standards Association)和MCA(Micro Channel Architecture)总线。
PCI总线规范在上世纪九十年代提出。
这条总线推出之后,很快得到了各大主流半导体厂商的认同,迅速统一了当时并存的各类局部总线。
EISA、VESA等其他32位总线很快就被PCI总线淘汰了。
从那时起,PCI总线一直在处理器体系结构中占有重要地位。
在此后相当长的一段时间里,PC处理器系统的大多数外部设备都是直接或者间接地与PCI总线相连。
即使目前PCI Express总线逐步取代了PCI总线成为PC局部总线的主流,也不能掩盖PCI总线的光芒。
从软件层面上看,PCI Express总线与PCI总线基本兼容;从硬件层面上看,PCI Express总线在很大程度上继承了PCI总线的设计思路。
因此PCI总线依然是软硬件工程师在进行处理器系统的开发与设计时,必须要掌握的一条局部总线。
PCI总线V1.0规范仅针对在一个PCB(Printed Circuit Board)环境内的,器件之间的互连,而1993年4月30日发布的V2.0规范增加了对PCI插槽的支持。
1995年6月1日,PCI V2.1总线规范发布,这个规范具有里程碑意义。
描述pci总线基本概念
描述pci总线基本概念
PCI总线是一种计算机内部的系统总线,用于连接计算机中的各种硬件设备。
PCI总线被广泛应用于PC机和服务器系统中,是一种高速、可靠、灵活的系统总线。
PCI总线采用并行传输方式,数据传输率高达133MB/s,远远高于ISA总线和VESA总线。
PCI总线支持热插拔,即可以在不关闭计算机的情况下更换硬件设备。
PCI总线采用基于插槽的设计,每个插槽对应一个PCI设备。
PCI 设备可以是网卡、声卡、显卡、磁盘控制器等各种硬件设备。
每个PCI设备都有一个唯一的设备ID,可以通过设备ID来识别PCI设备。
PCI总线是一种多主机设备,可以支持多个CPU同时访问同一PCI 设备。
PCI总线通过总线控制器来实现设备间的通信,总线控制器负责控制总线上的数据传输和设备访问。
总的来说,PCI总线是一种高速、可靠、灵活的系统总线,被广泛应用于PC机和服务器系统中,为计算机硬件设备的连接和通信提供了强大的支持。
- 1 -。
PCI总线
PCI总线PCI技术规格简介从1992年创立规范到如今,PCI总线已成为了计算机的一种标准总线。
由PCI 总线构成的标准系统结构如图一所示。
PCI总线取代了早先的ISA总线。
当然与在PCI总线后面出现专门用于显卡的A GP总线,与现在PCI Express总线,但是PCI能从1992用到现在,说明他有许多优点,比如即插即用(Plug and Play)、中断共享等。
在这里我们对PCI总线做一个深入的介绍。
从数据宽度上看,PCI总线有32bit、64bit之分;从总线速度上分,有33MHz、66MHz两种。
目前流行的是32bit @ 33MHz,而64bit系统正在普及中。
改良的P CI系统,PCI-X,最高可以达到64bit @ 133MHz,这样就可以得到超过1GB/s的数据传输速率。
如果没有特殊说明,以下的讨论以32bit @ 33MHz为例。
一、基本概念不同于ISA总线,PCI总线的地址总线与数据总线是分时复用的。
这样做的好处是,一方面可以节省接插件的管脚数,另一方面便于实现突发数据传输。
在做数据传输时,由一个PCI设备做发起者(主控,Initiator或Master),而另一个PCI设备做目标(从设备,Target或Slave)。
总线上的所有时序的产生与控制,都由Master来发起。
PCI总线在同一时刻只能供一对设备完成传输,这就要求有一个仲裁机构(Arbiter),来决定在谁有权力拿到总线的主控权。
当PCI总线进行操作时,发起者(Master)先置REQ#,当得到仲裁器(Arbiter)的许可时(GNT#),会将FRAME#置低,并在AD总线上放置Slave地址,同时C/BE#放置命令信号,说明接下来的传输类型。
所有PCI总线上设备都需对此地址译码,被选中的设备要置DEVSEL#以声明自己被选中。
然后当IRDY#与TRDY#都置低时,可以传输数据。
当Master数据传输结束前,将FRAME#置高以标明只剩最后一组数据要传输,并在传完数据后放开IRDY#以释放总线控制权。
pcie扫盲——物理层逻辑部分基础
pcie扫盲——物理层逻辑部分基础下载提示:该文档是本店铺精心编制而成的,希望大家下载后,能够帮助大家解决实际问题。
文档下载后可定制修改,请根据实际需要进行调整和使用,谢谢!本店铺为大家提供各种类型的实用资料,如教育随笔、日记赏析、句子摘抄、古诗大全、经典美文、话题作文、工作总结、词语解析、文案摘录、其他资料等等,想了解不同资料格式和写法,敬请关注!Download tips: This document is carefully compiled by this editor. I hope that after you download it, it can help you solve practical problems. The document can be customized and modified after downloading, please adjust and use it according to actual needs, thank you! In addition, this shop provides you with various types of practical materials, such as educational essays, diary appreciation, sentence excerpts, ancient poems, classic articles, topic composition, work summary, word parsing, copy excerpts, other materials and so on, want to know different data formats and writing methods, please pay attention!PCIe扫盲——物理层逻辑部分基础引言PCIe(Peripheral Component Interconnect Express)是一种高速串行接口标准,用于连接计算机内部的外部设备和扩展卡。
PCIe
.1 PCIe总线的基础知识(2011-05-27 15:59:56)转载标签:分类:浅谈PCIe体系结构杂谈与PCI总线不同,PCIe总线使用端到端的连接方式,在一条PCIe链路的两端只能各连接一个设备,这两个设备互为是数据发送端和数据接收端。
PCIe总线除了总线链路外,还具有多个层次,发送端发送数据时将通过这些层次,而接收端接收数据时也使用这些层次。
PCIe总线使用的层次结构与网络协议栈较为类似。
4.1.1 端到端的数据传递PCIe链路使用“端到端的数据传送方式”,发送端和接收端中都含有TX(发送逻辑)和RX(接收逻辑),其结构如图4-1所示。
由上图所示,在PCIe总线的物理链路的一个数据通路(Lane)中,由两组差分信号,共4根信号线组成。
其中发送端的TX部件与接收端的RX部件使用一组差分信号连接,该链路也被称为发送端的发送链路,也是接收端的接收链路;而发送端的RX部件与接收端的TX 部件使用另一组差分信号连接,该链路也被称为发送端的接收链路,也是接收端的发送链路。
一个PCIe链路可以由多个Lane组成。
高速差分信号电气规范要求其发送端串接一个电容,以进行AC耦合。
该电容也被称为AC耦合电容。
PCIe链路使用差分信号进行数据传送,一个差分信号由D+和D-两根信号组成,信号接收端通过比较这两个信号的差值,判断发送端发送的是逻辑“1”还是逻辑“0”。
与单端信号相比,差分信号抗干扰的能力更强,因为差分信号在布线时要求“等长”、“等宽”、“贴近”,而且在同层。
因此外部干扰噪声将被“同值”而且“同时”加载到D+和D-两根信号上,其差值在理想情况下为0,对信号的逻辑值产生的影响较小。
因此差分信号可以使用更高的总线频率。
此外使用差分信号能有效抑制电磁干扰EMI(Electro Magnetic Interference)。
由于差分信号D+与D-距离很近而且信号幅值相等、极性相反。
这两根线与地线间耦合电磁场的幅值相等,将相互抵消,因此差分信号对外界的电磁干扰较小。
PCIe基础篇(一)、基础知识扫盲
PCIe基础篇(⼀)、基础知识扫盲1、PCIe:Peripheral Component interconnect Expess,外围组件接⼝互联,属于第三代IO总线,PCIe的传输速率指的是实际的有效传输速率,为RAW data(原始数据)的80%,因为其采⽤了8b/10b编解码技术,有效数据是原始数据的0.8,PCIe的iyidai和第⼆代采⽤8b/10b编解码技术,第三代、第四代、第五代采⽤128b/130b编解码技术。
2、PCI总线是⼀种共享总线,所以需要有特定的仲裁器(Arbiter)来决定当前时刻总线的控制权。
⼀般该仲裁器位于北桥中,⽽仲裁器(主机)通过⼀对引脚REQ#和GNT#(grant)来与各个从机连接。
PCI总线是⼀种地址和数据复⽤的总线,地址和数据占⽤同⼀组信号线。
PCIe采⽤了差分、全双⼯的传输设计,允许在同⼀时刻,同时进⾏发送进⽽接收数据,设备之间通过双向的Link连接,每个Link⽀持1~32个通道(lane),由于是串⾏总线,因此所有的数据(包括配置信息等)都是以数据包为单位进⾏发送。
PCIe中还引⼊了嵌⼊式时钟计数,发送端不再向接收端发送时钟,但是接收端可以通过8b/10b的编码从数据通道中恢复出时钟.PCIe是⼀种点对点连接的总线,不是共享总线。
但是PCIe可以通过SWITCH连接多个PCIe设备,Switch包含了多个类似于PCI总线中桥的该概念。
上图中,Root Component作为Root,是CPU和PCIe总线系统通信的媒介。
endpoint位于PCIe总线系统拓扑结构中的最末段,⼀般作为总线操作的发起作者(initiator,类似于主机)与终结者(Completers,类似于从机),endpoint只能接收上级拓扑的数据包或者向上级发送数据包。
此外,Leagcy PCIe Endpoint指的是元贝准备设计为PCI-X总线接⼝的设备,却被改为PCIe接⼝的设备,native PCIe ENDpoint指的是标准的PCIe设备。
6PCI总线的基本含义
1 A/D卡设计1.1 基于PCI总线的A/D卡1、PCI总线的含义PCI是由Intel公司1991年推出的一种局部总线。
从结构上看,PCI是在CPU 和原来的系统总线之间插入的一级总线,具体由一个桥接电路实现对这一层的管理,并实现上下之间的接口以协调数据的传送。
管理器提供了信号缓冲,使之能支持10种外设,并能在高时钟频率下保持高性能,它为显卡、声卡、网卡、MODEM 等设备提供了连接接口,它的工作频率为33MHz/66MHz。
PCI是Peripheral Component Interconnect(外设部件互连标准)的缩写,它是目前个人电脑中使用最为广泛的接口,几乎所有的主板产品上都带有这种插槽。
PCI 插槽也是主板带有最多数量的插槽类型,在目前流行的台式机主板上,ATX结构的主板一般带有5~6个PCI插槽,而小一点的MATX主板也都带有2~3个PCI 插槽,可见其应用的广泛性。
PCI总线是一种不依附于某个具体处理器的局部总线。
管理器提供了信号缓冲,使之能支持10种外设,并能在高时钟频率下保持高性能。
PCI总线也支持总线主控技术,允许智能设备在需要时取得总线控制权,以加速数据传送。
图1.1 典型的PCI系统总线构成2、PCI总线的基本含义不同于ISA总线,PCI总线的地址总线与数据总线是分时复用的。
这样做的好处是,一方面可以节省接插件的管脚数,另一方面便于实现突发数据传输。
在做数据传输时,由一个PCI设备做发起者(主控,Initiator或Master),而另一个PCI 设备做目标(从设备,Target或Slave)。
总线上的所有时序的产生与控制,都由Master来发起。
PCI总线在同一时刻只能供一对设备完成传输,这就要求有一个仲裁机构(Arbiter),来决定在谁有权力拿到总线的主控权。
当PCI总线进行操作时,发起者(Master)先置REQ#,当得到仲裁器(Arbiter)的许可时(GNT#),会将FRAME#置低,并在AD总线上放置Slave地址,同时C/BE#放置命令信号,说明接下来的传输类型。
PCI 局部总线介绍
1.基本介绍
1.1 概述
90年代,随着图形处理技术和多媒体技术的广泛应用,在以Windows为 代表的图形用户接口(GUI)进入PC机之后,要求有高速的图形描绘能力和 I/O处理能力。这不仅要求图形适配卡要改善其性能,也对总线的速度提 出了挑战。实际上当时外设的速度已有了很大的提高,如硬磁盘与控制器 之间的数据传输率已达10MB/s以上,图形控制器和显示器之间的数据传输 率也达到69MB/s。通常认为I/O总线的速度应为外设速度的3-5倍。因此原 有的ISA、EISA已远远不能适应要求,而成为整个系统的主要瓶颈。因此 对总线提出了更高的性能要求,从而促使了总线技术进一步发展。 1991年下半年,Intel公司首先提出了PCI的概念,并联合IBM、Compaq、 AST、HP、DEC等100多家公司成立了PCI集团,其英文全称为:Peripheral Component Interconnect Special Interest Group(外围部件互连专业组),简称 PCISIG。PCI是一种先进的局部总线,已成为局部总线的新标准。
1.2.1 PCI总线的主要性能
· 支持10台外设 · 总线时钟频率33.3MHz · 最大数据传输速率133MB/s -264MB/s · 时钟同步方式 · 与CPU及时钟频率无关 · 总线宽度 32位并可扩展到64位 · 能自动识别外设 · 特别适合与Intel的CPU协同工作
1.2.2 PCI总线的特点
PCI 局部总线信号定义
地址/ 数据线
64位总线 扩展信号
接口 控制信号 错误报告 信号 仲裁信号 系统信号
接口信号
中断信号
边界扫 描信号
2.1 PCI局部总线的主要功能模块
23讲(PCI总线)计算机原理
理 ④最高时钟频率为8M Hz,即带宽为16MB/S
⑤支持8种总线事务类型: 存储器读/写,I/O读/写,中断响应DMA响应,存储器刷新, 总线仲裁。
18
6.5.2 Futurebus+总线
计 Futurebus+是一个高性能的异步总线标准。
算 其技术要求是:
机 (1)一个与结构、处理器、技术无关的开发标准。
③接口控制信号 FRAME#( 帧)、 IRDY#( 主就绪)、STOP#(锁定) IDSEL#(初始化设备选择)、DEVSEL#(设备选择)
6
④仲裁信号
计 REQ#(总线请求)、GNT#(总线授权) 算 ⑤错误报告信号 机 PERR#、SERR# 组 成 原 理
7
信号名
类型
CLK
in
RST#
in
26
3、某数据总线挂两个设备,每个设备能接收也能发
计
送,在不接收也不发送时,还能从电气上和总线断 开,画出它的逻辑图,并作简要说明。
算
机
组
成
原
理
27
答:双向收发器的逻辑图如图所示 每个设备的数据线通过双向收发器与总线的数据线相连;双
理 方式。在同步定时协议中,事件出现在总线上的时刻由总线时
钟信号来确定,总线周期的长度是固定的。在异步定时协议中,
后一事件出现在总线上 的时刻取决于前一事件的出现,建立
在应答式或互锁机制基础上,不需要统一的公共时钟信号。在
异步定时中,总线周期的长度是可变的。
22
当代的总线标准大都能支持以下数据传送模式:
原
来,以后的时间再在下层总线上生成写周期, 即延迟写。读 操作时,桥可早于上层总线,直接在下层总线上进行预读。无
PCIe总线基础
PCIe总线物理层
• 差分信号与单端信号:单端信号地平面是电流回路,差分信号
地平面也是重要的回路,之间也是电流回路。因此在设计时候要注意差分信号的地平 面也是很重要的。不要出现不连续的地平面或者没有参考地平面。
差分的好处:
1 共模抑制比高,抗干扰能力强; 2有效抑制信号传递带来的EMI干扰,极性相反;对外界的辐射相互抵消,因此产生的 噪声也是最小的。 3 逻辑状态定位准确,不受工艺和环境的影响 ;
PCIe总线带宽
PCIe总线架构
PCIe总线架构
Intel体系中的PCIe体系架构
PCIe总线层次结构
PCIe总线层次结构
software
TLP
DLLP
PLP
PCIe总线采集卡实现模式
PCIe三种实现模式
PCIe各层封装
• 各层叠加关系
各层包结构概览
• 作用:接收链路层的东西并发送到物理线路上,2,3,4………….) 2 rxnx,rxpx(x为1 ,2,3,4………….) 3 REFCLK+和REFCLK-信号 4 PERST#信号 5 WAKE#信号 6 SMCLK和SMDAT信号 7 JTAG信号 8 PRSNT1#和PRSNT2#信号
PCI总线信号
PCIe总线技术概览
PCIe总线是PCI总线的一种实现方式,从逻辑上来说他还是PCI总线, 他的大部分的概念来源于PCI总线,因此我们要从PCI总线讲起。
目录
1 2 3
PCI总线概述 PCIE总线各层 PCIE总线板卡实现
PCI技术概览
PCIE总线信号 PCIe总线架构 PCIe总线各层 PCIe总线物理层和链路层 PCIe总线事务层
PCIe总线的定义、组成和分层结构
PCIe总线的定义、组成和分层结构1、PCI-E总线定义PCI-E(PCI-Express)是一种通用的总线规格,它由(Intel)所提倡和推广,其最终的设计目的是为了取代现有(电脑)系统内部的总线传输(接口),这不只包括显示接口,还囊括了(CPU)、PCI、HDD、Netw(or)k等多种应用接口。
PCIe总线与PCI最大的区别在(工作原理)上,PCIe是采用点到点的串行方式进行传输的,被称为“串行PCI”,由于采用了串行方式传输使得其工作频率可以达到2.(5G)hz,大大增加了传输速率,同时采用全双工的(通信)方式,使得其传输速度提高了一倍,每一个PCIe总线设备与外部通信时有四根数据总线,分别有两个RX和TX,两根用于发送,两根由于接收。
当前的Intel平台CPU每颗最大支持40个通道(Lane),但是对于现在比较主流的(GPU)服务器需要插入多张高兴能显卡,每颗CPU 提供x40个通道就显得不够用了。
另外,传统存储(控制器)之间需要做各种数据交换和同步,一般也是用PCI-E,这又增加了对通道数量的消耗。
对于一般的高端服务器,普遍都是双路、四路配置,双路下提供x80通道,理论上可连接10个x8的PCI-E设备,去掉一些用于管理、内部嵌入式PCI-E设备的通道占用之后,连接8个设备不在话下,可以覆盖几乎所有应用场景。
2、PCI-E的组成和分层结构与大多数总线一样,PCIe总线也包括(电气)属性和协议组成两部分。
PCIe 规范对于设备的设计采用分层的结构,有事务层、数据链路层和物理层组成,各层有都分为发送和接收两功能块。
在发送端,应用程序(设备核A)在事务层形成事务层包(TLP——Transac(ti)on Layer Package),储存在发送缓冲器里,等待推向下层。
在数据链路层,在TLP 包上再串接一些附加(信息),这些信息是对方接收TLP 包时进行错误检查要用到的,形成数据链路层包(DLLP——Data Link Layer Package);在物理层,对DLLP 包进行编码,占用链路中的可用通道,从发送器发送出去。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
与PCI总线不同,PCIe总线使用端到端的连接方式,在一条PCIe链路的两端只能各连接一个设备,这两个设备互为是数据发送端和数据接收端。
PCIe总线除了总线链路外,还具有多个层次,发送端发送数据时将通过这些层次,而接收端接收数据时也使用这些层次。
PCIe总线使用的层次结构与网络协议栈较为类似。
4.1.1 端到端的数据传递PCIe链路使用“端到端的数据传送方式”,发送端和接收端中都含有TX(发送逻辑)和RX(接收逻辑),其结构如图4-1所示。
由上图所示,在PCIe总线的物理链路的一个数据通路(Lane)中,由两组差分信号,共4根信号线组成。
其中发送端的TX部件与接收端的RX部件使用一组差分信号连接,该链路也被称为发送端的发送链路,也是接收端的接收链路;而发送端的RX部件与接收端的TX部件使用另一组差分信号连接,该链路也被称为发送端的接收链路,也是接收端的发送链路。
一个PCIe链路可以由多个Lane组成。
高速差分信号电气规范要求其发送端串接一个电容,以进行AC耦合。
该电容也被称为AC 耦合电容。
PCIe链路使用差分信号进行数据传送,一个差分信号由D+和D-两根信号组成,信号接收端通过比较这两个信号的差值,判断发送端发送的是逻辑“1”还是逻辑“0”。
与单端信号相比,差分信号抗干扰的能力更强,因为差分信号在布线时要求“等长”、“等宽”、“贴近”,而且在同层。
因此外部干扰噪声将被“同值”而且“同时”加载到D+和D-两根信号上,其差值在理想情况下为0,对信号的逻辑值产生的影响较小。
因此差分信号可以使用更高的总线频率。
此外使用差分信号能有效抑制电磁干扰EMI(Electro Magnetic Interference)。
由于差分信号D+与D-距离很近而且信号幅值相等、极性相反。
这两根线与地线间耦合电磁场的幅值相等,将相互抵消,因此差分信号对外界的电磁干扰较小。
当然差分信号的缺点也是显而易见的,一是差分信号使用两根信号传送一位数据;二是差分信号的布线相对严格一些。
PCIe链路可以由多条Lane组成,目前PCIe链路可以支持1、2、4、8、12、16和32个Lane,即×1、×2、×4、×8、×12、×16和×32宽度的PCIe链路。
每一个Lane上使用的总线频率与PCIe总线使用的版本相关。
第1个PCIe总线规范为V1.0,之后依次为V1.0a,V1.1,V2.0和V2.1。
目前PCIe总线的最新规范为V2.1,而V3.0正在开发过程中,预计在2010年发布。
不同的PCIe总线规范所定义的总线频率和链路编码方式并不相同,如表4-1所示。
表4-1PCIe总线规范与总线频率和编码的关系如上表所示,不同的PCIe总线规范使用的总线频率并不相同,其使用的数据编码方式也不相同。
PCIe总线V1.x和V2.0规范在物理层中使用8/10b编码,即在PCIe链路上的10 bit 中含有8 bit的有效数据;而V3.0规范使用128/130b编码方式,即在PCIe链路上的130 bit 中含有128 bit的有效数据。
由上表所示,V3.0规范使用的总线频率虽然只有4GHz,但是其有效带宽是V2.x的两倍。
下文将以V2.x规范为例,说明不同宽度PCIe链路所能提供的峰值带宽,如表4-2所示。
表4-2PCIe总线的峰值带宽由上表所示,×32的PCIe链路可以提供160GT/s的链路带宽,远高于PCI/PCI-X总线所能提供的峰值带宽。
而即将推出的PCIe V3.0规范使用4GHz的总线频率,将进一步提高PCIe链路的峰值带宽。
在PCIe总线中,使用GT(Gigatransfer)计算PCIe链路的峰值带宽。
GT是在PCIe链路上传递的峰值带宽,其计算公式为总线频率×数据位宽×2。
在PCIe总线中,影响有效带宽的因素有很多,因而其有效带宽较难计算,这部分内容详见第8.4.1节。
尽管如此,PCIe总线提供的有效带宽还是远高于PCI总线。
PCIe总线也有其弱点,其中最突出的问题是传送延时。
PCIe链路使用串行方式进行数据传送,然而在芯片内部,数据总线仍然是并行的,因此PCIe 链路接口需要进行串并转换,这种串并转换将产生较大的延时。
除此之外PCIe总线的数据报文需要经过事务层、数据链路层和物理层,这些数据报文在穿越这些层次时,也将带来延时。
本书将在第8.4节详细讨论PCIe总线的延时与带宽之间的联系。
在基于PCIe总线的设备中,×1的PCIe链路最为常见,而×12的PCIe链路极少出现,×4和×8的PCIe设备也不多见。
Intel通常在ICH中集成了多个×1的PCIe链路用来连接低速外设,而在MCH中集成了一个×16的PCIe链路用于连接显卡控制器。
而PowerPC处理器通常能够支持×8、×4、×2和×1的PCIe链路。
PCIe总线物理链路间的数据传送使用基于时钟的同步传送机制,但是在物理链路上并没有时钟线,PCIe总线的接收端含有时钟恢复模块CDR(Clock Data Recovery),CDR将从接收报文中提取接收时钟,从而进行同步数据传递。
值得注意的是,在一个PCIe设备中除了需要从报文中提取时钟外,还使用了REFCLK+和REFCLK-信号对作为本地参考时钟,这个信号对的描述见下文。
4.1.2 PCIe总线使用的信号PCIe设备使用两种电源信号供电,分别是V cc与V aux,其额定电压为3.3V。
其中V cc为主电源,PCIe设备使用的主要逻辑模块均使用V cc供电,而一些与电源管理相关的逻辑使用V aux供电。
在PCIe设备中,一些特殊的寄存器通常使用V aux供电,如Sticky Register,此时即使PCIe设备的V cc被移除,这些与电源管理相关的逻辑状态和这些特殊寄存器的内容也不会发生改变。
在PCIe总线中,使用V aux的主要原因是为了降低功耗和缩短系统恢复时间。
因为V aux在多数情况下并不会被移除,因此当PCIe设备的V cc恢复后,该设备不用重新恢复使用V aux供电的逻辑,从而设备可以很快地恢复到正常工作状状态。
PCIe链路的最大宽度为×32,但是在实际应用中,×32的链路宽度极少使用。
在一个处理器系统中,一般提供×16的PCIe插槽,并使用PETp0~15、PETn0~15和PERp0~15、PERn0~15共64根信号线组成32对差分信号,其中16对PETxx信号用于发送链路,另外16对PERxx信号用于接收链路。
除此之外PCIe总线还使用了下列辅助信号。
1 PERST#信号该信号为全局复位信号,由处理器系统提供,处理器系统需要为PCIe插槽和PCIe设备提供该复位信号。
PCIe设备使用该信号复位内部逻辑。
当该信号有效时,PCIe设备将进行复位操作。
PCIe总线定义了多种复位方式,其中Cold Reset和Warm Reset这两种复位方式的实现与该信号有关,详见第4.1.5节。
2 REFCLK+和REFCLK-信号在一个处理器系统中,可能含有许多PCIe设备,这些设备可以作为Add-In卡与PCIe插槽连接,也可以作为内置模块,与处理器系统提供的PCIe链路直接相连,而不需要经过PCIe 插槽。
PCIe设备与PCIe插槽都具有REFCLK+和REFCLK-信号,其中PCIe插槽使用这组信号与处理器系统同步。
在一个处理器系统中,通常采用专用逻辑向PCIe插槽提供REFCLK+和REFCLK-信号,如图4-2所示。
其中100Mhz的时钟源由晶振提供,并经过一个“一推多”的差分时钟驱动器生成多个同相位的时钟源,与PCIe插槽一一对应连接。
PCIe插槽需要使用参考时钟,其频率范围为100MHz±300ppm。
处理器系统需要为每一个PCIe插槽、MCH、ICH和Switch提供参考时钟。
而且要求在一个处理器系统中,时钟驱动器产生的参考时钟信号到每一个PCIe插槽(MCH、ICH和Swith)的距离差在15英寸之内。
通常信号的传播速度接近光速,约为6英寸/ns,由此可见,不同PCIe插槽间REFCLK+和REFCLK-信号的传送延时差约为2.5ns。
当PCIe设备作为Add-In卡连接在PCIe插槽时,可以直接使用PCIe插槽提供的REFCLK+和REFCLK-信号,也可以使用独立的参考时钟,只要这个参考时钟在100MHz±300ppm范围内即可。
内置的PCIe设备与Add-In卡在处理REFCLK+和REFCLK-信号时使用的方法类似,但是PCIe设备可以使用独立的参考时钟,而不使用REFCLK+和REFCLK-信号。
在PCIe设备配置空间的LinkControl Register中,含有一个“Common Clock Configuration”位。
当该位为1时,表示该设备与PCIe链路的对端设备使用“同相位”的参考时钟;如果为0,表示该设备与PCIe链路的对端设备使用的参考时钟是异步的。
在PCIe设备中,“Common Clock Configuration”位的缺省值为0,此时PCIe设备使用的参考时钟与对端设备没有任何联系,PCIe链路两端设备使用的参考时钟可以异步设置。
这个异步时钟设置方法对于使用PCIe链路进行远程连接时尤为重要。
在一个处理器系统中,如果使用PCIe链路进行机箱到机箱间的互连,因为参考时钟可以异步设置,机箱到机箱之间进行数据传送时仅需要差分信号线即可,而不需要参考时钟,从而极大降低了连接难度。
3 WAKE#信号当PCIe设备进入休眠状态,主电源已经停止供电时,PCIe设备使用该信号向处理器系统提交唤醒请求,使处理器系统重新为该PCIe设备提供主电源V cc。
在PCIe总线中,WAKE#信号是可选的,因此使用WAKE#信号唤醒PCIe设备的机制也是可选的。
值得注意的是产生该信号的硬件逻辑必须使用辅助电源V aux供电。
WAKE#是一个Open Drain信号,一个处理器的所有PCIe设备可以将WAKE#信号进行线与后,统一发送给处理器系统的电源控制器。
当某个PCIe设备需要被唤醒时,该设备首先置WAKE#信号有效,然后在经过一段延时之后,处理器系统开始为该设备提供主电源V cc,并使用PERST#信号对该设备进行复位操作。
此时WAKE#信号需要始终保持为低,当主电源V cc上电完成之后,PERST#信号也将置为无效并结束复位,WAKE#信号也将随之置为无效,结束整个唤醒过程。