PCI设备和PCI桥的配置空间(header_type0、header_type1)和配置命令(type0、type1)详解

1、PCI典型拓扑

在这里插入图片描述

2、type0和type1

在这里插入图片描述

名称含义
Bus Number设备所在总线号
Device Number设备分配到的设备号
Function Number功能号,有的设备是支持多个功能的,最多8种功能
Register Number要访问的寄存器地址

(1)type0和type1的区别:AD[1:0]是00代表是type0,AD[1:0]是01代表是type1;
(2)type0功能:用于配置挂载在本地PCI总线上的设备;
(3)type1功能:用于将配置信息发送给其他PCI总线段的设备;
总结:type0是配置直接挂载在PCI总线上的设备,type1是用于配置通过PCI桥挂载的设备;

3、为什么type1需要指定Bus Number、Device Number ?

3.1、PCI根桥配置直接挂载的PCI设备

(1)type0只使用了AD[10:0],AD[31:11]是空闲的,可以用于选中PCI设备,也就是和PCI设备的IDSEL引脚相连;
(2)假设AD[31:11]每个引脚都连接一个PCI设备的IDSEL引脚,根桥可以依次拉高每个引脚,每次选中一个设备;
(3)选中一个PCI设备后,在AD线上发送type0配置信息,只有被选中的PCI设备才会去响应type0;
(4)因为通过IDSEL引脚去唯一确定了哪个PCI设备会响应,所以不需要再通过Bus Number和Device Number去确定响应设备;

3.2、PCI根桥配置通过PCI桥挂载的PCI设备

(1)首先回顾,PCI根桥选中直接挂载的PCI设备,是通过与PCI设备IDSEL引脚直连的AD[31:11],但是通过PCI桥挂载的PCI设备,PCI根桥并没有和间接挂载的PCI设备的IDSEL引脚相连的AD线,所以根桥是不能通过直接操作PCI设备的IDSEL引脚来选择PCI设备;
(2)PCI桥设备自己会去扫描挂载在PCI总线上的设备,用type0配置信息,就和上面 3.1的过程是一样的,扫描完会给每个PCI设备分配一个PCI设备号;
(3)PCI根桥会给PCI桥分配PCI总线号;
(4)当根桥发出type1配置信息,直接挂载的PCI设备会忽略掉,PCI桥设备会比较总线号,如果总线号是自己能处理的就会转发;
(5)当配置信息转发到type1中指定的总线号所在的PCI段时,PCI桥会通过Device Number去选择设备,也是通过IDSEL引脚;
(6)总线号对应的PCI桥会把type1转换成type0发到PCI总线上;
补充:因为pci桥已经通过解析PCI总线号和Device Number来选中PCI设备的IDSEL引脚,所以后续传输就可以直接使用type0;

3.3、PCI桥对type1的处理

在这里插入图片描述

4、两种配置空间

4.1、配置空间的布局

在这里插入图片描述

(1)一个PCI设备最多支持8种功能,每种功能都有256字节的配置空间;
(2)256字节的配置空间分为两部分:前64字节是预定义的,所以的PCI设备都是一样的,64字节以后的配置空间由PCI设备自定义;
(3)配置空间分为三种,上面列出的是Header type 0、Header type 1,还有一种是CardBus桥的头,这种很少用;

4.2、PCI桥如何识别两种配置空间

(1)Header type 0是PCI终端设备使用的配置空间,Header type 1是PCI桥使用的配置空间;
(2)PCI桥设备会依次扫描每个PCI插槽,尝试读取每个插槽上的PCI设备配置空间的地址为0xE的寄存器值,也就是Header Type,如果是"00"则是Header type 0,如果是"01"则是Header type 1;

4.3、总要的配置空间字段介绍

在这里插入图片描述在这里插入图片描述

配置空间每个字段详细的含义介绍,阅读《PCI_SPEV_V3_0.pdf》的6.2节;

5、读配置空间的时序图

在这里插入图片描述

