PCI PCI-X PCI-E介绍
1.PCI
外设互联标准(或称个人电脑接口,Personal Computer Interface),实际应用中简称PCI(Peripheral Component Interconnect),是一种连接电子计算机主板和外部设备的总线标准。一般PCI设备可分为两种形式:直接布放在主板上的集成电路,在PCI规范中称作”平面设备“,另一种是安装在插槽中的扩展卡。
PCI bus常见于现代的个人计算机中,已经取代ISA和VESA局部总线,成为标准扩展总线。PCI总线最终将被PCI Express或者更先进的技术取代。
PCI是并行基于总线控制,所有设备共同分享单向32bit/64bit并行总线(半双工)。如果有多个PCI设备共用总线,他们将共享总的传输速率。
PCI标准于1993年7月被Intel发明,每个接口最多连接1个设备,可以工作在33MHz和66MHz(工作时电压33MHz为5V,66MHz为3V),2004年被PCI Express替代。
PCI插槽可以插很多类型的卡,包括网卡、声卡、调制解调器(内置Modem)、电视卡、磁盘控制器(RAID卡)、视频采集卡、IDE接口卡、IEEE1394卡、USB卡和串行等,原本也可以插显卡,但很快PCI的带宽不足以支持显卡的性能。PCI插槽通过插不同的卡几乎可以实现所有的外接功能。后来显卡使用AGP插槽,现在已被PCI Express插槽取代。
PCI接口分32bit和64bit两种。早期的PCI(PCI2.1标准)工作在32bit、33.33MHz、5V下,最大传输速度133MB/s(33.33MHz * 32bit / 8bit/byte = 133MB/s),后来又出现了PCI2.2 2.3等标准。现在PCI有32bit和64bit两种,32bit的一般用在PC上,64bit的一般应用于服务器上,64bit的要比32bit的长一些。32bit和64bit都有5v和3.3v电压两种,5v电压的是PCI2.1标准工作在33MHz,3.3v电压的是PCI2.2标准工作在66MHz的时钟频率上。频率或者位宽增加都会增加传输速率,实现也是通过这两个指标来实现的。
在PC上,64位PCI还没有成为主流。原因在于制造64位和66MHzPCI主板的难度很大。首先,使用64位PCI插槽需要64位南桥芯片组支持,该南桥控制器必须可以正确处理64位的数据。Intel和AMD都有64位的南桥可提供给主板厂商,但是价格很高;其次是因为66Mz
PCI槽对主板配套元件要求极高,且需要特殊的布线设计。这就是66MHzPCI技术一直停留在服务器领域的原因。
PCI有几种不同的接口样图:现在生产的多为通用模式的以防插错。还有64bit统一比32bit的宽出右边缺口的部分。

PCI 32bit的网卡都可以查到PCI 64bit插槽上使用。3.3v的插到3.3v的上,5v的插到5v的上。
有一些PCI网卡同时支持32位和64位标准的兼容网卡,这类网卡相比前面介绍的纯64位PCI网卡来说,在外观上也有一个明显的区别,那就是它又多了一个缺口,有3个缺口(上图右边第三个图)
PCI千兆网卡的局限性:
通常我们用的个人PC主板上的PCI总线频率位33MHz,总线位宽位32bit,PCI总线的带宽位133MB/s,换算下来是1064Gbps,理论上这是符合千兆往可的带宽的。但实际上,PCI设备是共享一个总线带宽的,像IDE总线,集成声卡等都是通过PCI总线工作的,这样自然分配给PCI千兆网卡的带宽自然就不够了。要真正的达到千兆网卡的速度,要求全双工工作,输入输出都是1Gbps,这样就要求带宽达到2Gbps,这样PCI总线是万万达不到的。因此在普通电脑上还是要采用PCI-E设备才能真正的达到千兆的速度。
2.PCI-X
PCI-X是传统PCI总线的改版,有更高的带宽。PCI-X插槽类型基本于64bit的PCI插槽相同。
PCI-X于1998年被IBM、HP和Compaq发明,64bit位宽,传输方式并发,2004年被新出的PCI Express替代。
PCI-X多用于服务器上,不过也是昙花一现。
无论PCI还是PCI-X都只是半双工的通信机制但PCI Express 却完全可以用全双工方式进行通信。此外在同一个总线里因为平行传输的关系,虽然控制器可以和每个接入的设备自动协调传输速率但却必需选用各个设备中速度最慢者的速度作为总线内共同的传输速度上限,高速设备往往因此而无用武之地。
PCI-X目前的最新版本是2.0。下面讲的的1.0版本,在外观上,它与64位PCI接口差不多。目前主要有100MHz和133MHz两种外频模式,不过目前主要用的是133MHzPCI-X接口,理论共享传输速率达到了1.06GB/s。后来推出的2.0版本,频率位266MHz和533MHz,共享传输速率为2.1GB/s和4.2GB/s。后来出的3.0标准1066MHz在PCI-E的冲击下没有了下文。
PCI-X相比PCI 32bit而言除了扩大到64bit,其余的传输协议、讯号和标准街头格式都一并兼容,因此它可以向下兼容于所有早期的+3.3V PCI 总线(但不容于最早期的+5V PCI BUS)。3.3v的PCI可以插到PCI-X中。
3.PCI-E
PCI-E于2004年被Intel发明,采用串行方式通信,支持全双工通信方式。
PCIe设备能够支持热拔插以及热交换特性,支持的三种电压分别为+3.3V、3.3Vaux以及+12V。
PCI-E的接口根据总线位宽不同而有所差异,包括X1、X4、X8以及X16,而X2模式将用于内部接口而非插槽模式。
PCI-E有向下兼容的特性。既X16的接口可以插X1、X4、X8接口的卡。
PCI-E接口样图:

