《PCI Express体系结构导读》随记 —— 第I篇 第2章 PCI总线的桥与配置(20)

接前一篇文章:《PCI Express体系结构导读》随记 —— 第I篇 第2章 PCI总线的桥与配置(19)

2.4 PCI总线的配置

PCI总线定义了两类配置请求,一个是Type 00h配置请求,另一个是Type 01h配置请求。PCI总线使用这些配置请求访问PCI总线树上的设备配置空间,包括PCI桥和PCI Agent设备的配置空间。

其中,HOST主桥或者PCI桥使用Type 00h配置请求,来访问与HOST主桥或者PCI桥直接相连的PCI Agent设备或者PCI桥(此时PCI桥作为一个PCI设备,接收访问其配置空间的读写请求);而HOST主桥或者PCI桥使用Type 01h配置请求,需要至少穿越一个PCI桥,访问没有与其直接相连的PCI Agent设备或者PCI桥。如图2-8所示,HOST主桥可以使用Type 00h配置请求访问PCI设备01,而使用Type 01h配置请求通过PCI桥1、2或者3转换为Type 00h配置请求之后,访问PCI总线树上的PCI设备11、21、22、31和32。也就是说,最终Type 01h配置请求(都)将会被转换为Type 00h配置请求,然后再访问PCI Agent设备。

2.4.1 Type 01h和Type 00h配置请求

(1)Type 01h配置请求

本节首先介绍Type 01h配置请求,并从PCI总线使用的信号线的角度上,讲述HOST主桥如何生成Type 01配置请求。在PCI总线中,只有PCI桥能够接收Type 01h配置请求。Type 01h配置请求不能直接发向最终的PCI Agent设备,而只能由PCI桥将其转换为Type 01h继续发向其它PCI桥或者转换为Type 00h配置请求发向PCI Agent设备。PCI桥还可以将Type 01h配置请求转换为Special Cycle总线事务(HOST主桥也可以实现该功能),本节对这种情况不做介绍。

地址周期中,HOST主桥使用配置读写总线事务将CONFIG_ADDRESS寄存器的内容拷贝到PCI总线的AD[31:0]信号线中。CONFIG_ADDRESS寄存器与Type 01h配置请求的对应关系如图2-11所示:

从图2-11中可以发现,CONFIG_ADDRESS寄存器的内容基本上是原封不动地拷贝到PCI总线的AD[31:0]信号线上的。其中CONFIG_ADDRESS的Enable位不被拷贝,而AD总线的第0位为必须为1,表示当前配置请求是Type 01h。

为了便于理解和参照,将CONFIG_ADDRESS寄存器结构图再次贴出,如下图所示:

当PCI总线接收到Type 01h配置请求时,将寻找合适的PCI桥接收这个配置信息(Type 01h配置头信息存在于PCI总线事务的地址周期中)。如果这个配置请求是直接发向PCI桥下的PCI设备时,PCI桥将接收个Type 01配置请求,并将其转换为Type 00h配置请求否则PCI桥将当前Type 01h配置请求原封不动的传递给下一级PCI总线

(2)Type 00h配置请求

如果HOST主桥或者PCI桥发起的是Type 00h配置请求,CONFIG_ADDRESS寄存器与AD[31:0]的转换如图2-12所示:

从图2-12中可以发现,此时处理器对CONFIG_DATA寄存器进行读写时,处理器将CONFIG_ADDRESS寄存器中的Function Number和Register Number字段拷贝到PCI的AD总线的第10~2位将AD总线的第1~0位赋值为0b00PCI总线在配置请求总线事务的地址周期根据AD[1:0]判断当前配置请求是Type 00h还是Type 01h,如果AD[1:0]等于0b00,表示是Type 00h配置请求;如果AD[1:0]等于0b01,表示是Type 01h配置请求。

AD[31:11]与CONFIG_ADDRESS的Device Number字段有关。在Type 00h配置请求的地址周期中,AD[31:11]位有且只有一位为1,其中AD[31:11]的每一位选通一个PCI设备的配置空间PCI设备配置空间的片选信号是IDSEL,因此AD[31:11]将与PCI设备的IDSEL信号对应相连

当以下两种请求之一满足时,HOST主桥或者PCI桥将生成Type 00h配置头,并将其发送到指定的PCI总线上

