芯东西(ID:aichip001)
编 | 韦世玮

芯东西1月14日消息,随着RISC-V逐渐在半导体产业掀起波澜,包括三星高通英伟达和西部数据等公司在内的科技巨头也开始入局研发RISC-V架构的芯片。

然而,RISC-V架构离落地和成熟还有较长的距离,其实用性和商业价值也尚未得到验证。不管是已经拥有成熟芯片设计经验的老玩家,还是迫不及待入局的新玩家,都在不断尝试创新研发,以共同促进RISC-V生态的发展。

值得一提的是,美国密歇根大学康奈尔大学和Bespoke Silicon Group(泰勒的定制芯片研究小组)的研究人员研发了一个多核RISC-V分层加速器SoC,名为Celerity。它采用台积电16nm工艺,使用分层的加速器结构来提高高性能嵌入式系统的能效。

据悉,作为DARPA(美国国防高级研究计划局)快速电路复兴计划的一部分,Celerity目前在RISC-V的性能方面保持着世界纪录,能够实现每秒500B RISC-V指令,比以往的记录高出100倍。

目前,Celerity的开源RTL设计已在Celerity网站上提供下载。

美国芯片网站WikiChip Fuse曾对Celerity芯片的技术和架构进行解读,下面则是原文的编译分享:

一、三大主要层,集成496个核心

早在2017年的Hot Chips 29大会上,Celerity团队就已经展示了这款芯片。直到去年的VLSI 2019,该团队又进一步介绍了Celerity二代芯片的PLL(锁相环)和NoC(片上网络)。

Celerity SoC是一个多核多层的AI加速器,包括三个主要层,分别为通用层、大规模并行层和专用层。

为什么要使用分层SoC呢?原因在于,它能够在典型的CPU设计上提供更高的灵活性和功耗效率。

1、通用层。这一层几乎可以执行任何操作,例如通用计算、内存管理,以及控制芯片的其余部分。因此,研发团队集成了Free Chip Project的五个高性能乱序RISC-V Rocket内核。

2、大规模并行层。这一层集成了496个低功耗定制设计的RISC-V核心网络,这些定制核心也被称为Vanilla-5,是一种有序标量内核,其占用的空间远小于Rocket内核。

3、专用层。这一层集成了二值神经网络(BNN)加速器。

实际上,这三层都是紧密连接的,并与400 MHz的DDR存储器接口。

集成496个核心!RISC-V架构AI加速器开源,台积电16nm工艺

Celerity多核网络时钟的速度是由一个定制的PLL提供,这是一个相当简单的一阶ΔΣ数字频率转换器PLL。

它使用一个由16个数字控制振荡器(DCO)组成一个组,每个实现单元都是一个环形振荡器,其反相元件装有NAND门FCE。

因此,整个数字PPL是一个完全合成,且自动放置和布线的设计。此外,该PLL在其16nm芯片上的频率范围是10 MHz至3.3 GHz。

集成496个核心!RISC-V架构AI加速器开源,台积电16nm工艺

二、硅面积为25mm²,多核阵列复杂性降低

与许多学术项目相同,硅面积也是非常重要的一点。

Celerity整体芯片为25平方毫米(5×5),对它来说,一些关键的架构设计决策都以限制硅面积的需求为主,这在一定程度上也降低了复杂性。

Manycore架构是一个16×31的Vanilla-5 RISC-V小型内核阵列,它的第32行用于外部主机,且该主机用于与芯片上的其他组件进行接口。例如,它会将消息或数据发送到大型Rocket内核中进行最终处理。

此外,它的整个网格为3。38mm×4。51mm(15。24mm²),约占整个芯片的61%。Vanilla-5核心是5级有序流水线RV32IM核心,支持整数和乘法扩展。

在硅芯片上,这些核心能够达到1.4 GHz,比研发团队在Hot Chips 29上展示的第一个硅芯片还要高出350 MHz。

集成496个核心!RISC-V架构AI加速器开源,台积电16nm工艺

为了降低多核阵列的复杂性,Celerity使用了分区的全局地址空间、单芯片数据包和远程存储编程模型。

其中,它的阵列利用了全局分区地址空间(GPAS),用32位地址方案将整个内存地址空间映射到网络中的所有节点上,而非利用高速缓存。这一方法不需虚拟化或转换,极大地简化了设计。

