3: PCIe BDF(Bus,Device,Function)

news2024/11/15 10:40:23

目录

1.概述

2.BUS:总线号

3.Device:设备号

4.Function:功能号


1.概述

        PCIe总线中的每一个功能都有一个唯一的标识符与之对应。这个标识符就是BDF(Bus,Device,Function)

2.BUS:总线号

        最多可以通过配置软件分配256个总线号。

        初始总线号,总线0,通常由硬件分配给Root Complex。

        总线0由一个集成了端点的虚拟PCI总线和一个硬编码的设备号和功能号的虚拟PCI-to-PCI桥(P2P)组成。每个P2P网桥创建一个新的总线,附加的PCle设备可以连接到该总线。

        每个总线必须被分配一个唯一的总线号。配置软件通过搜索从总线0、设备0、功能0开始的桥,开始分配总线号,当发现网桥时,软件会给新总线分配一个唯一且大于网桥所在总线号的总线号。一旦新总线被分配了一个总线号,软件就开始在继续扫描当前总线上的更多的桥之前寻找新总线上的桥。这被称为“深度优先搜索”。

        PCIe桥设备配置空间的寄存器属性Primary Bus Number,Secondary Bus Number,Subordinate Bus Number:

  •         a.Primary Bus Number:当前桥设备上游Bus号;        
    •         b.Secondary Bus Number:当前桥设备下游Bus号;
      •         c.Subordinate Bus Number:当前桥设备下属最后一级的Bus号。

3.Device:设备号

        PCle允许在单个PCI总线上最多32个设备号,然而,PCle的点对点特性意味着只有单个设备可以直接连接到PCle链路,并且该设备总是以device 0结束。

        RC和Switch有虚拟PCI总线,它允许多个设备“连接”到总线上。每个设备必须实现Function 0,并且可能包含多达8个Function 的集合。当包含两个或多个Function时,设备称为多功能设备。

4.Function:功能号

        如前所述,功能被包含到每个Device中。

        这些功能可能包括硬盘接口、显示控制器、以太网控制器、USB控制器等。具有多个功能的设备不需要按顺序实现。例如,设备可能实现Function0、2和7。

        因此,当软件检测多功能设备时,必须检查每一个可能的功能,以了解哪些功能是存在的。每个Function都有自己的配置地址空间,用于设置关联的资源。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/690421.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

基于Java客户管理系统设计实现(源码+lw+部署文档+讲解等)

博主介绍: ✌全网粉丝30W,csdn特邀作者、博客专家、CSDN新星计划导师、java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战 ✌ 🍅 文末获取源码联系 🍅 👇🏻 精…

SSD202D-GPIO调试驱动-三

前面又两个介绍 SSD202D-GPIO调试驱动-一 SSD202D-GPIO调试驱动-二 主要是调试方法: insmod gpio_lonbon.ko 然后可以再看到一下节点 //出现以下节点 proc/gpio-lb/dbg sys/kernel/debug/gpio-lb/debug sys/class/gpio-lb/ dev/gpio-lb 然后

python中MongoEngine简单使用

python中MongoEngine简单使用 1 MongoEngine介绍 MongoEngine是一个处理MongoDB的对象文档映射器。pymongo是非面向对象的方式操作数据。 MongoEngine开发文档 # 开发文档 http://docs.mongoengine.org/index.html# 数据类型 http://docs.mongoengine.org/apireference.htm…

Excel 2019访问SQL Server数据库的实现过程

源之:https://vip.kingdee.com/article/288066926977041920?productLineId11 在日常ERP系统实施过程中,往往会遇到客户的一些个性化需求,比如有些客户习惯用Excel电子表格来查看ERP系统中的数据,业余拓展学习了一下,借…

STM32cubeMX配置工程(全过程+修改MCU方法+注意事项)

1.修改默认的固件包下载路径,避免占用C盘空间 2、选择ACCESS TO MCU 3、在跳出的界面中的Part Number中搜索对应的芯片型号 4、选好后在右下角双击对应的芯片,然后跳出配置界面 左边可以配置外设,右边可以配置每个IO口的功能 System Core包括…

java之路——带你了解SpringSecurity安全框架与基本应用

文章目录 一、什么是SpringSecurity二、SpringSecurity的主要应用场合三、springsecurity代码步骤 一、什么是SpringSecurity **Spring Security是一个功能强大的开源框架,用于在Java应用程序中实现身份验证和授权功能。它提供了一套全面的安全性解决方案&#xff…

java设计模式(二十三)访问者模式

目录 定义模式结构角色职责代码实现适用场景优缺点定义 访问者模式是一种行为型模式,它允许你定义一个作用于某个对象结构中的各个元素的操作,而同时又不改变这些元素的类。该模式的核心思想是将数据结构与数据操作分离,从而可以在不改变数据结构的前提下定义新的操作。 模…

【爆肝四万字!操作系统原理95+】期末考试知识点超超全总结

本文涵盖了笔者本学期学习“操作系统原理”课程的所有重要内容,还包含了一定量的经典例题。纯干货,不废话!目的在于知识的记录,便于今后的回顾,同时也希望对即将考试的朋友们有帮助。 目录 操作系统概述 操作系统的…

前端Vue自定义加载中loading加载结束end组件 可用于分页展示 页面加载请求

