PCI和PCIE_No.2

本文详细解释了CPU如何通过配置过程访问PCI设备,包括扫描设备、分配地址、使用IDSEL选择设备和功能,以及操作配置寄存器的步骤。描述了TYPE0设备的地址格式和数据传输方式,展示了PCI设备配置的详细流程。
摘要由CSDN通过智能技术生成

1.CPU如何访问PCI设备

1)配置。

        a)扫描PCI设备,读取配置寄存器,获取设备种类以及设备所需要的空间

        b)分配地址范围,并将这个地址范围写入PCI设备的配置寄存器

对于PCI总线,FRAM信号为底时的第一个时钟期间,AD总线传输的是地址,在后续的时钟里,传输的是数据。

IDSEL(初始化设备选择)引脚,想要配置某个设备时,通过这个引脚来选中他。不同的桥,选中IDSEL的方式可能不同,例如,使用不同的AD引脚来连接不同设备的IDSEL引脚,以达到选中不同的设备的效果。

2)怎么访问PCI设备的配置寄存器

TYPE0(非桥设备)的配置空间如下图。

对于一个PCI设备,最多可以有8种功能,对于每种功能有256字节的配置寄存器。

通过IDSEL可以选中PCI设备,那么怎么选中这个设备的某个功能呢?又怎么选中这个功能的某个寄存器呢?TYPE0设备地址主句的格式如下图:

1)通过IDSEL选中设备

2)在ADDRESS[31::0]地址数据中,指定功能,指定寄存器

3)使用C/BE[3::0]这几个引脚来确定是读还是写

4)Get Data,包括设备种类,设备所需要的空间等

5)将分配好的地址范围写会设备

通过以上5个步骤,这个设备就被配置好了。配置好后设备寄存器里会记录自己的地址范围。后面,CPU发出的地址就会被转换为PCI空间的地址,设备发现这个地址属于自己地址空间范围内的地址时就会回应CPU。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值