news 2026/5/1 4:58:07

【PCIe】在系统初始化阶段,为什么要枚举两次(BIOSOS)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
【PCIe】在系统初始化阶段,为什么要枚举两次(BIOSOS)

声明

  • 🔥文章目的在于学习记录,知识分享。因个人能力有限:如有错误之处,请帮忙指出;如有疑问,欢迎随时交流
  • 🔥感谢“点评赞”,期待大家提出问题进行深度讨论。
  • 内容如涉及侵权,请及时联系我删除。

概要

在系统初始化阶段,一直疑惑PCIe的枚举到底需要几次?BIOS/UEFI和OS(Linux/Windows)是否都要做,是否都必须做,为什么必须做?

先说结论:必须要做,因为每个阶段的目的不一样。

BIOS/UEFI阶段

BIOS/UEFI阶段执行枚举的主要目的是从硬件的角度实现PCIe设备的扫描和硬件属性的扫描,包括mem空间的分配等。

这个阶段属于硬件扫描过程,需要保证将可用的设备扫描出来,并确认相关Cap(类似MSI/MSIX/Link width&Speed/SRIOV等特性),并且通过相关程序实现资源分配。

OS阶段

OS阶段主要是软件行为,目的是实现驱动加载的过程。主要通过获取设备的vendor ID、Device ID 、Subsystem ID等信息,执行相关软件的加载和初始化动作,给后续使用提供基础。

总结

PCIe的枚举在BIOS/UEFI和OS阶段都要执行,且目的不一样。一个着重于硬件背景,一个着重于软件背景。

参考文献

本文完,感谢大家阅读!

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/30 5:30:14

XLeRobot机器人仿真训练:从虚拟到实体的智能操控体验

XLeRobot机器人仿真训练:从虚拟到实体的智能操控体验 【免费下载链接】XLeRobot XLeRobot: Practical Household Dual-Arm Mobile Robot for ~$660 项目地址: https://gitcode.com/GitHub_Trending/xl/XLeRobot 还在为实体机器人调试困难而烦恼?X…

作者头像 李华
网站建设 2026/4/18 17:49:49

验证IP地址(四)

方法二:分治法思想IPv4 和 IPv6 地址均是由特定的分界符隔开的字符串组成,并且每个子字符串具有相同格式。因此,可以将地址分为多个块,然后逐块进行验证。仅当每个块都有效时,该地址才有效。这种方法称为 分治法。算法…

作者头像 李华
网站建设 2026/4/27 17:28:34

揭秘ComfyUI_SLK_joy_caption_two:AI图像字幕生成新利器

揭秘ComfyUI_SLK_joy_caption_two:AI图像字幕生成新利器 【免费下载链接】ComfyUI_SLK_joy_caption_two ComfyUI Node 项目地址: https://gitcode.com/gh_mirrors/co/ComfyUI_SLK_joy_caption_two 想为图片自动生成精准字幕?ComfyUI_SLK_joy_capt…

作者头像 李华
网站建设 2026/4/30 6:40:56

突破创作瓶颈:OpenUtau智能音乐合成解决方案全解析

还在为虚拟歌手制作的高门槛而苦恼?开源音乐合成平台OpenUtau为你提供了零基础也能掌握的创作方案。这款完全免费的跨平台工具重新定义了音乐制作流程,让每个人都能轻松创作属于自己的虚拟歌手作品。 【免费下载链接】OpenUtau Open singing synthesis p…

作者头像 李华
网站建设 2026/4/18 10:41:27

20、Kubernetes性能、扩展性与网络:全面解析

Kubernetes性能、扩展性与网络:全面解析 1. 衡量Kubernetes的性能和扩展性 要提升Kubernetes的性能和扩展性,我们首先要明确提升的方向以及如何衡量这些提升。同时,在追求性能和扩展性提升的过程中,不能违背Kubernetes的基本属性和保证。实际上,性能的提升往往能免费带来…

作者头像 李华
网站建设 2026/4/24 3:14:11

KISS FFT终极指南:3分钟快速上手的轻量级信号处理神器

KISS FFT终极指南:3分钟快速上手的轻量级信号处理神器 【免费下载链接】old-kissfft [DEPRECATED MIRROR] You want https://github.com/mborgerding/kissfft! 项目地址: https://gitcode.com/gh_mirrors/ol/old-kissfft 想要在嵌入式设备上运行FFT&#xff…

作者头像 李华