PCI 如何工作

作者:Jeff Tyson & Ed Grabianowski
计算机的各个组件通过总线协同工作。了解 PCI 总线和 PCI 卡,如上图所示。查看更多计算机硬件图片

自从几十年前台式电脑首次开发以来,计算机组件的功率和速度稳步增长。软件制造商开发新应用程序以利用处理器速度和硬盘容量的最新进展,而硬件制造商则争相改进组件并设计新技术以满足高端软件的需求。

然而,有一个元素经常被忽视——**总线**。本质上,总线是计算机组件之间的通道或路径。拥有高速总线与汽车拥有良好变速器一样重要。如果你的发动机有 700 马力,但变速器很廉价,你就无法将所有动力传输到路面。总线有许多不同的类型。

广告

总线的概念很简单——它允许你将组件连接到计算机的处理器。你可能想要连接的一些组件包括硬盘、内存、声卡、显卡等。例如,为了查看计算机正在做什么,你通常使用 CRT 或 LCD 屏幕。你需要特殊的硬件来驱动屏幕,因此屏幕由显卡驱动。显卡是一块小型印刷电路板,旨在插入总线。显卡使用计算机总线作为通信路径与处理器通信。

­总线的优点在于它使部件更具互换性。如果你想获得更好的显卡,只需将旧卡从总线拔下并插入新卡即可。如果你的计算机想连接两台显示器,则将两张显卡插入总线。依此类推。

在本文中,你将了解一些总线。我们将重点关注被称为外设组件互连 (PCI) 的总线。我们将讨论 PCI 是什么、它如何运行以及如何使用,并展望总线技术的未来。

­

广告

系统总线与 PCI 总线

上图显示了各种总线如何连接到 CPU。

二三十年前,处理器速度很慢,以至于处理器和总线是同步的——总线以与处理器相同的速度运行,机器中只有一条总线。如今,处理器运行速度如此之快,以至于大多数计算机都有两条或更多总线。每条总线都专注于某种特定类型的流量。

如今,典型的台式电脑有两条主要总线

广告

  • 第二条是速度较慢的总线,用于与硬盘和声卡等设备通信。这种类型的一种非常常见的总线被称为 PCI 总线。这些较慢的总线通过桥连接到系统总线,桥是计算机芯片组的一部分,充当交通警察,将来自其他总线的数据集成到系统总线。

从技术上讲,还有其他总线。例如,通用串行总线 (USB) 是一种将相机、扫描仪和打印机等设备连接到计算机的方式。它使用细线连接设备,许多设备可以同时共享该线。Firewire 是另一种总线,目前主要用于摄像机和外置硬盘。

接下来,了解 PCI 总线的历史。

广告

PCI 历史

原始 IBM PC(约 1982 年)中的原始 PC 总线为 16 位宽,工作频率为 4.77 MHz。它正式被称为 ISA 总线。这种总线设计能够以高达约 9 MBps(兆字节每秒)的速度传输数据,即使对于当今许多应用程序也足够快。

几年前,ISA 总线仍在许多计算机上使用。该总线接受了为 20 世纪 80 年代初的原始 IBM PC 开发的计算机卡。即使在更先进的技术出现后,ISA 总线仍在使用。

广告

它经久不衰的原因有几个关键点:

  • 与大量硬件制造商的长期兼容性。
  • 在多媒体兴起之前,很少有硬件外设能够充分利用较新总线的速度。

­随着技术进步和 ISA 总线未能跟上步伐,其他总线应运而生。其中关键的包括扩展工业标准架构 (EISA)——32 位,8 MHz——以及 Vesa 本地总线 (VL-Bus)。VL-Bus 的优点(以创建该标准的 VESA 视频电子标准协会命名)在于它是 32 位宽,并以本地总线的速度运行,这通常是处理器本身的速度。VL-Bus 实际上直接连接到 CPU。这对于单个设备,甚至两个设备来说都没问题。但将两个以上的设备连接到 VL-Bus 会引入干扰 CPU 性能的可能性。因此,VL-Bus 通常仅用于连接显卡,这是一个真正受益于高速访问 CPU 的组件。

在 20 世纪 90 年代初,英特尔提出了一种新的总线标准供考虑,即**外设组件互连** (PCI) 总线。PCI 呈现出 ISA 和 VL-Bus 之间的一种混合体。它为连接设备提供直接访问系统内存的能力,但使用一个桥连接到前端总线,从而连接到 CPU。基本上,这意味着它能够比 VL-Bus 实现更高的性能,同时消除了干扰 CPU 的可能性。

在下一页了解更多关于 PCI 总线和 PCI 卡的开发信息。

广告

前端总线、后端总线和 PCI 卡

bus types
总线类型
十万个为什么.com

前端总线是一种物理连接,实际上将处理器连接到计算机中的大多数其他组件,包括主内存 (RAM)、硬盘和 PCI 插槽。如今,前端总线通常以 400 MHz 运行,较新的系统以 800 MHz 运行。

后端总线是处理器与二级缓存之间的独立连接。该总线以比前端总线更快的速度运行,通常与处理器速度相同,因此所有缓存都能尽可能高效地工作。多年来,后端总线不断发展。在 1990 年代,后端总线是将主处理器连接到片外缓存的导线。该缓存实际上是一个独立的芯片,需要昂贵的内存。从那时起,二级缓存已集成到主处理器中,使处理器更小、更便宜。由于缓存现在位于处理器本身,从某种程度上说,后端总线不再真正是总线了。

广告

