【总线】【PCI】【PCIe】【转】配置空间

7 篇文章 1 订阅
订阅专栏

PCI Express,是计算机总线PCI的一种,它沿用现有的PCI编程概念及通信标准,但建基于更快的串行通信系统;PCIE总线使用的是高速差分总线,并采用端到端的连接方式, 现在的高速总线基本上都是串行总线,这样可以使用更高的时钟频率。

PCIe采用的是树形拓扑结构, 它的体系架构一般由root complex,switch,endpoint等类型的PCIe设备组成
root complex: 根桥设备,是PCIe最重要的一个组成部件; root complex主要负责PCIe报文的解析和生成。RC接受来自CPU的IO指令,生成对应的PCIe报文,或者接受来自设备的PCIe TLP报文,解析数据传输给CPU或者内存。
switch: PCIe的转接器设备,目的是扩展PCIe总线。和PCI并行总线不同,PCIe的总线采用了高速差分总线,并采用端到端的连接方式, 因此在每一条PCIe链路中两端只能各连接一个设备, 如果需要挂载更多的PCIe设备,那就需要用到switch转接器。switch在linux下不可见,软件层面可以看到的是switch的上行口(upstream port, 靠近RC的那一侧)和下行口(downstream port)。

一般而言,一个switch 只有一个upstream port, 可以有多个downstream port.

lspci -tv命令可以显示pcie的总线拓扑,如上图所示, 一个PCIe设备的ID由以下几个部分组成:
以0000:00:00.0为例,分别对应PCI域,总线号,设备号,功能号

配置空间

PCI有三个相互独立的物理地址空间:memory地址空间、I/O地址空间和配置空间。这三个地址空间都是采用唯一的地址进行寻址,比如我们使用地址0x100时需要指定这个地址在哪个地址空间,配置空间,I/O地址空间和memory地址空间的0x100偏移,对应的是不同的存储位置。

PCIe架构下定义了4种地址空间:Memory空间、IO空间、配置空间和message空间。message空间其实就是用来report带内的message和event的(比如error message、电源管理消息等),其实就是通过带内message transaction的方式来代替带外信号,用message的好处就是可以省去许多带外信号。

