关于RISC-V与Arm的对比分析和各自的应用

原文:http://m.elecfans.com/article/1010395.html

近日,开源指令集RISC-V得到了越来越多的重视。RISC-V是加州大学伯克利分校的开源指令集,由计算机体系架构的宗师级人物David Patterson领衔打造,通过将核心指令集以及其他关键IP开源,意图大大改变半导体的设计生态。随着西部数据、Nvidia等业界巨头以及大量初创公司宣布开始使用RISC-V,ARM想必也感到了压力。

关于RISC-V与Arm的对比分析和各自的应用

ARM上线了质疑risc-v的网站riscv-basics.com – 24小时后又下线了

北京时间7月10日,细心的网友在发现在Google搜索RISC-V时,得到的第一个结果是一个购买了Google AdWord(即竞价排名)的搜索结果,即riscv-basics.com。

关于RISC-V与Arm的对比分析和各自的应用

点进该网站后,可以看到该网站列举了对RISC-V的几大质疑,包括:

-成本:虽然RISC-V是开源ISA,但是ISA仅仅是处理器芯片的一小部分,因此RISC-V的免费ISA对于整体处理器的成本影响并不大。

-生态系统:RISC-V生态系统不够完整,无法提供完整的(包括硬件到软件)设计支持。

-碎片化风险:RISC-V生态中每个项目都可能会做自己的私有指令集扩展,导致软件兼容性不好,即碎片化问题。

-安全性问题:之前由大厂出品的x86和ARM许多处理器都遇到了安全性问题(Spectre漏洞),而由一个尚处于起步阶段组织或初创公司发布的RISC-V处理器遇到安全性问题的可能性更大。

-设计验证:RISC-V虽然是开源指令集可以自行改动指令集,但是改动指令集会需要大量设计验证,所以如果设计验证完整度不够的情况下自行修改指令集反而容易出错。

关于RISC-V与Arm的对比分析和各自的应用

riscv-basics.com的网站截图

关于RISC-V与Arm的对比分析和各自的应用

ARM网站上质疑RISC-V架构的图片

五点质疑是否有效

虽然网站已经下线,但是围绕该网站的讨论并没有结束。我们不禁要问,该网站上列举的五大质疑是否有道理呢?

首先, 生态确实是目前RISC-V的短板。目前RISC-V社区还处于起步阶段,在这一阶段不太可能拥有完整的生态,因为生态建设需要时间。目前RISC-V由RISC-V基金会牵头的生态建设势头还不错,如果这样的势头保持下去未来我们可望看到非常完整的生态,甚至因为RISC-V的开源特性,每个感兴趣的个人或者团队都可以做出自己的贡献并且其灵活的特性和授权,我们可能会看到RISC-V在未来会拥有比起ARM来说更活跃的生态。

对于成本的质疑则显得缺乏根据,RISC-V的开源模式其实是其最大的优势,类似“指令集仅仅是处理器的一小部分因此指令集成本并没有太大意义”这样的说法并不合适。指令集确实只是处理器的一小部分,但是却是最核心的部分,ARM对其定价也非常高。这也是为什么ARM的授权中,如果客户需要修改指令集,在ARM的基础上加以定制优化以形成自己独特的设计,则需要花大价钱去获取“架构授权”(目前全球花大代价获得ARM架构授权的公司并不多,都是例如苹果、高通等巨头),而相反如果只是从ARM授权一个IP硬核,其授权费用就要低得多。

换句话说,如果你真的从ARM处想要获得指令集授权,那么指令集授权费很可能会构成你SoC芯片设计成本的大头!这样看来,RISC-V将指令集完全开源,任何公司和个人都可以自由使用、修改与定制的模式将会带来很大的成本优势,另外这样的开源举措会大大降低指令集修改和定制的进入门槛,使更多人有机会探索并定制个性化指令集,从而使RISC-V生态更加生机勃勃,而不只是有钱人才能玩的游戏。

对于指令集碎片化的质疑,则确实是不少设计者所关心的。为了引入更多设计灵活性,碎片化似乎是不得不面对的问题。事实上,RISC-V基金会主席(同时也是RISC-V在加州大学伯克利分校的主要开发者)Krste Asanovic曾经在专访中回答过关于碎片化的问题。Asanovic指出,RISC-V基金会制定了一系列规范来保证兼容性,RISC-V分为基础指令集和拓展集两部分,所有的RISC-V处理器都会支持40条基础指令集,这是兼容性的首要保证。

