0 引言
在系统设计中,设计师们面临的重要挑战是既要支持高可靠性(HA,High Availability),又要使系统尽可能简单、有效。而PCI Express、基于PCI Express的高级交换架构(Advanced SwitchingArchitecture)、基于PCI Express的QOS(Quality-Of-Service)特性以及PCI-Express非透明桥的出现,共同为这样的系统设计提供了一个非常有发展潜力的解决方案。
1 PCI Express技术简介
PCI Express技术是一个比较新的互连标准。该技术适用于高性能的芯片到芯片、板子到板子、背板和机箱之间的互连。它是PCI标准的一个演进版本,因此,在软件结构上仍保持着对PCI的兼容性。
PCI Express是基于层次化的、高速的串行通信技术。其协议栈可分为物理层、数据链路层和传输层。
其中,物理层包括低电压差分信号的高速串行接口、8B/10B编码以及AC耦合差分信号。通常把一组LVDS双绞线称为一个通道(lane),而且PCI Express允许将多个通道合并成一个更大更宽的端口,如x1,x2…直到x32。物理层接口可支持热插拔(hot-plugging)。
数据链路层可支持与临近PCI Express实体交换数据包,同时支持数据完整性(data integrity)和顺序性检查,以及数据包的确认和流量控制的能力。
PCI Express技术系统中的传输层可在主机和终端设备间传送读/写请求,并可选择性的提供传输层的端到端(end-to-end)数据包的完整性检查(CRC-32)。
一直以来,PCI Express传输系统中的物理层的速度一直在不断的提高,但是,分层结构使物理层的变化不会影响到它的上层。如PCI Express1.x标准的时钟频率是1.25 GHz,2.0标准的则为2.5 GHz,3.0标准的是4 GHz。图l所示是PCI Ex-press协议栈结构。
PCI Express的QOS可通过定义8个运输等级(TC-Traffic Classes)、八个虚拟通道(VC-VirtualChannel)、TC到VC的映射以及VC的仲裁机制来实现。
PCI-SIG组织则定义了从PCI Express串行接口到PCI/PCI-X的桥接规范。该规范可以使得当前使用PCI/PCI-X的应用系统能够平滑的转移到PCI Express。图2所示是一个典型的PCI Express系统,其中包含有根复合体(root complex)、PCIExpress交换开关(switch)、桥(bridge,PCI Expressto PCI-X,PCI Express to PCI)以及端点(end-point)等设备。
2 PCI Express非透明桥
与PCI/PCI-X一样,PCI Express本身也是开发维护一个以单一主机为中心的系统架构,但是人们一直使用非透明桥把他们用在多主机的环境中。
非透明桥的功能和透明桥很相似,其主要差别只有一点,即在非透明桥的两边都有智能设备或处理器,并且他们拥有独立的地址空间。而且,非透明桥一边的主机不能看到桥另一边的完整地址或I/O空间。每个处理器把非透明桥的另一边看做一个端点(endpoint),并把它映射到自己的地址空间。