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介绍的更多相关文章

  1. SATA接口、PCI/PCIe、NVMe的介绍

    SATA接口.PCI/PCIe.NVMe的介绍 SATA接口 SATA是Serial ATA的缩写,即串行ATA. SATA已经完全取代旧式PATA(Parallel ATA或旧称IDE)接口的旧式硬 ...

  2. 2.3 PCI桥与PCI设备的配置空间

    PCI设备都有独立的配置空间,HOST主桥通过配置读写总线事务访问这段空间.PCI总线规定了三种类型的PCI配置空间,分别是PCI Agent设备使用的配置空间,PCI桥使用的配置空间和Cardbus ...

  3. PCI DSS合规建设ASV扫描介绍

    最近查一些Nessus.Nexpose漏洞扫描工具相关资料,工具介绍都会提到一些审计功能,其中最常见的就是PCI DSS合规性审计.从网上找到一篇介绍较详尽的文章,与大家分享. 原文摘自:http:/ ...

  4. 【转】PCI学习笔记

    1.PCI设备编号    每一个PCI device都有其unique PFA(PCI Fcntion Address)    PFA由 bus number.device number.functi ...

  5. PCI Express(一)- Connector

    在FPGA4FUN上看到一篇介绍PCI-E的帖子,简单易懂,适合入门,特地搬过来 原文地址:http://www.fpga4fun.com/PCI-Express.html 前言: As PCI Ex ...

  6. 基于WDF的PCI/PCIe接口卡Windows驱动程序(1)-WDF概述及开发环境搭建

    原文出处:http://www.cnblogs.com/jacklu/p/4619110.html 本科毕业设计是这方面的工作,所以想开几篇博客来介绍使用WDF开发PCI/PCIe接口卡的驱动程序方法 ...

  7. 【翻译】运行于x86机器上的FreeBSD的PCI中断

    来源 http://people.freebsd.org/~jhb/papers/bsdcan/2007/article/article.html 摘要 在拥有多个独立设备的计算机里一个重要的元素是一 ...

  8. 《Linux Device Drivers》第十二章 PCI司机——note

    一个简短的引论 它给这一章总线架构的高级概述 集中访问讨论Peripheral Component Interconnect(PCI,外围组件互连)外设内核函数 PCI公交车是最好的支持的内核总线 本 ...

  9. 1.3 PCI总线的存储器读写总线事务

    总线的基本任务是实现数据传送,将一组数据从一个设备传送到另一个设备,当然总线也可以将一个设备的数据广播到多个设备.在处理器系统中,这些数据传送都要依赖一定的规则,PCI总线并不例外. PCI总线使用单 ...

  10. 1.2 PCI总线的信号定义

    PCI总线是一条共享总线,在一条PCI总线上可以挂接多个PCI设备.这些PCI设备通过一系列信号与PCI总线相连,这些信号由地址/数据信号.控制信号.仲裁信号.中断信号等多种信号组成. PCI总线是一 ...

随机推荐

  1. 【研究】XML外部实体注入(XXE)

    在正式发布的2017 OWAST Top10榜单中,出现了三种新威胁: A4:XML外部实体注入漏洞(XXE) A8:不安全的反序列化漏洞 A10:不足的记录和监控漏洞 验证XXE: 构造请求 < ...

  2. 第二次 Scrum Meeting

    第二次 Scrum Meeting 写在前面 会议时间 会议时长 会议地点 2019/4/4 19:00 20min 微信群 附Github仓库:WEDO 例会照片 清明假期期间 线上小组例会 工作情 ...

  3. Ace向你推荐一些实用的干货库~开发安卓的好帮手

    1 毁灭地球的军火库arsenal- 你想要的枪这里都有卖 哈哈哈哈 , http://android-arsenal.com/ 2 黑科技---在线反编译----嘿嘿嘿  在线反编译 方便简单 客官 ...

  4. python中时间对象生成及时间格式的转换

    1.将字符串的时间转换为时间戳 方法: a = "2013-10-10 23:40:00" 将其转换为时间数组 import time timeArray = time.strpt ...

  5. 如何去除表单元素获得焦点时的外边框:outline (轮廓)

    我们在做制作表单页面时,经常会需要消除表单元素带来的边框,这时候我们需要用到两个属性: 1.表单元素未激活状态下的边框,不实现边框: border:none; 2.表单元素获得焦点时的轮廓,隐藏轮廓: ...

  6. nginx 导致文件上传中途中断 Failed to load resource: net::ERR_CONNECTION_RESET

    昨天上传文件出了问题,常常在进度条到一半的时候就终止了.在本地测试的时候倒是没问题,今天早上用花生壳换了另一个域名,在我本地和服务器都测试,却能够上传文件成功.然后就想到了可能是nginx的问题,也在 ...

  7. JavaScript的作用域(Scope)和上下文(Context)

    JavaScript对于作用域(Scope)和上下文(Context)的实现是这门语言的一个非常独到的地方,部分归功于其独特的灵活性. 函数可以接收不同的的上下文和作用域.这些概念为JavaScrip ...

  8. ASP.NET之Request和Response对象

    经过了牛腩新闻公布系统和html的学习对B/S开发的流程有了些理解.前面尽管用到了非常多知识.但对制作网页仅仅能说知其然.当学到asp.net视频中的解说才干够说開始知其所以然了. 今天来说说clie ...

  9. 查看和设置Oracle数据库字符集

    数据库服务器字符集select * from nls_database_parameters,其来源于props$,是表示数据库的字符集. 客户端字符集环境select * from nls_inst ...

  10. js之generate

    generator(生成器)是ES6标准引入的新的数据类型.一个generator看上去像一个函数,但可以返回多次. ES6定义generator标准的哥们借鉴了Python的generator的概念 ...