何谓PCI总线技术

转载 2012年03月27日 23:31:08

自从几十年前首次开发出台式计算机以来,计算机部件的功能和速度就一直在稳定增长。软件制造商开发新的应用软件,以利用处理器的速度和硬盘容量方面的最新优势,同时硬件制造商也迅速改进部件并更新技术,以满足高端软件的需求。

然而有一个元件经常会被人忽视,那就是总线。实质上,总线是计算机中各部件之间的通道或通路。计算机配备高速总线就像汽车需要配备优质的变速器那样重要。如果您将700马力的发动机和一个劣质的变速器配合使用,那么驾驶时就无法达到最大功率。总线有许多不同的类型。在本文中,您将了解其中一些总线。我们将主要介绍外围设备互连(PCI)总线,还将介绍什么是PCI、其工作原理和使用方式,此外还会探讨总线技术的未来。    

典型的PCI卡
典型的PCI卡

 

即插即用(PnP)是指您可以在计算机上连接设备或插入一张卡,计算机将自动对其进行识别和配置,以使其能够在系统上运行。PnP是一个简单的概念,但它是经过计算机行业的一致努力才开发出来的。英特尔创建PnP标准并将它融入到PCI的设计中。但是没过几年的工夫,主流操作系统Windows 95就提供了对PnP的系统级支持。PnP的推广促进了计算机配备PCI的需求,很快PCI就取代ISA,成为了计算机的总线。

要充分发挥PnP的作用,需要以下三个程序:

  • PnP基本输入输出系统(BIOS)——核心作用是启动PnP并检测PnP设备。BIOS也能够在现有PnP设备上读取ESCD以获取配置信息。
  • 扩展系统配置数据(ESCD)——包含有关安装PnP设备的信息的文件。
  • PnP操作系统——任何操作系统(如Windows XP)都支持PnP。操作系统中的PnP处理程序可以完成每个PnP设备中由BIOS启动的配置过程。PnP可自动操作几项主要任务,这些任务一般可以手动操作或通过由硬件制造商提供的安装程序进行操作。它们包括以下设置:
    • 中断请求(IRQ)——IRQ也称为硬件中断,可用于计算机的各种部件以引起CPU的注意。例如,鼠标每次移动就会发送IRQ,以使CPU知道它正在进行某项操作。在出现PCI之前,每个硬件部件都需要单独设置IRQ。而PCI在总线桥接器上控制硬件中断,这使它只使用一个系统IRQ 就可处理多个PCI设备。
    • 直接存储器存取(DMA)——这仅表示将设备配置为无需咨询CPU就可以直接访问系统内存。
    • 内存地址——许多设备会分配到系统内存的一部分,而且这部分内存则由此设备专用。这确保了硬件具有必需的资源以正常操作。
    • 输入/输出(I/O)配置——此设置定义那些通过端口来接收和发送信息的设备。

然而PnP使得在计算机上添加设备更容易,并且更可靠。

PnP BIOS开发人员、PCI设备制造商和微软公司所使用的软件例程的多样化使许多人将PnP说成了“即插即祈祷”(Plug and Pray)。但是,PnP的全面影响已经大大简化了为添加新设备或更换现有设备而升级计算机的过程。

