返回

轻松查找扩展 BDF PCI 域编号的完整指南

windows

找到扩展 BDF PCI 域编号的深入指南

简介

当我们使用 pyPCIE 软件包通过 PCIe 直接访问 FPGA 板上的 RAM 模块中的数据时,我们需要确定目标设备的扩展 BDF 符号(例如 xxxx:06:00.1)。其中,前导的 16 位 PCI 域编号至关重要,但找到它可能会令人困惑。本文将详细介绍使用 Hwloc 工具在 Windows 10 和 Windows 7 机器上查找此编号的步骤。

使用 Hwloc

第一步是下载并安装 Hwloc,这是一款提供计算机硬件拓扑详细视图的开源软件包。它可以帮助我们确定设备的 PCI 域编号。

获取 PCI 域编号

安装 Hwloc 后,运行命令 hwloc-bind。这将输出一份详细报告,其中包含有关每个设备的 PCI 域编号的信息。找到你目标 PCIe 设备的条目,它将如下所示:

Socket #0
  Core #0
    PCIe 3.0 x16 16.0 GT/s
      8086:2709 Device 22
        PCI domain: 0000
        PCI bus: 06
        PCI slot: 00.1

上述示例中,PCI 域编号是 0000

在 pyPCIE 中使用 PCI 域编号

找到 PCI 域编号后,你就可以在 pyPCIE 中使用它来连接到设备:

import pyPCIE

# 替换为你自己的 PCI 域编号
pci_domain_number = "0000"

# 替换为你的 BDF
bdf = "xxxx:06:00.1"

# 连接到设备
device = pyPCIE.register_device(pci_domain_number, bdf)

提示

  • 如果你的计算机有多个 PCI 域,你需要确定要连接的设备所在的域。
  • 你还可以在设备管理器中查看 PCI 域编号,但它可能不会提供扩展 BDF 符号中使用的所有信息。

常见问题解答

1. 如何知道我需要哪个 PCI 域编号?

PCI 域编号因设备而异。你需要使用 Hwloc 或类似工具来确定你特定设备的编号。

2. 我可以在哪里找到更多有关 Hwloc 的信息?

有关 Hwloc 的更多信息,请访问其官方网站:https://www.open-mpi.org/projects/hwloc/

3. pyPCIE 是否支持所有类型的 PCIe 设备?

pyPCIE 支持大多数类型的 PCIe 设备,但并非全部。查看 pyPCIE 文档以获取受支持设备的列表。

4. 我可以同时连接到多个 PCIe 设备吗?

是的,你可以同时连接到多个 PCIe 设备。只需为每个设备注册一个单独的 pyPCIE.Device 对象。

5. 我在查找 PCI 域编号时遇到困难。怎么办?

如果你在查找 PCI 域编号时遇到困难,请尝试使用其他工具,例如 AIDA64 或 CPU-Z。此外,确保你的设备已正确连接到计算机。