前端Vue自定义加载中loading加载结束end组件 可用于分页展示 页面加载请求&#xff0c; 请访问uni-app插件市场地址&#xff1a;https://ext.dcloud.net.cn/plugin?id13219 效果图如下&#xff1a; 实现代码如下&#xff1a; # cc-paging #### 使用方法 使用方法 <!--…

Floyd 算法研究(P 矩阵详解)

Floyd 算法研究 理论基础 求最短路径Floyd算法&#xff01; Floyed&#xff08;floyd&#xff09;算法详解 Floyd-傻子也能看懂的弗洛伊德算法 最短路径Floyd算法【图文详解】 最短路径问题—Floyd算法详解 算法&#xff1a;最短路径之弗洛伊德&#xff08;Floyd&#xff09;算…

DS18B20数字温度传感器的工作原理引脚及功能实物读取温度原理图

DS18B20温度传感器仿真图 . . . . 功能描述&#xff1a; 1 本实验采用DS18B20作为温度检测模块&#xff0c;51单片机&#xff0c;液晶1602显示&#xff0c;报警电路&#xff0c;按键电路。 2 液晶上面T代表温度&#xff0c;H代表上限值&#xff0c;L代表下限值 3 这个上下限值…

阿里云安全提醒:网站涉及违法不良信息该怎么办

北京某客户的网站突然收到阿里云的短信告警说&#xff0c;【阿里云】尊敬的********qq.com:您网站www.*******.com涉及违法不良信息&#xff0c;请尽快核查清理&#xff0c;详见站内信及邮件。客户有点懵&#xff0c;不知道为何会收到这样的一条短信&#xff0c;但阿里云也不会…

LTV-61L-ASEMI代理台湾光宝高速光耦LTV-61L

编辑&#xff1a;ll LTV-61L-ASEMI代理台湾光宝高速光耦LTV-61L 型号&#xff1a;LTV-61L 品牌&#xff1a;台湾光宝 封装&#xff1a;LSOP-6 引脚数量&#xff1a;6 类型&#xff1a;光耦 特性&#xff1a;台湾光宝、IGBT驱动器、储能专用光耦&#xff3c;高速光耦 封…

怎么一键远程访问无人值守电脑?

远程办公和无人值守的远程访问 如今&#xff0c;远程办公越来越人们所熟知。远程办公需要在没有其他人帮助的情况下访问您的办公室计算机并接受远程请求。那么如何从外面完成对办公室电脑的无人值守远程访问呢&#xff1f; 众所周知&#xff0c;远程桌面使您能够通过…

基于SpringBoot的点餐系统的设计与实现(源码+数据库+文档+说明)

系统主要采用了 Spring Boot、 Mybatis的框架&#xff0c; MySQL作为开发数据库&#xff0c;利用 MVC的设计理念&#xff0c;实现了管理端管理员工及菜品信息发布、员工账号菜品信息发布及配送、移动端查看菜品信息及消费等基本的功能需求。 关键技术介绍 操作系统&#xff1…

【Visual modflow Flex】地下水数值模拟及参数优化、抽水实验设计与处理、复杂的饱和/非饱和地下水流分析实践技术

本次地下水数值模拟软件的应用&#xff0c;主要围绕目前应用较为广泛的Visual Modflow Flex 系列版本开展&#xff0c;结合具体应用场景&#xff0c;实例讲解软件的全流程应用过程&#xff0c;包括数据处理分析、数值模型构建以及模拟结果的输出等。通过建模篇、优化篇、真实案…

Evoto AI 图像编辑软件 - 女性人像选项(英中对照)

Female 女性 Blemish Removal 瑕疵修复 Freckle & Acne 雀斑与痘痘 Face Mole 面部痣 Body Blemish 身体瑕疵 Fixing Oily Face 修复油脸 Face Forehead Wrinkle 面部额头皱纹 Eye Wrinkle 眼部皱纹 Dark Circle 黑眼圈 Smile Line 笑纹&#xff0c;法令纹 Neck Wrinkle 颈…

【从零开始学习JAVA | 第二十篇】常见API介绍 Math

目录 前言&#xff1a; MATH: Math类中的常用方法&#xff1a; 总结&#xff1a; 前言&#xff1a; 本篇往后我们会详细介绍一些常用的API&#xff0c;今天我们介绍的是Math的常用方法。但是其实我们不需要记住所有的方法&#xff0c;在日常工作中自己学会查询API文档就可以…

Docker 安装 Mysql 数据库

一、官方推荐安装方式&#xff1a; 1、执行 docker pull mysql:5.6 命令&#xff0c;下载 mysql 镜像&#xff0c;如下所示&#xff1a; 2、执行命令&#xff0c;创建并启动 mysql 容器 docker run -d --name mysql5.6-3306 -p 3307:3306 -e MYSQL_ROOT_PASSWORD123456 mysq…

Linux tracing之内核vsyscallvdso机制分析

由于内核运行在受保护的地质空间上&#xff0c;Linux系统中的用户空间程序无法直接执行内核代码&#xff0c;不能直接调用内核空间中的函数&#xff0c;因此&#xff0c;应用程序以某种方式通知系统&#xff0c;告诉内核自己需要执行一function&#xff0c;希望系统系统切换到内…