本文来自微信公众号:与非网eefocus (ID:ee-focus),作者:刘浩然,题图来自:《生化危机:终章》


有人称RISC-V为传奇,它于2010年首次提出,十余年间已经能与ARM和X86一较高下,开源、免费、轻量化是它的特点。如今RISC-V已逐步搭建起良好的技术交流生态,越来越多的“大玩家”也布局其中。由于美国的芯片封锁,导致使用ARM架构的风险在不断提高,因此RISC-V诞生后不久,也被认为是中国破解芯片“卡脖子”难题的关键。


有人称RISC-V是投资骗局。它与ARM同属于精简指令集架构,在性能上非常相似,但ARM架构已经积累20多年的IP设计经验,在消费电子、嵌入式上拥有无可比拟的优势。此外ARM还拥有完备的产业链生态,让后来者难以挑战。因此,有很多人并不看好RISC-V最终能够完成对ARM架构的替代,RISC-V的繁荣也只是“昙花一现”。


尽管外界对RISC-V的看法既有鼓励也有担忧,RISC-V还是经过十三年的发展后初具规模。2022年7月,RISC-V国际基金会首席执行官Calista Redmond在嵌入式世界大会上宣布, RISC-V架构处理器的出货数量已突破100亿颗。专家预测,两三年后,RISC-V架构将超越现有的ARM架构和可用性能。


RISC-V是怎么做到从0到100亿的?在指令集“大逃杀”中,RISC-V能冲进决赛圈,与ARM和X86同台竞技吗?在本文中,与非网邀请多位业内专家,一起解析RISC-V从技术到市场的发展变革,以及对未来的展望。


合纵:RISC-V从“简陋”走向完善


RISC-V是一种开放式指令集架构(ISA),它的设计源于加州大学伯克利分校的计算机科学家们的研究工作。与其他ISA不同的是,RISC-V的设计目的是为了成为一种广泛应用于各种场合的通用指令集,包括个人电脑、服务器、嵌入式系统和超级计算机等。同时,RISC-V也提供一个开放式的标准,使得不同的硬件和软件可以互相兼容和交互。自从RISC-V于2010年首次提出以来,它已经成为了计算机科学领域的热门话题,越来越多的公司和组织开始采用RISC-V来实现他们的计算需求。


人们认为RISC-V能够替代ARM的关键,在于它的开源与免费策略。不过与ARM或X86相比,RISC-V终究还是一个较为“年轻”的指令集架构,在产业链、研发工具的配套上总会有不完善的地方。那为什么厂商会选择还处在“新手期”的RISC-V?


Codasip大中华区总经理胡征宇表示:“虽然RISC-V刚刚起步,但目前很多开源工具和软件库都开始支持RISC-V开发,包括编译器,模拟器以及其它辅助工具,同时市场上也有很多专门针对RISC-V的开发板和系统级芯片陆续推出。随着RISC-V技术的不断壮大,其配套工具也将更加完善。”


晶心科技董事长林志明也持有相同观点,他表示在RISC-V生态中厂商在发展配套工具上的意愿非常高。“在所谓的不足或不完善的问题上,应该是短期的,随着RISC-V的全球会员众多,各方加快脚步进行开发,目前这样不完善或不足的情境,实际上会随着时间而逐渐降低。”


同为精简指令集,RISC-V要想替代早已成熟的ARM,就要在自己的优势上发力。翻阅RISC-V规范文档与教程,我们很容易发现它在简洁方面相比ARM指令集有较大区别,例如放弃“一次性读/写多个寄存器”、“条件码”等指令,可以更容易提升CPU主频等。从架构复杂程度看,RISC-V本身也非常简单,基础指令集则只有40多条,加上其他的模块化扩展指令总共几十条指令,其规范文档仅有145页,而“特权架构文档”的篇幅也仅为91页。相比繁琐复杂的ARM指令集,RISC-V的确做到了简单易用,不过在更复杂的CPU设计上,这些特性是否会成为短板呢?


胡征宇表示:“虽然RISC-V的设计哲学就是简洁高效,它可以提高编程效率、降低功耗和芯片面积及成本。但这并不意味着RISC-V不能满足复杂CPU的设计需求,相反,公司可以针对各种应用场景进行定制化改良,其中包括针对复杂应用或者需要高算力的场景进行全面优化的定制,这是针对同样场景的通用计算器件无法具备的优势。”


