高通第一代自动驾驶系统即Ride3.0首次在汽车行业使用了PCIe交换机,即Microchip的PM43028B1-F3EI,售价大约100美元,比SA8155P的价格还高,几乎是以太网交换机价格的4-5倍。
未来的汽车电子架构中会用到多个处理器或者说SoC,最典型的就是蔚来的4个Orin级联;或者会用到AI加速器,如高通的Ride3.0;还有可能用到5G网络云计算,如高级的V2X,还有即将与UFS展开竞争的车载SSD。大模型时代,车载大模型可能会逼近TB级,UFS已经无法负担,必须使用基于PCIe的SSD存储,这一切都需要PCIe交换机。
上图是德州仪器对未来Zonal汽车电子架构的设想,在中央存储SSD与中央ECU之间,必须用PCIe连接,也就必须用到PCIe交换机。
上图是Microchip对HPC和Zonal时代的分析。
理论上,以太网交换机也可以用来连接多个SoC,英伟达最早的双Xavier就是如此。不过,英伟达同样双Xavier的高端版本Pegasus就采用PCIe交换机,以太网的带宽远低于PCIe,新设计应该不会再有人把以太网用于芯片间的连接。
PCIe标准在不断升级,基本保持每三年提升一倍的标准。目前,以太网交换机带宽最高的是博通的BCM8958X,最高为55Gbps,也就是6.875GB/s,但芯片与芯片间带宽要求不低于50GB/s,而PCIe目前可以做到128GB/s,主流PCIe是64GB/s。
PCIe是一种高速点对点的互联方式,可以通过增加通道数来扩展带宽,不像以太网那样是固定的。PCIe是基于地址的路由,以太网是基于消息的路由,PCIe的安全性及可靠性要更高;PCIe是闭环的拓扑,以太网是开环的,PCIe类似于通讯方式,而以太网的本质是总线。
PCIe采用ACK/NAK链路层机制,ACK就是acknowledge,ACK DLLP表示TLP接收完成,NAK就是Negativeacknowledge,意思就是拒绝接收这个TLP。ACK/NAK是一种由硬件实现的,完全自动的机制,旨在保证TLP有效可靠地传输。ACK DLLP用于确认TLP被成功接收,NAK DLLP则用于表明TLP传输中遇到了错误。
发送方会对每一个TLP在Replay Buffer中做备份,直到其接收到来自接收方的ACK DLLP,确认该DLP已经成功地被接受,才会删除这个备份。如果接收方发现TLP存在错误,则会向发送方发送NAK DLLP,然后发送方会从ReplayBuffer中取出数据,重新发送该TLP。车载以太网TSN里有类似的协议栈,但那个实现起来远比PCIe系统要麻烦。
PCIe的另一个特色是NTB(非透明桥),非透明桥允许一个SoC系统直接访问另一个SoC系统的内存和外设,通常这需要交换机系统中转,NTB交换机允许直接访问,特别适合两个不同芯片或chiplet间的互联。有时候某个SoC系统内存不足,可以直接调用另一个SoC系统的内存,多个芯片就好像一个芯片在运作。
NTB由两个PCIe设备组成,每个设备的配置方式都是Type 0,并通过桥接连接。这两个Type 0 PCIe设备被称为两个非透明(NT)端点(也称为NT功能)。
NTB功能特别适合做自动驾驶的冗余系统,正常情况下,Host1访问、管理下面的设备EP。Host2不参与,处于Standby状态。当Host1出现异常时,Host2接管系统,Host2重新配置Switch,把原来的NT口配置成Upstream Port,并且重新分配、枚举PCIe设备资源。然后,Host2接管下面EP设备的访问、管理。
PCIe事务传输支持单播、组播和广播三种方式,其中以单播和广播应用最多。
单播是点对点的传输,只有一个请求者和一个完成者,同一时刻主机只能与众多子设备中的一个设备进行通信;
广播是点到面的传输,有一个请求者和多个完成者,请求者下游全局地址范围内的所有PCIe组件作为完成者,常见于消息事务的传播,比如RC广播消息,从RC发送消息给其所有下游组件;
组播是介于单播和广播之间的传输方式,有一个请求者和多个完成者,请求者下游指定地址范围内的多个PCIe组件都可以作为完成者,同一时刻允许主机向多个设备或单个设备向多个主机发送数据,用于PCIe存储器写事务或地址路由的事务。相较于单播,组播能够把数据发给一组设备,避免了发送重复的数据流,能够提升系统传输性能;相较于广播,组播具有更好的指向性和安全性。
典型PCIe交换机应用
NVMe SSD最早用于苹果手机和笔记本电脑,速度要比传统PC的SATA接口要快不少,而目前车载主要还是UFS或eMMC。UFS设计初衷主要是考虑到功耗和速度,汽车领域对功耗敏感程度要低于手机。 随着模型越来越大,对带宽要求越来越高,未来车载存储应该是NVMe SSD。NVMe从头开始设计,充分利用PCI Express SSD的低延迟和并行性,并补充了当代CPU、平台和应用程序的并行性,也有更大的命令队列深度以及更有效的中断处理,非常适合AI时代的车载存储。NVMe SSD容量基本上是TB起步。
NVMe支持长队列,可以大幅缓解并行计算时存储瓶颈问题。
典型的高级ADAS系统
典型4G/5G系统的PCIe应用
目前,车规级PCIe交换机厂商主要有两家,一家是Microchip,基本垄断市场,偏向中高端产品,另一家是瑞萨收购的PERICOM,偏向低端市场,不支持NTB。博通和Marvell也有能力推出车规级PCIe交换机,但目前还没有相关产品。
全部0条评论
快来发表一下你的评论吧 !