当前位置: 首页 > news >正文

pcie常用的查看寄存器方法

1:查看PCIe速率

# lspci -s 01:00.0 -vv | grep -i "Lnk"LnkCap: Port #0, Speed 32GT/s, Width x16, ASPM L1, Exit Latency L1 <64usLnkCtl: ASPM Disabled; RCB 64 bytes, Disabled- CommClk+LnkSta: Speed 16GT/s (downgraded), Width x16 (ok)LnkCap2: Supported Link Speeds: 2.5-32GT/s, Crosslink- Retimer+ 2Retimers+ DRS+LnkCtl2: Target Link Speed: 32GT/s, EnterCompliance- SpeedDis-LnkSta2: Current De-emphasis Level: -3.5dB, EqualizationComplete+ EqualizationPhase1+LnkCtl3: LnkEquIntrruptEn- PerformEqu-

LnkCap: Speed 32GT/s

  • 这表示设备支持的最大链路速率为 32 GT/s,这对应于 PCIe Gen5

LnkSta: Speed 16GT/s (downgraded)

  • 这表示当前链路速率被降级为 16 GT/s,这对应于 PCIe Gen4。这可能是因为系统或硬件限制,导致设备无法以最高支持的速率运行。

LnkCap2: Supported Link Speeds: 2.5-32GT/s

  • 这表示设备支持从 2.5 GT/s32 GT/s 的链路速率,涵盖了从 PCIe Gen1PCIe Gen5 的所有速率。

LnkCtl2: Target Link Speed: 32GT/s

  • 这表示设备的目标链路速率为 32 GT/s,这对应于 PCIe Gen5

结论

根据上述信息,设备支持 PCIe Gen5,但当前链路速率被降级为 16 GT/s,这对应于 PCIe Gen4。这表明设备本身支持 PCIe Gen5,但由于某些限制(如系统硬件或BIOS设置),它当前以 PCIe Gen4 的速率运行。

总结

  • 设备支持的最高版本PCIe Gen5(32 GT/s)
  • 当前运行的版本PCIe Gen4(16 GT/s)

参考:https://zhuanlan.zhihu.com/p/684100771

2 :吞吐量计算

pcie速度编码格式
pcie 1.02.5GT/s8b/10b
pcie 2.05GT/s8b/10b
pcie 3.08GT/s128b/130b
pcie 4.016GT/s128b/130b
pcie 5.032GT/s128b/130b
pcie 6.064GT/sPAM4

吞吐量 = 传输速率 x 链路带宽 x 编码效率

如:

PCIe Gen4,8条lane的PCIe Device,编码是128b/130b,传输速率是16GT/s
吞吐量 = 16 * (128/130) * 8 = 126.03 Gbit/s = 15.754GB/s
RTL8822CE设备:Gen1、X1
吞吐量 = 2.5GT/s × 1 × 8/10 = 4 Gb/s ≈ 250MB/s

3 查看Vendor ID 和 Device ID

root@BY-24:~# lspci -nn
00:00.0 Host bridge [0600]: Intel Corporation 440FX - 82441FX PMC [Natoma] [8086:1237] (rev 02)
00:01.0 ISA bridge [0601]: Intel Corporation 82371SB PIIX3 ISA [Natoma/Triton II] [8086:7000]
00:01.1 IDE interface [0101]: Intel Corporation 82371SB PIIX3 IDE [Natoma/Triton II] [8086:7010]
00:01.2 USB controller [0c03]: Intel Corporation 82371SB PIIX3 USB [Natoma/Triton II] [8086:7020] (rev 01)
00:01.3 Bridge [0680]: Intel Corporation 82371AB/EB/MB PIIX4 ACPI [8086:7113] (rev 03)
00:02.0 VGA compatible controller [0300]: Device [1234:1111] (rev 02)
00:03.0 Unclassified device [00ff]: Red Hat, Inc. Virtio memory balloon [1af4:1002]
00:05.0 SCSI storage controller [0100]: Red Hat, Inc. Virtio SCSI [1af4:1004]
00:12.0 Ethernet controller [0200]: Red Hat, Inc. Virtio network device [1af4:1000]
00:1e.0 PCI bridge [0604]: Red Hat, Inc. QEMU PCI-PCI bridge [1b36:0001]
00:1f.0 PCI bridge [0604]: Red Hat, Inc. QEMU PCI-PCI bridge [1b36:0001]note:Vendor ID(1a4f)和 Device ID(1000)
查找特定设备ID:lspci -nn -s
root@BY-24:~# lspci -nn -s 00:12.0
00:12.0 Ethernet controller [0200]: Red Hat, Inc. Virtio network device [1af4:1000]

