随着现代电子技术、计算机技术的发展,各种总线应运而生。微型计算机的体系结构也发生了显著变化,如CPU运行速度的提高,多处理器结构的出现,高速缓冲存储器的广泛应用等,都要求有高速的总线来传输数据,从而出现了多总线结构。在多总线结构中,PCI总线以其速度高、可靠性强、成本低及兼容性好等性能,在各种总线标准中占主导地位。
1 PCI总线的特点及系统结构
PCI总线是一种兼容性最强、功能最全的计算机总线。他可同时支持多组外围设备,且不受制于处理器,为CPU及高速外围设备提供高性能、高吞吐量、低延迟的数据通路。PCI支持5 V及3.3 V的通信环境,以反射波作为通信基础。当入射信号从无终端方向反射回来之后,反射波经过结构性干扰与入射波合成一体,完成电压与电流的驱动任务,因此PCI又称“非终端式传输总线”。概括起来,PCI总线有如下主要特点:
(1)在全部读写传送中可实现突发传送。
(2)并行总线操作。
(3)隐式仲裁。
(4)访问速度快。
(5)软件透明。
(6)自动配置。
PCI是一种高性能32/64 b地址数据复用总线,他在高度集成的外围控制器件、外围插件板和处理器/存储器之间作为互连机构应用。PCI总线不仅可以应用到低档至高档的台式系统上,而且也可应用在便携式机及至服务器的范围中。在一个PCI系统中,可做到高速外部设备和低速外部设备共享,PCI总线与ISA/EISA总线并存,其系统结构如图1所示[1]。
2 PCI总线信号与命令
在一个PCI应用系统中,取得了总线控制权的设备称为“主设备”,而被主设备选中以进行通信的设备称为“从设备”或“目标设备”。相应的接口信号线,通常分为必备的和可选的2大类。若只作为目标设备,至少需要47条接口信号线,若作为主设备,则需要49条。利用这些信号线可处理数据、地址,实现接口控制、仲裁及系统功能。面向主设备与目标设备综合考虑,并按功能分组将这些信号表示。
总线命令用来规定主、从设备之间的传输类型,他出现于地址期的C/BE[3∶0]#线上。当一个主设备获得PCI总线的拥有权时,他可启动表1[2]的任何一种交易类型。在一个交易的地址期C/BE[3∶0]#用于表明交易命令和类型。
3 PCI总线传输协议
PCI总线对协议、时序、负载、电气特性及机械特性等技术指标均有严格的规定和要求。下面简要介绍PCI总线的基本操作规则(或协议)[1]:
(1)基本的总线传输机制:一次突发传输包括一个地址期和一个或若干个数据期。
(2)除RST#,INTA#~INTD#之外的所有信号都是在时钟的上升沿被采样。
(3)PCI总线上数据传输基本上都由FRAME#,IRDY#和TRDY#三条信号线控制。
(4)当FRAME#和IRDY#都无效时,接口处于空闲状态。FRAME#信号建立后的第一个时钟前沿是地址期,在这个时钟前沿上传送地址和总线命令;下一个时钟前沿开始一个或若干个数据期。IRDY#和TRDY#有效的时钟前沿进行一次数据传输。
(5)无论是主设备还是目标设备,一旦承诺了数据传输,就要进行到本次传输完成。
(6)FRAME#撤销而IRDY#建立,表示主设备准备好了最后一次数据传输,等到目标设备发出了TRDY#信号,就标志着最后一次传输的完成。
4 PCI总线配置空间
PCI总线配置空间的目的是提供一个合适的配置设备的集合,使其满足当前和未来系统配置特性的需要。配置空间是一个容量为256 B并具有特定记录结构的地址空间。该空间分为头标区和设备相关区2部分。一个设备的配置空间不仅在系统自举时可以访问,而是在其他任何时间内也是可以访问的。软件必须使用I/O,通过进行内存的存取来访问设备配置空间[2]。
头标区的各个字段用来惟一地识别设备,并使设备能以一般方法控制。头标区有64 B,分为2部分:前16 B的定义对任意类型的设备都相同,剩下的48 B则随各设备支持的功能有所不同,其结构如图3所示[2]。
基于PCI总线的设备,都必须在头标区内提供制造商ID、设备ID、谬令和状态。其他寄存器的设置则可根据设备的功能进行选择(如做为保留寄存器)。
任何因设备而异的寄存器都不在这个头标区,而必须安排在64~255所对应的地址空间。所有多字节的数据字段中某些为将来使用而保留地位,软件必须小心正确地处理他们。在读取时,软件必须以适当的屏蔽来抽取定义过的位,而进行写操作时,软件必须保证在保留位的值不发生变化。 |