假如,您刚刚在运行Windows XP的计算机上添加了一个基于PCI的新声卡。以下示例将说明它的运行步骤。

  1. 打开机箱,然后将声卡插入主板上的PCI空插槽。
  2. 盖上机箱,然后启动计算机。
  3. 系统BIOS初始化PnP BIOS。

    此主板上有四个PCI插槽。
    此主板上有四个PCI插槽。

  4. PnP BIOS扫描用于硬件的PCI总线。它通过向连接在总线上的每个设备发送信号来进行扫描,以确定它们是什么设备。
  5. 声卡通过自我识别进行响应。设备ID将通过总线发给BIOS。
  6. PnP BIOS检测ESCD以查看声卡配置数据是否已存在。因为声卡是刚安装的,所以不存在ESCD记录。
  7. PnP BIOS指定声卡的IRQ、DMA、内存地址和I/O设置并将数据存储在ESCD中。
  8. Windows XP执行引导操作。它检测ESCD和PCI总线。操作系统检测到声卡是一个新设备,将显示一个小窗口提示Windows已找到新硬件并正在确认是什么设备。
  9. 多数情况下,Windows XP将识别设备,查找必需的驱动程序并加载,然后您就可以准备使用了。如果找不到,则将出现“找到新的硬件向导”对话框。这将指导您安装声卡随带的驱动程序光盘。
  10. 驱动程序安装结束后,设备就可以使用了。一些设备在使用之前可能需要重新启动计算机。在本示例中,声卡可以立即使用。
  11. 您要想从插入声卡的外部磁带驱动器上截获音频。那么您还需要安装声卡随带的录制软件,然后就可以录制了。
  12. 音频通过外部音频连接器录制到声卡中,然后声卡将模拟信号转换成数字信号。
  13. 声卡上的数字音频数据经过PCI总线被运载到总线控制器。控制器确定PCI设备上的哪个设备优先向CPU发送数据。同时它也检测数据是直接发送到CPU还是发送到系统内存。
  14. 因为声卡处于录制模式,所以总线控制器指定来自声卡的数据为高优先级,并将声卡的数据通过总线桥接器发送到系统总线。
  15. 系统总线将数据保存在系统内存中。完成录制后,您就可以决定是将声卡上的数据保存到硬盘还是保留在内存中以便进行其他处理。

因为处理器的速度稳定以吉赫级提高,所以许多公司开始狂热地开发下一代总线标准。许多人认为PCI将会像以前的ISA一样,将迅速达到它的性能上限。

所有提出的新标准有一些共同之处。他们都提出废除PCI中使用的总线共享技术,并提出了点对点交换连接。这就是说,当总线上的两个设备(节点)互相通信时,它们之间可以建立直接连接。基本上,当两个节点进行通信时,那么其他设备将无法访问此通路。这种总线通过提供多个直接链路,可以允许多个设备在互不影响彼此速度的情况下进行通信。

超传输是由高级微设备公司(AMD)提出的标准,AMD将其称为PCI的自然发展。它为节点之间的每次会话提供两个点对点链路。链路的位宽可以介于2到32位之间,支持的最大传输速率为6.4吉字节/秒。超传输设计专用于计算机内部部件的互相连接,而不是用于连接外部设备(如可移动硬盘)。桥接器芯片的发展将使PCI设备能够访问超传输总线。

PCI将会被超传输取代吗?
PCI将会被超传输取代吗?

英特尔公司开发的PCI-Express(以前称为3GIO或第三代I/O总线技术)有望成为总线技术的“下一重大事件”。首先,他们开发了用于高端服务器的更高速总线。这些总线被称为PCI-X和PCI-X 2.0,但是它们不适用于家用计算机市场,因为用PCI-X构建主板会非常昂贵。

而PCI-Express则完全不同,它针对的是家用计算机市场,不仅能够彻底改变计算机的性能,还能对家用计算机系统的外形和格式带来质的飞跃。这种新的总线不仅速度更快,而且与PCI相比,能够处理更宽的带宽。PCI-Express是点对点系统,因而它具有更好的性能,甚至可能使主板的生产成本更低。PCI-Express插槽还能兼容早期的PCI卡,这将有助于它更快地流行起来,而无需期望所有人的PCI部件都突然无法使用。

此外,它还具有可伸缩性。基本的PCI-Express插槽采用1x连接,这将为高速互联网连接以及其他外围设备提供足够的带宽。1x意思是有一条运载数据的通路。如果部件需要更宽的带宽,则可以在主板上添加PCI-Express 2x、4x、8x和16x插槽,从而添加更多的通路,并使系统通过连接能够运载更多的数据。实际上,有些主板已经在用PCI-Express 16x插槽代替AGP显卡插槽。PCI-Express 16x视频卡目前正处于优势地位,价格为500多美元。当价格下降、处理新卡的主板广泛使用的时候,AGP就将会渐渐成为历史。