(1)第三个周期上升沿:PCI桥将要访问的配置信息发到AD总线上,可以使type0或者type1,同时将要访问设备的IDSEL引脚拉高,C/BE命令线上是"配置读"命令;
(2)第五个周期上升沿:被选中的设备将DEVSEL#引脚拉低,并将数据发送到AD线上,将TRDY#拉低;PCI桥准备好接收将IRDY#拉低,FRAME#被拉高,表示这是最后一个数据;
(3)对PCI时序图不清楚的可以参考博客:《pci总线协议学习笔记——PCI总线基本概念》;

6、参考资料:

(1)https://blog.csdn.net/gsjthxy/article/details/125819667;
(2)韦东山驱动大全课程;

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

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

相关文章

她是计算机系公认的系花 却只喜欢打游戏,我选择了计算机专业,自以为自己不是系花就是班花,结果扎心了...

我叫曾小晓,今年大一了,选择了男生居多的计算机专业,一是想着这样很有利于选男友,二是幻想被班里的男生宠幸的感觉!然后理所当然的成为系花、或是班花!结果却让我扎心了!想法总是美好的&#xf…

乱码的解决_小晓_同学__新浪博客

乱码问题的由来: 1.浏览器发送以本机平台字符编码的中文数据(GB2312).例如中文字符 "中"->(0xd6d0); 2.如果在web容器中接受数据时没有指定编码,web容器使用默认编码ISO-8859-1得到数据,由于0xd6d0在ISO-8859-1中找不到对应字符,所以显示乱码. 以post在接受数据之…

高中小白零基础速变大神,零基础菜鸟应该怎么学编程?

最近有很多人问小晓,该怎么学习编程?对编程虽然兴趣很大,但是不知道该从哪里下手,这是个庞大到所有大神们“无言以对”的命名题,小晓特意和自己的编程同伴们进行了探讨,就其中一些问题今天给大家做出解答! 决定学,要有兴趣并且是真正的下定决心 兴趣和耐心是老生常谈的…

小晓机器人标准版强势来袭,AI赋能中小企业客服新时代

互联网时代的高速发展,催生了大量客服需求。随着客户的消费习惯和对服务需求的改变,越来越多的企业开始尝试在网站、微信、APP等多渠道接入客服,这也对客服人员的管理提出了更高要求。与此同时,传统的人工客服正长期面临着&#x…

【软件测试】一名医院的护士,带着梦追逐诗和远方,拿下测试岗14K......

前言:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 小晓:…

壳聚糖基原位水凝胶包载角膜缘干细胞/纳米壳聚糖骨形态发生蛋白水凝胶的研究制备

今天小编给大家分享的内容是壳聚糖基原位水凝胶包载角膜缘干细胞/纳米壳聚糖骨形态发生蛋白水凝胶的研究制备,一起来看看吧! 壳聚糖基原位水凝胶包载角膜缘干细胞制备方法: 用不同浓度的高碘酸钠分别将海藻酸钠氧化,制备成不同氧化度的氧化海…

石墨烯量子点/聚吡咯/金纳米粒子/聚乙烯醇复合纳米薄膜/聚吡咯/介孔二氧化硅/石墨烯量子点纳米制备应用

小编今天分享给大家的科研内容是石墨烯量子点/聚吡咯/金纳米粒子/聚乙烯醇复合纳米薄膜/聚吡咯/介孔二氧化硅/石墨烯量子点纳米复合材料的相关研究,来看! 石墨烯量子点/聚吡咯/金纳米粒子/聚乙烯醇复合纳米薄膜的制备应用: 先将聚吡咯包覆石墨…

钡铁氧体/石墨烯/二氧化硅柔性复合微球/石墨烯/二氧化硅双杂化壁材修饰聚苯乙烯微球的性能

下面整理了钡铁氧体/石墨烯/二氧化硅柔性复合微球/石墨烯/二氧化硅双杂化壁材修饰聚苯乙烯微球的性能分析,和小编来看! 钡铁氧体/石墨烯/二氧化硅柔性复合微球的性能测试: 用溶胶-凝胶法制备Z型钡铁氧体,将还原氧化石墨烯与Z型铁氧体复合制得…

C语言基础之——指针(下)

