PCI Express交换及桥接芯片的设计
交换芯片扩展到桥接,Gen 2提供简化的机会
当I/O互连世界从PCI过渡到PCI Express (PCIe)时,桥接芯片扮演着一个关键角色:为了允许设计人员继续在基于PCIe的系统使用PCI及PCI-X。一旦大多数这些端点像预期那样一开始就使用PCIe,则由桥完成的互连将由交换芯片完成,而桥接器将使PCIe领域仍可采用老的PCI设计。
此次转换带来另外一个变化,设计正在向PCIe Gen 2及5GT/s性能移植,以实现下一代互连。一些公司已经决定称这些PCIe交换芯片为"桥"。
PCIe至 PCI桥接功能的展望
传统的PCI总线提供一种低成本、稳健且清晰的互连标准。对于大多数应用,从PCI向PCIe过渡降低了成本及功耗,需要更少的引脚数量,从而具有更小的外形和更强的性能。
于是,系统板及芯片组现在一般都有几个PCIe槽和有限的PCI连接。PCIe至PCI桥可以在系统板及升级卡上提供额外的PCI 或 PCI-X槽。这可以使用普通的"前向模式"桥配置完成。一些桥也提供"反向模式"配置选项,其允许从已有PCI槽生成PCIe槽。这对更新老主板很有用。
从Gen 1到Gen 2
PCIe Gen 2使用相同数量的线提供高达两倍的最大吞吐量,需要在两个标准之间进行桥接。此处,交换芯片可以用作桥,如图1所示。其显示了在根联合体处带两个PCIe端口的Gen 2服务器芯片组,一个端口(x8端口)连接到Gen 2交换芯片。
图1 Gen 2交换芯片用作从Gen 1 I/O到Gen 2根联合体的桥
32线交换芯片配置有6个端口--一个上行x8 Gen 2端口及5个下行端口,下行都是x4 Gen 1端口。因此,交换芯片用作从Gen 1 I/O到Gen 2根联合体的"桥"。
相似的系统可以进行从Gen 2 I/O到Gen 1根联合体的反向类型桥接。因为交换芯片的上行端口仅仅运行在Gen 1模式,需要使用两倍的线路在根联合体中保持相同带宽。另一方面,因为下行端口仅仅运行在Gen 2模式,每个槽只需要两条线用于获得相同的I/O带宽,如图1所示,其使用x4 Gen 1端口。
PCI至PCI桥经常用于建立或添加PCI槽,允许从主机输出到多个端点。图2中,左侧卡32位33MHz总线的最大吞吐量是125Mb/s,其中右侧的x16 Gen 2槽提供8Gb/s。
图2 PCI交换芯片可以取代桥用于增加输出
图形适配器正在发展,可以为不断增加的复杂游戏及视频提供更高的性能。一种方法是设计人员通过在单卡上部署多个GPU实现。这是输出使用该模型的另外一个示例,但连接到GPU的下行端口是x16,可以获得最大带宽。此示例中,需要注意:在这些双GPU卡中的相关文献中,输出交换芯片经常指一个"桥",容易在I/O领域造成混淆。
在其他应用中,如光纤信道主机总线适配器(HBA),不需要x16 Gen 2链路的全部带宽(到目前为止)。然而,使用Gen 2链路可以使用更少的线路获得给定带宽,降低引脚数量及板空间,简化布局及成本,并可以得到更小的外形。
对于操作系统,PCIe交换芯片像一个桥
当PCIe交换芯片用于系统中根联合体的输出时,对于操作系统来说,每个交换芯片端口将像一个桥头,如图3所示。这反映了PCIe保持与PCI软件向后兼容性的能力,因此,如果随着接口的改变功能没有增加,则从PCI到PCIe移植需要新的驱动程序。
图3中拓扑可以在两种情况下观察。在老PCI系统中,系统通过主桥到三个桥下行输出,可以允许几个I/O设备聚集到系统主机总线上。如果需要域隔离,则部署非透明的(NT) PCI至PCI桥。
图3 PCIe交换芯片形成一个桥架构
如果标准PCI至PCI桥允许主机看到后面的端点,则NT桥看起来就像一个到主机的端点,并且可以防止主机列举NT桥后面的设备。NT桥允许打开窗口以交换数据,同时隔离其后的处理器及内存空间。
透明桥允许系统以电气隔离单独的总线,这些桥在配置状态寄存器(CSR)中使用1型头以表示存在额外设备下行。
而NT桥保持处理器域的电气及逻辑隔离。通过使用地址转换,NT桥将处理从一个桥一侧中转到另外一侧。他们使用CSR中的0型头以终止被主机发现。
带交换芯片的非透明桥接
至PCI桥,当今,许多PCIe交换芯片允许一个端口配置为一个NT"桥",如图4所示。此操作与NT桥一样,只有这时该功能执行为一个交换芯片端口的配置选项。
图4 PCIe故障恢复系统可以利用非透明配置
如果应用中交换芯片已经取代传统桥,则此应用为双主机故障恢复系统。如图4所示,每个系统中配置两个CPU,一个配置为主机,另外一个作为备用机,当主机发生故障时才使用。NT桥可以提供备用机和主机CPU间的域隔离。
除双主机故障恢复系统外,使用NT桥接的应用包括带嵌入CPU的插卡,如网络安全处理器、RAID控制器及线卡。
交换芯片不止用于桥接
除了取代桥