Pci驱动程序如何在Linux中运行

时间:2012-12-19 10:02:53

标签: linux linux-device-driver pci-bus

我正在尝试了解pci驱动程序在PC环境下如何在Linux中运行,但实际上很难找到。在采取行动之前我很少理解以下语句。

  1. PCI规范允许系统承载多达256个总线。(总线= pci插槽?)

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

  3. 每个设备都可以是多功能板 最多有八个函数。(这一行究竟是什么意思?)

  4. 在我的电脑上只能看到三个pci插槽(这些被称为总线),每个插槽中有一个irq线路指向cpu。

    看来我的理解是错误的,这就是为什么想要进入更多的观点。

1 个答案:

答案 0 :(得分:2)

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

 C1  C2  C3  ....  Chipset/PCI bridge
 |   |    |            |
 +---+----+  .... -----+

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
...