1)CONFIG_ADDRESS寄存器的Bus Number字段为0时,处理器访问CONFIG_DATA寄存器时,HOST主桥将直接向PCI总线0发出Type 00h配置请求。因为与HOST主桥直接相连的PCI总线号为0,此时表示HOST主桥需要访问与其直接相连的PCI设备。

2)当PCI桥收到Type 01h配置头时,将检查Type 01h配置头的Bus Number字段,如果这个Bus Number与PCI桥的Secondary Bus Number相同,则将这个Type 01h配置头转换为Type 00h配置头,并发送到该PCI桥的Secondary总线上。

更多内容请看下回。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

1432 - 走出迷宫的最少步数-广度优先搜索BFS

代码 #include<bits/stdc.h> using namespace std; char a[51][51]; int r,c; int fx[4]{0,0,1,-1}; int fy[4]{1,-1,0,0}; int tx,ty; struct Node{int x,y,step; }; int bfs(int x,int y){a[x][y]#;queue<Node> q;q.push({x,y,1});while(!q.empty()){Node Curre…

Maven error in opening zip file?maven源码debug定位问题jar包

文章目录 问题发现调试Maven1. 查看maven版本2. 下载对应版本的maven源码3. 打开maven源码&#xff0c;配置启动选项 启动maven debug模式进入maven 源码&#xff0c;打断点调试找jar包算账 已录制视频 视频连接 问题发现 最近使用maven分析jar包的时候遇到了一个很搞的问题。…

鸿蒙星河版启航,开发者驶入生态新征程

操作系统市场的气候已经不同以往。在鸿蒙决定不再兼容安卓之后&#xff0c;这里正欲长出一片全新的天地。 四年前&#xff0c;华为鸿蒙系统横空出世&#xff0c;彼时它还不完全与安卓和iOS的性质划等号&#xff0c;而是定义为物联网操作系统。而如今的华为鸿蒙要改写故事篇章&…

前端基础面试题大全

一、Vue 文章目录 一、Vue1、vue 修改数据页面不重新渲染**数组/对象的响应式 &#xff0c;vue 里面是怎么处理的&#xff1f;** 2、生命周期Vue 生命周期都有哪些&#xff1f;父子组件生命周期执行顺序 3、watch 和 computed 的区别4、组件通信&#xff08;组件间传值&#xf…

WordPress怎么去除jquery和CSS静态文件链接中的版本号?附2种方法

我们很多WordPress网站默认情况下所加载的jquery和CSS静态文件链接中都会带有相应的版本号&#xff0c;比如boke112百科使用的YIA主题&#xff0c;加载CSS文件时就会在链接地址后面加上?ver2.7&#xff0c;即是style.css?ver2.7 除了CSS文件会加上版本号外&#xff0c;加载主…

32 登录页组件

效果演示 实现了一个登录页面的样式&#xff0c;包括一个容器、左侧和右侧部分。左侧部分是一个背景图片&#xff0c;右侧部分是一个表单&#xff0c;包括输入框、复选框、按钮和忘记密码链接。整个页面的背景色为白色&#xff0c;容器为一个圆角矩形&#xff0c;表单为一个半透…

Python seaborn库的安装与图像的背景风格(Seaborn篇-01)

Python seaborn库的安装与图像的背景风格(Seaborn篇-01)         🍹博主 侯小啾 感谢您的支持与信赖。☀️ 🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ�…

2024美赛数学建模思路 - 案例:感知机原理剖析及实现

文章目录 1 感知机的直观理解2 感知机的数学角度3 代码实现 4 建模资料 # 0 赛题思路 &#xff08;赛题出来以后第一时间在CSDN分享&#xff09; https://blog.csdn.net/dc_sinor?typeblog 1 感知机的直观理解 感知机应该属于机器学习算法中最简单的一种算法&#xff0c;其…

Broadcom交换芯片56620架构

文章目录 架构1.系统逻辑视图2.逻辑芯片视图3.芯片框图4.MIIM&#xff08;Medium Independent Interface Management&#xff09;5.交换结构6.CAP 架构 1.系统逻辑视图 Ingress Chip作用&#xff1a; 解析报文128字节的头部&#xff08;MMU&#xff08;Memory Management Uni…

