编辑语:
技术解码栏目:是面向开发者详细解读芯片开放社区(OCC)上关于处理器、芯片、基础软件平台、集成开发环境及应用开发平台的相关技术,方便开发者学习及快速上手,提升开发效率。
上期【技术解码】,我们带大家了解了RISC-V的起源,以及RISC-V发展如此迅速的原因。本文是上期的姊妹篇,将基于前文,详尽阐述RISC-V的“开源”,并剖析RISC-V架构的发展现状,预测其未来发展方向。
01“开源”的RISC-V架构
在上篇中,我们介绍了X86架构是一种完全封闭的指令架构,相比之下ARM架构是一种“开放”的指令架构,只要获得了ARM的IP授权就可以使用ARM架构并享受之上沉淀的软件生态。但是ARM也只是“开放”,在ARM之后,RISC-V出现了。
RISC-V不是一种技术的创新(因为在此之前已经有非常多的成熟优秀的RISC架构了),而是商业模式的重大变革,RISC-V直接将指令架构给“开源了”(注意此处是开源),这是之前完全没有的一种新的指令架构运营模式(虽然Open RISC等也是开源,但是后文会分析为什么RISC-V会做得比OpenRISC成功)。RISC-V通过“指令架构开源”与“架构标准全球开放讨论”两大杀手锏吸引全球的处理器架构大拿、软件开发者与开源爱好者围绕着他做全球生态建设”。
读者看到这里是不是有种“众人拾柴火焰高”的感觉,这也是RISC-V架构的高明之处,说白了,RISC-V是一种与X86和ARM完全不一样的运作方式,他将指令集架构推进到了一种最极致的方式:就是指令架构开源,全球无论是企业、研究所、个人都可以完全免费的使用。
所以说,RISC-V和X86、ARM的竞争完全是不同维度的竞争,他们三个分别是全球处理器技术演进在不同阶段的产物,而基本可以确定的是未来三种架构会长期共存,只是应用的侧重领域有所不同罢了。
看到这里,读者可能有一些疑问,那在RISC-V之前,已经有OpenRISC等开源指令架构了,那为什么OpenRISC没起来,而是RISC-V起来了。
笔者认为这主要还是得益于伯克利团队的根正苗红以及恰到好处的运营方式,伯克利大学和斯坦福大学在历史上首次提出了精简指令集架构的处理器并完善了其基础理论,对处理器架构的发展做出了巨大贡献,所以当伯克利大学提出了RISC-V指令集并开源的时候迅速获得了工业界和开发者的高度关注,这之后Krest教授团队又采用第三方独立的基金会的方式进行运营,其“中立”和“开放”的属性吸引了大批的企业和开发者投身其中。
02 RISC-V架构的现状
现在,虽然RISC-V架构还不完善,在诸如安全、虚拟化架构、IOMMU/SMMU、中断控制架构、RAS(Reliability, Availability and Serviceability)等方面还刚起步,在代码密度(code size)、虚拟内存管理、原子操作效率等方面也还存在一些缺陷,但这不会妨碍RISC-V架构的长远向好发展,因为其开源的本质不曾改变。
回顾Linux内核的发展历史,在Linux内核之前,IBM的Unix收费操作系统无论在稳定性和用户体验上都是非常成功的,而相比之下刚出道的Linux内核无论在稳定性以及用户体验上都比较糟糕,但是由于Linux内核的开源属性迅速在5年时间内(1991年到1996年)吸引了超过350万开发者的使用。
经过30年的发展,Linux操作系统(基于Linux内核开发的各种操作系统)已经成为世界上最主流的操作系统之一(Windows主要在桌面机,IOS/安卓主要在智能手机和平板电脑),无论在服务器、云计算以及嵌入式领域基本已是Linux内核的天下。
微软公司也在2016年加入了Linux基金会并成为Linux社区的主要贡献企业之一。同样的,RISC-V虽然现在有不足和缺陷,但是基本可以确定的是,会有大量的企业、高校与个人爱好者会持续的围绕RISC-V开发并不停的推动RISC-V架构的成熟完善。
开源的运行方式很像自然界的进化方式,是一种杂乱无章的生机勃勃,表现为企业与个人都可以在上面做贡献,但是开源社区内部会形成一套自然的进化法则,那些好的架构与贡献经过“优胜劣汰”被社区与开发者接受并沉淀下来,所以某种意义上他比企业维护的商业版本更有生命力。
这里需要稍微引伸一下的是,虽然RISC-V架构本身是开源的,但是基于RISC-V架构开发的CPU IP核可以是收费的,这个道理很像开源的Linux与收费的Redhat Linux一样,Redhat可以提供相较开源Ubuntu/Debian更好的稳定性及对上层软件的兼容性,同理的,商业的RISC-V IP核可以提供比开源核更好的稳定性、发展连续性、售后服务等。
03 RISC-V架构的未来
最后,笔者大胆的预测,RISC-V的发展也会与Linux内核的发展路径类似,先从各种嵌入式与端侧系统开始应用,在积累一定的架构成熟度与软件生态后,逐步的进入服务器和数据中心领域。
相较之下,在移动智能终端与PC机市场的发展会相对缓慢,这还要看一些操作系统对RISC-V的支持程度。另外,受NVIDIA收购ARM消息的影响,全球开发使用RISC-V的速度会进一步加快,无论最后收购案是否成功,这都将成为助推RISC-V发展的一个重要事件。