1. 为什么PCIe Switch突然变得这么重要
1.1 CPU的PCIe通道不够用是常态
聊PCIe Switch之前,先想清楚一个问题:CPU明明已经有那么多PCIe通道,为什么还要加一颗Switch芯片?这个问题的答案,我在不少项目里反复讲过。现在的服务器CPU通道数确实不少,x86旗舰级产品能到上百条,ARM服务器CPU也有几十条。但等你把GPU、NVMe盘、网卡、FPGA、AI加速卡这些设备排进系统框图,就会立刻发现,通道数根本不够分。一张GPU就吃掉16条,一块Gen4 NVMe盘至少占4条,一张高速网卡又要8到16条,这还只是“点对点”的简单接法。CPU的根端口是有限物理资源,不像内存能靠插槽扩容,设备越接越多,路却只有那么多。
PCIe Switch解决的就是这个“路不够”的问题。它相当于在CPU和设备之间加了一台交换设备:CPU的根端口接到Switch的上游端口,Switch再把数据路由到下游多个端口,每个端口接一块盘、一张卡。这样一来,一个根端口能管几十个设备,系统扩展性一下子拉满。这也是为什么在NVMe存储阵列、AI服务器、边缘计算盒子里,PCIe Switch几乎成了标配。它不出现在产品彩页上,却在系统拓扑图里占据最核心的位置。
1.2 三种典型应用角色,帮你判断自己需不需要Switch
我习惯把PCIe Switch的应用场景分成三类,方便判断项目里到底要不要用到它。
第一类是纯扇出,最常见于NVMe全闪存储和JBOF机箱。CPU或控制器只