此外,每个扩展指令集处理器往往只是面对一个细分市场场景,而不会想做成通用场景处理器,因此碎片化并不是问题;最后,如果某一细分场景逐渐变得流行,则RISC-V基金会会推动针对该场景的拓展指令集进行标准化。应该说碎片化问题有可能是RISC-V未来面临的一个挑战,这个问题和前面的生态建设息息相关,如果生态建设地好则指令集分散化反而会成为RISC-V的优势。

最后,对于安全和设计验证方面的指责则显得有点牵强。就安全方面来说,之前的Spectre和Meltdown漏洞中,Intel、AMD和ARM的大多数处理器都出现了问题,这是由于计算机架构(如乱序执行、TLB等)沿用已久的经典设计在出现的时候压根就没有考虑到会有这类问题,相反使用较新架构的RISC-V处理器(例如Rocket系列)却在这次漏洞事件中表现出了更好的安全性,因此网站责难说RISC-V处理器安全性存在问题反倒显得有一些讽刺意味。

对于设计验证,“改动指令集会需要大量设计验证,所以如果设计验证完整度不够的情况下自行修改指令集反而容易出错”这样的观点几乎就等同于是因噎废食,首先RISC-V基础和主流扩展指令集目前已经有大量的芯片以及FPGA原型在跑,验证度已经很高,其次每一家负责任的公司都会仔细掂量修改指令集的难度,如果超过自己的能力范围自然会转而选择成熟的经大量验证的指令集版本,但是以“指令集修改需要大量验证,我不让你改还主要是为了你好”为理由剥夺大部分公司修改指令集的自由则无疑是荒唐的。

未来ARM和RISC-V的竞争将会何去何从?

目前ARM占据了以移动设备为代表的处理器IP的绝大部分市场,而RISC-V则是后起之秀。那么,未来会何去何从呢?

目前的ARM和RISC-V让我想起了上世纪末的Windows和Linux之争。当时的计算机主流设备是PC,而Windows则当仁不让是PC端的绝对主流操作系统,Linux则主要是小众极客的选择。随着时代的推移,计算设备的潮流逐渐转向了移动设备,到了今天又转到了云端数据中心高性能计算。

我们看到之前的操作系统霸主Windows在移动设备和高性能计算领域都没有获得很多份额,这一方面是因为Windows本来就是为了PC设计,其核心代码比较复杂,不便于移植;另一方面其商业软件非开源的特性也让Windows的开发限定在了微软公司内部。

Linux则完全不同,其核心代码很轻,而且没有兼容性等历史包袱,因此移植起来比较容易,此外其开源的特性让社区中的爱好者程序员可以参与Linux开发,他们针对Linux本身的移植、改良和开发以及各种Linux平台上的程序形成了Linux生态中的重要部分。对于爱好者来说,Linux开源项目的开发虽然没有金钱回报,但是这些开发经历被业界认可,可以成为简历上的重要一部分。这样,Linux开源社区和爱好者互惠互利,形成了良性互动。到了今天,Linux已经成为了云端数据中心高性能计算的主流操作系统之一,在移动端的主流操作系统Android也是基于Linux的内核开发。

ARM和RISC-V的未来竞争格局也可能类似。首先几乎可以肯定的是,在ARM的传统优势领域,即手机领域,RISC-V基本没有机会,因为手机经过十年迭代后不太会彻底改变处理器内核了,这也和目前Windows经过二十多年风雨仍然是PC市场操作系统龙头老大一样。

但是,在新兴的领域,RISC-V和ARM都处于同一起跑线上,而RISC-V凭着指令集开源等特性很有可能可以击败ARM,或者至少能够占据可观的市场份额。目前这样的新兴市场主要是物联网市场。物联网市场有长尾化的特性,拥有众多细分市场,同时对于功耗有很高的要求,因此对于可以针对不同应用灵活修改指令集和芯片架构设计的RISC-V有优势,相比之下使用ARM往往只能做一个标准化设计,很难实现差异化。

