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

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

3天内不再提示

现代处理器的主要指令集架构

架构师技术联盟 来源:架构师技术联盟 2023-12-11 09:55 次阅读

​ ​现代处理器的主要指令集架构(ISA)包括:x86指令集架构、RISC指令集架构。

CISC尽可能将任务一次性做完,高效但费脑(性能高、功耗大);

RISC则是将任务拆解,分次做完,虽然对个人能力要求不高(性能低、功耗小),代价是效率更低。

其中,x86可以划分为x86-32(英特尔)、x86-64(英特尔)、AMD64(AMD)等三种。RISC可以划分为ARM、MIPS、Alpha、RISC-V。国产CPU在信创市场已形成“四种技术路径(x86、ARM、MIPS、Alpha)、六大主要厂商(兆芯、海光、鲲鹏、飞腾、龙芯、申威)”的发展格局。

1、x86指令集

第一个方面,x86指令集为了保持二进制的兼容性,即:上一代芯片的应用程序仍然能运行在下一代芯片中,使之前后系列的芯片成为一个“系列机”,扩展了许多新的指令,导致x86指令集的规模不断膨胀。

第二个方面,x86指令集在设计时,采取了一种强指令的方式,即:一条指令可以完成非常强大的功能。例如,一条指令可以完成内存不同位置的整个运算过程,或将一块数据直接从内存的一个位置移动到另一个位置,而且这种强大的操作是在1个时钟周期内完成的。

30c77622-97ba-11ee-8b88-92fbcf53809c.png

上图列出了英特尔官方统计的指令数量变化。在将近40年的发展历史中,x86由不足200条指令到今天超过1600条指令。

30d825bc-97ba-11ee-8b88-92fbcf53809c.png

上图列出了x86指令集的MOV指令种类,其可以跳过一系列底层的微操作,实现一个较为复杂的指令功能。

基于以上的设计理念,x86指令集有以下的优点或缺点。注意,缺点也许是优点,优点也许是缺点,这是马克思辩证唯物主义的思想。

由于需要兼容以往的历史版本,x86的硬件设计复杂,这也成为了其历史包袱。但是,塞翁失马、焉知非福,二进制的兼容性获得了IBM的强力支持,让英特尔快速占领了PC和台式机市场。

一条指令的功能很强,这降低了对编译器的要求。另外,不需要考虑那么多的底层指令,早期的汇编程序员面对x86编程时也较为轻松。

多条高效率的指令并行,让单个核的性能强大。早期的处理器,单核架构足以满足应用需求。

必须要大量的冗余晶体管,以实现这种CISC复杂指令集设计。冗余的晶体管带来了大量的面积和功耗开销。

如今,x86指令集在笔记本、台式机、服务器等场景取得了近乎垄断的优势,和IBM有着紧密的联系。可以说,IBM的选择成就了x86指令集的今天,并成就了英特尔这家曾经名不见经传的小公司。

以上两段文字引自technews、半导体行业观察,其简要描述了IBM早期的选择及其巨大的市场成功。

2、ARM指令集

在上世纪80年代,计算机科学家们分析了大量的程序,发现80%的指令是很少用到的,处理器频繁地使用20%的那部分指令,比如Load指令、条件分支指令、Store指令、比较指令。如下图所示,该表格引自《计算机体系结构:量化研究方法(第六版)》。作者是David Patterson、John Hennessy。

关于ARM深入知识,请参考文章“ARM处理器架构和天梯图解析”、“ARM v8处理器概述、架构、及技术介绍”、“飞腾系和鲲鹏系:国产Arm架构CPU服务器正在崛起”、“收藏:从全球超算战略看ARM指令架构在HPC领域的发展”、“亚马逊最新Arm服务器芯片详解”和“计算芯片变革:ARM取代x86成为趋势”等。

30eb21da-97ba-11ee-8b88-92fbcf53809c.png

