0.PCI总线作为处理器系统的局部总线,主要目的是为了连接外部设备,而不是作为处理器的系统总线连接Cache和主存储器
PXI规范是CompactPCI规范的扩展
PCI Express的接口根据总线位宽不同而有所差异,包括X1、X4、X8以及X16。较短的PCI Express卡可以插入较长的PCI Express插槽中使用。
第I篇 PCI体系结构概述
第1章 PCI总线的基本知识
PCI Express总线简称为PCIe总线,PCI-to-PCI桥简称为PCI桥,PCI Express-to-PCI桥简称为PCIe桥,Host-to-PCI主桥简称为HOST主桥。值得注意的是许多书籍将HOST主桥称为PCI主桥或者PCI总线控制器。
1)PCI总线规范定格在V3.0。PCI总线规范的许多内容都与基于IA (Intel Architecture)架构的x86处理器密切相关
2)HOST主桥的一个重要作用就是将处理器访问的存储器地址转换为PCI总线地址。
3)在1颗PCI总线树上,最多只能挂接256个PCI设备(包括PCI桥)。
4)PCI设备使用的地址可以根据需要由系统软件动态分配
5)每一个PCI设备都有独立的配置空间,在配置空间中含有该设备在PCI总线中使用的基地址,系统软件可以动态配置这个基地址,从而保证每一个PCI设备使用的物理地址并不相同。PCI桥的配置空间中含有其下PCI子树所能使用的地址范围。
6)32位/33MHz的PCI总线可以提供132MB/s的峰值带宽, PCIE可达几个GB
7)HOST主桥和PCI桥都包含PCI总线仲裁器,PCI设备通过仲裁获得PCI总线的使用权后,才能进行数据传送
8)PCI总线的外部设备,如网卡、声卡、USB扩展卡等, 显卡是AGP总线(会往PCIe过渡)
x86处理器将PCI总线作为标准的局部总线连接各类外部设备,PowerPC、MIPS处理器也将PCI总线作为标准局部总线。
在ARM处理器中,使用SoC平台总线,即AMBA总线,连接片内设备。
9)PCI总线上的设备可以通过四根中断请求信号INTA~D#向处理器提交中断请求
1.1 PCI总线的组成结构
1)HOST主桥与主存储器控制器在同一级总线上,PCI设备可以方便地通过HOST主桥访问主存储器,即进行DMA操作。
2)处理器与PCI设备间的数据交换主要由“处理器访问PCI设备的地址空间”和“PCI设备使用DMA机制访问主存储器”这两部分组成。
有几个HOST主桥,就有几个PCI总线域。
3)HOST主桥在处理器系统中的位置并不相同,如PowerPC处理器将HOST主桥与处理器集成在一个芯片中。
而有些处理器不进行这种集成,如x86处理器使用南北桥结构,处理器内核在一个芯片中,而HOST主桥在北桥中。
1.1.3 PCI设备
1) 在PCI总线中有三类设备,PCI主设备、PCI从设备和桥设备。
其中PCI从设备只能被动地接收来自HOST主桥,或者其他PCI设备的读写请求;
而PCI主设备可以通过总线仲裁获得PCI总线的使用权,主动地向其他PCI设备或者主存储器发起存储器读写请求。
2) 一个PCI设备可以即是主设备也是从设备 (叫做PCI Agent),但是在同一个时刻,这个PCI设备或者为主设备或者为从设备。
网卡、显卡、声卡等设备都属于PCI Agent设备
1.1.4 HOST处理器
HOST主桥中,设置了许多寄存器,HOST处理器通过操作这些寄存器管理这些PCI设备。
如在x86处理器的HOST主桥中设置了0xCF8和0xCFC这两个I/O端口访问PCI设备的配置空间
1.2 信号定义
1) PCI 是共享总线, 通过一系列信号与PCI总线相连,这些信号由地址/数据信号、控制信号、仲裁信号、中断信号等多种信号组成。
也是同步总线,每一个设备都具有一个CLK信号,其发送设备与接收设备使用这个CLK信号进行同步数据传递。