HOST处理器对PCI设备的数据访问主要包含两方面内容,一方面是处理器向PCI设备发起存储器和I/O读写请求;另一方面是处理器对PCI设备进行配置读写。HOST处理器访问PCI设备I/O地址空间的过程,与访问存储器地址空间略有不同。处理器必须通过HOST主桥将存储器域的数据访问转换为PCI总线事务才能对PCI总线地址空间进行访问。......
2025-09-30
PCI总线规定访问配置空间的总线事务,即配置读写总线事务,使用ID号进行寻址。PCI设备的ID号由总线号(Bus Number)、设备号(Device Number)和功能号(Function Number)组成。
其中总线号在HOST主桥遍历PCI总线树时确定。PCI总线可以使用PCI桥扩展PCI总线,并形成一棵PCI总线树。在一棵PCI总线树上,有几个PCI桥(包括HOST主桥),就有几条PCI总线。在一棵PCI总线树中,总线号由系统软件决定,通常与HOST主桥直接相连的PCI总线编号为0,系统软件使用DFS(Depth-First Search)算法扫描PCI总线树上的所有PCI总线,并依次进行编号。
一条PCI总线的设备号由PCI设备的IDSEL信号与PCI总线地址线的连接关系确定,而功能号与PCI设备的具体设计相关。在一个PCI设备中最多有8个功能设备,而且每一个功能设备都有各自的PCI配置空间,而在绝大多数PCI设备中只有一个功能设备。HOST主桥使用寄存器号,访问PCI设备配置空间的某个寄存器。
在MPC8548处理器的HOST主桥中,与PCI设备配置空间相关的寄存器由CFG_ADDR、CFG_DATA和INT_ACK寄存器组成。系统软件使用CFG_ADDR和CFG_DATA寄存器访问PCI设备的配置空间,而使用INT_ACK寄存器访问挂接在PCI总线上的中断控制器的中断向量,HOST主桥这3个寄存器的地址偏移和属性如表2-1所示。
表2-1 PCI总线配置寄存器