因此,早期的RISC指令集、MIPS指令集应运而生,它们砍掉了大量不常用的冗余指令,只保留了最基本、最常用、功能最简单的指令集合。基于这种RISC指令集设计的处理器架构代表是ARM架构,为了便于不同客户进行定制化修改,其每代均会推出以下三个授权版本:

Cortex-A内核,面向高性能应用。

Cortex-R内核,面向实时系统。

Cortex-M内核,面向嵌入式设备场景。

相比于x86指令集(CISC复杂指令集),ARM这种RISC精简指令集的变化主要是:

第一个方面,原来大量的冗余指令,以及由于历史原因兼容的指令,都在统计结果的基础上予以删除。

第二个方面,原来的一条x86强指令,在ARM中被多条基本的简单指令替代。

举一个例子:CISC提供的乘法指令,调用时可完成内存a和内存b中的两个数相乘,结果存入内存a,需要多个CPU周期才可以完成;而RISC不提供“一站式”的乘法指令,需调用四条单CPU周期指令完成两数相乘:内存a加载到寄存器,内存b加载到寄存器,两个寄存器中数相乘,寄存器结果存入内存a。

基于以上的设计理念,或者说,在这样的底层逻辑下,ARM指令集的处理器架构有如下优点或缺点:

砍掉了大量的x86冗余硬件设计,使得DEC译码器的设计更加简单,节省了大量的面积和功耗开销。

一条ARM指令的功能更加单一和基本,这种指令相比于x86的强指令可以称之为”弱指令“,执行这样的弱指令所需的功耗进一步降低。

由于原来一条x86强指令就可以搞定的事情,在ARM这里需要多条弱指令组合来做,大幅提高了编译器的设计难度,同时提高了汇编语言编程的难度。

由于ARM指令集的处理器,相比于x86指令集的处理器,其在硬件结构上更加简单,因此,单个ARM核的面积和功耗更小,但是其性能也更弱小。这就导致了我们堆叠多个弱小的ARM核来打一个强大的x86核。

3、RISC-V指令集

RISC架构随后经历了RISC-I(1981)、RISC-II(1983)、RISC-III(1984)到RISC-IV(1988)四代,却始终未能得到重视。但在这个过程中,RISC的设计理念催生一系列新架构如MIPS、IBM PowerPC以及现在统治移动边缘端的ARM。

关于RISC-V深入知识,请参考文章“RISC-V科普:理解开源ISA架构”、“玄铁RISC-V处理器入门及实践”、“开放指令集与开源芯片发展报告(RISC-V和MPIS)”、“关于RISC-V和开源处理器误区解读”、“深度:RISC-V指令集架构和全球落地”、“深度:RISC-V技术和指令集架构”和“深度报告:RISC-V架构分析(50页PPT)”。

21世纪初期,受当时开源运动在操作系统和应用软件领域取得了巨大成功(如Linux等)的影响,为开源芯片设计带来了崭新的前景。

大家认为,RISC-V有望创造继x86、Arm之后的第三波芯片浪潮。RISC-V的灵活性,对定制化、碎片化场景的支撑力度良好,因此目前主要应用于物联网等终端领域,但在电脑、服务器等领域也已经有了一些尝试。国内RISC-V发展重要事件有:

2018 年9 月 中国RISC-V 产业联盟宣布成立。

2018 年11 月 中国开放指令生态(RISC-V)联盟宣布成立,由倪光南院士担任联盟理事长。

2018 年11月 RISC-V 基金会中国顾问委员会宣布成立。

2019 年7月 阿里巴巴平头哥发布高性能玄铁910 RISC-V 处理器。

2019 年8月 兆易创新发布全球首个基于RISC-V 内核32 位通用MCU

2020 年3月 基金会总部从美国搬迁到瑞士,宣称是规避政治风险。

2023年8 月,RISC-V中国峰会在京开幕,中国工程院院士倪光南、RISC-V国际基金会CEO 卡莉斯塔·雷德蒙德等出席峰会。

