它会打败ARM?最强RISC-V CPU U8来了!

SSDFans 2019-12-31




在过去几年里,我们看到越来越多关于RISC-V的讨论,它已经成为Arm在嵌入式市场的真正竞争对手。事实上,我们已经看到很多供应商从Arm架构和IP设计转向开源的基于ISA授权或定制IP的 RISC-V架构。虽然许多厂商选择设计自己的微架构来取代产品中基于Arm的微控制器设计,但是一旦性能需要扩展,事情就会变得比原先更加复杂。这些问题可以通过像SiFive这样的RISC-V IP供应商来解决,他们为公司授权提供更复杂的设计(本质上类似于Arm的商业模式,不同的是它基于新的开源 ISA)。

今年10月30日的发布会是SiFive IP产品的一个里程碑,因为该公司正在揭示它的第一个乱序执行CPU微架构,承诺在现有的RISC-V核心上有一个显著的性能飞跃,并提供与Arm产品相比有竞争力的PPA指标。我们来看看新的U8系列CPU微架构,它是如何构建的,以及它承诺要交付什么。

先介绍下公司背景,SiFive由研究人员于2015年创立,他们2010年在加州大学伯克利分校(UC Berkeley)发明了RISC-V指令集。该公司的目标是开发和实现基于RISC-V ISA的CPU和IP,并生产第一个基于该技术的硬件。该公司第一个成熟的能够运行一个完整的操作系统(如Linux)的CPU IP,是在2017年发布的U54系列,从那时起,SiFive一直处于一个成功和高速增长的向上趋势。

U8系列——一个可扩展的乱序执行RISC-V CPU核心

到目前为止,如果我们正在基于一个新的ISA设计一个新的CPU,那么很正常首先会从小设计开始,然后不断迭代为我们的设计添加更多的复杂功能。SiFive的U5和U7系列是比较简单的顺序执行CPU微架构。虽然与Arm的低端和微控制器核相比,它们实现了相应功能,是非常经济的选择和替代方案,但它们确实无法胜任需要更优性能的更复杂工作负载的任务。

新的U8系列解决了这些问题,它极大地提高了新的微体系结构所能提供的性能——将U54和U74的性能提高了4-5倍,这是一个业界罕见的非常显著的性能飞跃。

新的CPU IP的性能承诺将极大地扩展SiFive和RISC-V在终端产品中的生态系统能力,并真正能够为当今和未来的嵌入式Arm产品提供替代方案。

SiFive的U8系列设计目标非常简单:与Arm Cortex-A72相比,U8系列的目标是在性能上具有可比性,同时提供1.5倍的功耗效率,并且面积只有A72的一半。虽然现在A72是Arm中比较老的产品,但是SiFive的PPA目标相对较高,这意味着U8与Arm最新一代产品具有相当的竞争力。

我们已经了解了U8微架构的关键方面,下面我们将更深入地从高层次了解新的CPU设计是如何工作的。

总体而言,U8是一个有12级流水线深度、支持3个执行单元的乱序执行CPU。这是一个非常传统的乱序执行(OoO, out-of-order)设计,这里值得注意的是核心对物理寄存器文件的使用,而不是和ARM最初设计(如A72)一样使用结构性寄存器。

要注意的是,我们涉及的微体系结构,SiFive并没有公布其确切大小。这是件很自然的事情,考虑到核心的可扩展性结构设计,用户可以根据需求改变IP的许多方面。这里我们只涉及通用U8系列微体系结构(因为每个产品(如U84)都有不同的配置)。

核心的取指单元能够以每周期16字节的速度从L1I中请求指令,并将其放入取指队列中。RISC-V 指令集架构(ISA)指令编码大小是可变的,所以不可能像Arm ISA那样映射到精确的指令数,但是如果我们假设指令大小的平均值为32位,它将对应每周期4条指令。当然,这并不奇怪,因为U8上的解码器宽度为4,将扩展指令输入到指令队列中。

这里有一件有趣的事情,指令队列只能向重命名阶段发出3条指令。取指宽度高于指令发布(issue)速率有助于防止分支错误预测和冒泡,并允许前端赶上执行后端,这也是我们在其它核心中看到的。然而,我们从来没有看到过解码器比指令发布速率更宽的实现(只有英特尔最近的Tremont微架构也符合这个特性)。除了这是为微架构平衡性做出的深思熟虑的设计决策,也许它也是解码器上一个前瞻性的实现,使我们在未来的U8设计上可能看到更广泛的可配置性。

继续到中核,我们看到一个传统的设计进入重命名阶段,然后通过一个重新排序缓冲区(ROB)和三个调度引擎进入执行管道。这里的图在指向发指令队列的箭头方面有点误导——并不是说每个指令发布队列只有一条指令,例如,核心仍然可以将最多3条指令分派到整数指令发布队列。