研发团队表示,与等效的一致性缓存系统相比,这一设计能够将区域开销降低20倍。

值得一提的是,由于该多核阵列的目标工作负载是AI加速,因此它能够采用显式分区的暂存器存储方案,能够实现高度并行且定义明确的独立流模式。

与此同时,对于这类代码,控制存储器局部性的能力是较为有利的,阵列中的每个核都可以自由执行加载,并存储到任何本地地址。

然而,它只能执行对远程地址的存储。没有远程负载意味着它们将路由器面积减少了10%,并且由于远程存储可以进行流水线处理,因此它能够防止流水线停顿。

这类远程存储编程模型方案允许它们使用数据网络和credit计数器网络,以管理未完成的存储。

此外,它的内存映射扩展到阵列底部的16个路由器停靠点,能够让消息进出多核阵列,到达芯片上的大核以及其他外设。

集成496个核心!RISC-V架构AI加速器开源,台积电16nm工艺

三、时钟频率仅次Kilocore,CoreMark测试超80万

实际上,Celerity并没有使用常见的大规模并行处理系统中的一项关键技术——Wormhole Routing,而是将地址和数据合并到单个flit数据包中,摆脱了发送数据和元数据都需要的头部或尾部信息。

另外,由于没有保留的路由,它也摆脱了HOL阻碍。每个flit均为80b宽,其包括控制位16位、数据位32位、节点地址位10位、存储器地址位22位。

Flit节点地址保留了将数据发送到任何目的地的能力,仅将单个flit注入到网络中,因此可以使用有序管道在每个周期中执行一个存储。

集成496个核心!RISC-V架构AI加速器开源,台积电16nm工艺

在多核阵列中的496个节点中,每个节点都有一个路由。路由本身在每个基本方向(N,S,E,W)的输入处都包含两个元素的FIFO,并在网络拥塞的情况下用作临时存储的控制处理器。

研发人员使用循环仲裁(round-robin arbitration)来确定数据包的优先级,以在每个周期对每个方向进行仲裁。同时,他们还使用尺寸顺序的布线,在一个方向上减小偏移,然后再移动到另一方向。

通过这一简单的设计,整个路由就能够实现单级设计,而节点之间也没有管道寄存器。也就是说,它每跳只需要一个周期。

在数据网络和credit计数器网络方面,路由使用一个受源代码控制的credit计数器,每当一个远程存储包注入网络时,该计数器就会递减。

通过credit计数器网络返回,该网络使用与上述数据相同的体系结构,但它只包含节点地址,所以只有9位。

集成496个核心!RISC-V架构AI加速器开源,台积电16nm工艺

Celerity的研发团队曾对600 mV到980 mV的正确操作进行报告,频率从500 MHz到1.4 GHz不等。

因此,目前Celerity是时钟频率第二高的芯片,仅次于Kilocore。其中,由于封装方面的限制,Kiloecore只支持其1000个内核中的160个。

在1.4 GHz时,Celerity整个网格的最大计算能力是694.4 INT32 GOPS。由于Vanilla-5内核是RV32IM,支持RISC-V整数和乘法扩展,但不支持浮点运算,因此它的所有AI工作负载都必须进行量化。

此外,由于连接节点的路由器与核心都在相同的时钟域,每个路由器在每个周期同时支持5个flit,从而每个节点的总聚合带宽为748 Gbps,总聚合网络带宽为371 Tb/s。

集成496个核心!RISC-V架构AI加速器开源,台积电16nm工艺

但是,Celerity的研发团队在报告中并未透露任何与AI相关的常见基准测试结果,而是选择使用CoreMark(用来衡量嵌入式系统中CPU/微控制器MCU性能的标准)。

在CoreMark测试中,当Celerity达到580。25 CoreMarks/MHz时,总得分为812350。

在过去的几年中,CoreMark一直是RISC-V社区首选的测试基准。但CoreMark的问题在于,它通常会为简单的有序设计生成令人难以置信的乐观分数,但实际工作负载却表现出截然不同的结果。

鉴于Celerity研发团队的目的是设计出高度灵活的AI加速器,因此行业人士也希望他们能够进行更有参考价值的性能测试,例如MLPerf性能基准。

文章来源:WikiChip Fuse