PCI总线

PCI总线

外设互联标准(或称 个人电脑接口,Personal Computer Interface),实际应用中简称为 PCIPeripheral Component Interconnect),是一种连接 电子计算机 主板外部设备总线标准。一般PCI设备可分为以下两种形式:
直接布放在主板上的 集成电路,在 PCI 规范中称作“平面设备”(planar device);或者
安装在插槽上的 扩展卡[1]
一种由 英特尔Intel)公司1991年推出的用于定义局部 总线的标准。此标准允许在计

算机内安装多达10个遵从PCI标准的扩展卡。最早提出的PCI总线工作在33MHz频率之下,传输带宽达到132MB/s(33MHz * 32bit/8),基本上满足了当时处理器的发展需要。随着对更高性能的要求,后来又提出把PCI 总线的频率提升到66MHz,传输带宽能达到264MB/s。1993年又提出了64bit的PCI总线,称为PCI-X,目前广泛采用的是32-bit、33MHz或者32-bit、66MHz的PCI 总线,64bit的PCI-X插槽更多是应用于服务器产品。从结构上看,PCI是在CPU和原来的系统总线之间插入的一级总线,具体由一个桥接电路实现对这一层的管理,并实现上下之间的接口以协调数据的传送。管理器提供信号缓冲,能在高时钟频率下保持高性能,适合为显卡声卡,网卡,MODEM等设备提供连接接口,工作频率为33MHz/66MHz。

PCI总线系统要求有一个PCI控制卡,它必须安装在一个PCI插槽内。这种插槽是目前主板带有最多数量的插槽类型,在当前流行的台式机主板上,ATX结构的主板一般带有5~6个PCI插槽,而小一点的MATX主板也都带有2~3个PCI插槽。根据实现方式不同,PCI控制器可以与CPU一次交换32位或64位数据,它允许智能PCI辅助适配器利用一种总线主控技术与CPU并行地执行任务。PCI允许多路复用技术,即允许一个以上的电子信号同时存在于总线之上。

普通PCI 总线带宽一般为132MB/s(在32bit/33Mhz下)或者264MB/s(在32bit/66Mhz下)。对于普通的声卡、百兆网卡、Modem卡等扩展设备一般使用的是132MB/s的传输速率,这种设备的金手指特征一般是与PCI插槽对应(长-短),而对于部分PCI 显卡千兆网卡磁盘阵列卡、USB2.0或者 火线卡等需要较高 带宽的PCI设备一般可以使用264MB/s的 带宽,这种设备的特征是金手指一般是三段式(短-长-短)。至于设备是否工作在66Mhz下可以通过软件everest查看,在PCI设备栏中选中需要观察设备并查看“66Mhz操作”是否为“已支持”,如果显示为“不支持”则表示这个设备最多只能使用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意思是高速、特别快的意思。


基本概念

不同于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#以释放总线控制权。
这里我们可以看出,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 总线的主要性能

(1) 支持10 台外设 (2) 总线时钟频率33.3MHz/66MHz (3) 最大数据传输速率133MB/s (4) 时钟同步方式 (5) 与CPU 及时钟频率无关 (6) 总线宽度 32 位(5V)/64 位(3.3V) (7) 能自动识别外设 PCI (Peripheral Component Interconnect)总线是一种高性能 局部总线,是为了满足外设间以及外设与主机间高速数据传输而提出来的。在数字图形、图像和语音处理,以及高速实时 数据采集与处理等对数据传输率要求较高的应用中,采用PCI总线来进行数据传输,可以解决原有的标准总线数据传输率低带来的瓶颈问题。

①高速性

PCI 局部总线以33MHz的 时钟频率操作,采用32位 数据总线数据传输速率可高达132MB/s,远超过以往各种总线。而早在1995年6月推出的PCI总线规范2。l已定义了64位、66MHz的PCI 总线标准。因此PCI总线完全可为未来的计算机提供更高的 数据传送率。另外,PCI总线的主设备(Master)可与微机内存直接交换数据,而不必经过微机CPU中转,也提高了数据传送的效率。

②即插即用性

目前随着 计算机技术的发展,微机中留给用户使用的硬件资源越来越少,也越来越含糊不清。在使用ISA板卡时,有两个问题需要解决:一是在同一台微机上使用多个不同厂家、不同型号的板卡时,板卡之间可能会有硬件资源上的冲突;二是板卡所占用的硬件资源可能会与系统硬件资源(如声卡、网卡等)相冲突。而PCI 板卡的硬件资源则是由微机根据其各自的要求统一分配,决不会有任何的冲突问题。因此,作为PCI 板卡的设计者,不必关心微机的哪些资源可用,哪些资源不可用,也不必关心板卡之间是否会有冲突。因此,即使不
考虑PCI总线的高速性,单凭其即插即用性,就比ISA总线优越了许多。

③可靠性

PCI独立于处理器的结构,形成一种独特的中间缓冲器设计方式,将 中央处理器子系统与外围设备分开。这样用户可以随意增添外围设备,以扩充电脑系统而不必担心在不同 时钟频率下会导致性能的下降。与原先微机常用的ISA总线相比,PCI总线增加了奇偶校验错(PERR)、系统错(SERR)、从设备结束(STOP)等控制信号及超时处理等可靠性措施,使数据传输的可靠性大为增加。

④复杂性

PCI总线强大的功能大大增加了硬件设计和 软件开发的实现难度。硬件上要采用大容量、高速度的CPLD或FPGA芯片来实现PCI总线复杂的功能。 软件上则要根据所用的 操作系统,用 软件工具编制支持 即插即用功能酶设备 驱动程序

⑤自动配置

PCI总线规范规定PCI插卡可以自动配置。PCI定义了3种 地址空间存储器空间,输入输出空间和配置空间,每个PCI设备中都有256字节的配置空间用来存放自动配置信息,当PCI插卡插入系统,BIOS将根据读到的有关该卡的信息,结合系统的实际情况为插卡分配存储地址、中断和某些定时信息。

⑥共享中断

PCI总线是采用低电平有效方式,多个中断可以共享一条中断线,而ISA总线是边沿触发方式。

⑦扩展性好

如果需要把许多设备连接到PCI总线上,而总线驱动能力不足时,可以采用多级PCI总线,这些总线上均可以并发工作,每个总线上均可挂接若干设备。因此PCI 总线结构的扩展性是非常好的。由于PCI的设计是要辅助现有的扩展总线标准,因此与ISA,EISA及MCA总线完全兼容。

⑧多路复用

在PCI总线中为了优化设计采用了 地址线和数据线共用一组物理线路,即多路复用。PCI接插件尺寸小,又采用了多路复用技术,减少了元件和管脚个数,提高了效率。

⑨严格规范

PCI总线对协议、时序、电气性能、机械性能等指标都有严格的规定,保证了PCI的可靠性和兼容性。由于PCI总线规范十分复杂,其接口的实现就有较高的技术难度。


  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值