微信小程序(九)轮播图

注释很详细&#xff0c;直接上代码 新增内容&#xff1a; 1.轮播容器的基本属性 2.轮播图片的尺寸处理 index.wxml <view class"navs"><text class"active">精选</text><text>手机</text><text>食品</text><…

uniapp组件库SwipeAction 滑动操作 使用方法

目录 #平台差异说明 #基本使用 #修改按钮样式 #点击事件 #API #Props #Event 该组件一般用于左滑唤出操作菜单的场景&#xff0c;用的最多的是左滑删除操作。 注意 如果把该组件通过v-for用于左滑删除的列表&#xff0c;请保证循环的:key是一个唯一值&#xff0c;可以…

【白话机器学习的数学】读书笔记(3)学习分类(感知机、逻辑回归)

三、学习分类 目录 三、学习分类1.分类的目的2.感知机1定义2判别函数3权重向量的更新表达式4感知机的缺点 3.逻辑回归1 Sigmoid函数2 决策边界 4.似然函数&#xff08;解决逻辑回归中参数更新表达式问题&#xff09;1.对数似然函数2.似然函数的微分1.改写成复合函数求微分2.计算…

线性代数的学习和整理23:用EXCEL,VBA,python计算向量/矩阵的各种乘法:内积,点积,外积,叉积(建设ing)

目录 前言&#xff1a;EXCEL里的的向量相关计算公式 0.1 EXCEL里相关公式 0.2 先说结论&#xff1a;向量组的点乘公式和 向量组的点乘公式不一样 1 向量的点乘 (内积) 1.1 向量的点乘公式 1.2 EXCEL里向量点乘的计算 ​编辑 1.3 向量点乘的性质 1.3.1 内积的公式…

71.工作中redis的常用场景总结

文章目录 一、简介二、统计访问次数三、缓存四、分布式锁五、限流六、排行榜七、作为Session的存储器&#xff0c;存用户登录状态八、位统计九、生成全局ID 一、简介 Redis作为一种优秀的基于key/value的缓存&#xff0c;有非常不错的性能和稳定性&#xff0c;无论是在工作中&…

mysql从库重新搭建的流程

背景 生产环境上的主从集群&#xff0c;因为一些异常原因&#xff0c;导致主从同步失败。现记录下通过重做mysql从库的方式来解决&#xff0c;重做过程不影响主库。 步骤 1、在主库上的操作步骤 备份主库所有数据&#xff0c;并将dump.sql文件拷贝到从库/tmp目录 mysqldump …

【JS逆向】某居深圳登陆信息加密逆向分析探索!

某二手房深圳站点的登陆信息加密逆向分析探索&#xff0c;需要分析查找关键的加密位置&#xff0c;位置在前上部分&#xff0c;需要理解一点代码&#xff0c;往上寻找一段代码&#xff0c;加密特征比较明显&#xff0c;找到后即可调试出来&#xff01; 网址&#xff1a; aHR0cH…

电子学会C/C++编程等级考试2023年12月(八级)真题解析

C/C++等级考试(1~8级)全部真题・点这里 第1题:生理周期 人生来就有三个生理周期,分别为体力、感情和智力周期,它们的周期长度为23天、28天和33天。每一个周期中有一天是高峰。在高峰这天,人会在相应的方面表现出色。例如,智力周期的高峰,人会思维敏捷,精力容易高度集…

激光无人机打击系统——光束控制和指向系统

激光无人机&#xff08;UAV&#xff09;打击系统中的光束控制和指向系统通常包括以下几个关键组件和技术&#xff1a; 激光发射器&#xff1a;这是系统的核心&#xff0c;负责生成高能量的激光束。常用的激光类型包括固体激光器、化学激光器、光纤激光器等&#xff0c;选择取决…

基于JavaWeb+SSM+Vue智能社区服务小程序系统的设计和实现

基于JavaWebSSMVue智能社区服务小程序系统的设计和实现 滑到文末获取源码Lun文目录前言主要技术系统设计功能截图订阅经典源码专栏Java项目精品实战案例《500套》 源码获取 滑到文末获取源码 Lun文目录 目录 1系统概述 1 1.1 研究背景 1 1.2研究目的 1 1.3系统设计思想 1 2相…