什么是RISC-V?以及RISC-V和ARM、X86的区别

这篇具有很好参考价值的文章主要介绍了什么是RISC-V?以及RISC-V和ARM、X86的区别。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言

RISC-V是基于RISC精简指令集架构开发的一个开放式指令集架构,它是由加州大学伯克利分校的计算机科学教授Krste Asanovic(克里斯蒂安·阿萨诺维奇)领导的团队开发,RISC-V是开放的,任何人都可以使用它来开发处理器芯片和其他硬件,而无需支付任何许可或使用费用。RISC-V的设计简单,易于扩展和自定义,可以在各种应用场景和市场中使用。

什么是指令集架构?

指令集架构(Instruction Set Architecture,简称ISA)是计算机系统中的一个重要概念,指的是计算机中处理器的指令集和处理器的内部结构,即处理器是如何执行指令的。

ISA规定了一套指令集,包括指令的种类、指令的格式、指令的操作数、指令的执行方式等。ISA也规定了处理器的内部结构,包括处理器的寄存器、指令流水线、内存管理单元等。

不同的ISA有不同的指令集和内部结构设计,因此处理器的计算能力和性能也会有所不同。常见的ISA包括ARMx86MIPSPowerPCRISC-V等。ISA的选择对计算机系统的性能、功耗、软件兼容性、应用场景等都有很大的影响。

简单点比喻可以把指令集架构理解为图纸,处理器就是房子

RISC和RISC-V的区别

RISC全称Reduced Instruction Set Computer,即精简指令计算机,它是指令集架构,它的理念在于旨在通过减少指令集的数量和复杂度,提高计算机的性能和效率。

RISC最初由加州大学伯克利分校David PattersonJohn Hennessy1980年代提出,并于1984年合著了一本名为“Computer Architecture: A Quantitative Approach”(中文译名为《计算机体系结构:量化研究方法》)的经典教材,该书详细介绍了RISC架构和量化分析方法,成为当时计算机体系结构领域的重要参考书。

RISC-V是由Krste Asanovic教授领导其团队基于RISC精简指令集架构开发的一款开源指令集架构,RISC-V具有更好的灵活性以及扩展性,同时它比RISC更加简单便于它人二次开发扩展,并且它不需要任何授权费,可以应用于商业场景因为它遵循BSD开源协议,可以把RISC-V理解为RISC的扩展版。

RISC-V的发展历史

RISC-V的创作者

RISC-V是由多位学者和工程师共同开发的,以下是一些主要贡献者:

  1. Krste Asanovic:加州大学伯克利分校电子工程与计算机科学教授,RISC-V的创始人之一。

  2. Andrew Waterman:加州大学伯克利分校博士研究生,RISC-V的主要开发者之一。

  3. David Patterson:加州大学伯克利分校计算机科学教授,计算机体系结构领域的知名学者,RISC-V的顾问之一。

  4. Yunsup Lee:加州大学伯克利分校博士研究生,RISC-V的主要开发者之一。

  5. Alberto Sangiovanni-Vincentelli:加州大学伯克利分校教授,计算机电子学领域的知名学者,RISC-V的顾问之一。

此外,在RISC-V的开发过程中还得到了来自多家公司的支持和参与,包括英特尔、谷歌、诺基亚、贝尔、卡内基梅隆大学、华为、科技大学格拉茨、西部数据等。

创造RISC-V的原因

最初Krste Asanovic想找一款免费高效的指令集架构用于教育方面,就像Andrew S. Tanenbaum(安德鲁·斯图尔特·塔能鲍姆)当初觉得UNIX闭源而开发MINIX从而启发并诞生后来的LINUX一样,在当时碍于ARMx86都是需要授权的指令集架构,当时基于RISC实现的指令集架构都比较复杂效率低下,所以Krste Asanovic决定基于RISC开发一款免费、开放、高效的指令集架构,所以他在2008年开始主导开发RISC,RISC-V是第五个版本,在此之前已经迭代了四个版本,RISC-V就是第五个版本。

以下是总结并整理为什么创造RISC-V的几个原因:

  1. 开放性:Krste Asanovic认为,计算机行业需要一种更加开放的指令集架构,以便更多的公司和个人可以参与到处理器的设计和开发中。这也是为什么RISC-V采用BSD开源协议,可以自由地使用和分发。

  2. 灵活性:传统的指令集架构大多采用固定长度的指令,这限制了处理器的灵活性和指令集的扩展能力。而RISC-V指令集架构采用了可变长度的指令,可以实现更加灵活和高效的指令集扩展和自定义。

  3. 可定制性:Krste Asanovic认为,处理器的设计应该是可定制的,以满足不同应用场景的需求。而使用RISC-V指令集架构,处理器的设计可以根据具体的需求进行自定义,而不必受限于传统指令集的限制。

  4. 教育性:Krste Asanovic希望通过开发RISC-V指令集架构,为学生和研究人员提供一个更加友好和易于理解的指令集,以便他们更好地学习和研究计算机处理器的设计和开发。

