木子呢 发表于 2024-1-24 14:57:09

RISC-V能否超越X86和ARM?

在[上一篇文章中](https://mc.dfrobot.com.cn/thread-317832-1-1.html),我们介绍了X86和ARM。X86基于CISC架构,目前在PC和服务器领域占据主导地位;基于 RISC 架构的 ARM 在移动领域(例如智能手机和平板电脑)遥遥领先。

然而,越来越多的公司开始被 RISC-V 所吸引。例如,谷歌等科技巨头已经认识到RISC-V的潜力,并宣布Android 15将正式支持RISC-V架构的微处理器。


(https://riscv.org/members/)



RISC-V和ARM都采用RISC架构,那么为什么有那么多公司加入RISC-V社区组织呢?为什么很多人说RISC-V可能是ARM的最大竞争者,并可能会重塑计算领域的格局呢?


在本文中,我们将详细探讨 RISC-V 是什么、它相对于 ARM 和 x86 的优势、它面临的问题以及它未来可能如何发展。

## 介绍



RISC-V,全名为“Reduced Instruction Set Computing V”,其中“Reduced Instruction Set Computing”指的是简化的计算指令集,“V”指的是第五代。

RISC源于1980年由图灵奖得主大卫·帕特森领导的加利福尼亚大学伯克利分校的伯克利RISC项目。它设计的第一代RISC-I处理器只包含32条指令,晶体管数量只有当时的CISC设计芯片的一半,但性能超过了当时的任何其他芯片,展示出巨大的计算能力。

到了1980年代中后期,RISC芯片开始蓬勃发展。惠普和SUN等公司开始发布搭载RISC芯片的机器,包括工作站和服务器。SUN的SPARC系统的成功突显了RISC的潜力。IBM也加入了RISC项目,其Power系列CPU在接下来的30年中采用了RISC架构。

2010年,加利福尼亚大学伯克利分校的一个研究团队只是想要一个更好地用于教学的指令集。他们考虑了ARM、SPARC和X86,但发现这些指令集不仅复杂,而且受到IP法律问题、授权困难和昂贵的许可费用的困扰。因此,他们决定发起一个全新的开源指令集架构项目——RISC-V诞生了。

有趣的是,历史上伟大的事件往往是无意识地出现的。由于其简洁性、效率性、低能耗、模块化、可扩展性、免费使用和缺乏传统的低效性,RISC-V迅速获得了广泛的吸引力。在意识到其价值后,RISC-V团队决定将其推向市场。

2015年,成立了RISC-V基金会,

## 架构描述
到目前为止,CPU架构已经非常多了,比如X86、ARM、RISC-V、MIPS等等。尽管数量众多,但逻辑上可以分为两种类型:复杂指令集和精简指令集。

复杂指令集的代表是X86,以Intel和AMD为首,我们几乎所有的计算机都配备了这种类型。

精简指令集的代表是ARM。Apple 为 ARM 在移动领域的普及做出了巨大贡献。早些时候,当苹果与英特尔接洽,希望其能够开发一款专门为iPhone开发的高性能移动芯片时,英特尔错失了这个机会。于是,苹果将注意力转向了ARM指令集。



得益于精简指令集出色的能效比,苹果现在已经彻底抛弃了 X86,开始在整个 Mac 系列中使用采用 ARM 指令集的自研 M 系列芯片。

到底什么是指令集?连苹果都不喜欢的复杂指令集就一定不如简化指令集吗?



我们可以把硬件想象成一个新建的住宅区,软件想象成小区周边的配套设施,比如医院、超市等。该小区域与周边设施之间有一条河流。如果他们想要无缝连接,就需要指令集作为桥梁。复杂指令集和简化指令集都可以连接两个地方,但从一个地方到另一个地方的目的可能不同。例如,如果小明有一辆摩托车,他可以很快地从小区过桥到超市买水,但如果他需要从超市运大量货物回家,他就得花多次时间往返。而小胡拥有私家车,可以运输更多货物,这比摩托车的货物运输要好得多,但他只能使用特定的桥梁。如果他只是想买水,开车的成本就会增加。虽然他也可以选择步行,但效率必然会下降。因此,精简指令集和复杂指令集的优缺点需要根据场景和需求来确定。

一般来说,精简指令集由于其低能耗、省电能力以及较低的性能而适合移动应用。复杂指令集适用于 PC,因为它处理速度快,并且更强大,但相当庞大,有时效率不够。当然,这也不是绝对的。事实上,双方都在互相学习对方的优点和缺点。例如,苹果自主研发的M系列芯片,节能且功能强大。

## RISC-V的优点
RISC-V和ARM同根同源,但既然ARM的生态系统已经如此强大,为什么还有很多开发者选择RISC-V,使其成为第三大CPU架构呢?



主要有以下几个原因

简洁性:在2019年对多个主要指令集手册的比较中,RISC-V仅有236页和76,702个词。相比之下,ARM-32和X86-32均超过了2,000页,其中X86-32词数超过两百万。一般来说,简单意味着更高效和可靠。

低门槛,设计简洁:当ARM和X86定义新的架构时,他们必须确保与现有技术的兼容性,这使得他们的规格说明书和指令数量变得复杂和难以理解——对于初学者来说,这是一个高门槛。另一方面,他们在生态系统方面无疑具有主导优势。作为新的架构,RISC-V无需担心此问题,对设计师更为友好。它的简洁设计也意味着,作为一种简化指令集,它可以在一半的面积上实现相同的性能。

可移植性,通用性:RISC-V的设计者认为,一个设计良好的指令集应该是开源的,任何人都可以使用。因此,RISC-V架构的CPU可以根据特定的场景选择合适的开源架构进行适配。

成本因素:这是最重要的原因。许多人对ARM并不熟悉,他们认为这种与苹果、联发科、高通、华为、麒麟有关的架构是开源的——事实并非如此。它是商业许可的,且涉及IP费用。ARM的收费项目包括初次许可、版权费和技术咨询服务费。值得一提的是,2023年初,ARM曾有过改变其许可模式的计划,意图根据销售设备的价格收取费用。这引发了智能手机制造商的强烈反对,因为这将大幅增加他们的成本。

## 结论
作为一种较新的技术,RISC-V从其前辈那里借鉴了经验,实现了相对的简单和高效,坚决采用开源,对小型企业非常友好。

虽然其生态系统尚未完全成熟,但其发展潜力巨大。目前,在嵌入式系统和物联网等领域,由于其高效的能源利用,RISC-V正在稳步发展。

开源的RISC-V的出现无疑会吸引更多的参与者进入这个领域。然而,随着参与者数量的增加,过度自由化的风险也在提高,可能会导致各参与者在现有基础上制定自己的标准,独立开发核心技术,从而导致互不兼容的情况。因此,RISC-V需要防止IP过度碎片化;否则,MIPS可能在某些方面为其提供了一个警示。

此外,如果RISC-V广泛应用,将调用的API会增加,一些制造商可能会进一步定制指令集。由于需要考虑兼容性,旧的底层指令集不能被抛弃。因此,它能否在未来保持如此高的开放性,以及它是否会走上与ARM相同的道路,这还有待观察。

当然,解决方案是存在的——RISC-V需要一些高端参与者共同建立一个公认的标准,例如以一种能让所有人接受的方式来标准化指令集,从而避免过度碎片化。高端参与者也可以利用他们的影响力和财务实力来推动软件生态系统的建设,开发大量的软件工具,甚至直接设计相关的高端硬件,以抢占CPU核心技术的市场。RISC-V目前最需要的就是这样一款引人注目的产品。



然而,新的问题也随之浮现。随着行业巨头的加入和集聚效应的出现,人们并非都是慈善家,更多的参与者也意味着更多的观点。因此,RISC-V原始创始人的话语权可能会被进一步削弱。那些进入这个领域的人可能会试图建立一个长期稳定的商业模式,而创始人们可能只是想开发一个完全开源、无专利阻碍的新指令集架构,以服务于各种行业。在众多利益方的博弈下,未来的RISC-V能否保持其初衷?这当然是一个长期需要考虑的问题。RISC-V目前最迫切的目标是生存——先保证生存,然后再考虑盈利。它首要的挑战是对ARM市场的威胁,我们可能很快就有机会使用一个全新的CPU架构。作为消费者,与其面对现在滞后、进展缓慢的市场,我们更希望有更多的选择,不是吗?

## 参考

https://itmanabi.com/cisc-risc/

https://www.linkedin.com/pulse/risc-v-powered-disruption-semiconductor-smart-devices-/?trk=organization-update-content_share-article

https://circuitdigest.com/article/understanding-risc-v-architecture-and-why-it-could-be-a-replacement-for-arm
页: [1]
查看完整版本: RISC-V能否超越X86和ARM?