分类: 嵌入式
2010-12-20 12:21:24
要谈到AGP或者PCI-E,不得不谈到设备总线这个概念,总线在计算机里并非一根线,而应该被叫做一条通道,这条通道里往来穿梭的就是0和1这两个数字,允许同时并排通过这条通道的0和1的个数叫总线位宽,就象公路分6车道、8车道一样。当然,这条通道也有最高速度限制,也就是每秒能通过的0和1的个数,这叫总线频率。为了方便描述总线的整体特性,人们规定公式“总线位宽×总线频率÷8=总线带宽”,这个被叫做总线带宽的概念,就是我们平常说的传输率,是衡量一条线路传输0、1这样的数据效率的标准单位。 那AGP和PCI-E究竟有什么区别,首先需要明白,AGP和PCI-E都是刚才讲的总线规范,好比两种不同的公路类型,两种通道允许通过的数据宽度和速度都不相同,最终导致他们在效率和性能上的差别。其次,要了解AGP和“PCI-E x16”都是显卡数据专用通道,他们只允许显卡需要的数字信号通过这些总线。最后,知道他们的区别有2点,第一,PCI-E x16总线通道比AGP更宽、“最高速度限制”更高;第二,PCI-E通道是“双车道”,也就是“双工传输”,同一时间段允许“进”和“出”的两路数字信号同时通过,而AGP只是单车道,即一个时间允许一个方向的数据流。而这些改进得到的结果是,PCI-E x16传输带宽能达到2×4Gb/s=8Gb/s,而AGP 8x规范最高只有2Gb/s,PCI-E的优势可见一斑。 再谈到高带宽总线究竟有什么用处和实际优势,就要讲到显卡的核心部件——视觉处理器。由于多媒体技术的疯狂生长,而尤其以视频技术为最猛烈,今天的视频技术与10年前那个“马赛克”年代已经产生了一个世纪的“代沟”。大家都耳熟能详的3D技术、视频编码/解码技术、视频压缩/解压缩技术等等,虽然都是伴随着显卡总线技术的发展而发展,但近年来这些技术的发展超过了显卡总线技术,也许显卡核心处理数据已经完毕,而数据通道仍在传输先前的数据,这样的数据堆积就构成了传输瓶颈。具体的表现可能会是图形显示迟缓,或者由于数据堆积造成程序可能产生错误,严重的还可能造成死机。PCI-E 技术的诞生正式为解决这个矛盾,他提供几倍于传统视频数据传输带宽的能力在相当长一段时间能将不再有显示总线的瓶颈。
PCI-E插槽是由北桥管的,PCI插槽是由南桥管的,PCI-E插槽只能插显卡,PCI插槽可以扩展好多好多的东西,如,声卡,网卡,显卡.维修界说的北桥主内,南桥主外,北桥主的是高速设备,南桥主的是中低速设备,所以PCI-E显卡要比PCI显卡快很多.
首先声明这是网上找到的一篇文章,作者信息如下:
© Alrad Imaging
Alrad Instruments Ltd, Alder House, Turnpike Road Industrial Estate
Newbury Berkshire RG14 2NS
Tel: +44 (0)1635 30345 fax: +44(0)1635 32630
e-mail
文章正文
What’s wrong with PCI?
PCI, or Peripheral Component Interconnect was developed by Intel in 1992 and is the local bus used in most PCs until know.PCI uses a shared bus topology to allow for communication among the different devices on the bus i.e. the different PCI devices are attached to the same bus, and share the bandwidth. This diagram explains the situation.
图一
It can run at clock speeds of 33 or 66 MHz. At 32 bits and 33 MHz, it will yield a throughput rate of 133 MBps which is too slow to cater for the latest frame grabbers especially as even this is shared with other PCI devices.
PCI怎么了?
PCI,或者外围设备互联是Intel在1992年开发的并且在现在的大多数PC上仍然应用的局域总线。PCI用了一个共享总线拓扑结构来提供在总线上不同设备之间的通信。比如说不同的PCI设备连在同一个总线上并且共享带宽。图一对这种情况有一个解释。
图一
它可以运行在33或者66MHz的时钟频率下。在32位和33MHz下,它可以产生133M比特每秒的吞吐率,但是这个速率对现在的架构特别还是跟其它PCI设备共享的架构来说太慢了。
Why is PCI-X an improvement?
PCI-X stands for PCI Extended.
The PCI-X spec essentially doubled the bus width from 32 bits to 64 bits, thereby increasing bandwidth. The PCI's basic clock rate is increased to 66MHz with a 133MHz variety on the high end, providing another boost to the bandwidth and bringing it up to 1GB/s (at 133MHz).
Having said this PCI-X still suffers from the problem of Shared bus topology and also the faster a bus runs, the more sensitive it becomes to background noise.For this reason manufacturing standards for high-speed buses are exceptionally strict and therefore expensive. The PCI-x slot is physically longer that a PCI Slot.
为什么PCI-x有所提升?
PCI-x代表PCI扩展。
PCI-x从本质上来说把总线的宽度有32位提高到了两倍64位,因此提高了带宽。PCI的基本时钟频率提高到了66MHz和133MHz之间的几种,提供了另外一种增加带宽的能力并且把它提高到了1GB/s(在133MHz下)。
已经提到的PCI-x虽然是比较快的总线但是仍然有共享总线这种问题,the more sensitive it becomes to background noise. 因为这个原因这种高速总线的制造标准异常的严格并且因此很贵。PCI-x在物理上要比PCI插槽要长。
Is PCI-E any better?
PCI-E stands fro PCI Express and is also known as 3GIO (Third Generation I/O)。 The most fundamental improvement is the adoption of point-to-point bus topology.
In a point-to-point bus topology, a shared switch replaces the shared bus as the single shared resource by means of which all of the devices communicate. Unlike in a shared bus topology, where the devices must collectively arbitrate among themselves for use of the bus, each device in the system has direct and exclusive access to the switch.
PCI-e有没有更好一些?
PCI-e是PCI Express它被认为是3GIO(第三带I/O)。最基础的提高是它采用了点到点的总线结构。
在点到点这种总线结构中,一个共享的switch作为单独的共享资源代替了原来共享的总线,这意味所有的设备之间可以通信。不像在共享总线这种拓扑结构中所有的设备必须经过判断才能使用总线,PCI-e可以使在系统中的所有设备直接并且唯一的访问switch。
The connections between the devices and the switch is called a link and each link is consists of a number of lanes. Each lane is able to carry data in both directions. The gain in bandwidth is considerable as each lane can carry 2.5Gps in each direction.
The PCI Express slot is available in versions of from 1 lane to 32 lanes and are called x1, x2, x4, x8, x16 and x32. The slot and connector are different lengths for each version.
设备和switch之间的连接被称为链接,每一个链接包括一个数字通道。每一个通道在所有的方向上都可以携带数据。带宽上的增长相当于每一个通道在每个方向上可以携带 2.5Gps。
PCI Express 插槽可以从1 个通道到32个通道,这被称为x1, x2, x4, x8, x16 and x32。每个不同的版本插槽和连接器的长度都不同。
Is PCI obsolete?
At least for the time being, PCs are being produced with PCI-X and PCI-E slots as additional to PCI slots.
PCI 会过时吗?
至少暂时,被生产的带有PCI-X和PCI-E插槽的PCs额外还带有PCI插槽。
Summary of bandwidth capabilities
Type Bandwidth Mbytes/s
PCI 32 bit / 33 MHz 132
PCI 64 bit / 66 MHz 533
PCI-X 64 bit / 66 MHz 533
PCI-X 64 bit / 100 MHz 800
PCI-X 64 bit / 133 MHz 1066
Peak unidirectional Full Duplex Bandwidth
bandwidth
PCI-E x1 250 MBytes/s 500 Mbytes/s
PCI-E x2 500 MBytes/s 1 GBytes/s
PCI-E x4 1 GBytes/s 2 GBytes/s
PCI-E x6 2 GBytes/s 4 GBytes/s
PCI-E x16 4 GBytes/s 8 GBytes/s
PCI-E x32 8 GBytes/s 16 GBytes/s
PCI插槽是基于PCI局部总线(Pedpherd Component Interconnect,周边元件扩展接口)的扩展插槽,其颜色一般为乳白色,位于主板上AGP插槽的下方,ISA插槽的上方。其位宽为32位或64位,工作频率为33MHz,最大数据传输率为133MB/sec(32位)和266MB/sec(64位)。可插接显卡、声卡、网卡、内置Modem、内置ADSL Modem、USB2.0卡、IEEE1394卡、IDE接口卡、RAID卡、电视卡、视频采集卡以及其它种类繁多的扩展卡。PCI插槽是主板的主要扩展插槽,通过插接不同的扩展卡可以获得目前电脑能实现的几乎所有功能,是名副其实的“万用”扩展插槽。
AGP和PCI插槽区别2007-06-08 18:32AGP 是Accelerated Graphics Port(加速图形端口)的缩写。
PCI 是Pedpherd Component Interconnect(周边元件扩展接口)的缩写。
老的主板上还有 ISA 插槽。
以上接口是互不通用的,当然也不能混插了,不过,就算是你要混插,也是行不通的,物理结构不一样,想混插都没的商量!
简单的说 AGP 就是供你插显卡用的;而 PCI 则被用于网卡,声卡,内猫,USB卡,IEEE1394等各种扩展卡。
二者的区分:
AGP 插槽一般是棕色的,在主板上的位置略靠近北桥(CPU 那头)一些,因为AGP和北桥的数据交换量非常大,这样设计的好处就是可以提高显卡和CPU之间的数据交换速率;
PCI 插槽一般是白色的,主要是和南桥交换数据,因此,在主板上的位置当然是接近南桥(和CPU相对的那一头)了。
一块主板上一般只有一个 AGP 插槽,而 PCI 插槽却可以有多个(三四个整齐的排成一列,是它典型的特征)。
后话:目前,AGP 总线技术也已日薄西山了,取代它的是 PCI -E,是一种更快的图形总线,以满足未来更加巨大和复杂的图形应用,就像当初 PCI 取代 ISA ,势不可挡,没的商量!
PCI-Express
开放分类: 技术、计算机、标准、接口、显卡
PCIE
继PCI (个人计算机扩展总线接口规范)之后的规范。PCI 属于并行传输方式,即使用多条信号线同时并行传输多位数据,但 PCI Express 采用的是每次 1 位的串行传输方式,其最高数据传输速度为 8Gbit / s ,最大电缆长度 3m 。开发阶段的代号是 3GIO 。
PCI Express总线的起源和现状
2001年春季的IDF上Intel正式公布PCI Express,是取代PCI总线的第三代I/O技术,也称为3GIO。该总线的规范由Intel支持的AWG(Arapahoe Working Group)负责制定。2002 年4月17日,AWG正式宣布3GIO 1.0规范草稿制定完毕,并移交PCI-SIG进行审核。开始的时候大家都以为它会被命名为Serial PCI(受到串行ATA的影响),但最后却被正式命名为PCI Express。2006年正式推出Spec2.0(2.0规范)。
PCI Express总线技术的演进过程,实际上是计算系统I/O接口速率演进的过程。PCI总线是一种33MHz@32bit或者66MHz@64bit的并行总线,总线带宽为133MB/s到最大533MB/s,连接在PCI总线上的所有设备共享133MB/s~533MB/s带宽。这种总线用来应付声卡、10/100M网卡以及USB 1.1等接口基本不成问题。随着计算机和通信技术的进一步发展,新一代的I/O接口大量涌现,比如千兆(GE)、万兆(10GE)的以太网技术、4G/8G的FC技术,使得PCI总线的带宽已经无力应付计算系统内部大量高带宽并行读写的要求,PCI总线也成为系统性能提升的瓶颈,于是就出现了PCI Express总线。PCI Express总线技术在当今新一代的存储系统已经普遍的应用。PCI Express总线能够提供极高的带宽,来满足系统的需求。
目前,PCI-E 3.0规范也已经确定,其编码数据速率,比同等情况下的PCI-E 2.0规范提高了一倍,X32端口的双向速率高达320Gbps。
PCI Express总线的技术优势
PCI总线的最大优点是总线结构简单、成本低、设计简单,但是缺点也比较明显:
1) 并行总线无法连接太多设备,总线扩展性比较差,线间干扰将导致系统无法正常工作;
2) 当连接多个设备时,总线有效带宽将大幅降低,传输速率变慢;
3) 为了降低成本和尽可能减少相互间的干扰,需要减少总线带宽,或者地址总线和数据总线采用复用方式设计,这样降低了带宽利用率。 PCI Express总线是为将来的计算机和通讯平台定义的一种高性能,通用I/O互连总线。
与PCI总线相比,PCI Express总线主要有下面的技术优势:
1) 是串行总线,进行点对点传输,每个传输通道独享带宽。
2) PCI Express总线支持双向传输模式和数据分通道传输模式。其中数据分通道传输模式即PCI Express总线的x1、x2、x4、x8、x12、x16和x32多通道连接,x1单向传输带宽即可达到250MB/s,双向传输带宽更能够达到500MB/s,这个已经不是普通PCI总线所能够相比的了。
3) PCI Express总线充分利用先进的点到点互连、基于交换的技术、基于包的协议来实现新的总线性能和特征。电源管理、服务质量(QoS)、热插拔支持、数据完整性、错误处理机制等也是PCI Express总线所支持的高级特征。
4) 与PCI总线良好的继承性,可以保持软件的继承和可靠性。PCI Express总线关键的PCI特征,比如应用模型、存储结构、软件接口等与传统PCI总线保持一致,但是并行的PCI总线被一种具有高度扩展性的、完全串行的总线所替代。
5) PCI Express总线充分利用先进的点到点互连,降低了系统硬件平台设计的复杂性和难度,从而大大降低了系统的开发制造设计成本,极大地提高系统的性价比和健壮性。从下面表格可以看出,系统总线带宽提高同时,减少了硬件PIN的数量,硬件的成本直接下降。
PCI Express的硬件协议
PCIe的连接是建立在一个双向的序列的(1-bit)点对点连接基础之上,这称之为“传输通道”。与PCI 连接形成鲜明对比的是PCI是基于总线控制,所有设备共同分享的单向32位并行总线。PCIe是一个多层协议,由一个对话层,一个数据交换层和一个物理层构成。物理层又可进一步分为逻辑子层和电气子层。逻辑子层又可分为物理代码子层(PCS)和介质访问控制子层(MAC)。
物理层
于使用电力方面,每组流水线使用两个单向的低电压微分信号(LVDS)合计达到2.5兆波特。传送及接收不同数据会使用不同的传输通道,每一通道可运作四项资料。两个PCIe设备之间的连接成为“链接”,这形成了1组或更多的传输通道。各个设备最少支持1传输通道(x1)的链接。也可以有2,4,8,16,32个通道的链接。这可以更好的提供双向兼容性。(x2模式将用于内部接口而非插槽模式)PCIe卡能使用在至少与之传输通道相当的插槽上(例如x1接口的卡也能工作在x4或x16的插槽上)。一个支持较多传输通道的插槽可以建立较少的传输通道(例如8个通道的插槽能支持1个通道)。PCIe设备之间的链接将使用两设备中较少通道数的作为标准。一个支持较多通道的设备不能在支持较少通道的插槽上正常工作,例如x4接口的卡不能在x1的插槽上正常工作,但它能在x4的插槽上只建立1个传输通道(x1)。PCI-Express卡能在同一数据传输通道内传输包括中断在内的全部控制信息。这也方便了与PCI的兼容。多传输通道上的数据传输采取交叉存取,这意味着连续字节交叉存取在不同的通道上。这一特性被称之为“数据条纹”,需要非常复杂的硬件支持连续数据的同步存取,也对链接的数据吞吐量要求极高。由于数据填充的需求,数据交叉存取不需要缩小数据包。与其它高速数传输协议一样,时钟信息必须嵌入信号中。在物理层上,PCIe采用常见的8B/10B代码方式来确保连续的1和0字符串长度符合标准,这样保证接收端不会误读。编码方案用10位编码比特代替8个未编码比特来传输数据,占用20%的总带宽。有些协议(如SONET)使用另外的编码结构如“不规则”在数据流中嵌入时钟信息。PCIe的特性也定义了一种“不规则化”的运算方法,但这种方法与SONET完全不同,它的方法主要用来避免数据传输过程中的数据重复而出现数据散射。第一代PCIe采用2.5兆位单信号传输率,PCI-SIG计划在未来版本中增强到5~10兆位。
数据链接层
数据链接层采用按序的交换层信息包(Transaction Layer Packets,TLPs),是由交换层生成,按32位循环冗余校验码(CRC,本文中用LCRC)进行数据保护,采用著名的协议(Ack and Nak signaling)的信息包。TLPs能通过LCRC校验和连续性校验的称为Ack(命令正确应答);没有通过校验的称为Nak(没有应答)。没有应答的TLPs或者等待超时的TLPs会被重新传输。这些内容存储在数据链接层的缓存内。这样可以确保TLPs的传输不受电子噪音干扰。
Ack和Nak信号由低层的信息包传送,这些包被称为数据链接层信息包(Data Link Layer Packet,DLLP)。DLLP也用来传送两个互连设备的交换层之间的流控制信息和实现电源管理功能。
交换层
PCI Express采用分离交换(数据提交和应答在时间上分离),可保证传输通道在目标端设备等待发送回应信息传送其它数据信息。它采用了可信性流控制。这一模式下,一个设备广播它可接收缓存的初始可信信号量。链接另一方的设备会在发送数据时统计每一发送的TLP所占用的可信信号量,直至达到接收端初始可信信号最高值。接收端在处理完毕缓存中的TLP后,它会回送发送端一个比初始值更大的可信信号量。可信信号统计是定制的标准计数器,这一算法的优势,相对于其他算法,如握手传输协议等,在于可信信号的回传反应时间不会影响系统性能,因为如果双方设备的缓存足够大的话,是不会出现达到可信信号最高值的情况,这样发送数据不会停顿。第一代PCIe标称可支持每传输通道单向每秒250兆字节的数据传输率。这一数字是根据物理信号率2500兆波特除以编码率(10位/每字节)计算而得。这意味着一个16通道(x16)的PCIe卡理论上可以达到单向250*16=4000兆字节/秒(3.7G兆字节/每秒)。实际的传输率要根据数据有效载荷率,即依赖于数据的本身特性,这是由更高层(软件)应用程序和中间协议层决定。PCI Express与其它高速序列连接系统相似,它依赖于传输的鲁棒性(CRC校验和Ack算法)。长时间连续的单向数据传输(如高速存储设备)会造成>95%的PCIe通道数据占用率。这样的传输受益于增加的传输通道,但大多数应用程序如USB或以太网络控制器会把传输内容拆成小的数据包,同时还会强制加上确认信号。这类数据传输由于增加了数据包的解析和强制中断,降低了传输通道的效率。这种效率的降低并非只出现在PCIe上。
制式标准
半高卡微型卡: 代替Mini PCI卡 (支持x1 PCIe, USB 2.0和SMBus总线接口) 快速卡: 类似PCMCIA接口标准(支持x1 PCIe,USB 2.0;支持热插拔) 先进TCA卡: 代替CompactPCI卡
竞争协议
基于高速序列构架产生了很多传输标准。包括HyperTransport,InfiniBand,RapidIO和StarFabric等等。这些均有业界的不同企业支持,背后也都有大量的资金投入标准的研究开发,所以每一标准都声称自己与众不同,独占优势。主要的差异在于可扩展性、灵活性与反应时间、单位成本的取舍平衡各不相同。其中的一个例子是在传输包上增加一个复杂的头信息以支持复杂路由传输(PCI Express不支持这种方式)。这样的信息增加降低了接口的有效带宽也使传输更复杂,但是相应创造了新的软件支持此功能。这种架构下需要软件追踪网络拓扑结构的变化以实现系统支持热插拔。InfiniBand 和 StarFabric 标准即能实现这以功能。另一个例子是缩小信息包以减少反应时间。较小的信息包意味着包头占用了包的更大百分比,这样又降低了有效带宽。能实现此功能的标准是RapidIO 和HyperTransport。PCI Express取中庸之道,定位于设计成一种系统互连接口(总线)而非一种设备接口或路由网络协议。另外为了针对软件透明,它的设计目标限制了它作为协议,也在某种程度上增加了它的反应时间。