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

嵌入式专栏

1

关于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架构就是采用精简指令集计算机结构、但有自己特色,根据不同用途有不同型号的处理器架构。

嵌入式专栏

2

关于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你了解多少?

嵌入式专栏

3

ARM与RISC-V的区别

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

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

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

嵌入式专栏

4

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

1.优势

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

2.劣势

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

嵌入式专栏

5

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的免费的特点并没有带来特别大的优势。

1.傻瓜式教程:如何使用“多合一”开发工具STM32CubeIDE

2.单片机6年想转嵌入式Linux ,不知如何下手?

3.80家MCU国产和国外厂家汇总

4.对比STM32和GD32固件库,你会发现其中的秘密!

5.你的单片机裸机程序框架是怎样的?

6.大神Jim Keller背书!RISC-V进军AI和汽车芯片领域!

免责声明:本文系网络转载,版权归原作者所有。如涉及作品版权问题,请与我们联系,我们将根据您提供的版权证明材料确认版权并支付稿酬或者删除内容。

ARM与RISC-V架构有哪些区别?相关推荐

  1. 【genius_platform软件平台开发】第八十八讲:arm公司的V架构和内核发展史(整理)

    1. ARM公司简介 ARM(Advanced RISC Machines)有三种含义:它是一个公司的名称.它是一类微处理器的通称.它是一种技术的名称. ARM 公司是微处理器行业的一家知名企业,它是 ...

  2. RISC V (RV32+RV64) 架构 整体介绍

    文章目录 riscv 市场 芯片介绍 软件介绍 开发板介绍 PC介绍 riscv 架构 编程模型(指令集/寄存器/ABI/SBI) 运行状态 指令集 寄存器 riscv32和riscv64两者的区别 ...

  3. 怎么看电脑系统是win几_一文看懂arm架构和x86架构有什么区别

    一文看懂arm架构和x86架构有什么区别 本文主要介绍的是arm架构和x86架构的区别,首先介绍了ARM架构图,其次介绍了x86架构图,最后从性能.扩展能力.操作系统的兼容性.软件开发的方便性及可使用 ...

  4. 从零开始系列(四):一文看懂arm架构和x86架构有什么区别

    从零开始系列(四):一文看懂arm架构和x86架构有什么区别 相关系列文章推荐:   从零开始系列(一):在github上搭建自己的博客   从零开始系列(二):数据库基础篇   从零开始系列(三): ...

  5. ARM与X86 CPU架构对比区别

    ARM与X86 CPU架构对比区别 CISC(复杂指令集计算机)和RISC(精简指令集计算机)是当前CPU的两种架构.它们的区别在于不同的CPU设计理念和方法.早期的CPU全部是CISC架构,它的设计 ...

  6. ARM与X86 CPU架构区别

    CISC(复杂指令集计算机)和RISC(精简指令集计算机)是当前CPU的两种架构.它们的区别在于不同的CPU设计理念和方法.早期的CPU全部是CISC架构,它的设计目的是 CISC要用最少的机器语言指 ...

  7. 一文看懂arm架构和x86架构有什么区别

    本文主要介绍的是arm架构和x86架构的区别,首先介绍了ARM架构图,其次介绍了x86架构图,最后从性能.扩展能力.操作系统的兼容性.软件开发的方便性及可使用工具的多样性及功耗这五个方面详细的对比了a ...

  8. arm架构和x86架构有什么区别

    一.性能 X86结构的电脑无论如何都比ARM结构的系统在性能方面要快得多.强得多.X86的CPU随便就是1G以上.双核.四核大行其道,通常使用45nm(甚至更高级)制程的工艺进行生产:而ARM方面:C ...

  9. ARM、Intel、MIPS处理器的区别

    安卓支持三类处理器(CPU):ARM.Intel和MIPS.ARM无疑被使用得最为广泛.Intel因为普及于台式机和服务器而被人们所熟知,然而对移动行业影响力相对较小.MIPS在32位和64位嵌入式领 ...

最新文章

  1. C++ Primer 5th笔记(chap 14 重载运算和类型转换)类类型转换
  2. Python学习之路,第二次复习:列表,元组
  3. c++ 智能指针_详解 C++ 11 中的智能指针
  4. 垃圾回收机制之标记压缩算法与分代算法
  5. OPENCV-1 学习笔记
  6. [css] 如何使用css实现鼠标跟随?
  7. 地方政府大数据发展的现实与理想
  8. this.fields.get(c) is undefined
  9. Pytorch中expand_as()函数详解
  10. HTML5 Media 原创翻译——第一章(持续更新中)
  11. redis实战之事务与持久化
  12. 简述python2.x和python3.x的区别_python面试题Python2.x和Python3.x的区别
  13. openwrt中luci学习笔记
  14. Linux查看最近开关机记录
  15. 什么是LVDS电平以及和LVPECL的互联
  16. 【Leetcode】| Largest Number
  17. python+mysql逆向_Python js逆向 爬取X天下数据,好好看,好好学
  18. 香港虚拟主机和美国虚拟主机的区别体现在哪些方面
  19. 从Python爬虫到Spark预处理数据的真实需求[四]
  20. 如何策划管理PPC活动(百度推广/直通车/谷歌推广)

热门文章

  1. 安全的网络通道——网络准入之三层准入
  2. 实践材料1(感谢刘望的翻译)
  3. css:字母hover文字加粗,盒子变宽,导致文字列表抖动
  4. 单样本t检验、独立样本t检验、配对样本t检验_python_数据分析_7
  5. 华为RH2288H V3服务器更换内存条
  6. steam账号连接服务器遇到问题,无法预料的服务器浏览器反应 - Steam Support
  7. 信息系统安全等级保护流程
  8. html class生效顺序,HTML5 CSS3小猪日历(动物挂历)
  9. 建木持续集成平台v2.2.1发布
  10. dedecms中[field:imglink/]图片大小问题