ARM基础教程 | ARM与RISC-V架构的区别

Posted strongerHuang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ARM基础教程 | ARM与RISC-V架构的区别相关的知识,希望对你有一定的参考价值。

关注+星标公众,不错过精彩内容

编排 | strongerHuang

微信公众号 | 嵌入式专栏

从2019年开始,RISC-V得到了越来越多的重视,原因有很多,ARM授权费高是关键的因素,下面就来说说关于ARM和RISC-V架构,以及相关的内容。

关于ARM

1991 年ARM 公司成立于英国剑桥,早期ARM也自主设计和生产芯片,但由于业绩平平,最后ARM改变了策略,他们不再生产芯片,转而以授权的方式,将芯片设计方案转让给其他公司。

ARM有三种授权方式:处理器、POP以及架构授权

ARM架构是一种采用独特的ARM指令集系统、并且根据不同适用范围开发的处理器体系结构。经过30多年的发展,目前ARM架构有针对不同类型计算设计的体系结构。

比如我们经常听说的Cortex-A、Cortex-R、 Cortex-M处理器等。

ARM架构,更主要的是ARM指令集系统。不同于x86架构的复杂指令集(CISC)架构,是一种精简指令集(RISC)架构。相对于CISC架构处理器,采用精简指令集设计的ARM架构设计目标是能在尽量高的时钟频率下通过很少周期执行的指令集。

大幅减少不常用的指令,降低芯片复杂度。采用Load/Store指令体系结构,处理器通过load、store指令存取内存中的数据,针对逻辑、算术等运算,CPU只处理寄存器中的数据。同时由于这个原因,包括ARM在内的很多RISC架构处理器都有很多寄存器来存放指令及数据。为了方便指令的解码,虽然ARM处理器不是单周期指令,但是其绝大多数指令是定长的,加快了常用操作的速度。

同时ARM也没有完全局限于此,ARM架构还有像Thumb指令集、条件执行等技术,进一步提高处理器效率。

这里可以参看我之前分享的文章:ARM 和 x86 有什么区别?

所以总结来说,ARM架构就是采用精简指令集计算机结构、但有自己特色,根据不同用途有不同型号的处理器架构。

关于RISC-V

RISC:Reduced Instruction Set Computer,即精简指令集计算机。

RISC-V是基于RISC原理建立的免费开放指令集架构(ISA),V是罗马字母,代表第五代RISC(精简指令集计算机),可读作RISC-FIVE。

RISC-V起源:

1981年,在David Patterson的带领下,加州大学伯克利分校的一个研究团队起草了RISC-1,这就是今天RISC架构的基础。RISC-1原型芯片有44500个晶体管,拥有31条指令。包含78个32位寄存器,分为6个窗口,每个窗口包含14个寄存器,另外还有18个全局变量,寄存器占用大部分面积,控制和指令只占用芯片面积的6%,而同时代的芯片设计里要占用约50%的面积。

随后在1983年发布了RISC-II原型芯片,包含138个寄存器,分为8个窗口,每个窗口有16个寄存器,另外还有10个全局变量,但是只有39000个晶体管。接着在1984年和1988年发布了RISC-III和RISC-IV。

2010年,Patterson教授的研究团队准备启动一个新项目,需要设计CPU,因而要选择一种指令集。他们调研了包括arm、MIPS、SPARC、X86等多个指令集,发现它们不仅设计越来越复杂,而且还存在知识产权问题。

RISC-V(第五代精简指令集)是David Patterson教授基于其30多年在精简指令集RISC领域的深入积累,在2010年到2014年期间带领团队研发出的最新一代CPU芯片设计指令集。RISC-V是基于精简指令集计算(RISC)原理建立的开放指令集架构(ISA),RISC-V是在指令集不断发展和成熟的基础上建立的全新指令。RISC-V指令集完全开源、设计简单、易于移植Linix系统,采用模块化设计,拥有完整工具链。

关于RISC-V的更多内容可以参考文章:第五代精简指令集计算机RISC-V你了解多少?

ARM与RISC-V的区别

ARM架构和RISC-V架构都源自1980年代的精简指令计算机RISC,两者最大的不同就在于其推崇的大道至简的技术风格和彻底开放的模式。

ARM是一种封闭的指令集架构,众多只用ARM架构的厂商,只能根据自身需求,调整产品频率和功耗,不得改变原有设计,经过几十年的发展演变,CPU架构变得极为复杂和冗繁,ARM架构文档长达数千页,指令数目复杂,版本众多,彼此之间既不兼容,也不支持模块化,并且存在着高昂的专利和架构授权问题。

反观RISC-V,在设计之初,就定位为是一种完全开源的架构,规避了计算机体系几十年发展的弯路,架构文档只有二百多页,基本指令数目仅40多条,同时一套指令集支持所有架构,模块化使得用户可根据需求自由定制,配置不同的指令子集。

RISC-V相对于ARM架构的优势和劣势

1.优势

RISC-V是一种开放的架构,从历史的经验来看,开放的生态一定会比封闭的好。RISC-V技术是后发技术,所以能够总结前人的经验教训,做到相对简洁和干净。

2.劣势

由于RISC-V诞生时间太短,相关的编译器、开发工具和软件开发环境(IDE)以及其它生态要素还在发展。目前RISC-V具有全套开源免费的编译器、开发工具和软件开发环境,这是RISC-V的巨大优势,但是开源版本相比ARM的商用编译器和IDE而言,还颇有差距。

ARM与RISC-V的竞争

目前ARM占据了以移动设备为代表的处理器IP的绝大部分市场,而RISC-V则是后起之秀。ARM与RISC-V的竞争有点像上世纪末的Windows和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的免费的特点并没有带来特别大的优势。

声明:本文素材来源网络,版权归原作者所有。如涉及作品版权问题,请与我联系删除。

------------ END ------------

关注公众号后台回复『ARM基础教程』『嵌入式开发』阅读更多相关文章。

回复“加群”按规则加入技术交流群,回复“1024”查看更多内容。


点击“阅读原文”查看更多分享

以上是关于ARM基础教程 | ARM与RISC-V架构的区别的主要内容,如果未能解决你的问题,请参考以下文章

苹果进军RISC-V,Arm真的不行了吗?

ARM态度暧昧,愤怒的华为或投入Risc-V怀抱

ARM仍然辉煌,但是它已有陷入四面楚歌的苗头

沁恒CH32学习——RISC-V架构学习笔记

RISC-V指令集架构特点及其总结

ARM基础教程 | ARMCortex-M与ARMv8-M什么关系?