【转】linux硬件和设备驱动程序1:Linux对PCI总线的支持
2010-10-14 15:32
转载自景1
最终编辑景1
12.2.1 PCI 总线的结构
如图 12-1 所示,是一个简单的 PCI 系统的逻辑示意图。每条 PCI 总线上的设备数目是有一定限制的,因此该系统使用 PCI-PCI 桥将不同的 PCI 总线粘合在一起。不同的 PCI 总线有唯一的编号,CPU 处于 PCI 0 号总线上。为了和老的 ISA 设备兼容,利用 PCI-ISA 桥可在 PCI 总线上连接 ISA 总线。利用 PCI-PCI 桥和PCI-ISA 桥,可以突破单个 PCI 总线的限制而连接许多设备。一般而言,服务器和桌面计算机的 PCI 总线拓扑结构是不同的。
我们知道,ISA 设备有两种地址空间,一种是 I/O 端口空间,另一种是存储器空间。和 ISA 设备相比较,PCI设备有三种地址空间,分别是:I/O 端口空间、存储器空间和配置空间。不同的CPU 类型对地址空间类型的支持不同,i386 处理器的 I/O 端口和存储器空间是分开的,利用不同的处理器指令操作这些地址;Alpha AXP 处理器却只有存储器空间,也就是说,端口的输入输出和内存访问的指令是一样的。因此,Alpha AXP 处理器利用一种独特的内存映射方式将部分虚拟地址空间映射为 PCI 的地址空间。
图 12-1 简单的 PCI 系统拓扑图