PCI(Peripheral Component Interconnect)是 一种由英特尔(Intel)公司1991年推出的用于定义局部汇流排的标準。此标準允许在计算机内安装多达10个遵从PCI标準的扩展卡。
基本介绍
- 外文名PCI
- 主要特点支持64位定址
- 主要性能支持10台外设
- 缺点传输速率偏慢
基本介绍
从1992年创立规范到如今,PCI汇流排已成为了计算机的一种标準汇流排。 PCI汇流排取代了早先的ISA汇流排。与在PCI汇流排后面出现专门用于显示卡的AGP汇流排,与现在PCI Express汇流排相比,速度要慢,PCI能从1992用到现在,说明他有许多优点,比如即插即用(Plug and Play)、中断共享等。
从数据宽度上看,PCI汇流排有32bit、64bit之分;从汇流排速度上分,有33MHz、66MHz两种。目前流行的是32bit @ 33MHz,而64bit系统正在普及中。改良的PCI系统,PCI-X,最高可以达到64bit @ 133MHz,这样就可以得到超过1GB/s的数据传输速率。如果没有特殊说明,以下的讨论以32bit @ 33MHz为例。
一、基本概念
不同于ISA汇流排,PCI汇流排的地址汇流排与数据汇流排是分时复用的。这样做的好处是,一方面可以节省接外挂程式的管脚数,另一方面便于实现突发数据传输。在做数据传输时,由一个PCI设备做发起者(主控,Initiator或Master),而另一个PCI设备做目标(从设备,Target或Slave)。汇流排上的所有时序的产生与控制,都由Master来发起。PCI汇流排在同一时刻只能供一对设备完成传输,这就要求有一个仲裁机构(Arbiter),来决定在谁有权力拿到汇流排的主控权。
32bit PCI系统的管脚按功能来分有以下几类
系统控制 CLK,PCI时钟,上升沿有效
RST ,Reset信号
传输控制 FRAME#,标誌传输开始与结束
IRDY#,Master可以传输数据的标誌
DEVSEL#,当Slave发现自己被定址时置低应答
TRDY#,Slave可以转输数据的标誌
STOP#,Slave主动结束传输数据的信号
IDSEL,在即插即用系统启动时用于选中板卡的信号
地址与数据汇流排 AD[31::0],地址/数据分时复用汇流排
C/BE#[3::0],命今/位元组使能信号
PAR,奇偶校验信号
仲裁号 REQ#,Master用来请求汇流排使用权的信号
GNT#,Arbiter允许Master得到汇流排使用权的信号
错误报告 PERR#,数据奇偶校验错
SERR#,系统奇偶校验错
RST ,Reset信号
传输控制 FRAME#,标誌传输开始与结束
IRDY#,Master可以传输数据的标誌
DEVSEL#,当Slave发现自己被定址时置低应答
TRDY#,Slave可以转输数据的标誌
STOP#,Slave主动结束传输数据的信号
IDSEL,在即插即用系统启动时用于选中板卡的信号
地址与数据汇流排 AD[31::0],地址/数据分时复用汇流排
C/BE#[3::0],命今/位元组使能信号
PAR,奇偶校验信号
仲裁号 REQ#,Master用来请求汇流排使用权的信号
GNT#,Arbiter允许Master得到汇流排使用权的信号
错误报告 PERR#,数据奇偶校验错
SERR#,系统奇偶校验错
当PCI汇流排进行操作时,发起者(Master)先置REQ#,当得到仲裁器(Arbiter)的许可时(GNT#),会将FRAME#置低,并在AD汇流排上放置Slave地址,C/BE#放置命令信号,说明接下来的传输类型。所有PCI汇流排上设备都需对此地址解码,被选中的设备要置DEVSEL#以声明自己被选中。然后当IRDY#与TRDY#都置低时,可以传输数据。当Master数据传输结束前,将FRAME#置高以标明只剩一组数据要传输,并在传完数据后放开IRDY#以释放汇流排控制权。
这里我们可以看出,PCI汇流排的传输是很高效的,发出一组地址后,理想状态下可以连续发数据,峰值速率为132MB/s。实际上,目前流行的33M@32bit北桥晶片一般可以做到100MB/s的连续传输。
二、即插即用的实现
所谓即插即用,是指当板卡插入系统时,系统会自动对板卡所需资源进行分配,如基地址、中断号等,并自动寻找相应的驱动程式。而不象旧的ISA板卡,需要进行複杂的手动配置。
实际的实现远比说起来要複杂。在PCI板卡中,有一组暂存器,叫"配置空间"(Configuration Space),用来存放基地址与记忆体地址,以及中断等信息。
以记忆体地址为例。当上电时,板卡从ROM里读取固定的值放到暂存器中,对应记忆体的地方放置的是需要分配的记忆体位元组数等信息。作业系统要根据这个信息分配记忆体,并在分配成功后把相应的暂存器中填入记忆体的起始地址。这样就不必手工设定开关来分配记忆体或基地址了。对于中断的分配也与此类似。
三、中断共享的实现
ISA卡的一个重要局限在于中断是独占的,而我们知道计算机的中断号只有16个,系统又用掉了一些,这样当有多块ISA卡要用中断时就会有问题了。
PCI汇流排的中断共享由硬体与软体两部分组成。
硬体上,採用电平触发的办法中断信号在系统一侧用电阻接高,而要产生中断的板卡上利用三极体的集电极将信号拉低。这样不管有几块板产生中断,中断信号都是低;而只有当所有板卡的中断都得到处理后,中断信号才会回复高电平。
软体上,採用中断链的方法假设系统启动时,发现板卡A用了中断7,就会将中断7对应的记忆体区指向A卡对应的中断服务程式入口ISR_A;然后系统发现板卡B也用中断7,这时就会将中断7对应的记忆体区指向ISR_B,将ISR_B的结束指向ISR_A。以此类推,就会形成一个中断链。而当有中断髮生时,系统跳转到中断7对应的记忆体,也就是ISR_B。ISR_B就要检查是不是B卡的中断,如果是,要处理,并将板卡上的拉低电路放开;如果不是,则呼叫ISR_A。这样就完成了中断的共享。
特点
PCI汇流排系统要求有一个PCI控制卡,它必须安装在一个PCI插槽内。这种插槽是目前主机板带有最多数量的插槽类型,在当前流行的台式机主机板上,ATX结构的主机板一般带有5~6个PCI插槽,而小一点的MATX主机板也都带有2~3个PCI插槽。根据实现方式不同,PCI控制器可以与CPU一次交换32位或64位数据,它允许智慧型PCI辅助适配器利用一种汇流排主控技术与CPU并行地执行任务。PCI允许多路复用技术,即允许一个以上的电子信号存在于汇流排之上。
DAQ卡
PCI-1710/1710HG PCI 汇流排 16 通道 100 KHz,12 位多功能卡(高增益) 4510.-
PCI-1720 4 通道隔离 D/A 输出卡 4510.-
PCI-1750 PCI 汇流排 32 通道数字量输入/输出卡,具有 2500 V DC 隔离保护 1645-
PCI-1751 PCI 汇流排 48 位数字量输入/输出卡 1280-
PCI-1760 继电器输出和隔离数字量输入卡 2240-
PCI-1713 100 kS/s、12 位卡、32 通道 隔离模拟量输入 5420.-
PCI-1714 4通道同步30MS/s模拟量输入卡
PCI-1711 100KS/s,12位16路单端输入低成本多功能数据採集卡
PCI-1711L 100KS/s,12位16路单端输入低成本多功能数据採集卡
PCI-1712 1MS/s,12位高速多功能数据採集卡
PCI-1712L 1MS/s,12位高速多功能数据採集卡
PCI-1716 250 KS/s, 16位, 16路高解析度多功能数据採集卡
PCI-1716L 16位高精度多功能带模拟量输出数据採集卡
PCI-1747U 250K 16-bit 64-ch AI card
PCI-1721 12位,4路增强模拟量输出卡
PCI-1723 16位,8路非隔离模拟量输出卡
PCI-1724U 14-bit, 32-ch Isolated Analog Output Card
PCI-1730 32路隔离数字量输入/输出卡
PCI-1733 32路隔离数字量输入卡
PCI-1734 32路隔离数字量输出卡
PCI-1752 64路隔离数字量输出卡
PCI-1753 96/192位数字量I/0卡
PCI-1753E PCI-1753扩展板
PCI-1754 64路隔离数字量输入卡
PCI-1755 高速32通道数字量输入输出板卡
PCI-1756 64路隔离数字量I/O卡
PCI-1761 8路继电器输出和8路隔离数字量输入卡
PCI-1762 16路隔离数字量输入和16路继电器输出卡
PCI-1780 8通道计数器/定时器卡
PCI-1720 4 通道隔离 D/A 输出卡 4510.-
PCI-1750 PCI 汇流排 32 通道数字量输入/输出卡,具有 2500 V DC 隔离保护 1645-
PCI-1751 PCI 汇流排 48 位数字量输入/输出卡 1280-
PCI-1760 继电器输出和隔离数字量输入卡 2240-
PCI-1713 100 kS/s、12 位卡、32 通道 隔离模拟量输入 5420.-
PCI-1714 4通道同步30MS/s模拟量输入卡
PCI-1711 100KS/s,12位16路单端输入低成本多功能数据採集卡
PCI-1711L 100KS/s,12位16路单端输入低成本多功能数据採集卡
PCI-1712 1MS/s,12位高速多功能数据採集卡
PCI-1712L 1MS/s,12位高速多功能数据採集卡
PCI-1716 250 KS/s, 16位, 16路高解析度多功能数据採集卡
PCI-1716L 16位高精度多功能带模拟量输出数据採集卡
PCI-1747U 250K 16-bit 64-ch AI card
PCI-1721 12位,4路增强模拟量输出卡
PCI-1723 16位,8路非隔离模拟量输出卡
PCI-1724U 14-bit, 32-ch Isolated Analog Output Card
PCI-1730 32路隔离数字量输入/输出卡
PCI-1733 32路隔离数字量输入卡
PCI-1734 32路隔离数字量输出卡
PCI-1752 64路隔离数字量输出卡
PCI-1753 96/192位数字量I/0卡
PCI-1753E PCI-1753扩展板
PCI-1754 64路隔离数字量输入卡
PCI-1755 高速32通道数字量输入输出板卡
PCI-1756 64路隔离数字量I/O卡
PCI-1761 8路继电器输出和8路隔离数字量输入卡
PCI-1762 16路隔离数字量输入和16路继电器输出卡
PCI-1780 8通道计数器/定时器卡
主要版本
PCI2.2允许66MHz的信号传输(需要在3.3伏特的信号,传输速率峰值为533MB每秒)。
PCI2.3允许使用3.3伏特和通用标识符,但在5伏特的情况不能下使用。
PCI3.0是PCI汇流排的一个官方版本,彻底取消了对使用5伏特的设备的支持。
PCI-X稍稍改变了协定并增加了资料传输速率到133MHz(传输速率峰值为1066MB/s)。
PCI-X2.0指定了266MHz(传输速率峰值为2133MB/s)和533MHz速率,扩充可规划空间至4096bytes,增加了16-bit的可变汇流排并且允许1.5伏特的电压讯号。
微型PCI是PCI2.2版中的新要素,主要用于笔记本电脑的内部。
Cardbus是32位33MHz的PCI,是PCMCIA的要素。
紧凑型PCI,usesEurocard-sizedmodulespluggedintoaPCIbackplane.
PC/104-Plus是一种利用PCI汇流排连线多个连线器的工业汇流排。
高级电讯计算体系(ATCA)是电讯工业下一代汇流排。
PCI汇流排
PCI汇流排是一种高性能局部汇流排,是为了满足外设间以及外设与主机间高速数据传输而提出来的。在数字图形、图像和语音处理,以及高速实时数据採集与处理等对数据传输率要求较高的套用中,採用PCI汇流排来进行数据传输,可以解决原有的标準汇流排数据传输率低带来的瓶颈问题。
最早提出的PCI汇流排工作在33MHz频率之下,传输频宽达到133MB/s(33MHz32bit/s),基本上满足了当时处理器的发展需要。随着对更高性能的要求,1993年又提出了64bit的PCI汇流排,后来又提出把PCI汇流排的频率提升到66MHz。目前广泛採用的是32-bit、33MHz的PCI汇流排,64bit的PCI插槽更多是套用于伺服器产品。从结构上看,PCI是在CPU和原来的系统汇流排之间插入的一级汇流排,具体由一个桥接电路实现对这一层的管理,并实现上下之间的接口以协调数据的传送。管理器提供信号缓冲,能在高时钟频率下保持高性能,社和为显示卡,音效卡,网卡,MODEM等设备提供连线接口,工作频率为33MHz/66MHz。
PCI汇流排系统要求有一个PCI控制卡,它必须安装在一个PCI插槽内。根据实现方式不同,PCI控制器可以与CPU一次交换32位或64位数据,它允许智慧型PCI辅助适配器利用一种汇流排主控技术与CPU并行地执行任务。PCI允许多路复用技术,即允许一个以上的电子信号存在于汇流排之上。
PCI汇流排的主要性能
(2)汇流排时钟频率33.3MHz/66MHz
(3)最大数据传输速率133MB/s
(4)时钟同步方式
(5)与CPU及时钟频率无关
(6)汇流排宽度32位(5V)/64位(3.3V)
(7)能自动识别外设
PCI汇流排的主要特点
·具有与处理器和存储器子系统完全并行操作的能力
·具有隐含的中央仲裁系统
·採用多路复用方式(地址线和数据线)减少了引脚数
·具有隐含的中央仲裁系统
·採用多路复用方式(地址线和数据线)减少了引脚数
·完全的多汇流排主控能力
·提供地址和数据的奇偶校验
·可以转换5V和3.3V的信号环境
·提供地址和数据的奇偶校验
·可以转换5V和3.3V的信号环境
PCI插槽
PCI插槽是基于PCI局部汇流排的扩展插槽,其颜色一般为乳白色,位于主机板上AGP插槽的下方,ISA插槽的上方。其位宽为32位或64位,工作频率为33MHz,最大数据传输率为133MB/sec(32位)和266MB/sec(64位)。可插接显示卡、音效卡、网卡、内置Modem、内置ADSLModem、USB2.0卡、IEEE1394卡、IDE接口卡、RAID卡、电视卡、视频採集卡以及其它种类繁多的扩展卡。PCI插槽是主机板的主要扩展插槽,通过插接不同的扩展卡可以获得目前电脑能实现的几乎所有功能,是名副其实的“万用”扩展插槽。
PCI插槽是目前主机板带有最多数量的插槽类型,在当前流行的台式机主机板上,ATX结构的主机板一般带有5~6个PCI插槽,而小一点的MATX主机板也都带有2~3个PCI插槽。
根据实现方式不同,PCI控制器可以与CPU一次交换32位或64位数据,它允许智慧型PCI辅助适配器利用一种汇流排主控技术与CPU并行地执行任务。PCI允许多路复用技术,即允许一个以上的电子信号存在于汇流排之上。
由于PCI 汇流排只有133MB/s的频宽,对音效卡、网卡、视频卡等绝大多数输入/输出设备显得绰绰有余,但对性能日益强大的显示卡则无法满足其需求。Intel在2001年春季的IDF上,正式公布了旨在取代PCI汇流排的第三代I/O技术,该规范由Intel支持的AWG(Arapahoe Working Group)负责制定。2002年4月17日,AWG正式宣布3GIO1.0规范草稿制定完毕,并移交PCI-SIG(PCI特别兴趣小组,PCI-Special Interest Group)进行审核。开始的时候大家都以为它会被命名为Serial PCI(受到串
行ATA的影响),但却被正式命名为PCI Express,Express意思是高速、特别快的意思。
由于PCI 汇流排只有133MB/s的频宽,对音效卡、网卡、视频卡等绝大多数输入/输出设备显得绰绰有余,但对性能日益强大的显示卡则无法满足其需求。Intel在2001年春季的IDF上,正式公布了旨在取代PCI汇流排的第三代I/O技术,该规范由Intel支持的AWG(Arapahoe Working Group)负责制定。2002年4月17日,AWG正式宣布3GIO1.0规范草稿制定完毕,并移交PCI-SIG(PCI特别兴趣小组,PCI-Special Interest Group)进行审核。开始的时候大家都以为它会被命名为Serial PCI(受到串
行ATA的影响),但却被正式命名为PCI Express,Express意思是高速、特别快的意思。
PCI-E标準
PCI-E或称PCI-Express是最新的汇流排和接口标準,它原来的名称为“3GIO”,是由英特尔提出的,很明显英特尔的意思是它代表着下一代I/O接口标準。交由PCI-SIG(PCI特殊兴趣组织)认证发布后才改名为“PCI-Express”。这个新标準将全面取代现行的PCI和AGP,最终实现汇流排标準的统一。它的主要优势就是数据传输速率高,目前最高可达到10GB/s以上,而且还有相当大的发展潜力。PCI-Express也有多种规格,从PCI-Express 1X到PCI-Express 16X,能满足现在和将来一定时间内出现的低速设备和高速设备的需求。能支持PCI-Express的主要是英特尔的i915和i925系列晶片组。
PCI-E採用了流行的点对点串列连线,比起PCI以及更早期的计算机汇流排的共享并行架构,每个设备都有自己的专用连线,不需要向整个汇流排请求频宽,而且可以把数据传输率提高到一个很高的频率,达到PCI所不能提供的高频宽。相对于传统PCI汇流排在单一时间周期内只能实现单向传输,PCI-E的双单工连线能提供更高的传输速率和质量,它们之间的差异跟半双工和全双工类似。
PCI-E的接口根据汇流排位宽不同而有所差异,包括X1、X4、X8以及X16,而X2模式将用于内部接口而非插槽模式。PCI-E规格从1条通道连线到32条通道连线,有非常强的伸缩性,以满足不同系统设备对数据传输频宽不同的需求。,较短的PCI-E卡可以插入较长的PCI-E插槽中使用,PCI-E接口还能够支持热拔插,这也是个不小的飞跃。PCI-E X1的250MB/秒传输速度已经可以满足主流声效晶片、网卡晶片和存储设备对数据传输频宽的需求,远远无法满足图形晶片对数据传输频宽的需求。 ,用于取代AGP接口的PCI-E接口位宽为X16,能够提供5GB/s的频宽,即便有编码上的损耗但仍能够提供约为4GB/s左右的实际频宽,远远超过AGP 8X的2.1GB/s的频宽。
儘管PCI-E技术规格允许实现X1(250MB/秒),X2,X4,X8,X12,X16和X32通道规格,依目前形式来看,PCI-E X1和PCI-E X16已成为PCI-E主流规格,很多晶片组厂商在南桥晶片当中添加对PCI-E X1的支持,在北桥晶片当中添加对PCI-E X16的支持。除去提供极高数据传输频宽之外,PCI-E因为採用串列数据包方式传递数据,所以PCI-E接口每个针脚可以获得比传统I/O标準更多的频宽,这样就可以降低PCI-E设备生产成本和体积。,PCI-E也支持高阶电源管理,支持热插拔,支持数据同步传输,为优先传输数据进行频宽最佳化。
优点
与PCI汇流排相比,PCI-Express汇流排主要以下优点
1) PCI-Express是串列汇流排,进行点对点传输,每个传输通道独享频宽。
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的数量,硬体的成本直接下降。
缺点
1) 并行汇流排无法连线太多设备,汇流排扩展性比较差,线间干扰将导致系统无法正常工作;
2) 当连线多个设备时,汇流排有效频宽将大幅降低;
3) 为了降低成本和儘可能减少相互间的干扰,需要减少汇流排频宽,或者地址汇流排和数据汇流排採用复用方式设计,这样降低了频宽利用率。 PCI-Express汇流排是为将来的计算机和通讯平台定义的一种高性能,通用I/O互连汇流排。
发展历史
PCI标準的开发于1990年前后开始于英特尔公司。1992年6月22日,英特尔发表PCI1.0标準,该标準仅限于组件级规范。1993年4月30日,PCI-SIG发表了PCI2.0标準,这个标準第一次建立了连线器与主机板插槽间的标準。
PCI标準被立即套用于伺服器中,取代了先前的MCA及EISA,成为伺服器扩展汇流排的不二选择。在主流个人计算机中,PCI标準则缓慢地取代着VESA局部汇流排(VLB);直至1994年后期第二代奔腾PC推出后,该标準方得以实现具有重要意义的市场突破。1996年,VLB彻底退出了个人计算机市场,製造厂商甚至将PCI标準套用于486计算机中。EISA标準则与PCI标準共存使用至2000年。苹果电脑在1995年中期将PCI标準套用于专业产品PowerMacintosh电脑中(而取代了NuBus),而消费者产品MacintoshPerforma则于1996年中期完成了换代(取代了LCPDS)。
后续版本的PCI标準不断加入了新的功能与性能提升,包括66MHz/3.3V标準,133MHzPCI-X以及适应多种主机板板型等。2004年,串列汇流排标準PCI-Express面世后,主机板製造商逐渐减少了传统PCI插槽,而引入PCIExpress接口。虽然这两种接口还会并存,传统的PCI汇流排将会慢慢的消失。