RISC-V与ARM、X86指令集架构的区别

RISC-V与ARM

RISC-VARM都是基于RISC的指令集架构,它们的主要区别如下:

  • 指令集数量
    • ARM指令集和寄存器要比RISC-V丰富
  • 指令集宽度
    • RISC-V指令集最大可以扩展到128位,目前ARMv8-A架构最高只能扩展到64位指令集,通常RISC-V使用32位指令也支持压缩的16位指令
  • 指令集复杂度
    • RISC-V的汇编比ARM的要更加简单容易理解
  • 指令集执行方式
    • RISC-V更注重于执行效率耗能优化,可以更好的适用于嵌入式和移动设备,ARM更注重于通用性兼容性,适合更广泛的平台
    • RISC-VARM都支持分支预测,ARM还引入了分支目标缓存用于提高分支预测的准确度。
    • ARM指令的微操作数量一般很难确定,因为它也是RISC指令集,ARM有较为完善的指令,一些基础指令可能只有一个微操作而其它的可能会有多个微操作,但RISC-V指令集一般只有一个微操作
  • 指令集开放程度
    • RISC-V采用BSD开源协议,它无需授权就可以进行二次开发ARM需要授权并且是闭源开发
  • 指令集功耗与性能
    • ARM经过许多年的发展诞生了许多不同架构的指令集性能功耗都经过了广泛优化,在这一点上ARM目前是胜于RISC-V
  • 指令集存储结构
    • ARM Cortex-M系列是哈佛结构Cortex-A冯诺依曼体系RISC-V采用的是冯诺依曼

从我个人角度来说我认为RISC-V和ARM的区别更像Linux与Unix,最后综上总结RISC-V和ARM的具体区别如下:

  1. 架构和指令集:RISC-V架构是开源的,而ARM不是,ARM架构只能由ARM授权合作伙伴使用。此外,RISC-V指令集具有可扩展性,可以根据不同的应用需求进行裁剪和扩展,而ARM指令集则有多个版本,在不同的应用场景中使用。

  2. 许可和生态系统:RISC-V架构没有知识产权费用,使用和实现都是自由的,因此在学术界和开源社区中获得了广泛的支持和发展。而ARM架构需要授权才能使用,因此在商业市场中获得了更多的应用和支持。

  3. 性能和功耗:由于ARM架构已经在市场上应用多年,因此在性能和功耗方面已经得到了广泛的优化。但是,RISC-V架构具有更好的可扩展性和灵活性,能够支持更多的应用和场景。

知识补充

条件执行

条件执行是根据上一条指令执行结果来判断的,在ARM架构中条件码存放于CPSR寄存器,相当于C语言的三目表达式,例如:

汇编:

CMP R0, #0        ;比较R0和0是否相等
ADDEQ R1, R0, R1  ;如果相等,则执行下一条指令,否则跳过

C语言

int max(int a, int b) {
    return a > b ? a : b; // 使用条件执行指令实现返回较大值
}

在条件执行中大多数指令为ADDNEADDEQ这样的指令,这些指令是根据前一条指令的执行结果,CMP会将比较结果写入CPSR,ADDEQ会去判断CPSR寄存器上面的标志位,如果标志位符合NE(equal)条件则将R0和R1相加的结果写入到R1中,ARM这样的设计是为了保证程序的正确执行,只有在条件正确的情况下才执行运算保证了程序的正确性,相当于C语言的if语句。

分支执行

汇编:

loop:
    ; 从用户处获取一个整数
    ...
     
    ; 检查整数是否为偶数
    and t0, x0, 0x1    ; 将整数与0x1进行与操作(获得最后一位二进制数),结果存储在t0中
    beq t0, x0, even   ; 如果最后一位二进制数为0,跳转到标签even处
    j odd              ; 否则跳转到标签odd处
 
even:
    ; 整数为偶数
    ...
    j loop             ; 跳转回循环开始
     
odd:
    ; 整数为奇数
    ...
    j loop             ; 跳转回循环开始

C语言

int max(int a, int b) {
    while(1) {
        if (a > b) { // 使用分支跳转实现返回较大值
            return a;
        } else {
            return b;
        }
    }
}

RISC-V和X86的区别

