ARTICLE DETAIL

资讯详情

深耕编程入门与网站建设的一线实战洞察。

INNOSILICON ACP系列PCIe Switch:从服务器扩展件到架构核心

INNOSILICON ACP系列PCIe Switch:从服务器扩展件到架构核心 最近给一台存储服务器重新规划PCIe资源时又想起一件挺有意思的事CPU直连的根端口永远不够用。四块NVMe加两块高速网卡插完剩下的PCIe Slot基本成了摆设最后还是要靠PCIe Switch把通道摊开。INNOSILICON的ACP系列PCIe Switch这段时间我陆续在评估板、客户方案和高密度存储设备上碰过几次整体感觉是这颗之前关注度不算高的芯片在Gen5时代开始变得绕不开。这篇文章把ACP全系列的定位、选型、技术特性和落地时那些规格书里不会写清楚的细节一起整理出来。1. 为什么这两年PCIe Switch开始频繁出现在服务器规格书里1.1 CPU根端口不够分这是绕不开的结构性问题如果你在过去两三年里装过真正的服务器而不是在PC上插一两块卡大概率已经遇到这个问题CPU上的PCIe通道数看着不少但真正按需求一分立刻就紧张。拿一颗主流服务器CPU举例64条到128条PCIe lane看起来数字不小可如今一台设备要挂的东西早就不是“两块网卡加一块RAID卡”这么简单了。四块NVMe U.2起步每块就要吃掉x4一张200G网卡就要x16AI推理卡一张又是x16如果还要接NVMe全闪阵列、HBA扩展柜、双控制器链路那点根端口根本排不过来。这时候如果把所有设备都抢着直连CPU要么牺牲带宽把x16降到x8要么干脆砍掉某几个端口。PCIe Switch解决的就是“CPU根端口数量不够”的扩展问题。它听起来很简单把CPU出来的少量端口扩展成大量可用端口。但真正把芯片摆进系统后服务器设计的自由度完全不同。我见过不少项目最终评估下来不是选更大的CPU而是选更合理的Switch拓扑原因是根端口数量比单机算力更早到瓶颈。1.2 PCIe Switch内部不是“分线器”很多人第一次接触PCIe Switch会把它想象成网线集线器或者简单信号分叉器。实际上不是。PCIe Switch内部可以理解为由多个虚拟PCIe桥Virtual PCI-to-PCI Bridge加交换调度逻辑组成它工作在事务层Transaction Layer对TLPTransaction Layer Packet做解析和转发不是简单地把上游管脚并联到下游管脚。这意味着两件事端口与端口之间的连接是“路由”出来的不同下游端口之间可以同时交换数据整颗芯片的聚合带宽按通道数线性扩展同时上游端口和下游端口不是广播关系报文需要根据地址段、BDFBus/Device/Function等信息路由到对应端口。用城市交通理解可能更直接没有PCIe Switch的服务器CPU就像市中心的小路口所有车都挤在这几个明确路口进出有了Switch相当于在市中心外围修了一座大型立交枢纽不同方向的车流各走各的匝道互不干扰整体通行效率高得多。这个差异对关键业务影响很大。比如NVMe分布式存储场景里多块盘同时读写数据包不大但并发量极高。如果靠根端口硬扩展CPU侧会频繁仲裁而一颗带多虚拟通道、支持独立仲裁的Switch可以让不同盘之间的数据流尽量并行直到汇入CPU根端口。1.3 从Gen3走到Gen5Switch的定位从“扩展件”变成了“架构核心”PCIe Switch不是新事物Gen2、Gen3时代就已经在存储系统里大量使用。只是那时关注度不高因为当时连接需求相对简单要么扩展NVMe盘位要么把单根端口从x8“切开”成多个x4。到了Gen416GT/s的单通道链路速率让x16端口的吞吐翻到约31.5GB/s一台机器如果塞满NVMe盘整机带宽总量已经相当可观。Gen5直接翻到32GT/s一个x16端口的理论单向带宽约63GB/s整机的聚合互连带宽进入Tbps级别。这种情况下PCIe Switch不再只是把端口“变多”的工具而是决定整机扩展拓扑、带宽分配和故障域隔离的核心节点。高密度AI训练服务器、DPU加速卡、双控制器存储几乎都离不开它。这也是为什么这几年看服务器规格书时“PCIe Switch”出现的频率明显变高高端机型甚至会直接在BOM里标注具体芯片系列和型号。INNOSILICON的ACP系列就是在这种背景下进入主流视野的。2. INNOSILICON ACP系列产品家族通道数、端口形态与场景定位2.1 按链路代际划分的三条产品线从我目前接触到的公开资料和实际项目来看INNOSILICON ACP系列大致覆盖三个方向ACP-E、ACP-G4、ACP-G5。名字里的E、G4、G5分别对应链路代际ACP-E走PCIe 3.0ACP-G4走PCIe 4.0ACP-G5走PCIe 5.0。这样划分的好处很直接不同年代的服务器和嵌入式系统可以用同一套芯片设计理念覆盖迁移升级时不用重新理解整个产品体系。如果只看规格“全系列”的跨度主要体现在通道数、单口最大宽度和典型功耗范围上。不同子系列都会提供多种通道数的封装版本从入门级的几十通道到高端的上百通道端口可以按系统需要拆成x4、x8、x16部分版本还支持非对称配置。这一点对系统设计非常重要后面我会专门展开。2.2 三条产品线横向对比先给一张比较直观的对比表方便后面选型时对照产品线链路代际通道数范围单端口最大宽度典型应用场景ACP-EPCIe 3.08GT/s24 ~ 48x8嵌入式计算、边缘网关、入门级NAS/阵列、工业控制ACP-G4PCIe 4.016GT/s48 ~ 96x16通用存储服务器、NVMe全闪阵列、GPU扩展箱、视频处理ACP-G5PCIe 5.032GT/s64 ~ 128x16AI训练/推理服务器、HPC节点、双控存储、核心交换背板这张表里没把功耗和延迟标死因为同一个通道数在不同配置下功耗差很多规格书里的功耗往往是特定工作负载下的平均值。选型时真正要看的是“这颗芯片能不能在你需要的端口组合下跑满所有通道”而不只是看通道总数。同样是一颗96通道的Switch配置成6个x16和24个x4对芯片内部仲裁的压力完全不同。2.3 从实际项目看每条产品线的分工ACP-E起初我没太在意真正接触后才发现它在嵌入式领域潜力不小。现在的边缘服务器、工业整机除了计算还要挂不少外设比如多路摄像头采集卡、NVMe缓存盘、万兆网卡。一颗PCIe 3.0的24到48通道Switch功耗明显比Gen4/Gen5低而且对PCB板材要求不挑剔四层、六层板都好画很多。适合那些对单位成本敏感、不需要极致带宽但确实需要把CPU有限端口扩出来的设备。ACP-G4是当下最主力的选择。企业级存储、普通GPU服务器、密集NVMe阵列48到96通道这个范围非常实用。PCIe 4.0生态已经非常成熟不少系统里的CPU、NVMe控制器本身就是Gen4接口选一颗Gen4 Switch天然能承载现有硬件。如果项目没那么激进ACP-G4可以当作稳健起步。比如一台全闪存储内部要给几十块NVMe盘提供x4链路同时还要给两个控制器留上行通道这种拓扑用一颗G4系列高通道版本能很干净地实现。ACP-G5则是给下一代平台准备的。无论Intel还是AMD的新一代CPU都把原生通道提到了Gen5AI服务器里的GPU加速卡也在往Gen5过渡。这场景下单颗芯片需要的通道数很大64到128通道是最常见的选择范围。ACP-G5的定位就是这些数据中心机型的“重载立交桥”要把多张GPU、多张DPU、NVMe盘都接下还能在满负载下不成为瓶颈。3. ACP系列核心技术特性拆解这些参数不是数字游戏3.1 端口宽度动态配置一个物理端口当几个人用PCIe Switch最基础、也最容易被低估的能力是端口宽度可以灵活配置。同一个物理端口可以在初始化阶段通过配置寄存器拆成x4、x8、x16甚至可以把一组端口按需组合。这意味着同一颗芯片在不同项目里能承担完全不同的角色这次拿它做24盘NVMe扩展下次拿它做8路GPU互联只要端口数量和代际支持都不用换封装。从系统设计角度这个特性需要和CPU的bifurcation端口细分能力一起看。有的CPU根端口支持x16拆成两个x8、四个x4有的支持得更灵活。如果CPU侧拆分能力和Switch端口配置匹配得好整机布线能简化不少。比如CPU的两个x16根端口接到一颗Switch的上游内部拆出8个x8下游端口一个48通道的Switch就能带8张x8加速卡这在很多AI推理盒子里面是非常典型的用法。另外一个容易被忽视的点是“非对称配置”的含义。PCIe链路本身包含上行和下行两组差分对物理端口通常要求对称Switch是把自己内部的通道数在不同端口之间分配。选型时一定要看清规格书所谓“支持x4/x8/x16动态拆分”通常指初始化时可以配置不是运行中随时热切换。真正做热切换需要Port Bifurcation和系统软件重新协商那是另一套完全不同的设计思路。3.2 透明桥与非透明桥单主机和多主
返回列表