0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

RISC-V、ARM与x86微处理器之间有什么区别?

科技观察员 来源:英锐恩 作者:英锐恩 2023-07-06 11:32 次阅读

RISC-VARM 和x86微处理器之间的许多差异都很细微,并且与内存寻址方式、分支执行方式、异常处理方式等有关。本文将考虑更高层次的差异,并将简要比较精简指令集计算(RISC)和复杂指令集计算(CISC),考虑这些差异对功耗和计算性能之间的权衡的影响,看看安全性和预测性如何执行被处理,虚拟化是如何实现的,最后是对RISC-V、ARM 和 x86 设备的应用程序适用性的概述。

Intel的x86架构也在AMDCPU上提供,ARM处理器和IP由ArmLimited提供,RISC-V国际组织正在开发RISC-V。英特尔、AMD、ARM 和 RISC-V之间的两个非常显着的区别在于商业模式和计算架构。英特尔、AMD 和 ARM 基于专有 IP,并且这些公司销售和/或许可他们的产品。RISC-V是一个开放的规范和平台;它不是开源处理器。可以使用开源 RISC-V 内核,但也有商业许可的内核。

Open-Source-Vs-Commercial-RISC-V-Licensing-Models.png

RISC-V和ARM处理器在计算架构上基于RISC概念,而Intel和AMD的x86处理器则采用CISC设计。

一、RISC与CISC的计算

RISC体系结构具有可以在单个计算机时钟周期内执行的简单指令。因此,完成一项特定任务往往需要执行多条指令。同样的任务可以在CISC处理器上用更少的指令(甚至单个指令)完成。

CISC计算力求用尽可能少的代码行完成一项任务。一条CISC指令可能需要多个计算机时钟周期才能完成。例如,CISC处理器的两个数相乘可以用一条指令完成:

MUL 1200, 1201

“MUL”是一个复杂的指令。它不需要程序员显式使用任何调用、加载或存储函数。它直接在计算机的内存上运行,类似于高级编程语言中的命令。RISC

处理器上的乘法不能用单个命令完成;需要几个更简单的指令来从内存中的特定位置加载每个操作数(下面示例中的 1200 和

1201),将数字相乘,然后存储结果:

Load A, 1200

Load B, 1201

MUL A, B

Store 1200, A

在此示例中,Load指令将来自内存位置1200和1201的数据分别存储到寄存器A和B。MUL指令将两个寄存器中的值相乘。它将结果保存在A中,Store指令将 A 的值存储在内存位置1200(或任何其他指定的内存位置)中。在RISC处理器中,诸如MUL之类的操作仅在寄存器上执行,而不是直接在内存上执行。虽然这增加了指令数,但它允许使用更简单的指令。

二、功率与性能

与CISC指令相比,执行更简单的 RISC 指令消耗的功率更少。CISC

处理器试图以每条指令的计算机时钟周期数为代价来最小化每个程序的指令数。RISC采用相反的方法,使用可以在单个时钟周期内执行的简单指令,但需要更多的指令。以下等式显示了计算机的性能能力(运行程序的时间)与每条指令的周期数以及每条程序的指令数之间的关系:

20211207173523.jpg

从这个等式来看,有两种方法可以提高性能,最小化每个程序的指令数或减少每个指令的周期数。一般而言,RISC方法在降低整体功耗方面更为成功,有时会以降低性能为代价。然而,分歧正在缩小。ARM添加了更复杂的指令来提高处理器性能(以更高的功耗为代价)。英特尔将其一些操作码分解为类似于RISC的微操作,以实现更低的功耗。

三、安全性

权限环(有时称为保护环)是为保护数据和功能免受故障、提高容错能力和提高安全性免受恶意操作而建立的分层域。环按照从最高特权或最受信任到最低特权或最不受信任的层次结构设置。零环通常是最高特权级别,直接与

CPU 内核和内存交互。

6cc16b0210bb4ae9905012858ecdf39c.jpg

x86 架构包括四个级别的特权环。ARM v7 架构包括三个特权级别;应用程序、操作系统和管理程序。ARM 和 RISC-V都使用隔离机制的概念。ARM 采用基于硬件的安全性,其中域被硬编码到硬件中,而 RISC-V 使用软件定义的隔离域。

OP-TEE 是实现 ARM TrustZone 技术的开源可信执行环境 (TEE)。OP-TEE 已被移植到许多 ARM 设备和平台,包括 ARMv8。RISC-V MultiZone 安全软件模型很小,因此速度更快。RISC-V内置了多种安全机制,包括四级权限环、安全中断处理和独特的物理内存保护(PMP)机制。RISC-V 还提供了商用安全增强功能,包括加密库、信任根和多域

TEE。

