Pci 驱动程序在 Linux 中的工作原理



我正在尝试了解 pci 驱动程序如何在 PC 环境中的 Linux 中工作,但真的发现很难去。在采取行动之前,我想了解以下几句话。

  1. PCI 规范允许系统托管多达 256 条总线。总线 = PCI 插槽?

  2. 每条总线最多可容纳 32 台设备。

  3. 每个设备都可以是一个多功能板最多有八个功能。(这句话到底是什么意思?

在我的电脑上只能看到三个 pci 插槽(这些插槽称为总线),并且每个插槽都有一个 irq 行定向到 CPU。

看来我的理解是完全错误的,这就是为什么想要获得更多的观点。

我至少可以回答你的部分问题。

C1 C2 C3 .... 芯片组/PCI 桥接器 |  |   |           | +---+----+  .... -----+

C1,C2,C3等是白色PCI连接器。
这是您插入PCI卡的地方。这些通常称为 PCI 插槽

底部的线路是 PCI 总线。
同一 PCI 总线上的所有设备都可以直接相互通信。
由于它们位于共享总线上,因此只能同时激活一台设备。


我标记为芯片组/PCI 桥接器的部分通常是 PCI 总线连接到计算机其他部分的地方。这可以是与芯片组的连接,也可以是另一条 PCI 总线。


我在Ars Technica的档案中找到了一些链接,可能会有所帮助:

http://archive.arstechnica.com/paedia/p/pci-express/m-pcie-1.html
http://archive.arstechnica.com/paedia/p/pci-express/m-pcie-2.html...

最新更新