图中从上到下依次是PCIEX16、X1、X4、X16,图中没有X8的,X8的长度右边部分(主接口区)长度基本是X4的2倍,略小。
PCI-E有各版本的传输速度:
| 版本 | 数据传输带宽 | 单向单通道带宽 | 双向16通道带宽 | 原始传输率 | 发表日期 |
|---|---|---|---|---|---|
| 1.0 | 2Gb/s | 250MB/s | 8GB/s | 2.5GT/s | 2002年7月22日 |
| 1.0a | 2Gb/s | 250MB/s | 8GB/s | 2.5GT/s | 2003年4月15日 |
| 1.1 | 2Gb/s | 250MB/s | 8GB/s | 2.5GT/s | 2005年3月28日 |
| 2.0 | 4Gb/s | 500MB/s | 16GB/s | 5.0GT/s | 2006年12月20日 |
| 2.1 | 4Gb/s | 500MB/s | 16GB/s | 5.0GT/s | 2009年3月4日 |
| 3.0 | 8Gb/s | 1GB/s | 32GB/s | 8.0GT/s | 2010年11月10日 |
| 4.0 | 16Gb/s | 2GB/s | 64GB/s | 16.0GT/s | 2014年-2015年 |
PCI-E不同传输通道数设备的金手指数(双面金手指)和长度:
| 传输通道数 | 脚Pin总数 | 主接口区Pin数 | 总 长 度 | 主接口区 长度 |
|---|---|---|---|---|
| x1 | 36 | 14 | 25 mm | 7.65 mm |
| x4 | 64 | 42 | 39 mm | 21.65 mm |
| x8 | 98 | 76 | 56 mm | 38.65 mm |
| x16 | 164 | 142 | 89 mm | 71.65 mm |
4.三种接口的传输速度比较
| 规格 | 总线宽度 | 工作时钟频率 | 数据速率 |
|---|---|---|---|
| PCI 2.3 | 32 比特 | 33/66 MHz | 133/266 MB/s |
| PCI-X 1.0 | 64 比特 | 66/100/133 MHz | 533/800/1066 MB/s |
| PCI-X 2.0(DDR) | 64 比特 | 133 MHz | 2.1 GB/s |
| PCI-X 2.0(QDR) | 64 比特 | 133 MHz | 4.2 GB/s |
| PCI-E 1.0 X1 | 1 比特 | 2.5 GHz | 500 MB/s(双工,文稿数据) |
| PCI-E 1.0 X2 | 2 比特 | 2.5 GHz | 1 GB/s(双工) |
| PCI-E 1.0 X4 | 4 比特 | 2.5 GHz | 2 GB/s(双工) |
| PCI-E 1.0 X8 | 8 比特 | 2.5 GHz | 4 GB/s(双工) |
| PCI-E 1.0 X16 | 16 比特 | 2.5 GHz | 8 GB/s(双工) |
PCI 64bit的数据速率乘以2。
根据上面各个接口带宽的数据我们可以看到PCI-e X1的接口可以提供单向250MB/s的带宽,普通的千兆网卡用PCI-e X1接口就可以满足了,但是万兆网卡的就至少要PCI-e X4才能刚刚满足带宽需求,因此可以解释市场上见到的万兆网卡基本上都是PCI-e X8接口的,比如Intel PRO 10GBE XF LR(10千米,采用长波模块(LR)因此传输距离可以达到10公里,及 Intel PRO 10GBE XF SR(300米)采用的是短波(SR)模块,传输距离是300米。
PCI PCI-X PCI-E介绍的更多相关文章
- SATA接口、PCI/PCIe、NVMe的介绍
SATA接口.PCI/PCIe.NVMe的介绍 SATA接口 SATA是Serial ATA的缩写,即串行ATA. SATA已经完全取代旧式PATA(Parallel ATA或旧称IDE)接口的旧式硬 ...
- 2.3 PCI桥与PCI设备的配置空间
PCI设备都有独立的配置空间,HOST主桥通过配置读写总线事务访问这段空间.PCI总线规定了三种类型的PCI配置空间,分别是PCI Agent设备使用的配置空间,PCI桥使用的配置空间和Cardbus ...
- PCI DSS合规建设ASV扫描介绍
最近查一些Nessus.Nexpose漏洞扫描工具相关资料,工具介绍都会提到一些审计功能,其中最常见的就是PCI DSS合规性审计.从网上找到一篇介绍较详尽的文章,与大家分享. 原文摘自:http:/ ...
- 【转】PCI学习笔记
1.PCI设备编号 每一个PCI device都有其unique PFA(PCI Fcntion Address) PFA由 bus number.device number.functi ...
- PCI Express(一)- Connector
在FPGA4FUN上看到一篇介绍PCI-E的帖子,简单易懂,适合入门,特地搬过来 原文地址:http://www.fpga4fun.com/PCI-Express.html 前言: As PCI Ex ...
- 基于WDF的PCI/PCIe接口卡Windows驱动程序(1)-WDF概述及开发环境搭建
原文出处:http://www.cnblogs.com/jacklu/p/4619110.html 本科毕业设计是这方面的工作,所以想开几篇博客来介绍使用WDF开发PCI/PCIe接口卡的驱动程序方法 ...
- 【翻译】运行于x86机器上的FreeBSD的PCI中断
来源 http://people.freebsd.org/~jhb/papers/bsdcan/2007/article/article.html 摘要 在拥有多个独立设备的计算机里一个重要的元素是一 ...
- 《Linux Device Drivers》第十二章 PCI司机——note
一个简短的引论 它给这一章总线架构的高级概述 集中访问讨论Peripheral Component Interconnect(PCI,外围组件互连)外设内核函数 PCI公交车是最好的支持的内核总线 本 ...
- 1.3 PCI总线的存储器读写总线事务
总线的基本任务是实现数据传送,将一组数据从一个设备传送到另一个设备,当然总线也可以将一个设备的数据广播到多个设备.在处理器系统中,这些数据传送都要依赖一定的规则,PCI总线并不例外. PCI总线使用单 ...
- 1.2 PCI总线的信号定义
PCI总线是一条共享总线,在一条PCI总线上可以挂接多个PCI设备.这些PCI设备通过一系列信号与PCI总线相连,这些信号由地址/数据信号.控制信号.仲裁信号.中断信号等多种信号组成. PCI总线是一 ...
随机推荐
- 转 AIX7.2+11.2.0.4RAC实施
参考 https://blog.csdn.net/alangmei/article/details/18310381 https://blog.csdn.net/smasegain/article/d ...
- AppInventor2笔记
将视觉化的 块语言 翻译为 Android上的实现 的编译器使用了Kawa语言框架,而Kawa是Scheme编程语言的方言,由Per Bothner开发,并由自由软件基金会发布,它是GNU操作系统的一 ...
- web安全——文件上传
文件上传本身不是漏洞,但如果文件上传功能的限制出现纰漏,允许了不合法且影响网站安全的文件的上传 可以将不合法且影响网站安全稳定性的文件等内容上传的均为“文件上传漏洞” 黑方将文件上 ...
- (转)shell命令:echo命令详解
shell命令:echo命令详解 原文:https://www.cnblogs.com/xyz0601/archive/2015/04/23/4450736.html 功能说明:显示文字. 语 法:e ...
- Java变量类型,实例变量 与局部变量 静态变量
实例变量: 实例变量在类中声明,但在方法的外面,构造函数或任何块. 当空间分配给某个对象在堆中,插槽为每个实例变量创建值. 当一个对象与使用关键字 “new” 来创建,在对象被销毁销毁创建的实例变量. ...
- PHP jQuery实现上传图片时预览图片的功能实例
在PHP项目开发中,有时候经常需要做添加图片的功能.添加图片时,一般需要即时预览上传的图片.下面这个例子就是简单的预览上传图片功能,代码如下(分两部分): 1.HTML代码: <div clas ...
- Ubuntu系统里下载安装配置redis-2.2.13.tar.gz
不多说,直接上干货! Redis是一个NoSQL数据库,在数据需要频繁更新,并且数据的访问热点范围比较广的应用场景下,Redis的效率很不错. 下面介绍Redis的安装过程,如下面的步骤所示. 第一步 ...
- Android RelativeLayout 属性 转自互联网
// 相对于给定ID控件 android:layout_above 将该控件的底部置于给定ID的控件之上; android:layout_below 将该控件的底部置于给定ID的控件之下; andro ...
- TOJ 3635 过山车
Description RPG girls今天和大家一起去游乐场玩,终于可以坐上梦寐以求的过山车了.可是,过山车的每一排只有两个座位,而且还有条不成文的规矩,就是每个女生必须找 个个男生做partne ...
- Root用户让其他用户运行某程序
这里以启动tomcat为例 1.安装tomcat不介绍了,自己百度 2.测试能否使用,略 3.创建tomcat用户 useradd tomcat -s /sbin/nologin 创建tomcat,禁 ...