接前一篇文章:《PCI Express体系结构导读》随记 —— 第I篇 第1章 PCI总线的基本知识(1)
对于今天的读者来说,PCI总线提出的许多概念略显过时,也有许多不足之处。但在当年,PCI总线与之前存在的其它并行局部总线如ISA、EISA和MCA总线相比,具有许多突出的优点,是一个全新的设计。突出点如下:
(3)动态配置机制
PCI设备使用的地址可以根据需要由系统软件动态分配。PCI总线使用这种方式合理地解决了设备间的地址冲突,从而实现了“即插即用”功能。因此,PCI总线不需要使用ISA或EISA接口卡为解决地址冲突问题而使用的硬件跳线。
每一个PCI设备都有独立的配置空间,在配置空间中含有该设备在PCI总线中使用的基地址。系统软件可以动态配置这个基地址,从而保证每一个PCI设备使用的物理地址并不相同。PCI桥的配置空间中含有其下PCI子树所能使用的地址范围。
(4)总线带宽
PCI总线与之前的本地总线相比,极大提高了数据传送带宽。32位/33MHz的PCI总线可以提供132MB/s的峰值带宽,而64位/66MHz的PCI总线可以提供的峰值带宽为532MB/s。虽然PCI总线所能提供的峰值带宽远不能和PCIe总线相比,但是与之前的本地总线ISA、EISA和MCA总线相比,仍然具有极大的优势。
ISA总线的最高主频为8MHz,位宽为16,其峰值带宽为16MB/s;EISA总线的最高主频为8.33MHz,位宽为32,其峰值带宽为33MB/s;而MCA总线的最高主频为10MHz,最高位宽为32,其峰值带宽为40MB/s。PCI总线,提供的峰值带宽远高于这些总线,正所谓“人比人得死,货比货得扔”。
(5)共享总线机制
PCI设备通过仲裁获得PCI总线的使用权后,才能进行数据传送,在PCI总线上进行数据传送,并不需要处理器进行干预。
PCI总线仲裁器不在PCI总线规范定义的范围内,也不一定是HOST主桥和PCI桥的一部分。虽然绝大多数HOST主桥和PCI桥都包含PCI总线仲裁器,但是在某些处理器系统的设计中也可以使用独立的PCI总线仲裁器。如在PowerPC处理器的HOST主桥中,含有PCI总线仲裁器,但是用户可以关闭这一总线仲裁器,而使用独立的PCI总线仲裁器。
PCI设备使用共享总线方式进行数据传递,在同一条总线上,所有PCI设备共享同一总线带宽,这极大地影响了PCI总线的利用率。此种机制显然不如PCIe总线采用的交换结构,但在PCI总线盛行的年代,半导体的工艺、设计能力和制作成本决定了共享总线方式是当时的最优选择。
(6)中断机制
PCI总线上的设备可以通过4根中断请求信号INTA~D#向处理器提交中断请求。与ISA总线上的设备不同,PCI总线上的设备可以共享这些中断请求信号。不同的PCI设备可以将这些中断请求信号“线与”后,与中断控制器的中断请求引脚相连接。PCI设备的配置空间记录了该设备使用这4根中断请求信号的信息。
PCI总线还进一步提出了MSI(Message Signal Interrupt)机制,该机制使用存储器写总线事务传递中断请求,并可以使用x86处理器FSB(Front Side Bus)总线提供的Interrupt Message总线事务,从而提高了PCI设备的中断请求效率。
虽然从现代化总线技术的角度来看,PCI总线仍有许多不足之处,但是不能否认,PCI总线已经取得了巨大成功。不仅x86处理器将PCI总线作为标准的本地总线连接各类外部设备,PowerPC、MIPS和ARM处理器也将PCI总线作为标准本地总线。除此之外,基于PCI总线的外部设备,如以太网控制器、声卡、显卡、硬盘控制器等,也已经成为主流。
更多内容请看下回。