RISC-V是基于RISC指令集而X86则是复杂指令集(CISC),CISC是由Intel公司为第一块16位的CPUi8086设计开发的复杂指令集。

  • 指令集数量
    • CISC指令集中包含大量指令,每个指令都可以执行比较复杂的工作,指令集全面,而RISC需要多条指令组合执行,简单来说就是CISC指令集更加全面
  • 指令集宽度
    • CISC目前有两个框架:IA-32(x86)AMD64(x86-64),分别对应32位和64位指令集架构,而RISC-V最大可以支持128位指令集(需要扩展,原生态不支持),通常情况下RISC-V是32位指令宽度
  • 指令集复杂度
    • RISC-V采用的是RISC指令集,所以要更加的简单易学,而x86的是CISC指令集由于历史原因CISC指令集较为复杂,指令集复杂的同时也会带来架构的复杂,而汇编是最接近底层的语言,学习汇编需要对CPU架构有一定了解,所以RISC-V的汇编更容易学习,因为它的架构比CISC要简单
  • 指令集执行方式
    • 因为CISC的指令种类繁多,所以处理器需要更大硬件资源来支持CISC指令集的编码与执行过程,CISC每次执行指令通常涉及到多个微操作,而RISC-V指令集更加的简单不需要更大的硬件资源支持,同时每次执行指令一般只涉及到一个微操作
    • RISC-VCISC都支持分支预测
  • 指令的开放程度
    • RISC-V是免费开放不需要授权的指令集架构,CISC需要向Intel公司购买授权费
  • 指令集功耗与性能
    • CISC架构的功耗通常比RISC架构高一些,这是因为CISC指令执行时需要更多的硬件资源,如更复杂指令流水线、更加复杂的解码器和更大的缓存。同时,CISC指令中的一些复杂指令需要更多的时钟周期来执行,这导致了更多的功耗消耗。此外,CISC处理器中的指令规模较大,需要更多的存储器来存储指令集,而存储器的功耗也较高

      但是,随着技术的发展,CISC架构的功耗也在不断降低,比如采用更小的制造工艺更优化的流水线设计等。当前一些CISC架构的处理器已经采用了节能技术,如动态电源管理(DPM)和可变电压和频率技术(DVFS),以在降低功耗的同时提升性能

    • 性能需要通过处理器的制作工艺来判断,比如集成度内存层次结构流水线和缓存设计等等,CISCINTEL公司设计并制作,INTEL的芯片制作工艺还是比较强大的,但是如果在同样的制作工艺下RISC-V性能应该要胜于CISC。
  • 指令集存储结构
    • RISC-VCISC都采用的是冯诺依曼存储结构

综上总结如下:

  1. 复杂度:CISC指令集非常复杂,每个指令可以执行多个操作,而RISC-V指令集采用精简指令集,每个指令只执行一项操作,因此更加简单。

  2. 指令类型:CISC包含多种指令类型,包括数据操作、控制操作和I/O操作等,而RISC-V指令集通常只包含几种指令类型,主要包括算术逻辑操作、内存操作和分支跳转操作。

  3. 可扩展性:RISC-V指令集极具可扩展性,允许开发者添加自定义指令,以便更好地满足特定应用程序的需求。而CISC指令集则缺乏这种灵活性。

  4. 性能:RISC-V指令集通过简化指令集和硬件实现来提高性能,而CISC主要通过制作工艺和设计架构方面来提高性能。

简单来说RISC-V指令集更加简单、易于理解可扩展,而CISC指令集则以复杂但多功能的指令为特点,两者在不同应用场景下都有一定的优势,RISC-V更适合应用在一些特定的场景下,CISC比较适合一些通用的应用场景

什么是微操作?

微操作也称微指令,它是一个指令里要执行的步骤,指令可以划分为几个微操作,比如ADD指令可能有到三个微操作 :

  1. 取值到寄存器
  2. 进行调用ALU进行加法运算
  3. 将结果存放到寄存器里每个指令对应的微操作不同

有的指令需要更多的微操作去完成,在CISC多个微操作可以在一个CPU时钟周期内完成,而RISC-V每个指令只有一个微操作,也就意味着一个时钟周期内只能执行一个微操作,所以如果RISC-V想要完成比较复杂的工作则需要更多的指令集组合起来才可以,RISC-V追求的是一步到位

对浮点数的支持

RISC-V支持IEE754浮点标准文章来源地址https://www.toymoban.com/news/detail-613659.html