我们知道ARM指令集靠ARM公司本身运营维护,所以其指令高度统一,芯片厂在应用ARM IP后仅能做扩充性调整,芯片设计也要围绕ARM核心来做。RISC-V在这方面相反,开源可以每个厂商都能高度定制适合自身的IP核心,但厂商各自为战可能带来新问题,那就是指令集碎片化。碎片化即每个厂商都各自研发不同的指令集,不同产品互不兼容,最终导致生态分裂。目前已经有越来越多的玩家涌入RISC-V赛道,那么RISC-V又该如何防止碎片化呢?


爱普特微电子副总经理鲁翔的观点是,RISC-V不需要过分担心碎片化问题。他指出:“基于RISC-V指令集的CPU内核由于针对的目标市场需求不同,必定存在一定的差异化。但是这些差异化都是可以通过最终落地产品的性能和客户满意度来衡量是否值得推广或者持续演进。通过市场的筛选、最终沉淀下来的一定是聚焦最优方案的实现,所以在同一个市场中不必过分担心碎片化。目前市场上基于RISC-V研发量产的32位MCU已经广泛应用在工业控制、智能家电等领域,通过优异性能获得了广大客户的认可,所以产品性能才是核心重点。”


与碎片化对应的是规范化,RISC-V起步较晚,但在短时间内RISC-V能够发展到今天的程度,是离不开RISC-V国际协会在规范化上的努力的。对此,林志明表示RISC-V的指令规范化做的很好,尤其是在增加指令方面,RISC-V做得甚至要远好于ARM。“RISC-V近十年来发展迅速,而且特别是在最近的两年,每年以三十个左右的速度来新增指令集。RISC-V的更新过程很规范,从予以核准、公告,再变成是open source开放的指令集。这些实际上都是由RISC-V国际协会在领导推动的。因此RISC-V新增指令可以在很短的时间之内完成规范化发布。”


连横:RISC-V从概念走向应用


2015年,全球RISC-V基金会成立,宣告RISC-V正式从概念走向现实。2018年7月,上海市经信委在全国率先出台相关RISC-V扶持政策,此后国内产业进入快速演进时期。彼时上海市集成电路行业协会秘书长郭奕武表示,RISC-V具有精简、低功耗、模块化、可扩展等技术优势,近几年来RISC-V生态体系正在全球范围内快速崛起,成为半导体产业以及物联网、边缘计算等新兴应用领域的重要创新焦点。其实郭奕武秘书长在2018年能做出这种判断确实要有一定魄力。彼时的ARM架构如日中天,公司在被软银收购后,2018年孙正义就提出让ARM在五年内重新上市;在产品方面,骁龙835和845几乎占领了全部的高端手机市场;应用ARM架构的芯片数量在当年也来到225亿颗。


不过仅过了5年,应用RISC-V指令集的芯片已经突破100亿颗,俨然已经有了赶超ARM的趋势。RISC-V会员数量也达到3100个以上,包括谷歌、华为、英伟达、高通、三星、IBM等全球一线厂商均在会员行列。目前,从物联网到无人驾驶汽车,从嵌入式系统到超级计算机,RISC-V都已经开始在各种应用场景中展示它的优势,但ARM依然牢牢占据移动端垄断地位,RISC-V又该如何突破ARM防线?


鲁翔表示:“ARM自己的优势就是生态。ARM与安卓形成了A-A联盟,构成了一个庞大、完善、成熟的移动生态,这是RISC-V无法比拟的。不过,最近谷歌在RISC-V峰会上正式宣布Android将支持 RISC-V指令集。也就是说,以后RISC-V的芯片,可以使用安卓系统了。一旦谷歌官方支持,大多数Android应用程序,将无需开发人员额外的工作即可运行在RISC-V芯片上。以前考虑到生态问题,RISC-V还无法替代ARM,现在安卓官方支持RISC-V,生态也不需要担心了,可以说替代ARM的最好时候到了。”