RISC-V 的开源特性导致专有 ISA 缺乏的透明度,并为另一个级别的安全性提供了可能性。RISC-V社区庞大而多样,许多设计人员不断研究安全环境和潜在威胁向量。一旦识别出安全风险,它通常会与开放社区共享,使专家能够快速开发或提出解决方案。

四、预测执行

谓词执行允许某些指令仅在特定的先前条件为真时才执行。例如,先前的结果必须大于零;否则,处理器继续执行下一条指令。ARM 和 x86

支持各种格式的谓词执行。

宏操作融合是一种硬件优化技术,在解码之前或解码过程中,将一系列相邻的宏操作合并为一个宏操作。ARM在其最近的微体系结构中支持许多宏操作融合操作。微操作融合在处理器内部将两条指令合二为一,有效实现无需指令集帮助的谓词执行。

基本的RISC-V指令集不支持谓词执行。然而,实验性的BOOMv3乱序推测RISC-V处理器使用精简指令集与微操作融合的组合来实现预测执行。

五、CPU、内存和I/O的虚拟化

ARM、x86 和 RISC-V 都支持 CPU 和内存的虚拟化。RISC-V ISA 目前不支持 I/O 的虚拟化。在 x86生态系统中,Intel和AMD有自己的虚拟化方法。英特尔被称为虚拟化技术或 VT。VT由 VT-x组成,包含核心侧特征;VT-d,包含输入输出内存管理单元(IOMMU);和 VT-c,它涵盖了网络接口。AMD在标签AMD-V下提供核心端虚拟化,而IOMMU称为AMD-Vi。英特尔和 AMD 的产品在实现细节上有所不同,但与 ARM

的产品相比,彼此的架构更加紧密。

与 x86 处理器采用的方法类似的虚拟化扩展已添加到ARM架构中。ARM虚拟化扩展使硬件方式能够使用管理程序虚拟化 CPU。多个操作系统可以在每个虚拟

CPU 上运行。

RISC-V H(管理程序)扩展 v0.6.1 引入了 CPU 状态的完整副本:一份副本用于来宾,一份副本用于主机(类似于 IntelVT-x)。RISC-V通过将敏感寄存器和指令赋予主机模式特权来支持 CPU 的虚拟化。从预发布版本号可以看出,RISC-V虚拟化是一项正在进行的工作。最近发布了用于嵌入式系统的 Rocket 芯片内核中最新版本的 RISC-V 虚拟机管理程序扩展的首次公开实施和评估。

与x86和ARM架构一样,RISC-V支持使用多阶段页表的内存虚拟化。此外,RISC-V为来宾表和主机表实现了相同的页表条目格式。

I/O虚拟化在RISC-V中留待指定。它主要是IOMMU和平台级中断控制器(PLIC)的一个特性,它位于RISC-VISA的域之外,需要指定。当前指定的 PLIC 不包括用于配置中断注入的寄存器。

六、RISC-V和ISA的扩展

RISC-V

从一开始就设计为不仅支持基本ISA和标准扩展,而且还支持自定义ISA扩展。虽然ARM最初并未设计为使用自定义扩展,但这种情况正在发生变化,并且ARM生态系统开始使用自定义扩展。x86生态系统是封闭的,一般不支持自定义ISA扩展。

RISC-V ISA被组织成指令组(基本 ISA 和标准扩展)。使用对标准ISA的扩展的能力可以为特定应用程序提供支持。例如,最近发布的 RISC-V向量扩展(RVV)使基于RISC-VISA的处理器内核能够与传统标量运算一起处理数据数组,以加速大型数据集上单指令流的计算。适合矢量处理器的任务示例包括:

(1)机器学习

(2)压缩图像、zip文件等。

(3)密码学。

(4)多媒体:音频视频

(5)语音和手写。

(6)奇偶校验、校验和。

(7)散列/连接。

RISC-V

ISA支持自定义扩展的能力可以成为特定用例或应用程序的关键区别。使用自定义扩展不会破坏与主要ISA的合规性。支持自定义扩展的处理器也可以运行通用 RISC-V

软件。

RISC-V-custom-extensions.jpg

上图显示了RISC-V软件堆栈中的自定义ISA扩展。操作系统(OS)可以是实时操作系统(如embOS、FreeRTOS、LynxOS等),也可以是富操作系统(如LinuxAndroid、Windows等)。在此示例中,App1

确实需要性能增强并且不使用自定义 ISA 扩展。它可以符合标准编译器。App2 和 App3 使用自定义 ISA 扩展来提高性能,并且必须使用包含自定义 ISA

扩展的编译器进行编译。