到了这里,关于什么是RISC-V?以及RISC-V和ARM、X86的区别的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Intel和AMD 与 x86,ARM,MIPS有什么区别?

    先说amd和intel amd和Intel这俩公司的渊源很深,早期时Intel先是自己搞了个x86架构,然后amd拿到了x86的授权也可以自己做x86了。接着intel向64位过渡的时候自己搞了个ia64(x64架构)但是因为和x86架构不兼容市场反应极差,amd率先搞了x86的64位兼容(32和64的混合架构)也就是后来的

    2024年02月15日
    浏览(51)
  • 服务器基础知识:aarch64 arm64 arm x86有什么区别

    aarch64 和 arm64 是指基于ARM架构的64位处理器,而 arm 是指基于ARM架构的32位处理器。 x86 则是指基于x86架构的处理器。 架构: aarch64 、 arm64 和 arm 都属于ARM架构,而 x86 属于x86架构。 位数: aarch64 和 arm64 是64位处理器架构,能够使用64位的寄存器和指令集。 arm 是32位处理器架构

    2024年02月08日
    浏览(37)
  • X86和arm的区别

    硬件上的区别 x86 系统中的硬件组件(如声卡、显卡、内存、存储器和 CPU)都是相互独立的。大多数组件都有单独的芯片,称为控制器。我们可以对这些组件进行更改或扩展,而不会影响连接性或整个硬件平台。 ARM 处理器没有单独的 CPU。相反,处理单元与其他硬件控制器位

    2024年02月03日
    浏览(31)
  • x86 和 x64 arm的区别

    x86和x64是基于英特尔x86架构的复杂指令集架构(ISA),而ARM是一种精简指令集架构。 假设我们现在要开发一个cpu,就好比说我们去修建一栋楼,开发商会先将图纸设计好。设计好之后由施工单位按照设计图去建造。在建造的这个过程中,施工方是要按照国家一定的规范来设计

    2024年01月19日
    浏览(31)
  • CPU 架构:ARM 和 x86 架构区别

    计算机有两种主要的 CPU 架构可供选择。Windows PC 通常建立在 Intel 和 AMD 使用的 x86 平台上,而 Apple 的计算机则使用该公司自己的基于 ARM 架构的 M1 和 M2 处理器。 这些方法之间存在差异,并且对性能的意义具有重大影响。 x86 和 ARM 处理器平台做相同的事情,但它们以完全不

    2024年04月27日
    浏览(30)
  • x86 32 64 Arm这些听过但不懂,都是什么?是架构还是系统?一文梳理

    x86 听过吗? 64位操作系统知道吧 和x86什么关系 32和64都是什么东西? 曾经的我也一头雾水,今天我才来整理一下,惭愧惭愧! 今天带着沉重的心情来梳理一下学习内容吧 如果你很熟悉很了解计算机的话,应该知道,处理器、操作系统、驱动、软件都有32位和64位之分,只不

    2024年04月29日
    浏览(40)
  • 常用的RabbitMQ命令以及安装RabbitMQ(ARM架构的CentOS虚拟机和X86架构的CentOS虚拟机)

    后台启动 直接启动,如果关闭窗⼝或需要在该窗⼝使⽤其他命令时应⽤就会停⽌   启⽤服务  重启服务  查看状态  停⽌服务 关闭防火墙  开启15672端口(暂时开通)  禁用防火墙(禁止开机启动)   重启防火墙  启动防火墙  查询防火墙状态 Erlang([\\\'ə:læŋ])是⼀种通⽤的

    2024年02月04日
    浏览(40)
  • RISC-V和ARM

    参考:https://www.eet-china.com/mp/a39867.html RISC-V和ARM都是基于**精简指令集计算 (RISC)**原理建立的指令集架构。他们的主要区别在于他们的授权模式和开放性: ARM 是一种专有的指令集架构,众多使用ARM架构的厂商,只能根据自身需求,调整产品频率和功耗,不得改变原有设计。

    2024年02月19日
    浏览(26)
  • 国内 RISC-V 产学研基地成立,Intel、Arm、RISC-V 将三分天下?

    作者 | 伍杏玲 出品 | CSDN(ID:CSDNnews) 在IT界,CPU芯片和操作系统是网信领域最基础的核心技术。但在芯片领域,技术和资本的门槛较高,应用范围最广的指令集架构需获得专利授权才能使用,如x86、Arm等。而投入研发的资金,以14nm工艺为例,需上亿元的研发费用。 如何降

    2024年01月17日
    浏览(38)
  • RISC-V与ARM的比较

    RISC-V与ARM的比较 RISC-V和ARM是近年来受到广泛关注的两种处理器架构。RISC-V是一个开源指令集架构(ISA)基于精简指令集计算(RISC)原则。而ARM指令集架构是一个专有ISA,其较早出现,经过多年的发展,获得了广泛的声誉,已成为嵌入式系统和移动设备中主流ISA。 比较这两种

    2024年02月02日
    浏览(28)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包