遥远的未来
PCI-Express除加快计算机的运行速度以外,还有很多其他的功能。随着技术的发展,计算机制造商可能设计出一种主板,它将带有可连接到专用电缆的PCI-Express连接器。这样的主板将用于完全模块化的计算机系统,该系统非常类似于家庭立体声系统。您将拥有一个装有主板、处理器和一组PCI-Express连接插孔的小箱子。还可以通过USB 2.0或PCI-Express连接外部硬盘驱动器。小模块则包括声卡和视频卡,并且还可以连接调制解调器。换掉大机箱后,计算机将任由您摆放,它将与您所需要的部件一样大小。

有关PCI及相关主题的更多信息,请查看下一页上的链接

PCI总线和PXI总线的区别

PCI技术: (应该叫总线) 1992年intel 推出创立 PCI规范到如今,PCI总线已成为了事实上计算机的标准总线。 请看 http://www.eebyte.com/article...
  • liusandian
  • liusandian
  • 2017年02月14日 11:13
  • 940

PCI总线操作三: PCI总线协议的基础

PCI总线协议的基础 注:看完之后,觉得还要详细研读一下spec。以前的理解可能不深刻。 PCI总线上动作最基本的机制是burst。一个burst由一个地址phase和一个或多个数据phase组成...
  • pankul
  • pankul
  • 2013年03月01日 09:33
  • 1394

1.1 PCI总线的组成结构

如上文所述,PCI总线作为处理器系统的局部总线,是处理器系统的一个组成部件,讲述PCI总线的组成结构不能离开处理器系统这个大环境。在一个处理器系统中,与PCI总线相关的模块如图1?1所示。 如...
  • mao0514
  • mao0514
  • 2013年07月22日 16:26
  • 1479

PCI 总线及地址空间

PCI的基本协议这里就不介绍了,因为一般的芯片协议都是集成好的,我只需要大体了解就行,不需要做芯片,我感觉就不需要太了解协议。 这里讲解是基于PLX 的9054(9052)芯片为基础的,本人只是入门,...
  • laviolette
  • laviolette
  • 2016年06月12日 12:27
  • 3022

PCI总线协议(一)

刚开始接触BIOS开发,目前正在学习关于PCI总线方面的知识,以下是本人根据网上的资料所整理的PCI学习笔记,如果有什么不对的地方,感谢大神的斧正。     众所周知,PCI总线是计算机主板上不可或...
  • chris_leeYC
  • chris_leeYC
  • 2015年07月15日 15:03
  • 2377

pci设备学习笔记

水平有限,错误难免 ^_^ 参考资料: 1) 《Linux内核源代码情景分析》 2)  Linux内核源代码(2.6.32)。 本文只讨论比较简单的软硬件配置场景。 ...
  • crazycoder8848
  • crazycoder8848
  • 2015年06月17日 20:33
  • 3689

PCI 初始化过程一 :总线拓扑结构的建立

PCI 初始化过程一 :总线拓扑结构的建立 系统对PCI总线的初始化过程比较复杂,要做的事情比较多。其中关键的一个环节就是总线拓扑结构的建立。这里通过文字描述拓扑结构的建立的算法,详细的故事...
  • pankul
  • pankul
  • 2013年02月22日 10:32
  • 1869

2.4 PCI总线的配置

PCI总线定义了两类配置请求,一个是Type 00h配置请求,另一个是Type 01h配置请求。PCI总线使用这些配置请求访问PCI总线树上的设备配置空间,包括PCI桥和PCI Agent设备的配置空...
  • mao0514
  • mao0514
  • 2013年07月22日 16:27
  • 1348

pci和scsi总线

pci总线 16位        8位     5位         3位 domain    bus    device    function scsi总线 host       ...
  • yuxinghai2008
  • yuxinghai2008
  • 2013年07月10日 17:10
  • 1977

PCI总线配置空间详解

其实之前是简单学习过PCI设备的相关知识,但是总感觉 自己的理解很函数,很多东西说不清楚,正好今天接着写这篇文章自己重新梳理一下,文章想要分为三部分,首先介绍PCI设备硬件相关的知识,然后介绍LINu...
  • baidu_24256693
  • baidu_24256693
  • 2017年02月08日 15:36
  • 2690
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:何谓PCI总线技术
举报原因:
原因补充:

(最多只允许输入30个字)