Memory Space: 存储空间
一种可编程逻辑架构为实现灵活的控制和数据流结构提供了坚实的基础,从而可以为诸如数据包处理等多种通信操作提供高吞吐量。但是其他FPGA架构中的传统方法仍然受到了许多限制,难以达到下一代5G和数据中心网络设备所需的性能等级。
Achronix Speedster7t系列FPGA通过一种平衡的架构克服了这些限制,其结果是在计算密度和数据传输能力上都有重大改进。
Speedster7t系列中的第一款FPGA器件AC7t1500提供了一系列高速接口,包括可分段(fracturable)以太网控制器(支持高达400G的速率)、PCI Gen 5端口和多达32个SerDes通道,其速率高达112 Gbps。AC7t1500器件是首款部署多通道GDDR6存储器接口的FPGA,它满足了需要高速缓存海量数据和存储大型查找表的通信系统的需求。除了可编程逻辑架构采用的面向位(bit-oriented)的布线结构外,这些外围设备还通过一个智能二维片上网络(NoC)进行互连。因此,Speedster7t FPGA是第一款能够实现太比特以太网(TbE)交换功能的器件,对于数据中心、网络和电信基础设施提供商来说,这是一项关键的赋能技术。
这种架构使得网络设计再向前更进一步成为了可能。例如,它集成的面向矩阵的算术单元可实现网络内机器学习。使用诸如深度学习或更简单的统计技术等技术,网络设备可以分析数据流量模式,以观察和增强通过网络的数据包流量,并对不断变化的情况作出快速反应。
针对性能而优化的Speedster7t架构
在通信和网络中,对任何FPGA的关键要求是支持最新协议的密集I / O需求。Speedster7t系列FPGA通过在器件的I / O环中实现的全套硬件I / O控制器来满足了这一需求,包括400G以太网、PCI Gen 5和GDDR6接口。
为了避免由于需要将一些核心功能置入可编程逻辑而造成的瓶颈,Speedster7t FPGA提供了完整的400 Gbps以太网MAC。这些MAC处理前向纠错(FEC),支持400G配置的4×100G和8×50G选项。但是要充分利用这些功能,FPGA架构还需要更多的东西 —— 一个能释放其全部性能的互连框架。
通常来讲,FPGA已经使用了通过可编程互连来实现的超宽总线,以使高速串行通道与内核中可编程逻辑的处理能力相匹配。互连矩阵的可任意编程性质限制了数据在逻辑模块之间的传输速度。为了弥补这种速度上的代价,从事网络类设计的FPGA用户经常采用极宽的总线——通常宽达1024位——这些总线是由面向位的互连矩阵汇聚合成。例如,在传统的FPGA架构中,为实现400Gbps所需的总线宽度将需要2048位(运行速率为642MHz),或1024位(运行速率为724MHz)。如此宽的总线难以布线,因为它们会消耗FPGA架构内大量的布线资源。其结果是,即使在最先进的FPGA中,也不太可能用所需的时钟速率来处理输入数据并实现时序收敛。
Speedster7t架构通过提供一个聚合带宽可高达20 Tbps的多级NoC层级化结构,消除了由于需要将高速I/O通道直接连接到以较低时钟速率运行的可编程逻辑所造成的瓶颈。与采用FPGA逻辑阵列实现互连方式相比,NoC不仅在速度上有了巨大的提升,而且NoC还能够在不消耗任何FPGA可编程资源的情况下传输大量的数据。内部NoC不仅提供了更高的带宽,Speedster7t系列FPGA中的智能连接机制还简化了将数据从NoC端口传输到逻辑阵列中的任务。
NoC有两个主要部分。NoC的外部设备部分负责PCIe Gen 5接口、内存控制器和核心FPGA逻辑阵列之间的数据传输。NoC的另一部分由在FPGA结构顶部运行的行和列组成。NoC提供双向的、256位宽的水平和垂直通道,这些通道在可编程集群之间运行。每个NoC行或列可以同时在相反方向上以512 Gbps的速率处理数据流。为了最大限度地利用基础架构及其在Speedster7t器件上快速分发数据的能力,NoC还直接连接到片上400G以太网控制器,并采用智能数据流分配策略,通过易于实现的256位宽接口,沿NoC通道将数据流划分为并行的可编程逻辑集群组。
NoC数据模式
为了实现400 Gbps的性能,设计人员可以使用一种称为数据包模式的全新处理模式,在这种模式下,传入以太网的数据流被重新排列(如图9所示)成四个较小的32字节的数据包。这些数据包在四条独立的256位总线上以506MHz的频率运行。这种模式的优点包括:当数据包结束时,浪费的字节更少;并且数据可以并行传输(前后相接),而不是必须等到在第一个数据包完成传输后才开始第二个数据包的传输。
对于运行在分组化数据上的典型网络应用,每个模块可以对其接收到的数据包报头进行分类和标记,并通过调用NoC接口的服务来连接片外GDDR6或DDR4存储器,将不需要进一步处理的工作负载卸载到外部存储器的缓冲区存储。对每个数据包的处理完成后,通过NoC引导来自外部和内部缓冲区的数据流,将必要的数据传送到相关的以太网出口端口。因此,许多操作并不需要调用FPGA逻辑阵列中的资源,并且可以充分利用NoC和以太网端口之间的直接连接。
图9:数据包模式(Packet Mode)下的数据总线重新排列
图10:使用数据包模式(Packet Mode)的400 Gbps以太网
通过NoC通道的数据分发也可以采用非数据包化的模式来完成,以支持目前在以太网上使用的、尽可能多样化的协议,例如5G系统中的eCPRI,并帮助设计人员避免在逻辑架构中不得已去创建超宽总线。