随着越来越多玩家的加入,相信它在未来会有更加广泛的应用场景和发展空间。胡征宇也对RISC-V的未来做出展望:“RISC-V未来将逐渐扩展到更多的应用领域,行业需要更安全高效的处理器用以支持复杂的需求,并通过RISC-V软件生态系统和系列工具的持续发展来实现技术的不断突破。”林志明也对RISC-V的应用持乐观态度,他表示:“RISC-V某些嵌入式的系统方面已经做得要比ARM更好,接下来要克服的技术节点就是安卓、iOS或者是Windows,这些关键技术可能都需要三到五年来进行突破。”


剑指:挑战ARM,RISC-V厂商思路清晰


过去的几十年中,ARM已经成为了移动设备、物联网、汽车、工业自动化等领域的主流指令集。然而,随着计算机应用场景的不断变化和发展,一些问题也开始显现,例如ARM的许可费用和闭源限制,这限制了一些公司和组织的应用发展和创新。RISC-V的出现则提供了一个全新的解决方案。仅十几年,RISC-V完成了从理论到实际,从小众到广泛应用的重大突破。但是相对于ARM来说,RISC-V在生态、社区建设以及上下游支持上仍然存在一些不足之处。


首先,ARM生态系统已经十分成熟,其具有广泛的应用场景和大量的开发者,因此在一些特定的领域中,尤其是移动领域,ARM仍然具有非常大的优势。此外,ARM生态系统中也存在着大量的优秀软件和工具,使得开发者可以更加方便地进行应用开发和优化。


其次,RISC-V生态系统的开发和完善还需要一定的时间。虽然RISC-V社区在不断发展和创新,但是相对于ARM来说,它的生态系统还不够成熟,缺乏一些优秀的软件和工具。因此,在一些特定的场景下,RISC-V的应用可能会受到限制。


最后,RISC-V的生态系统缺乏一些成熟的厂商支持,例如ARM生态系统中的ARM架构授权商、芯片厂商等,这也使得RISC-V在硬件方面的开发和生产还需要进一步发展和完善。


合纵连横之后,RISC-V又该如何进步来破解ARM的生态封锁?


胡征宇认为,RISC-V的软件生态很重要


软件生态和硬件生态的发展相辅相成,软件生态需要完善的内容甚至更多,比如常见的Linux内核、GCC编译器。除此之外,可能还需要优化虚拟化和语音相关的开源软件,比如docker、kubernetes,网络加速方面的软件栈、AI软件数据库等也都需要做特殊的优化和性能调优,需要投入巨大的人力和物力。


在RISC-V普及的过程中,Chiplet技术为中国集成电路产业带来了诸多发展机遇。芯片在利用先进工艺制造的时候成本较高,世界上也仅有几家代工厂可以驾驭高端工艺。在产能、成本受限的情况下,将不同工艺节点的颗粒混合封装是未来的重点发展技术,Chiplet也有望成为破解国外芯片封锁的法宝之一。鲁翔表示:“若能实现Chiplet技术与RISC-V融合,整个行业会向前跨一大步。不过这种方法目前还是会导致每个节点都变得越来越复杂和昂贵,如果行业想要转向支持基于Chiplet的集成系统,那不同的公司必须开始相互共享芯片IP。”


林志明认为RISC-V应在开源、商业与教育的角度加大投入力度,他表示:“首先,遵循开放源的做法,就是当初UC Berkeley的开放源的做法。相关厂商接受这样的开放源生态之后,它所开发的软件、硬件要能够回馈到开放源的框架上去,让RISC-V的生态更加的进步。第二是以合理的利润的角度进行商业的营运。最后则是加大对RISC-V教育机构或教研机构的投入,以此来扩大使用者。三管齐下,对生态的普及就有很大的帮助。”


总的来说,RISC-V挑战ARM架构早已不是“镜花水月”,RISC-V代表着一种全新的计算机架构思路和设计理念,将会对计算机产业带来积极的影响和推动。我们有理由相信,随着RISC-V生态系统的不断发展和完善,它将会在未来的计算机领域中发挥越来越重要的作用,成为一个具有广泛影响力和持续创新力的指令集架构。


本文来自微信公众号:与非网eefocus (ID:ee-focus),作者:刘浩然