此外,物联网市场对于成本较敏感,RISC-V免费授权的特点对于芯片厂商也很重要。在RISC-V基金会名单中,我们可以看到高通、联发科这样重点布局物联网的企业。而在目前很火的AI芯片市场,ARM和RISC-V则尚看不出明显的优劣。这是因为高性能AI芯片中无论是使用ARM还是RISC-V的核,主要都是作为控制器来使用,最主要的也是最核心的计算单元往往是电路设计师自行设计而不会使用IP;另一方面AI芯片的利润空间往往较大,因此RISC-V的免费的特点并没有带来特别大的优势。

  • 5
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: RISC-V是一种开源指令集架构,与ARM和x86架构有很大的不同。首先,RISC-V是一种精简指令集(RISC)架构,而ARM和x86架构则是复杂指令集(CISC)架构。其次,RISC-V是一种开放的指令集架构,任何人都可以使用和修改它,而ARM和x86则是专有的指令集架构,只有特定的公司可以使用和修改它们。此外,RISC-V的指令集非常简单,只有40多个指令,而ARM和x86则有数百个指令。最后,RISC-V的指令集非常灵活,可以根据不同的应用程序进行定制,而ARM和x86则不太灵活。 ### 回答2: RISC-V是一种基于精简指令集(RISC)架构的开源指令集架构(ISA),它是为了解决当前计算机领域所面临的一系列问题而被开发出来的。相比较于ARM和X86架构,RISC-V拥有一些独特的特点和优点,本文将详细介绍它们的差别。 首先,RISC-V的指令集架构相对较为简单。相比较于ARM和X86两种较为常见的指令集架构,RISC-V的指令集更加精简、规范。它没有过多的指令集,且具有完整的操作系统支持,能够有效地降低开发成本和维护成本。这也意味着其适用于更小、更简单的设备。 其次,RISC-V采用了面向可扩展性的设计原则。这意味着RISC-V的用户可以选择采用其任意的指令集扩展来满足特定的需求,提升计算性能和能力。例如,若需要计算机视觉中的向量点乘,只需使用RVV指令集扩展即可。 第三,与ARM和X86指令集不同,RISC-V的指令集可以自由地使用,没有任何限制。这也意味着其开发人员可以更加自由地定制指令集以满足自己的需求。当然这远不仅仅是给RISC-V制造商带来了竞争优势:这个生态系统还包括许多可以实现自定义指令的开源IP内核,一定程度上应对了不同领域的应用需求。 最后,RISC-V是一个开放的指令集架构,而ARM和X86都是专有的指令集架构。因此,RISC-V可以激发出更多的创新和竞争。这种开源和开放的设计使RISC-V更容易获得社区贡献和广泛支持,同时也使他们能够快速地拓展到新的市场里。 总的来说,RISC-V 确实具有一些ARM和X86所没有的优点。它的开源性、可扩展性、简易性,以及自由的“无限制”使用和定制化都是其优势。虽然目前市场占有率和生态系统发展方面落后于ARM和X86,但RISC-V已经在一些行业内大有作为,有望成为物联网和边缘计算领域的首选架构之一。 ### 回答3: RISC-V、ARM和x86都是计算机架构的代表,在它们之间有着一些重要的差别,以下是详细分析。 处理器精简指令集(RISC-V)是一种精简的指令集架构,其优点包括高效的编译器生成代码,低功耗、低成本和可扩展性。 相比于其他指令集架构,RISC-V要求其架构设计要尽可能的精简,同时需要满足通用计算和特定计算的要求。RISC-V在企业,学术和开源社区中均得到了广泛关注。 具有Modular ISA模块化的特性,可以为从嵌入式设备到超级计算,从单片到数据中心的广泛应用领域提供各种优秀解决方案。 ARM指令集架构在各种移动和嵌入式领域被广泛使用。ARM处理器具有高效率,良好的节能性能和灵活性。ARM架构不仅被应用于手机,平板和其他嵌入式设备中,它在工业自动化,医疗设备等领域的应用也在不断扩大。ARM架构的设计理念与RISC相似,但它比RISC提供了更高的灵活性和适应性。 x86指令集架构广泛应用于PC和服务器等领域。 x86设计早在最初的计算机时期就被引入打破主导地位,自从第一款Intel 8086处理器发布以来,x86 CPU架构一直在发展和优化。 它具有庞大的软件生态,因此开发人员可以使用各种编程语言进行编程,从而提供多样化的软件解决方案。x86对多线程和多个核处理器提供极佳的支持。 虽然RISC-V、ARM和x86都是广泛应用于计算领域的处理器架构,但它们之间具有不同的优缺点。一般而言,RISC-V在精简、模块化、可扩展性等方面具有优势,ARM在能效,灵活性,扩展性方面较优,而x86则具有更强的软件生态和多线程支持。因此,这些架构可以根据应用领域提供最优的解决方案。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值