赞
踩
总线是一种传输信号的信道;总线是连接一个或多个半导体的电气连线。总线由电气接口和编程接口组成,对于软件设计人员来说,重点关注编程接口。
PCI(Perpheral Component Interconnect)(外围设备互联),是在桌面及更大型的计算机上普遍使用的外设总线。
PCI总线优点:
体系结构1
PCI桥用于生成PCI总线
体系结构2
每个PCI设备由一个总线号、一个设备号、和一个功能号确定。PCI规范允许一个系统最多拥有256条总线,每条总线最多带32个设备,但每个设备可以是最多8个功能的多功能板(如:一个音频设备带一个CD-ROM驱动器)。
/proc/iomem描述了系统中所有设备I/O在内存地址空间上的映射。
可以看到地址从1G开始的第一个设备在/proc/iomem中是如何描述的:
40000000—400004ff : 0000:00:1f.1
这是一个PCI设备,40000000—400004ff 是它所映射的内存地址,占据了内存地址空间1024 bytes的位置,而0000:00:1f.1则是这个PCI外设的地址,它以冒号和逗号分隔为4个部分,第一个16位表示域,第二个8位表示一个总线号。第三个5位表示一个设备号,最后是3位,表示功能
在linux系统中,可以通过 lspci 命令查看系统中的PCI设备
由下边的数据画出PCI结构图
可以得到如下结构图:
每个PCI设备都有一组固定格式的寄存器,即配置寄存器,配置寄存器由linux内核中的PCI初始化代码与驱动程序共同使用。内核在启动时负责对配置寄存器进行初始化,包括设置中断号以及I/O基址等。
寄存器组织架构图:
这些寄存器中比较重要的配置
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。