查看原文
其他

为什么RISC-V架构发展这么好,这么快呢?平头哥发布会随想

wolf uefiblog UEFI社区 2023-12-29
点击上方“公众号” 可以订阅哦!

出乎大众的普遍认知,RISC-V架构[1]的芯片出货量已经很大了。截至去年2022年7月,RISC-V架构芯片出货量已突破百亿颗,并预计2025年有望突破800亿颗。大家对它感知度不够,可能是目前绝大多数出货都集中在MCU(微控制单元)和IoT领域,而曝光度较高的台式机、笔电甚至服务器领域所用的CPU,成功大量出货的则几乎没有。

情况可能会在这两年有所改变。在国内国际业内伙伴的共同努力下,近期不断有消费端和服务器RISC-V架构CPU推出的消息见诸报端。

今天在上海举办的玄铁RISC-V生态大会上,不少企业也推出了基于RISC-V的产品或者计划。嘉楠科技推出商用量产芯片K230,算能推出64核RISC-V服务器芯片,英特尔也表示他们的IFS计划将提供半导体代工制造服务支持包括RISC-V的各种芯片。

大家有没有似曾相识的感觉?是的,现状像极了ARM架构七八年前的状况。当时ARM也是从低功耗低性能向高功耗高性能进攻。时至今日,已经占据了相当大的市场份额,且仍在不断攻城略地。又一个ARM故事,似乎正在重复上演。

可以说如今主流芯片指令集架构(ISA),呈现“三国争霸”的局面。相比X86的“魏”国,和ARM的“吴”国,最为羸弱的RISC-V“蜀”国,发展势头迅猛。它仅用12年就走完了X86和ARM架构30多年的发展历程。如此凶猛,让我对它最为看好。相信3到5年后,RISC-V架构的芯片将会无处不在,包括最高端的服务器CPU也会被收入囊中。看到这里,很多人都会产生一个疑问:为什么RISC-V架构发展这么好,这么快呢?

进击的RISC-V架构

开源,无疑才是那个点石成金的魔杖。正是因为开源,RISC-V架构才如有神助。

如果我们回望过去几十年的计算机产业的发展,在草蛇灰线中,会发现一个规律:那就是系统总是由封闭走向开放,而开放的尽头就是开源。软件层面,从闭源的Solaris、HP-UX、AIX 和许多 Unix 变体,从闭源Windows和Windows Server,到开源Linux独领风骚;从闭源Legacy BIOS到开源UEFI;从各种闭源的祖传中间件、数据库、应用到开源的替代品。历史不会完全重复,但却总是相似的。这一次,开源进入到硬件中的硬件,核心中的核心:ISA开放和芯片设计的开源。

2010年诞生于加州大学伯克利分校的RISC-V架构,如其名字所示,属于精简指令集(RISC[2])类型ISA,V是罗马数字五(V这里念Five),是伯克利分校的第五代架构。全新设计的ISA,从一开始就秉承两点:简单和开放免费(商业友好的BSD license)。

指令简单,是RISC类型ISA的共同特征,但RISC-V架构将其推向极致。其基本指令(RV32I,RV32E,RV64I,RV128I)只有不到50条,可以打印在一页纸上。有了它就可以实现所有的基本逻辑功能,是图灵完备的。在此之上,RISC-V采用模块化组织方式,增加了扩展指令集合(可选,还在持续扩充中):

来源:参考资料1

这里有个小技巧,我们经常看到某CPU支持RVxxx,它是这几个字母的组合。如RV64IMAFD表示它支持64位基本整数指令(RV64I)+ 整数乘除法扩展 + 内存原子操作扩展 + 单、双精度浮点数扩展。

正因为从零开始设计,并且站在前人的肩膀上,RISC-V架构的指令密度十分高:

相对压缩指令归一化数据 来源:参考资料1

相对压缩指令归一化数据 来源:参考资料1

这也意味着RISC-V能用更少的代码干更多的事情。值得指出的是,RISC-V的压缩指令(RV32C和RV64C)指令密度十分高,甚至高于嵌入式系统常用的ARM Thumb指令集,这意味着更小的size和更低的功耗。更妙的是,16位的压缩指令(RV32C)可以和32位的正常指令RV32无缝混合在一起,这是ARM Thumb指令所达不到的,提供了极大的灵活性。

RISC-V架构是开放和免费的,任何人都可以在官网[1]上下载到指令集文档和特权架构文档。指令集文档只有二百多页,相当少,这是长达几千页臃肿的IA32 User Manual所不能比拟的。说它免费,是指它不像ARM架构CPU厂家需要支付高达数千万美金的授权费,也不要几毛钱到几十块的单颗CPU Royalty费用。

RISC-V架构具有如此多的优点,自然吸引了的大批的拥趸。比较有名的有国外的SiFive,国内的香山系列、蜂鸟系列和阿里平头哥(T-Head)玄铁系列。

开源的步伐

系出名门,设计简单优雅的RISC-V,以其开放和免费,自然成为国内自主可控的新希望和研发、投资热点。如果仅仅谈开放和免费,RISC-V架构绝不是第一个,甚至连前三都不是。RISC-V如此火爆和进展神速,是和它的开源分不开的。RISC-V的开源,是从最底层的ISA、微架构设计、固件、到操作系统的全面全方位开源。其中比较有特色的是硬件芯片设计的开源。