2023年11月,阿里平头哥推出了三款基于RISC-V架构的玄铁系列处理器,即将大规模商用。

4、指令集总结

这两种指令集之间的关系就好比是两种不同的烹饪风格。有些厨房可能更偏向于复杂多样的烹饪方式,而有些厨房则更喜欢简单高效的烹饪方式。同样地,CPU的设计者可以根据不同的需求选择使用CISC或者RISC指令集来设计CPU,以满足不同的应用场景和性能要求。

x86架构:封闭架构,由英特尔和AMD牢牢掌握话语权,AMD给HG授权zen1架构;VIA(台湾威盛)曾获得x86架构Licence授权,后来被Z芯收购;20多年来没有第四家授权,其他芯片公司想用也用不了。

主流架构,生态好,由于被Intel和AMD垄断导致封闭状态,影响了国产x86 CPU厂商的创新进程,目前仍然主要处于“消化、吸收”与“小创新”阶段,但其优势在于能兼容Wintel等原有x86生态;

Arm架构:开放架构,虽然由Arm公司所有,但授权开放,需要花钱购买。目前,H为和F腾拥有ARM v8架构永久性授权;阿里平头哥、中兴等国内厂商购买了ARM v9 架构IP授权。

主流架构,生态较好,由于开放授权的商业授权模式,使得国产ARM CPU厂商能够进行更大程度的创新,使得更自主,但需要付出昂贵的授权费。至于是否发展中国自主的ARM v9指令集(进入自主创新阶段),目前无法知悉,但考量因素肯定与生态有关,可能还没有到跟国际ARM生态“脱钩”阶段,毕竟ARM生态在快速追赶x86。

MIPS架构:开放架构,目前已开放了MIPS指令集的R6版本,以Wave Computing管理,但也难挽颓势,最后宣布终止开发,加入RISC-V基金会。LX前期基于MIPS架构授权研发,后衍生出LoongArch自主架构。

小众架构,生态弱,加上Wave Computing母公司“叛变”加入RISC-V基金会,国产CPU厂商不得不踏上“自主创新”阶段,直接牺牲掉MIPS原本就单薄的生态。自主创新固然难得可贵,但是需要重新构建自主生态,可谓是“任重道远”。

Alpha架构:开放架构,目前已经无实体主张该指令集的权利,但相关专利已被HP、Intel等瓜分。申W前期基于Alpha架构,后衍生出SW64自主架构。

小众架构,生态弱,加上很早就没“妈”了(无实体公司运营),所以国产CPU厂商选择“自主创新”,自然是顺理成章!自主创新固然难得可贵,但是单薄的生态,注定只能在小众市场进行落地。

RISC-V架构:开源架构,最特殊,不属于任何机构或国家,开源免费,想用就用,运营成本全靠基金会的兄弟们帮衬。由阿里平头哥主导,越来越多的创业公司加入RISC-V架构阵营。

审核编辑:汤梓红

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

    关注

    68

    文章

    19155

    浏览量

    229040
  • cpu
    cpu
    +关注

    关注

    68

    文章

    10824

    浏览量

    211087
  • RISC
    +关注

    关注

    6

    文章

    461

    浏览量

    83651
  • 指令集
    +关注

    关注

    0

    文章

    222

    浏览量

    23359
  • RISC-V
    +关注

    关注

    44

    文章

    2227

    浏览量

    46000

原文标题:国产CPU崛起:一文通俗理解指令集概念

