提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录
前言
在ubuntu系统中可以使用如下的几种方式查看系统中的PCI总线设备的信息。
一、什么是PCI总线设备?
PCI(Peripheral Component Interconnect,外围组件互连)总线设备是指通过PCI总线与计算机系统连接的硬件设备。PCI是一种硬件架构,用于计算机内部硬件设备之间的连接和通信。以下是PCI总线设备的一些关键概念:
1.总线架构:PCI总线提供了一种标准化的硬件接口,允许不同的硬件设备(如网络卡、声卡、显卡等)与计算机的主板或处理器通信。
2.数据传输:PCI总线允许设备之间进行高速数据传输,支持并行和串行数据传输模式。
3.设备识别:每个PCI设备都有一个唯一的设备ID和制造商ID,这些ID用于在系统中识别和配置设备。
4.即插即用:许多PCI设备支持即插即用(Plug and Play,PnP),这意味着操作系统可以自动识别和配置设备,而无需用户手动干预。
5.电源管理:PCI设备通常支持电源管理功能,允许在不使用时关闭设备以节省能源。
6.扩展性:PCI总线设计允许系统通过添加更多的PCI设备来扩展其功能。
7.不同版本:PCI总线有不同的版本,如PCI、PCI-X、PCI Express(PCIe),其中PCIe是目前最常用的,支持更高的数据传输速率和更多的通道。
8.驱动程序:为了使操作系统能够与PCI设备通信,通常需要安装相应的驱动程序。这些驱动程序提供了设备与操作系统之间的接口。
9.硬件兼容性:PCI设备需要与主板上的PCI插槽兼容,不同的主板可能支持不同的PCI版本和规格。
10.应用领域:PCI设备广泛应用于个人计算机、服务器、嵌入式系统等,用于扩展系统功能,如增加网络连接、音频处理、视频输出等。
PCI总线设备的例子包括但不限于:
网络卡(NIC)
显卡(GPU)
声卡
硬盘控制器
USB控制器
串行端口卡
并行端口卡
PCI总线设备使得计算机系统能够灵活地添加和扩展硬件功能,是现代计算机系统中不可或缺的一部分。
二、在ubuntu系统中查看的几种方式
1.使用pciutils工具进行查看,具体可以参照之前我写的一篇博文。
https://blog.csdn.net/weixin_42554470/article/details/140415007
2.cat /proc/iomem
root@localhost:~# cat /proc/iomem
10000000-1fffffff : MEM
10000000-100fffff : PCI Bus 0000:01
10000000-10001fff : 0000:01:00.0
10002000-10003fff : 0000:01:00.0
10004000-10004fff : 0000:01:00.0
3.cat /proc/interrupts
root@localhost:~# cat /proc/interrupts
CPU0 CPU1 CPU2 CPU3
212: 0 0 0 0 PCI-MSI 0 Edge PCIe PME, aerdrv
4.dmesg | grep pci
root@localhost:~# dmesg | grep pci
[ 1.795064] pci_bus 0000:00: root bus resource [bus 00-ff]
[ 1.795075] pci_bus 0000:00: root bus resource [mem 0x10000000-0x1fffffff]
[ 1.795137] pci_bus 0000:00: root bus resource [mem 0x500000000-0x5ffffffff pref]
[ 1.795489] pci 0000:00:00.0: supports D1 D2
[ 1.795499] pci 0000:00:00.0: PME# supported from D0 D1 D3hot D3cold
[ 1.796355] pci 0000:01:00.0: reg 0x10: [mem 0x10000000-0x10001fff]
[ 1.796402] pci 0000:01:00.0: reg 0x14: [mem 0x10004000-0x10004fff]
[ 1.796480] pci 0000:01:00.0: reg 0x18: [mem 0x10002000-0x10003fff 64bit]
[ 1.797332] pci 0000:00:00.0: BAR 14: assigned [mem 0x10000000-0x100fffff]
[ 1.797349] pci 0000:01:00.0: BAR 0: assigned [mem 0x10000000-0x10001fff]
[ 1.797378] pci 0000:01:00.0: BAR 2: assigned [mem 0x10002000-0x10003fff 64bit]
[ 1.797441] pci 0000:01:00.0: BAR 1: assigned [mem 0x10004000-0x10004fff]
[ 1.797468] pci 0000:00:00.0: PCI bridge to [bus 01-ff]
[ 1.797482] pci 0000:00:00.0: bridge window [mem 0x10000000-0x100fffff]
[ 1.797620] pcieport 0000:00:00.0: no of_node; not parsing pinctrl DT
[ 1.798665] pcie_pme 0000:00:00.0:pcie001: no of_node; not parsing pinctrl DT
[ 1.798872] pcieport 0000:00:00.0: Signaling PME with IRQ 212
[ 1.799356] aer 0000:00:00.0:pcie002: no of_node; not parsing pinctrl DT
[ 1.799431] pcieport 0000:00:00.0: AER enabled with IRQ 212
[ 2.095504] ehci-pci: EHCI PCI platform driver
[ 2.096000] ohci-pci: OHCI PCI platform driver
5.dmesg | grep pcie
root@localhost:~# dmesg | grep pcie
[ 1.743950] OF: PCI: host bridge /soc/pcie@11000000 ranges:
[ 1.795040] pcie 31000000.pcie: PCI host bridge to bus 0000:00
[ 1.797620] pcieport 0000:00:00.0: no of_node; not parsing pinctrl DT
[ 1.798665] pcie_pme 0000:00:00.0:pcie001: no of_node; not parsing pinctrl DT
[ 1.798872] pcieport 0000:00:00.0: Signaling PME with IRQ 212
[ 1.799356] aer 0000:00:00.0:pcie002: no of_node; not parsing pinctrl DT
[ 1.799431] pcieport 0000:00:00.0: AER enabled with IRQ 212
总结
以上就是在Linux系统中查看PCI设备的几种方式,PCI设备在日常生活中使用很多,PCI设备的驱动编写以及相关的设备的开发需要具有很高的编程水平。本篇博文只做为一个抛砖引玉的作用,如有遗漏,还请批评指正。