首页 理论教育PCI总线概述,现场总线及应用技术

PCI总线概述,现场总线及应用技术

【摘要】:PCI总线是由Intel公司提出的。PCI总线不是由ANSI通过的标准,但由于它是由厂家自发制定执行的标准,具有众多的优点,拥护者,执行者众多,成了事实上的标准。PCI总线共有100个引脚,如果只作为目标设备,至少需要47条,如作为主设备则需要49条。本设计使用位命令字,其定义如下:3.PCI总线基本协议PCI上的基本总线传输机制是突发成组传输。

1.PCI总线的发展和基本特点

PCI总线的英文全称为Peripheral Component Interconnect Special Interest Group,简称PCISIG,即外设部件互连。PCI总线是由Intel公司提出的。IBM公司为保护自身的利益,将计算机总线由ISA总线升级到MCA总线,且没有对外公开总线的技术标准。于是,Com-paq、AST、Epson和HP等9家公司在1988年联合推出了一种兼容性更强的EISA总线。到了1991年下半年,Intel公司首先提出了PCI总线的概念,并与IBM、AST、HP和DEC 100多家公司联合共谋计算机总线的发展大业,于1993年推出了PCI局部总线。PCI总线不是由ANSI通过的标准,但由于它是由厂家自发制定执行的标准,具有众多的优点,拥护者,执行者众多,成了事实上的标准。现在,最新的PCI规范版本是2.3。

PCI总线宽度32位,可升级到64位;最高工作频率为33 MHz,支持猝发工作方式,传输速率更高;低随机访问延迟(对从总线上的主控寄存器到从属寄存器的写访问延迟为60 ns);处理器/内存子系统能力完全一致;隐含的中央仲裁器;多路复用体系结构减少了引脚数和PCI部件;PCI扩展板单独工作在ISA、EISA或MC系统中,减少了用户的开发成本。

对PCI扩展卡及元件,能够自动配置,实现设备的即插即用;处理器独立,不依赖任何CPU,支持多种处理器及将来待开发的更高性能处理器;支持64位地址;多主控制允许任何PCI主设备和从设备之间进行点对点访问;PCI提供数据和地址的奇偶校验功能,保证了数据的完整性和准确性。

在一个PCI应用系统中,如果某设备取得了总线控制权,就称其为主设备;而被主设备选中以进行通信的设备称为“从设备”或“目标设备”。对于相应的接口信号线,通常分为必备的和可选的两大类。PCI总线共有100个引脚,如果只作为目标设备,至少需要47条,如作为主设备则需要49条。利用这些信号便可处理数据、地址,实现控制、仲裁机系统功能。

信号类型共分为5种,分别是IN、OUT、T/S、S/T/S和OD。按信号的作用不同,又把信号分为系统信号(2个)、地址和数据信号(37个)、接口控制信号(7个)、仲裁信号(2个)、错误报告信号(2个)、中断信号(4个)、高速缓存支持信号(2个)、64位扩展信号(39个)和测试信号(5个)等。

2.总线命令字

PCI的总线命令字有四位,64位扩展位,命令字有8位。本设计使用位命令字,其定义如下:

978-7-111-55649-7-Chapter04-101.jpg

3.PCI总线基本协议(www.chuimin.cn)

PCI上的基本总线传输机制是突发成组传输。一个突发传输由一个地址器和一个(多个)数据器组成。PCI支持存储器空间和I/O空间的突发传输。这里的突发传输是指主桥,位于主处理机和PCI总线之间,如图4-38所示。可以将多个存储器写访问在不产生副作用的前提下合并为一次传输。一个设备通过将基址寄存器的预取位置1,来表示允许预读数据和合并写数据。一个桥可利用初始化时配置软件所提供的地址范围,来区分哪些地址空间可以合并,哪些不能合并。当遇到要写的后续数据不可预取或者一个对任何范围的读操作时,在缓冲器的数据合并操作必须停止并将以前的合并结果清洗。但其后的写操作,如果是在预取范围内,便可与更后面的写操作合并,但无论如何不能与前面合并过的数据合并。

978-7-111-55649-7-Chapter04-102.jpg

图4-38 计算机的PCI总线示意图

只要处理机发出的一系列写数据(双字)所隐含的地址顺序相同,主桥路总是可以将它们组合成突发数据。例如,若处理机的写顺序是DWORD0、DWORD2、DWORD3,那么主桥路即可将它们组合成一次突发传输。PCI的突发顺序可以是DWORD0、DWORD1、DWORD2到DWORD3结束,中间可插入位访问的DWORD1(双字),只要对应该双字的字节使能信号不触发即可。合并的原则是只要后面的DWORD地址比前面的高就行。当读操作不会在被寻址的从设备上引起副作用时,桥路便可将单个的处理机读请求转变为一次突发读。

配置空间是PCI总线的一大特色,它主要定义了PCI从设备的编程模式以及寄存器结构空间的使用规则,遵守这些规则,就可以正确地读写设备使用的数据。PCI的配置空间是长度为256字节的一段内存空间,前64个字节(头域)包含PCI接口的信息,可以通过它来访问PCI接口;剩下的192个字节是设备特定的。配置空间的头部被分成两部分,前16字节对于所有类型的设备或适配器定义都相同,剩下的48字节根据设备支持的基本功能不同而结构布局也不同。

PC上电时,加电软件需要在启动设备之前建立恒定的地址映像,它需要决定系统中有多少内存以及系统中需要多少I/O控制器地址空间。决定之后POST软件把I/O控制器映射到适当的位置执行系统引导,使设备独立于映射,为此设立了基地址寄存器,基地址寄存器位于配置空间的预定义头域位置。所有基地址寄存器的0位只读,用来确定寄存器是映射到内存还是I/O空间。映射到内存空间的基地址寄存器必须在0位上返回0,映射到I/O空间的基地址寄存器必须在0位上返回1。

在PC上电期间,系统的BIOS发现有新的PCI设备产生时,读取该PCI设备的配置需求后根据系统资源的情况给该PCI设备分配相应的资源。在PCI板卡上所扩展的存储器或者I/O控制器的映射地址空间的基地址就存放于配置空间的基地址寄存器中。利用该基地址就可以对扩展的存储器或者I/O控制器进行控制。

PCI规范除了对信号及信号的时序关系有严格的要求外,还有严格的电气规范和机械规范。电气规范定义了所有PCI元件、系统和扩展卡的电气特性和规定。PCI电气规范定义了5V和3.3V两种信号环境,5V元件可工作在3.3V的环境中,反之亦然。