PCI 可以连接比 VL-Bus 更多的设备,最多五个外部组件。外部组件的每个连接器都可以替换为主板上的两个固定设备。此外,一台计算机上可以有多个 PCI 总线,尽管这很少见。PCI 桥芯片独立于CPU 的速度调节 PCI 总线的速度。这提供了更高的可靠性,并确保 PCI 硬件制造商确切知道要设计什么。

PCI 最初以 33 MHz 的速度运行,使用 32 位宽的路径。对标准的修订包括将速度从 33 MHz 提高到 66 MHz,并将位宽翻倍到 64 位。目前,PCI-X 提供 64 位传输,速度为 133 MHz,传输速率高达惊人的 1 GBps(千兆字节每秒)!

PCI 卡使用 47 个引脚。

­ PCI 卡使用 47 个引脚连接(主控卡使用 49 个引脚,可以在没有 CPU 干预的情况下控制 PCI 总线)。PCI 总线能够使用如此少的引脚工作,是因为硬件多路复用,这意味着设备可以通过单个引脚发送多个信号。此外,PCI 支持使用 5 伏或 3.3 伏的设备。

尽管英特尔于 1991 年提出了 PCI 标准,但直到 Windows 95(1995 年)问世才获得普及。对 PCI 的突然兴趣是由于 Windows 95 支持一项称为**即插即用** (PnP) 的功能,我们将在下一节中讨论该功能。

广告

即插即用

即插即用 (PnP) 意味着你可以将设备连接或将卡插入你的计算机,它会自动被系统识别和配置以供使用。PnP 是一个简单的概念,但它需要计算机行业共同努力才能实现。英特尔创建了 PnP 标准并将其整合到 PCI 的设计中。但直到几年后,主流操作系统 Windows 95 才提供了对 PnP 的系统级支持。PnP 的引入加速了对带 PCI 计算机的需求,很快取代了 ISA 成为首选总线。

要完全实现,PnP 需要三样东西:

广告

PnP BIOS - 启用 PnP 并检测 PnP 设备的核心实用程序。BIOS 还读取 ESCD 以获取现有 PnP 设备的配置信息。

扩展系统配置数据 (ESCD) - 包含已安装 PnP 设备信息的文件。

PnP 操作系统 - 任何支持 PnP 的操作系统,例如 Windows XP。操作系统中的 PnP 处理程序完成 BIOS 为每个 PnP 设备启动的配置过程。PnP 自动化了通常由硬件制造商手动或通过安装实用程序完成的几个关键任务。这些任务包括设置

  • 中断请求 (IRQ) - IRQ,也称为硬件中断,由计算机的各个部分用于引起 CPU 的注意。例如,鼠标每次移动都会发送 IRQ,让 CPU 知道它正在做一些事情。在 PCI 之前,每个硬件组件都需要单独的 IRQ 设置。但 PCI 在总线桥上管理硬件中断,允许它为多个 PCI 设备使用单个系统 IRQ。
  • 直接内存访问 (DMA) - 这简单地意味着设备被配置为无需首先咨询 CPU 即可访问系统内存。
  • 内存地址 - 许多设备都被分配了系统内存的一部分,供该设备专用。这确保硬件将拥有正常运行所需的资源。
  • 输入/输出 (I/O) 配置 - 此设置定义设备用于接收和发送信息的端口。

虽然 PnP 使向计算机添加设备变得容易得多,但它并非万无一失。

PnP BIOS 开发人员、PCI 设备制造商和微软使用的软件例程中的差异导致许多人将 PnP 称为“即插即用(祈祷)”。但 PnP 的总体效果是极大地简化了升级计算机以添加新设备或替换现有设备的过程。

广告

添加 PCI 设备

此主板有四个 PCI 插槽。

假设你刚刚为你的 Windows XP 计算机添加了一块新的基于 PCI 的声卡。以下是它如何工作的示例。

  1. 你打开计算机机箱,将声卡插入主板上的空 PCI 插槽。
  2. 你关闭计算机机箱并启动计算机。
  3. 系统BIOS 启动 PnP BIOS。
  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 标准和 PCI Express

随着处理器速度稳步攀升至 GHz 范围,许多公司正竭尽全力开发下一代总线标准。许多人认为 PCI,就像之前的 ISA 一样,正迅速接近其能力的上限。

所有拟议的新标准都有一个共同点。它们提议取消 PCI 中使用的共享总线技术,转向**点对点交换连接**。这意味着当总线上的两个设备(节点)相互通信时,它们之间建立直接连接。基本上,当这两个节点正在通信时,其他任何设备都无法访问该路径。通过提供多个直接链接,这样的总线可以允许多个设备通信而不会相互减速。

广告

HyperTransport 是 Advanced Micro Devices, Inc. (AMD) 提出的一项标准,AMD 称其为 PCI 的自然演进。对于节点之间的每个会话,它提供两个点对点链接。每个链接的位宽可以从 2 位到 32 位不等,支持每秒 6.4 GB 的最大传输速率。HyperTransport 专门设计用于连接内部计算机组件,而不是连接可移动驱动器等外部设备。桥接芯片的开发将使 PCI 设备能够访问 HyperTransport 总线。

由英特尔开发(以前称为 3GIO 或第三代 I/O)的PCI-Express 似乎是总线技术领域的“下一个大事件”。起初,更快的总线是为高端服务器开发的。这些被称为 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 及相关主题的更多信息,请查看以下页面上的链接。

广告

常见问题

PCI 是什么意思?
支付卡行业 (PCI) 是一套安全标准,旨在确保所有处理、存储或传输信用卡信息的公司都维护一个安全环境。

广告

加载中...