说起开源,大家一般想到软件开源。的确,软件开源浪潮席卷全球数十年,已经无处不在,深刻地改变了全球的软件生态。可以说每个人时时刻刻都在使用开源软件,谁没有一两个手机,谁没有用过云服务呢?Linux作为开源基础软件中的翘楚,总是绕不开的。作为一个程序员,我也参与过几个开源项目,尤其是UEFI基础实现Tiano和开源固件Minnow系列。看到众多人使用它们,我深感荣幸。开源软件参与门槛较低,只要有一个电脑,一根网线和一颗希望共享的心,每个程序员都可以参与开源软件,为让这个世界更美好贡献自己的力量。

开源硬件,尤其是芯片设计的开源,难度则大得多。“硅工”相比“码农”,从业人数本来就少,在贡献者源头就差了数量级。加上门槛也高了一大截:软件编写验证在电脑上一站搞定,出了bug,改改再发一版就行了;而RTL代码编写验证困难,EDA软件和仿真工具花费巨大。如果前面验证不充分,bug进入流片环节,加上DFT设计不充分,流片后点亮失败或有严重问题无法WA,导致项目流产甚至公司倒闭的例子比比皆是。后果如此严重,这让很多公司对使用开源芯片设计顾虑重重,从而限制了开源芯片设计的广泛铺开。

RISC-V的硬件开源,吸取了之前的教训。尤其是OpenCores的经验,先下大力气制定了一套质量非常高的,开放和免费的ISA。基于此,再开源芯片设计,并辅以开源工具链和芯片设计平台,一步步降低硬件开源门槛,让更多的人可以参与进来。RISC-V国际基金会在其中也发挥了巨大作用,它不断推动各种RISC-V设计走向成熟。需要指出的是,中国企业和院校在其中参与度相当高,RISC-V基金会22位高级会员中,有12名来自中国,包括阿里巴巴、华为、腾讯、中兴等。其中,平头哥是公认投入力量最大的中国机构。

正因为如此,时至今日,RISC-V的开源芯片设计方案可谓百花齐放,我知道的就有十几种。如果从RTL代码设计语言来观察,目前有两种路线。

一种是根正苗红,出自伯克利分校的Rocket Core,它和国内包老师的香山系列,开源RTL代码都基于Chisel语言。Chisel语言有诸多优点,如面向对象,更加抽象 ,是一种高级开源硬件描述语言,也由伯克利分校发明。它抽象层级高,配置灵活,特别适用于科研和教学,但同时也学习曲线陡峭,对传统芯片设计师并不太友好。

另一种,如蜂鸟系列和平头哥玄铁系列CPU,开源RTL基于传统的Verilog语言,成熟度高,更重要的是对传统芯片设计师友好,更容易产品化。特别需要指出的是Chisel也可以转换成Verilog,但可读性急剧降低,得不偿失。

个人比较看好基于Verilog的开源方式。我们以平头哥玄铁系列为例:

来源:2022年云栖大会

平头哥开源了四款RISC-V处理器,分别是玄铁E902,E906,C906,C910:

来源:参考资料4

不仅如此,还开源了无剑100(wujian100,图中黄框)RISC-V芯片设计平台,支持通过EDA工具进行前端仿真和制作FPGA进行测试。

如果我们看性能最高,并支持多核架构的RISC-V处理器玄铁C910,可以发现,它的开源十分彻底:

|--C910_RTL_FACTORY/

 |--gen_rtl/     ## Verilog source code of C910

 |--setup/       ## Script to set the environment variables

|--smart_run/     ## RTL simulation environment

 |--impl/        ## SDC file, scripts and file lists for implementation

 |--logical/     ## SoC demo and test bench to run the simulation

 |--setup/       ## GNU tool chain setting

 |--tests/       ## Test driver and test cases

 |--work/        ## Working directory for builds

 |--Makefile     ## Makefile for building and running sim targets

|--doc/           ## The user and integration manual of C910

来源:参考资料4

目前国内已经有大量产品,基于这些开源IP,进行产品化整合,面向各个细分市场。

结论

芯片架构的三国演义正在上演,谁能将来一统天下?也许谁也不能,但将来一定会有人占据主流。我认为,开源、开放和免费的RISC-V大概率将是未来的霸主。3到5年后,RISC-V架构的芯片将会无处不在。它会极大降低芯片的设计门槛和成本,芯片设计飞入寻常“百姓”家,从而乱拳打死英雄汉。它将深刻改变我们的生活,未来芯片白菜价的话,它一定功不可没。

最后特别要说明的是,RISC-V对中国半导体行业是一次巨大的机会。RISC-V的开放、免费和开源,让中国芯片设计公司第一次和国外企业站在同一条起跑线上。不负众望,中国企业也做出了一定的成绩。比如,RISC-V国际基金会22位高级会员对RISC-V国际标准建设有话语权。其中就有12名来自中国,平头哥推动了29个技术方向的标准制定,还拿到了全球首张架构兼容性测试证书。Let the best man win!


参考资料

[1] RISC-V Foundation: https://riscv.org/

[2] RISC history: https://en.wikipedia.org/wiki/Reduced_instruction_set_computer

[3] RISC-V 手册翻译版:http://riscvbook.com/chinese/RISC-V-Reader-Chinese-v2p1.pdf

[4] 玄铁开源主页:https://github.com/T-head-Semi



继续滑动看下一个

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存