文章出处:【微信号:架构师技术联盟,微信公众号:架构师技术联盟】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    RISC-V指令集架构介绍和主要处理器IP厂商汇总

    小队只用了三个月就完成了RISC-V指令集的开发,但今天这个指令集已经释放出巨大的能量,即将和x86和ARM架构并立,形成处理器主流架构的“
    的头像 发表于 08-19 08:57 2898次阅读

    对ARM架构的芯片讲解其相关的指令集

    汇编和处理器架构指令集有什么关系呢?ARM架构的芯片有哪些相关的指令集呢?
    发表于 11-29 06:28

    ARM处理器指令集有哪些分类?

    ARM处理器指令集有哪些分类?
    发表于 11-30 06:43

    RISC-V指令集架构微控制相关知识

    超级计算机等各种尺寸的处理器。在RISC-V指令集架构之前,伯克利分校已经有了四代RISC指令集架构的设计经验,第一代RISC
    发表于 12-16 06:24

    精简指令集架构RISC与复杂指令集架构CISC有何区别

    精简指令集架构RISC是什么?复杂指令集架构CISC又是什么?精简指令集架构RISC与复杂
    发表于 12-23 10:02

    处理器指令集设计

    处理器指令集设计垂直指令格式指令类型及其使用频度CISC指令集特点 RISC指令集特点
    发表于 10-29 17:13 64次下载
    微<b class='flag-5'>处理器</b><b class='flag-5'>指令集</b>设计

    thumb指令集是什么_thumb指令集与arm指令集的区别

    。thumb不是一个完整的体系结构,不能指望处理器只执行thumb指令集而不支持arm指令集。 thumb指令集分为:分支指令、数据传送
    发表于 11-03 17:34 1.8w次阅读
    thumb<b class='flag-5'>指令集</b>是什么_thumb<b class='flag-5'>指令集</b>与arm<b class='flag-5'>指令集</b>的区别

    Cortex-M系列处理器指令集_指令集特性比较总结

    本文主要介绍Cortex-M系列处理器指令集指令集特性比较总结,具体的跟随小编一起来了解一下。
    发表于 04-18 16:59 7873次阅读
    Cortex-M系列<b class='flag-5'>处理器</b><b class='flag-5'>指令集</b>_<b class='flag-5'>指令集</b>特性比较总结

    处理器架构指令集

    大家天天都在使用手机,你知道你的手机使用的什么处理器处理器又是何种架构呢?今天笔者就来谈谈处理器架构
    的头像 发表于 04-26 11:40 3582次阅读
    <b class='flag-5'>处理器</b><b class='flag-5'>架构</b>与<b class='flag-5'>指令集</b>

    Intel RISC指令集处理器解析

    Hot Chips 2023大会上,Intel首次公布了一款RISC指令集处理器,拥有独特的8核心528线程规格。
    发表于 09-01 15:02 943次阅读
    Intel RISC<b class='flag-5'>指令集</b><b class='flag-5'>处理器</b>解析

    瑞萨推出首款基于RISC-V指令集架构处理器内核

    嵌入式硬件专家瑞萨电子宣布推出首款基于免费开放的 RISC-V 指令集架构 (ISA) 的完全自主研发的处理器内核。
    的头像 发表于 12-01 17:28 1446次阅读
    瑞萨推出首款基于RISC-V<b class='flag-5'>指令集</b><b class='flag-5'>架构</b>的<b class='flag-5'>处理器</b>内核

    处理器指令集架构介绍

    和执行。指令集架构不仅影响微处理器的性能,还决定了其兼容性、可编程性和应用场景。以下是对微处理器指令集
    的头像 发表于 08-22 10:53 915次阅读

    复杂指令集和精简指令集有什么区别

    复杂指令集(CISC,Complex Instruction Set Computer)和精简指令集(RISC,Reduced Instruction Set Computer)是微处理器设计中
    的头像 发表于 08-22 11:00 2717次阅读

    处理器指令集有哪些

    处理器指令集是微处理器设计和功能实现的基础,它决定了微处理器能够执行哪些操作以及这些操作如何被组织和执行。随着计算机技术的不断发展,微处理器
    的头像 发表于 10-05 14:58 240次阅读

    简述微处理器指令集架构

    处理器指令集架构(Instruction Set Architecture,ISA)是计算机体系结构中的核心组成部分,它定义了计算机能够执行的指令集合、数据类型、寄存
    的头像 发表于 10-05 14:59 285次阅读