如果能得到核心这部分的确切结构大小,那将会很有趣,但是SiFive在演示中没有涉及这些细节。

在整数指令执行块上,我们看到它实际上由三个执行流水线组成。每一个都有自己的队列,将指令送入三个具有不同功能的ALU流水线。一个流水线只是作为一个普通的ALU,第二个流水线与分支单元共享端口,而第三个流水线是一个更复杂的可以进行整数乘除的流水线。

不幸的是,SiFive没有详细介绍浮点流水线或L/S单元。在浮点方面,就执行能力而言,事情应该相对简单,至少在U84内核上是这样。由于ISA扩展还没有最终确定,目前RISC-V还没有任何SIMD/Vector指令。SiFive解释说,这可能会在今年年底发生,U87将在明年采用新的Vector指令。

U8系列微架构最初将作为两个IP产品进行产品化——U84和U87 CPU核心:

U87将在明年晚些时候上市,而U84目前也正在最后定稿。该公司已在FPGA平台内部运行U84 IP。

与上一代SiFive核心相比,性能上的提升令人印象深刻:与ISO工艺的U54相比,新的U84在SPECint2006上的性能提升了5.3倍。当考虑允许U84工作在更高时钟的工艺节点改进时,我们在产品中看到的分代增长将更接近于7.2倍。

就PPA而言,与U7系列CPU相比,IPC增长了2.3倍,从而提高了3.1倍的性能(ISO-process)。U8系列上很多性能提升得益于主频的提升,这一代主频提高了1.4倍,核心在7nm上主频达到2.6GHz。

在7纳米工艺上,U84每个核心面积为0.28毫米²,四核加上一个2 MB L2高速缓存面积为2.63毫米²。相比之下,一个Arm Cortex-A55在麒麟980中(同样是7nm),一个核心加上128 KB的独享L2高速缓存面积为0.36毫米²。Cortex-A72的性能是A55的两倍多,考虑到SiFive承诺的与Cortex-A72类似的性能,看来SiFive的U84核心将在PPA方面极具竞争力。

最后,SiFive能够将最多9个CPU核心配置为一个具有共享L2的CPU集合。该公司IP也能够以一种异构的方式做到这一点,类似于Arm的big.LITTLE架构处理方法,将U8和U7系列甚至S系列CPU都使用到同一集合中。


结论——这是漫漫长路中的一大步

总的来说,我认为SiFive的新U8核心是公司在推动其产品和RISC-V生态系统发展方面非常重要和主要的一步。U8的关键之处在于其核心性能的大幅提升,这使得该公司能够与Arm的一些中低端核心展开激烈竞争。

我真的不希望看到U8核心应用在智能手机等产品上,坦率地说,SiFive在提高绝对性能方面还有很长的路要走。话虽如此,在物联网和嵌入式市场,我认为我们将看到RISC-V核心更快、更广泛的采用,在未来几年会看到SiFive持续的增长和兴趣。

原文链接:https://www.anandtech.com/show/15036/sifive-announces-first-riscv-ooo-




高端微信群介绍

创业投资群

AI、IOT、芯片创始人、投资人、分析师、券商

闪存群覆盖5000多位全球华人闪存、存储芯片精英

存储群

全闪存、软件定义存储SDS、超融合等企业级存储

AI芯片群

讨论AI芯片和GPU、FPGA、CPU异构计算

5G群

联网、5G技术与产业讨论

第三代半导体群

氮化镓、碳化硅等化合物半导体讨论

存储芯片群

DRAM、NAND、3D XPoint等各类存储介质和主控讨论

汽车电子群

MCU、电源、传感器等汽车电子讨论

光电器件群

光通信、激光器、ToF、AR、VCSEL等光电器件讨论

渠道群

存储和芯片产品报价、行情、渠道、供应链


想加入这些群,长按或扫描下面二维码加nanoarchplus为微信好友,介绍你的姓名-单位-职务注明群名,拉你进群。




SSDFans AI+IOT+闪存,万物存储、万物智能、万物互联的闪存2.0时代即将到来,你,准备好了吗?
评论
测量无处不在 2020-01-03 08:34
U8系列设计目标非常简单:与Arm Cortex-A72相比,U8系列的目标是在性能上具有可比性,同时提供1.5倍的功耗效率,并且面积只有A72的一半 1.5倍的功耗效率?这个有点理解费劲啊,功耗、效率一起连用的情况啊
热门推荐
相关推荐
我要评论
1
0
点击右上角,分享到朋友圈 我知道啦
请使用浏览器分享功能 我知道啦