如何雕刻一个16核2 GHz处理器

文章:本赫曼久伦

与设计一个16核处理器的团队一起骑行,该机构正处于高性能的数据。

我们公司(当时是Freescale,在我们加入NXP之前)面临着一个挑战:我们已经制作了8核2 GHz处理器LS2088A,并正在对初始硅进行采样,但客户总是想要更多。我们的讨论是这样的:“还要多少?”我们真的需要更多吗?而且,如果市场确实需要更多,更多什么下一步怎么办?我们必须指出市场和我们的投资组合中缺少什么,最重要的是,我们想要追求哪些新兴的应用程序和用例?

只是把更多的东西扔到下一个芯片上是一种选择,但更加衡量的方法赢得了。本文潜入LX2160A背后的思想流程,以及我们如何解决重要挑战。它可能是一个2 GHz级处理器,它可能有LS2088a的核心数量的两倍,但绝对不仅仅是“更多的一切”。我们将根据我们希望处理器SOC的应用程序来描述我们如何接近I / O接口,以及如何驱动SOC架构的方面,例如缓存,SRAM和DRAM带宽等方面。我们将讨论为什么我们在加速器和通用计算内核之间分区特定工作负载,并且在这样做时,LX2160A如何实现从无线传输协议处理到软件定义存储系统的工作负载中的性能目标,以用于云数据中心。

我们的出发点:LS2088A

LS2088A设备有8个Arm Cortex-A72内核,每个内核运行在2.0 GHz。2016年,Cortex-A72是Arm性能最高的核心。它也有一个额外的好处,那就是比它的前身Cortex-A57消耗更少的能量。一个核心能够同时提高性能和功率这两个不同的目标是很少见的。

对于每对ARM核心,我们分配了1 MB的L2缓存。LS2088A的4 MB额为4 MB,LS2088A具有1 MB的L3平台缓存。我们在LS2088A中选择了一个相对较小的L3缓存,因此我们可以尽可能多地投入到L2缓存的芯片区域,这在由核心访问时较低的延迟,因此对核心性能的影响比L3更大。要访问主内存,我们赋予LS2088A与两个72位DDR4控制器,每次操作为2.1 GT / s,加上适用于以太网数据路径的第三个36位DDR4控制器。在LS2088A的目标应用程序的网络数据包处理中,数据结构(分组数据和路由表)私有到以太网数据路径需要显着的带宽,这导致了第三DDR4控制器的存在。

LS2088A设计有16个用于外部高速I/O的SerDes通道,可以配置为支持最多4个PCIe Gen3控制器(PCIe Gen3是当时可用的最快速度),以及16个以太网mac(其中8个支持高达10gbps)。在加速方面,LS2088A具有专门的压缩、解压缩、模式匹配和安全协处理器,以及用于自主包处理的可编程AIOP(高级IO处理器)。AIOP针对的是网络路由和转发应用程序,其中以太网数据包可能要经过多个表查找和报头操作。

在这种架构下,LS2088A能够聚合CoreMark或81的SPEC CPU2006-Int约100,000的核心性能。它能够以128字节的数据包大小进行40gbps的DPDK IPv4简单转发。或者,利用AIOP,设备能够19.4 Gbps的复杂IPv4转发(复杂转发是一个用例,具有三个精确的匹配查找、一个最长的前缀匹配查找和每个包一个5元组访问控制列表查找)。最重要的是,AIOP可以完全从CPU数据路径卸载实现这个速率,而无需加载Cortex-A72内核。

新兴应用程序

对于LX2160A,我们希望为一系列新兴应用程序提供支持。虽然我们针对网络和无线基础设施优化了LS2088A,但我们希望我们的下一款产品能够在无线基础设施(正从4G LTE转向5G)、网络功能虚拟化(NFV)、移动边缘计算以及新型数据中心卸载和存储应用程序中提供良好的服务。

动态随机存取记忆体

对于这些应用程序,我们知道核心性能仍然很重要。不管应用程序的最终用途是什么,很少会看到额外的核心循环不受欢迎。除了设备的数据或网络数据包移动任务之外,NFV和边缘计算应用程序都对高级应用程序的核心性能提出了越来越高的要求。但是,如果添加了太多的核心性能,它就无法使用,因为所有这些核心都将等待访问内存子系统。通常,这被称为“撞上记忆墙”。因此,我们必须首先计算在我们的成本限制下,我们的目标应用程序需要多少DRAM带宽。我们的目标变成了:提供尽可能多的核心性能来利用带宽。

我们有一些DRAM技术可供选择:LPDDR4,GDDR,HBM和DDR4。LPDDR4提供了良好的带宽,但由于它是一种点对点技术,而不是多个芯片的概念选择共享公共数据总线,并且还因为它基本上是×32技术(每芯片的数据总线宽度)而不是DDR4的×16,×8或×4技术,可实现LPDDR4可实现的最大DRAM系统容量对于我们的需求来说太小。各种GDDR口味也提供了良好的带宽,但它们的绊脚石是它们只能实现长期顺序访问的完整带宽,在该系统中无法保证,具有核心启动的高速缓存线大小交易和潜在的小以太网数据包。

我们需要DRAM技术在核心和从核心访问时访问时,也有良好的性能(其中包括缓存线大小的事务) - 因此在DRAM技术选择中考虑这一点。我们还需要这一DRAM还可以使用小以太网数据包运行良好,如在许多应用中,系统都需要能够对可能接收的任何尺寸以太网数据包进行足够的性能来响应。在同一包装衬底上的3D堆叠DRAM也被认为是主要的SOC(例如HBM),但它将增加了大量的封装成本,并且由于DRAM需要嵌入包装中(而不是系统 -依赖设计参数),它也会限制DRAM容量。此外,由于我们的处理器进入各种应用,因此在生产之前预测内存的确切尺寸是挑战。

这就使得DDR4成为了我们的首选技术。好消息是,自从LS2088A发射以来,3.2 GT/s DDR4就出现了。因此,相同数量和宽度的DDR4接口可以提供比LS2088A 2.1 GT/s DDR4接口多50%的吞吐量。为了使我们客户的PCB设计成本和产品成本都保持合理,超过两个DRAM控制器是不可行的。因此,我们决定以3.2 GT/s的速度支持两个72位DDR4接口。

[继续阅读EDN US:核和缓存]

相关文章:

- - - - - -本全译本)是NXP数字网络的技术总监和系统架构师。本目前是在ARM技术上建立的QoriQ处理器的领先系统架构和技术要求。他已经为恩智浦(和以前飞思古尔和摩托罗拉)设计和归档低功耗产品超过15年。

留下你的评论