前言:本篇文章将继续讲解有关指针的剩余基础知识。 学无止境,一起加油叭!! 目录 一.指针运算 1.指针 - 整数 2.指针的关系运算 3.指针 - 指针 二.指针与数组 三.二级指针 四.指针数组 总结 一.指针运算 指针运算包括以下三…

路由器密码破解记

2019独角兽企业重金招聘Python工程师标准>>> 前言:寝室的路由器一直被徐**同志控制着,不知道密码,有时要开放一台电脑供外网访问,或者要弄端口映射等很不方便,于是我策划了一次路由器密码破解计划。 首先&a…

关于破解路由器密码

http://daily.zhihu.com/story/3603866?utm_campaignin_app_share&utm_mediumAndroid 先看看上面的那个文章 ------------ Evi1m0大牛破解了路由器的连接密码之后,又破解了路由器的管理登陆密码,这个过程就是一笔带过,在这里详细的说一下…

无涯教程-机器学习 - Jupyter Notebook函数

Jupyter笔记本基本上为开发基于Python的数据科学应用程序提供了一个交互式计算环境。它们以前称为ipython笔记本。以下是Jupyter笔记本的一些功能,使其成为Python ML生态系统的最佳组件之一- Jupyter笔记本可以逐步排列代码,图像,文本,输出等内容,从而逐步说明分析过程。 它有…

0基础入门C++之类和对象下篇

目录 1.再谈构造函数1.1构造函数赋值1.2初始化列表1.3explicit关键字 2.static成员2.1概念2.1静态成员变量2.2静态成员函数2.3特性 3.匿名对象4.友元函数4.1友元函数4.2友元类 5.内部类6.再次理解类和对象 1.再谈构造函数 首先我们先来回忆一下构造函数: 构造函数是…

付费上班,你听说过吗?

众所周知,打工人上班是要拿工资的,哪怕工资再少,也是对打工人劳动的报酬。 然而,最近职场上出现了一个新概念,叫做“付费上班”。什么意思呢?你在公司给老板打工,老板不但不需要给你钱&#xff…

推荐几个适合上班摸鱼的神操作!

俗话说“上班摸鱼一时爽,一直摸鱼一直爽”,"今天,你摸鱼了吗?" 人不是机器,在工作中难免会有疲劳的时候,据权威研究表明,人的专注忍耐极限是2小时(我说自己怎么工作一会就…

花5分钟判断,你的Jmeter技能是大佬还是小白!

jmeter 这个工具既可以做接口的功能测试,也可以做自动化测试,还可以做性能测试,其主要用途就是用于性能测试。但是,有些公司和个人,就想用 jmeter 来做接口自动化测试。 你有没有想过呢? 下面我就给大家讲…

潮流玩具行业研究:肇始于童心,进阶于品牌

遍览海内外同行,我们认为依赖外部IP授权的模式难以诞生伟大的潮玩品牌,打造原创IP才是获得持久生命力与高利润率的进阶之路。原创潮玩公司需要积极开拓原创IP,实现从“个别潮玩形象”到“系列潮玩IP”,再到“潮流品牌IP”的三级跃…

361度:聚焦主业品牌加速升级,童装业务打造第二增长极

来源:猛兽财经 作者:猛兽财经 猛兽财经获悉,太平洋证券近期发布研报给予361度(01361)“买入”评级,太平洋证券在研报中称,361度作为国内第四大国产运动品牌,深耕大众运动市场20载&a…

直流无刷电机工作原理及有感方波控制

BLDC方波控制 BLDC工作原理BLDC换向驱动过程有感控制模式 BLDC工作原理 首先要知道,BLDC转起来是基于什么原理 BLDC包括定子(线圈)和转子(永磁体),线圈要通电,通电的线圈具有磁场,该…

传统进销存软件上云势在必行

随着移动互联网的迅猛发展,云服务也是整个社会发展的趋势。传统进销存软件上云势在必行。云端进销存数据安全,操作方便快捷,大大提升工作效率,帮助老板随时随地做生意,也为以后扩大公司经营打好基础! 传统软…