所以,x86、ARM和RISC-V微处理器之间的差异很多而且各不相同。这些差异推动了一般应用程序的适用性。来自AMD和Intel的x86处理器在计算机和服务器领域占据主导地位。在平板电脑智能手机上,苹果和高通的ARM处理器占主导地位。ARM处理器在嵌入式应用中也很强大。随着

RISC-V 越来越多地用于嵌入式系统、汽车系统、磁盘驱动器人工智能和机器学习应用程序,这种优势正在受到挑战。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • ARM
    ARM
    +关注

    关注

    134

    文章

    8653

    浏览量

    361825
  • 微处理器
    +关注

    关注

    11

    文章

    2133

    浏览量

    81422
  • X86
    X86
    +关注

    关注

    5

    文章

    285

    浏览量

    42983
  • RISC-V
    +关注

    关注

    41

    文章

    1904

    浏览量

    45047
收藏 人收藏

    评论

    相关推荐

    ARM vs x86 vs RISC-V,未来属于谁?

    处理器区别是,前者使用复杂指令集(CISC),而后者使用精简指令集(RISC),属于这两种类中的各种架构之间最大的区别。时至今日,有人表示
    发表于 07-27 17:54

    RISC-V哪些特点

    完全自由免费使用,同时也容许企业添加自有指令集拓展而不必开放共享以实现差异化发展。  第二点是简单,这也是RISC-V架构的设计哲学。在处理器领域,X86ARM架构的发展过程也伴随了
    发表于 08-25 11:17

    RISC-V PC计划,X86Arm迎来新挑战?

    了初期准备,现在他们了一个x86模拟。但是,目前尚无针对RISC-V平台的相同软件支持。如果有人要想成为x86
    发表于 11-26 18:00

    ARMRISC-V架构的区别是什么?

    、 Cortex-M处理器等。 ARM架构,更主要的是ARM指令集系统。不同于x86架构的复杂指令集(CISC)架构,是一种精简指令集(RISC
    发表于 04-25 09:13

    RISC-V的特色,大饱眼福!!!

    RISC-V架构秉承简单的设计哲学。体现为:在处理器领域,主流的架构为x86ARM架构。x86ARM
    发表于 06-18 19:41

    RISC-V是什么

    (刚刚投入芯片行业学习的新人,存在理解错误的地方欢迎指出,并探讨,还请多多包涵,谢谢!) RISC-V区别于 INTEL x86架构、arm架构的另一种芯片内核架构。
    发表于 07-23 06:06

    Powerpc架构与X86架构的区别

    X86架构的区别1、ARMARM处理器是英国Acorn有限公司设计的低功耗成本的第一款RISC微处理器。全称为Advanced
    发表于 07-26 06:16

    arm架构和x86架构什么区别

    什么叫arm架构?x86架构是由哪些部分组成的?arm架构和x86架构什么区别
    发表于 10-25 08:25

    arm架构和x86架构什么区别是什么?

    Cortex系列处理器是从从ARM哪个架构开始的?arm架构和x86架构什么区别是什么?如何计
    发表于 10-28 08:36

    OpenHarmony适配移植:X86ARMRISC-V、MIPS、LoongArch芯片架构简析

    、技术先进、兼容生态龙芯中科二、简要介绍1、X86架构X86微处理器执行的计算机语言指令集,指一个Intel通用计算机系列的标准编号缩写,也标识一套通用的计算机指令集合。1978年6月8日,Intel
    发表于 09-30 17:46

    四大主流芯片架构(X86ARMRISC-V和MIPS)

    1、X86架构X86微处理器执行的计算机语言指令集,指一个Intel通用计算机系列的标准编号缩写,也标识一套通用的计算机指令集合。1978年6月8日,Intel 发布了新款16位微处理器
    发表于 02-27 14:39

    RISC-Varm什么区别

    RISC-Varm什么区别
    发表于 03-09 10:06

    微处理器架构的后起之秀——RISC-V

    CPU的灵魂—处理器架构处理器架构是微处理器非常重要的特征之一,在历史上诞生了许许多多经典的处理器架构。例如大名鼎鼎的x86架构,他是由In
    发表于 04-14 10:53

    WD聚焦RISC-V架构,实现RISC-V处理器标准化,欲替代ARMx86

    储存巨擘Western Digital (WD)宣布将在RISC-V处理器上实现标准化,并投资了一家新创公司Esperanto Technologies——该公司主要采用开放来源指令集架构设计高阶SoC和核心。从这两项举措显示,RISC
    发表于 12-01 17:00 1517次阅读

    介绍三大主流芯片架构:X86ARMRISC-V

    我们主要应用的三大芯片架构:X86ARMRISC-V架构
    发表于 07-25 09:35 2w次阅读
    介绍三大主流芯片架构:<b class='flag-5'>X86</b>、<b class='flag-5'>ARM</b>、<b class='flag-5'>RISC-V</b>