4 devmem 读能力寄存器和扩展能力寄存器

4.1能力寄存器访问

配置空间0x34这个位置的值为Capabilities Pointer(offset),而Capabilities Pointer指向的下一个位置当中,第一个字节为Capabilities ID,第二个字节为Next Pointer。利用这个关系,很容易找到所有的能力寄存器。

devmem 0xf7000034
0x00000040   //0x40就是Capabilities Pointer
devmem 0xf7000040 
0xDBC35001 //0x01为id 0x50为Next Pointer
devmem 0xf7000050
0x03807005 //0x05为id 0x70为Next Pointer
devmem 0xf7000070
0x01020010	//0x10为id 0x00说明已经是最后一个能力寄存器了note:能力寄存器范围0x40-0xff

4.2扩展能力寄存器访问

扩展能力寄存器从0x100开始,格式为,bit0-bit15为PCI Express Extended Capability ID, bit16-bit19为Capability Version,bit20-bit31为Next Capability offset。

devmem 0xf7000100
0x14820001
devmem 0xf7000148
0x1AC10019
devmem 0xf70001ac
0x2AC1000B
devmem 0xf70002ac
0x2E41000B
devmem 0xf70002e4
0x0001000B   //Next Capability offset为0说明能力扩展寄存器已经是最后一个了。参考:https://blog.csdn.net/llxxyy507/article/details/115147635
http://www.dtcms.com/a/295217.html

相关文章:

  • node.js中的path模块
  • 低速信号设计之 QSPI 篇
  • 【LeetCode数据结构】二叉树的应用(一)——单值二叉树问题、相同的树问题、对称二叉树问题、另一棵树的子树问题详解
  • Faiss中L2欧式距离与余弦相似度:究竟该如何选择?
  • Web前端入门:JavaScript 哪些地方需要 try...catch 异常捕获
  • 【图论】倍增与lca
  • Avalonia 基于MVVM的时间统计/系统时间显示 示例
  • EPSON爱普生全系列废墨垫已满清零工具分享附教程下载
  • EasyExcel 模板导出数据 + 自定义策略(合并单元格)
  • 基于深度学习的胸部 X 光图像肺炎分类系统(三)
  • Turbo Intruder 并发插件无法试用--更换新版Burpsuit解决(简单解决安装、破解问题)
  • 开源Qwen凌晨暴击闭源Claude!刷新AI编程SOTA,支持1M上下文
  • 跨境支付入门~国际支付结算(结算篇)
  • AtCoder Beginner Contest 415(ABCDE)
  • `neutron router-gateway-set` 操作失败的可能原因及解决方案
  • 深度分析Java多线程机制
  • 【智能协同云图库】智能协同云图库第六弹:空间模块开发
  • 微服务的编程测评系统6-管理员登录前端-前端路由优化
  • 【开源】WPF的数据可视化大屏解决方案——WpfMap
  • 洛谷 P11378 [GESP202412 七级] 燃烧-普及/提高-
  • fdbus4.2 timer的使用
  • AI时代,我的编程工作搭子
  • ospf单区域实验
  • Windows批量工具,直接起飞!
  • 外部存档(External Archive)机制
  • MNIST 手写数字识别模型分析
  • 无人机电池通讯接口应用:CANFD工业级芯片的选型与技术要点
  • 跨境支付入门~国际支付结算(稳定币)
  • 事务的特性 - ACID
  • 游戏装备被盗,运营商赔不赔