PCIe spec规定了所有PCIe设备(除了host bus bridge外)必须实现配置空间,说白了就是PCI-SIG规定了一种独立于memory空间的PCIe设备访问(读写、配置)机制(说白了就是一堆按规则排列的reg)。PCI-SIG详细规定了PCIe设备reg的排列(每个capability id reg的后面4Byte会保存next capability的起始地址,这样方便芯片厂商扩展reg,并且PCIe驱动软件天然可以使用list来管理这些reg
————————————————
版权声明:本文为CSDN博主「linjiasen」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/linjiasen/article/details/87944672

我们可以读取配置空间获得设备的信息,也可以通过配置空间来配置设备通过pci设备的id和配置空间的偏移地址, 软件可以来访问具体的寄存器。
PCIe设备的每一个功能(function)都对应一个独立的配置空间, pcie的配置空间布局如下:

CPU可以通过访问BAR地址读取PCIe的设备空间,但是我们需要读取到配置空间才能获取BAR,那么怎么访问PCIe的配置空间呢?
ARM使用ECAM的方式访问PCIe配置空间。ECAM是一个将配置空间映射到MEMORY空间的规则。硬件根据ECAM的方式将某个Memory空间映射给PCI配置空间,CPU访问对应的memory空间即可以操作PCIe配置空间。
————————————————
版权声明:本文为CSDN博主「Hober_yao」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/yhb1047818384/article/details/106676528

PCI/PCIE设备配置空间的访问方式----IO访问  &  内存访问
  X86系统中,对PCIE设备配置空间的地址映射一般有两种方式:内存映射和IO映射。因此开发者也可以通过内存访问或者IO访问来访问其配置空间
  PCIE设备的访问离不开其Bus,Dev,Fun的编号方式,如下图寄存器所示,Bit[23:16]用来存放Bus号,共8Bit,因此解释了上述表述为何一共有256条Bus,Bit[15:11]存放Dev,共5bit可存32个Dev,Bit[10:8]存放Bus,共3Bit可存8个Fun。这也就也是了为何上述PCIE设备数一共是256个Bus,32个Dev和8个Fun。
————————————————
版权声明:本文为CSDN博主「欢乐的鱼」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/Liang0528/article/details/120161547 

PCIe的内存地址空间、I/O地址空间配置地址空间
Radia的专栏
08-12 1万+
PCIe的内存地址空间、I/O地址空间配置地址空间 pci设备与其它接口的设备(如i2c设备)最大的不同是存在内存地址空间配置地址空间,本文分析一下它们的用途。 首先区分一下IO空间和内存空间 cpu会访问的设备一般有内存和外设寄存器,如下图所示。x86架构采用独立编址将内存操作与外设IO操作分开了才有了内存空间和IO空间的区分。x86平台cpu内部对内存和外设寄存器访问的指令也是不同的。...
PCIe】4: PCIe Header配置空间
smartvxworks的博客
06-26 574
对于 PCIe 设备,该寄存器的值无意义,因为 PCIe 设备在进行数 据传送时,在其报文中含有一次数据传送的大小,PCIe 总线控制器可以使用这个“大小”, 判断数据区域与 Cache 行的对应关系。在 PCI 设备中,该寄存器是可选的,但是在 PCI-X 和 PCIe 设备中必须支持这个寄存 器,Capabilities Pointer 寄存器存放 Capabilities 寄存器组的基地址,PCI 设备使用 Capabilities 寄存器组存放一些与 PCI 设备相关的扩展配置信息。
PCIe实践之路:BAR空间和TLP
热门推荐
叶玄青的博客
07-02 4万+
上一篇文章中写到每个PCIe的function都有自己的configuration space,其实就是配置寄存器了(这个当然是要有的了,不然软件要怎么玩?只不过PCIe配置寄存器要通过tlp才能去访问)。其实PCIe设备是有自己独立的一套内部空间,不仅仅是配置空间,包括每个设备提供哪些I/O地址,memory地址。而BAR(Base Address Register)就是用来表征这些地址空间的。
访问PCI/PCIE设备
最新发布
m0_59025842的博客
08-19 352
X86系统中,对PCIE设备配置空间地址映射一般有两种方式:内存映射和IO映射。因此开发者也可以通过内存访问或者IO访问来访问其配置空间
PCIe 访问 EP 配置空间空间映射详解,BDF 计算偏移
qq_29832469的博客
10-31 1399
两种 MEM 访问 EP 配置空间的方式都是通过基地址 + 偏移地址访问的。类 xilinx 的方式是全映射,需要 256M 的空间,将所有的 PCIe 设备的配置空间都映射到 CPU 的地址空间来。类 designware 则取巧,使用少量的 CPU 地址空间,但是每次访问之前需要重新映射 EP 的地址,使得相同的 CPU 地址空间可以放到的不同的 EP 设备的配置空间
PCIe总线-配置空间介绍(三)
非专业业余程序员
04-21 3464
配置空间PCIe设备/桥的标识符,其保存了设备/桥的信息。主机在枚举设备/桥的时候需要先访问配置空间,获取设备厂家、型号、类型、所需资源等信息,然后再分配资源,最后才能访问PCIe设备的存储或IO地址空间PCIe总线规定了三种类型的配置空间,分别是PCIe Agent设备使用的配置空间PCIe桥使用的配置空间和Cardbus桥片使用的配置空间,本节只介绍前两种。
PCIE地址映射原理
Demon__smile的博客
03-08 974
0x7890_2000是一个RC处理器可以访问到的物理地址,注意,它并不是内存RAM的地址,EP端InBouond到本地的地址0x7890_1234才是内存RAM地址;当映射完毕之后,RC端往0x7890_2000地址写1,PCI控制器就会进行地址换,组TLP包,最终访问到PCI域0x7890_1234,然后EP端PCI控制器解码TLP包,地址范围匹配,就对0x7890_1234进行写操作,那样,EP端如果读物理地址0x7890_1234内存值时,就会读到1。
PCI】PCIe配置空间访问(九)
zz2633105的博客
04-22 2274
本文参考PCIe协议 5.0:https://download.csdn.net/download/zz2633105/89204842。
浅谈PCIe体系结构(PCI桥与PCI设备的配置空间)
07-31
PCI总线定义了三种类型的配置空间PCI Agent设备、PCI桥和Cardbus桥片。本文主要关注PCI Agent和PCI桥的配置空间PCI桥是PCI总线扩展的关键组件,它允许总线连接更多的设备,形成一个总线树状结构。一个PCI桥有...
PEX8112-PCIEPCI资料手册.rar
05-19
《PEX8112-PCIEPCI技术详解》 在现代计算机系统中,接口扩展与换技术扮演着至关重要的角色。本文将深入探讨一款名为PEX8112的芯片,它是一款专用于PCI Express (PCIE) 换为PCI接口的桥接芯片,具有广泛的应用...
pci配置基地址_PCI/PCIe基础——配置空间
weixin_39981041的博客
12-18 1042
简介PCI/PCIe设备有自己的独立地址空间,这部分空间会映射到整个系统的地址空间。映射地址在BIOS/UEFI下指定(如果有的话,对于使用非BIOS启动的OS,不清楚),它有两种类型,一种是MMIO,一种是IO。对于MMIO的访问,跟访问内存的方式一样,它从称为PCIEXBAR的基地址开始,有很大的一段空间,这个PCIEXBAR的值根据不同的平台可能不同,大致可能值有0xC0000000、0xE...
Linux下查看PCI设备配置空间方法_有源代码模块示例
04-10
配置空间PCI总线为每个设备保留的一小块内存,其中包含了设备的基本信息和控制寄存器。 首先,我们要理解Linux系统中访问PCI配置空间的机制。在内核层面,Linux提供了`/sys/bus/pci/devices/`目录,这里包含了...
PCIe学习笔记(10)--- 配置空间的两种访问方式--ENHANCED
03-12 2759
1. 前面说过 配置空间从原来的256B扩展到了4K 2. 由于原先的IO方式,必须是由两步构成 先是写ADDRESS PORT,再是DATA PORT的读或写 在单CPU,单线程的情况下,没有问题 但在多CPU,多线程的情况下,就会产生访问的同步问题 3. ENHANCED方式,就是将配置空间,映射到MEMORY空间 MEMORY访问,是单步的,不存在
[imx8mpevk][pcie] pcie relevant address space
qingfengjuechen的专栏
07-10 363
1. PCIe相关的地址空间分配,在文档IMX8MPRM-i.MX 8M Plus Applications Processor Reference Manual (REV 0 )
[]老男孩读PCIe之六:配置和地址空间
ddk43521的博客
08-16 663
自:http://www.ssdfans.com 每个PCIe设备,有这么一段空间,Host软件可以读取它获得该设备的一些信息,也可以通过它来配置该设备,这段空间就叫做PCIe配置空间。不同于每个设备的其它空间PCIe设备的配置空间是协议规定好的,哪个地方放什么内容,都是有定义的。PCI或者PCI-X时代就有配置空间的概念,那时的配置空间如下: 整个配置空间就是一系列...
RK3399_PCIe_Host驱动分析_地址映射
jia_weihui的博客
02-06 2877
在这样一个速食的时代,坚持做自己,慢下来,潜心琢磨,心怀敬畏,领悟知识,才能向下扎到根,向上捅破天,背着世界往前行!所谓建立CPU和PCI地址空间的映射,就是设置Region对应的寄存器,都是使用函数。即:只写读写0xF8000000这段空间,就可以只写读写PCIe设备的配置空间。其中Region 0大小为32MB,Region1~31大小分别为1MB。,就是PCIe控制器,它的驱动做什么?
PCI的IO空间和memory空间
fgupupup的博客
11-26 9081
参考:IO内存映射到内存中(PCI总线的地址空间的分配) https://blog.csdn.net/zjy900507/article/details/81740345 https://blog.csdn.net/kunkliu/article/details/93992948 参考 https://blog.csdn.net/insoonior/article/details/80...
PCIE原理-002:PCIE地址是如何映射的
IC小鸽的博客
05-26 1万+
1、PCIE地址映射是什么意思? 本文以xinlinx FPGA PCIE为例,选择集成AXI的PCIE结构为例,说明AXI接口读写地址是如何映射成PCIE读写地址的。 2、集成AXI 的PCIE结构 下图所示为集成AXI的PCIE结构图。其中,包含了PCIE CORE,以及AXI bridge以及3个axi接口,AXI Master是axi总线的主端口,AXI4-lite 是slave端口...
PCIE配置和地址空间
qq_28643619的博客
10-17 3548
来源:https://www.jianshu.com/p/574e9a2cbc4e 每个PCIe设备,有这么一段空间,Host软件可以读取它获得该设备的一些信息,也可以通过它来配置该设备,这段空间就叫做PCIe配置空间。不同于每个设备的其它空间PCIe设备的配置空间是协议规定好的,哪个地方放什么内容,都是有定义的。PCI或者PCI-X时代就有配置空间的概念,那时的配置空间如下: 图6.1 整个配置空间就是一系列寄存器的集合,其中Type 0是Endpoint的配置,Type 1是Brid.
PCI/PCIE总线操作基础详解
"PCI/PCIE—knowalittle:这份资料是关于PCI和PCI Express(PCIe)的基础培训PPT,涵盖了PCI总线操作的关键术语和流程,包括地址阶段、数据阶段、事务持续时间和交易完成返回空闲状态的机制,以及PCI总线中的重要...
写文章

热门文章

  • 覆盖率收集 4738
  • RISCV中断异常 1865
  • 【总线】【PCI】【PCIe】【转】配置空间 1271
  • Cacheable VS Non-Cacheable 1251
  • VCS编译命令 1210

分类专栏

  • cpu硬件设计 7篇
  • 编程语言 1篇
  • IC验证 1篇
  • 总线 1篇

最新评论

  • 硬件统计采样PMU和SPE

    CSDN-Ada助手: 恭喜作者发布了第18篇博客,内容涉及硬件统计采样PMU和SPE,非常有深度和技术含量!希望作者能够继续保持创作的热情和耐心,坚持分享自己的专业知识和经验。或许下一步可以考虑结合实际案例或者应用场景,让读者更好地理解和运用所学的内容。期待作者更多精彩的文章,加油!

  • VCS编译命令

    CSDN-Ada助手: 感谢用户分享关于VCS编译命令的知识,这篇博客对我来说真的很有帮助。希望你能继续分享更多关于VCS的知识,比如VCS的常见问题解决方法或者VCS的高级用法等等。期待你的下一篇博客!

  • c++之深浅拷贝

    CSDN-Ada助手: 恭喜您撰写了第16篇博客!标题为“c++之深浅拷贝”,这是一个非常有趣且重要的主题。深浅拷贝在C++中是一个容易引起混淆的概念,您的博客将为读者提供清晰的解释和指导。 在接下来的创作中,我建议您可以探索更多与C++相关的主题。或许您可以考虑深入研究C++的多线程编程,或者是介绍C++中一些高级的语法和技巧。无论您选择哪个方向,我相信您的知识和经验将为读者带来很大的帮助。 再次恭喜您,期待您的下一篇博客!请继续努力创作,您的分享对于我们这些学习者来说是非常宝贵的。

  • UVM框架的理解

    CSDN-Ada助手: 恭喜您写完了第15篇博客《UVM框架的理解》!持续的创作展示了您对UVM框架的深入理解和研究。您的文章内容生动且富有见地,对读者来说是一次很好的学习体验。 在接下来的创作中,或许您可以考虑深入探讨UVM框架在实际项目中的应用案例,例如如何解决一些常见的挑战或优化测试环境等方面的内容。这将进一步丰富您的博客,并为读者提供更实用的指导。 希望您能够继续保持谦虚的态度并分享自己的经验,期待您未来更多精彩的创作!

  • AXI协议

    CSDN-Ada助手: 恭喜作者撰写第13篇博客!标题为“AXI协议”,内容一定十分精彩。在这篇博客中,作者可能会详细介绍AXI协议的原理、应用以及其在系统设计中的重要性。接下来,我期待着作者能够继续分享更多关于协议的深入研究和实践经验。也许下一步,作者可以探讨一些AXI协议的实际应用案例,或者深入解析不同版本之间的差异和性能优化。再次感谢作者的分享,期待未来更多精彩的博客!

最新文章

  • 硬件统计采样PMU和SPE
  • VCS编译命令
  • c++之深浅拷贝
2024年3篇
2023年7篇
2022年8篇

目录

目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值

天下网标王高淳区百度网站优化软件不同网站怎么优化东莞专业网站优化谷歌排名网站排名优化来巧推网杭州网站seo优化排名公司宁国网站关键词优化宁波网站建设优化制作公司百搜竞价包年推广优化网站排名了火16星高尚金泉网站建设优化推广没有网站怎么做排名优化苏州网站关键词优化方案揭阳网站seo排名优化随州市网站关键词优化服务做网站优化必须知道的名词含义青岛响应式网站优化公司沧州南皮网站快速优化排名合肥网站首页优化费用有实力的网站整站优化壹起航标签怎么设置网站优化昆明德阳网站优化江苏企业网站优化哪家强附近网站seo优化茶叶网站优化标题代码有什么嘉兴企业网站优化方法恩施网站优化建议永宁县网站seo优化排名南京正规网站关键词优化公司网站头部优化什么意思招远效果好的网站优化香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声卫健委通报少年有偿捐血浆16次猝死汪小菲曝离婚始末何赛飞追着代拍打雅江山火三名扑火人员牺牲系谣言男子被猫抓伤后确诊“猫抓病”周杰伦一审败诉网易中国拥有亿元资产的家庭达13.3万户315晚会后胖东来又人满为患了高校汽车撞人致3死16伤 司机系学生张家界的山上“长”满了韩国人?张立群任西安交通大学校长手机成瘾是影响睡眠质量重要因素网友洛杉矶偶遇贾玲“重生之我在北大当嫡校长”单亲妈妈陷入热恋 14岁儿子报警倪萍分享减重40斤方法杨倩无缘巴黎奥运考生莫言也上北大硕士复试名单了许家印被限制高消费奥巴马现身唐宁街 黑色着装引猜测专访95后高颜值猪保姆男孩8年未见母亲被告知被遗忘七年后宇文玥被薅头发捞上岸郑州一火锅店爆改成麻辣烫店西双版纳热带植物园回应蜉蝣大爆发沉迷短剧的人就像掉进了杀猪盘当地回应沈阳致3死车祸车主疑毒驾开除党籍5年后 原水城县长再被查凯特王妃现身!外出购物视频曝光初中生遭15人围殴自卫刺伤3人判无罪事业单位女子向同事水杯投不明物质男子被流浪猫绊倒 投喂者赔24万外国人感慨凌晨的中国很安全路边卖淀粉肠阿姨主动出示声明书胖东来员工每周单休无小长假王树国卸任西安交大校长 师生送别小米汽车超级工厂正式揭幕黑马情侣提车了妈妈回应孩子在校撞护栏坠楼校方回应护栏损坏小学生课间坠楼房客欠租失踪 房东直发愁专家建议不必谈骨泥色变老人退休金被冒领16年 金额超20万西藏招商引资投资者子女可当地高考特朗普无法缴纳4.54亿美元罚金浙江一高校内汽车冲撞行人 多人受伤

天下网标王 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化