在MPC8548处理器中,所有内部寄存器都使用存储器映射方式进行寻址,并存放在以BASE_ADDR[12]变量为起始地址的“1MB连续的物理地址空间”中。PowerPC处理器可以通过BASE_ADDR+Offset的方式访问表2-1中的寄存器。
MPC8548处理器使用CFG_ADDR寄存器和CFG_DATA寄存器访问PCI设备的配置空间,其中用CFG_ADDR寄存器保存PCI设备的ID号和寄存器号,该寄存器的各个字段的详细说明如下所示。
●Enable位。当该位为1时,HOST主桥使能对PCI设备配置空间的访问,当HOST处理器对CFG_DATA寄存器进行访问时,HOST主桥将对这个寄存器的访问转换为PCI配置读写总线事务并发送到PCI总线上。
●Bus Number字段记录PCI设备所在的总线号。
●Device Number字段记录PCI设备的设备号。
●Function Number字段记录PCI设备的功能号。
●Register Number字段记录PCI设备的配置寄存器号。
MPC8548处理器访问PCI设备的配置空间时,首先需要在CFG_ADDR寄存器中设置这个PCI设备对应的总线号、设备号、功能号和寄存器号,然后使能Enable位。之后当MPC8548处理器对CFG_DATA寄存器进行读写访问时,HOST主桥将这个存储器读写访问转换为PCI配置读写请求,并发送到PCI总线上。如果Enable位没有使能,处理器对CFG_DATA的访问不过是一个普通的I/O访问,HOST主桥并不能将其转换为PCI配置读写请求。(https://www.chuimin.cn)
HOST主桥根据CFG_ADDR寄存器中的ID号,生成PCI配置读写总线事务,并将这个读写总线事务,通过ID译码方式发送到指定的PCI设备。PCI设备将接收来自配置写总线事务的数据,或者为配置读总线事务提供数据。
值得注意的是,在PowerPC处理器中,在CFG_DATA寄存器中保存的数据采用大端方式进行编址,而PCI设备的配置寄存器采用小端编址,因此HOST主桥需要进行端模式转换。下面以源代码2-1为例说明PowerPC处理器如何访问PCI配置空间。
源代码2-1 PowerPC处理器访问PCI配置空间
stw r0,0(r1)
ld r3,0(r2)
首先假设寄存器r1的初始值为BASE_ADDR+0x0_8000(即CFG_ADDR寄存器的地址),寄存器r0的初始值为0x8000-0008,寄存器r2的初始值为BASE_ADDR+0x0_8004(即CFG_DATA寄存器的地址),而指定PCI设备(总线号、设备号、功能号都为0)的配置寄存器的0x0B~0x08中的值为0x9988-7766。
这段源代码的执行步骤如下。
(1)将r0寄存器赋值到r1寄存器所指向的地址空间中,即初始化CFG_ADDR寄存器为0x8000-0008。
(2)从r2寄存器所指向的地址空间中读取数据到r3寄存器中,即从CFG_DATA寄存器中读取数据到r3寄存器。
在MPC8548处理器中,源代码2-1执行完毕后,寄存器r3保存的值为0x6677-8899,而不是0x9988-6677。系统程序员在使用这个返回值时,一定要注意大小端模式的转换。值得注意的是,源代码2-1可以使用lwbrx指令进行优化,该指令可以在读取数据的同时,进行大小端模式的转换。
处理器读取INT_ACK寄存器时,HOST主桥将这个读操作转换为PCI总线中断响应事务。PCI总线中断响应事务的作用是通过PCI总线读取中断控制器的中断向量号,这样做的前提是中断控制器需要连接在PCI总线上。
PowerPC处理器使用的MPIC中断控制器不是挂接在PCI总线上,而是挂接在SoC平台总线上,因此PCI总线提供的中断应答事务在这个处理器系统中并没有太大用途。但是并不排除某些PowerPC处理器系统使用了挂接在PCI总线上的中断控制器,比如PCI南桥芯片,此时PowerPC处理器系统需要使用中断应答事务读取PCI南桥中的中断控制器,以获取中断向量号。
相关文章
 
                                
                                HOST处理器对PCI设备的数据访问主要包含两方面内容,一方面是处理器向PCI设备发起存储器和I/O读写请求;另一方面是处理器对PCI设备进行配置读写。HOST处理器访问PCI设备I/O地址空间的过程,与访问存储器地址空间略有不同。处理器必须通过HOST主桥将存储器域的数据访问转换为PCI总线事务才能对PCI总线地址空间进行访问。......
2025-09-30
 
                                
                                配置Web站点单击IIS管理控制台右边栏中的“基本设置”,可以设置网站名称、应用程序池和物理路径。当然你也可以“停止”或“暂停”Web站点的服务。请与你的同学协作安装配置一台Web服务器,用于发布其他同学设计的网站,然后完成以下任务。②你可以用同一个IP地址和不同的TCP端口来标识不同的Web站点,请写出访问站点的地址格式。......
2025-09-30
 
                                
                                PCI设备与存储器直接进行数据交换的过程也被称为DMA。这两个寄存器也是PCI设备DMA控制器的组成部件。HOST主桥需要进行合理设置,将存储器的地址空间映射到PCI总线之后,PCI设备才能对这段存储器空间进行DMA操作。PCI设备不能直接访问没有经过主桥映射的存储器空间。此时PCI桥x1将结束来自PCI设备11的Posted存储器写请求,并将这个数据请求推到上游PCI总线上,即PCI总线x0上。首先PCI设备11将存储器读请求发向PCI总线x1。......
2025-09-30
 
                                
                                下面进行网络的组态,即S7-1200 PLC与HMI连网的组态。添加完HMI设备后,选择“组态网络”项,则进入到项目视图的“网络视图”画面,如图4-5所示,单击“网络视图”中呈现绿色的CPU 1214C的PROFINET网络接口,按住鼠标左键拖动至呈现绿色的KTP屏的PROFINET网络接口上,则二者的PROFINET网络就连上了,可以在“网络属性对话框”中修改网络名称。这样,S7-1200 PLC的硬件设备就组态完毕了。......
2025-09-29
 
                                
                                而桥设备的主要作用是管理下游的PCI总线,并转发上下游总线之间的总线事务。PCI总线规范将PCI主从设备统称为PCI Agent设备。PCI规范也没有规定如何设计HOST主桥。在PCI总线中,还有一类特殊的设备,即桥设备。本书重点介绍PCI桥,而不介绍其他桥设备的实现原理。PCI桥的出现使得采用PCI总线进行大规模系统互连成为可能。其中对PCI设备配置空间的访问可以从上游总线转发到下游总线,而数据传送可以双方向进行。......
2025-09-30
 
                                
                                12.4.4.3以社会生态环境效益进行配置在泥沙配置的过程中,有时很难完全满足区域承沙能力的原则,泥沙配置又没有直接的经济效益,而只是为了改善流域的生态环境,增加社会效益。......
2025-09-29
 
                                
                                本节以MPC8548处理器为例说明HOST主桥在PowerPC处理器中的实现机制,并简要介绍x86处理器系统使用的HOST主桥。如来自HOST主桥1的数据报文可以通过OCeaN直接发向HOST主桥2,而不需要将数据通过SoC平台总线,再进行转发,从而减轻了SoC平台总线的负担。囿于篇幅,本节仅介绍与HOST主桥1相关的寄存器,HOST主桥2使用的寄存器与HOST主桥1使用的寄存器类似。......
2025-09-30
 
                                
                                学习目标1.了解汽修厂的人员配置。维修工上岗后首要的事就是熟悉汽修厂,包括汽修厂各个工作岗位的人、厂内维修设备和维修厂的发展历程。大型的汽修厂由于维修工人数较多,一般分为多个小组,每个小组都有师傅、中工和小工(学徒)。汽修厂里常见的设备及辅材有手动工具、气动工具、电动工具、液压工具、五金耗材、四轮定位仪、解码器、检测线及其他检测仪器。......
2025-09-30
相关推荐