0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

BDF与配置空间

SwM2_ChinaAET 来源:未知 作者:李倩 2018-05-03 09:06 次阅读

前面的文章中介绍过,每一个PCIe设备可以只有一个功能(Function),即Fun0。也可以拥有最多8个功能,即多功能设备(Multi-Fun)。不管这个PCIe设备拥有多少个功能,其每一个功能都有一个唯一独立的配置空间(Configuration Space)与之对应。

和PCI总线一样,PCIe总线中的每一个功能(Function)都有一个唯一的标识符与之对应。这个标识符就是BDF(Bus,Device,Function),PCIe的配置软件(即Root的应用层,一般是PC)应当有能力识别整个PCIe总线系统的拓扑逻辑,以及其中的每一条总线(Bus),每一个设备(Device)和每一项功能(Function)。

在BDF中,Bus Number占用8位,Device Number占用5位,Function Number占用3位。显然,PCIe总线最多支持256个子总线,每个子总线最多支持32个设备,每个设备最多支持8个功能。

PCIe总线采用的是一种深度优先(Depth First Search)的拓扑算法,且Bus0总是分配给Root Complex。Root中包含有集成的Endpoint和多个端口(Port),每个端口内部都有一个虚拟的PCI-to-PCI桥(P2P),并且这个桥也应有设备号和功能号。

需要注意的是,每个设备必须要有功能0(Fun0),其他的7个功能(Fun1~Fun7)都是可选的。

一个简单的例子如下图所示:

注:关于PCIe总线的拓扑逻辑会在后面的文章中进行详细地介绍。

前面的关于PCI总线的文章介绍过PCI总线的配置空间,PCIe总线为了兼容这些PCI设备,几乎完整的保留了PCI总线的配置空间。并将配置空间扩展到4KB,用于支持一些PCIe总线中新的功能,如PCI Express Capability、Power Management和MSI/MSI-X等。

下图是从PCI总线中继承过来的配置空间:

下图是PCIe新增的配置空间的示意图:

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 总线
    +关注

    关注

    10

    文章

    2856

    浏览量

    87889
  • PCIe
    +关注

    关注

    15

    文章

    1187

    浏览量

    82330

原文标题:【博文连载】PCIe扫盲——BDF与配置空间

文章出处:【微信号:ChinaAET,微信公众号:电子技术应用ChinaAET】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    请问Quartus Ⅱ中怎么把.vhd文件加到.bdf文件(.bdf文件放在顶层)中?

    请问Quartus Ⅱ中怎么把.vhd文件加到.bdf文件(.bdf文件放在顶层)中?分层设计时.vhd文件加到.bdf文件里才能编译吧?
    发表于 10-08 20:54

    ALTERA FPGA 配置芯片剩余空间使用的问题

    想把altera fpga配置芯片剩余的存储空间作为其他数据的存储空间用,可以吗?如果行,该如何操作了呢?
    发表于 03-04 19:49

    VHDL由.bdf文件转换成.bsf文件出错

    我用原理图库里的几个基本元件搭建了一个想要的器件,想将这个.bdf文件生成.bsf文件,可为什么会弹出如下窗口?
    发表于 08-29 19:38

    关于qutartus中bdf文件的问题,求解!

    小弟在工程下建立了.V文件后生成了一个元件模块,在同一工程下又创建了.bdf文件,使用刚才的模块和库里面的模块做了电路图,编译通过后生成的RTL图确实之前那个.v文件的RTL图。。。这该怎么解决???
    发表于 06-11 19:44

    quratus对bdf文件做时序分析。

    请问我已经create了一个bdf文件,怎么对它进行时序分析?
    发表于 10-08 20:15

    Quartus II 9.0 Bdf 无法打开

    我本人在使用Quartus II 9.0sp2 Web Edition。一直都使用BDF格式在进行设计。但是,今天突然打不开这个BDF文件了,报的错误是Error: Can't open file
    发表于 08-20 16:40

    重启TouchGFX后,.bdf字体不起作用怎么解决?

    文档声明:The Font Converter acceptsTrueType (.ttf)OpenType (.otf)Glyph Bitmap Distribution Format (.bdf
    发表于 01-06 06:52

    PCI设备配置空间研究

    在开发PCI设备驱动程序时,需要访问配置空间来控制设备。研究了PC平台和Windows系统下访问PCI配置空间的机制和
    发表于 11-24 18:22 0次下载
    PCI设备<b class='flag-5'>配置</b><b class='flag-5'>空间</b>研究

    TMS320C54x系列DSP存储空间配置

    TMS320C54x系列DSP存储空间配置
    发表于 10-20 09:24 13次下载
    TMS320C54x系列DSP存储<b class='flag-5'>空间</b>的<b class='flag-5'>配置</b>

    基于BDF温度场计算优化

    。利用Patran命令语言获取载荷数据生成外部文件,采用C++标准模板库编程实现BDF自动生成算法以减少迭代计算时间。对220 000 m3棱柱型LNG运输船进行船体温度场计算实验,结果表明,该方法在保证计算结果正确的同时,大幅提高了迭代计算效率。
    发表于 03-20 17:38 0次下载
    基于<b class='flag-5'>BDF</b>温度场计算优化

    Device Studio应用实例之BDF(上)

    、MOMAP、RESCU、DS-PAW、BDF、STEMS、TOPS、PODS、VASP、LAMMPS、QUANTUM ESPRESSO、Gaussian的输入文件并进行存储和管理;可以根据用户需求,将输入文件传递给远程或本地的计算机进行计算,并控制计算流程;可以将计算结果进行可视化显示和分析。
    的头像 发表于 08-12 10:38 1685次阅读

    Device Studio应用实例之BDF(下)

    、MOMAP、RESCU、DS-PAW、BDF、STEMS、TOPS、PODS、VASP、LAMMPS、QUANTUM ESPRESSO、Gaussian的输入文件并进行存储和管理;可以根据用户需求,将输入文件传递给远程或本地的计算机进行计算,并控制计算流程;可以将计算结果进行可视化显示和分析。
    的头像 发表于 08-14 16:01 1508次阅读

    极低的钳位低电容ESD保护-PESD5V0C2BDF

    极低的钳位低电容 ESD 保护-PESD5V0C2BDF
    发表于 02-17 19:50 0次下载
    极低的钳位低电容ESD保护-PESD5V0C2<b class='flag-5'>BDF</b>

    STM32CubeIDE实用技巧之配置Heap空间

    STM32CubeIDE实用技巧之配置Heap空间
    的头像 发表于 10-31 17:30 1048次阅读
    STM32CubeIDE实用技巧之<b class='flag-5'>配置</b>Heap<b class='flag-5'>空间</b>

    STM32CubeIDE实用技巧之配置空间

    电子发烧友网站提供《STM32CubeIDE实用技巧之配置空间.pdf》资料免费下载
    发表于 09-19 15:07 5次下载
    STM32CubeIDE实用技巧之<b class='flag-5'>配置</b>堆<b class='flag-5'>空间</b>