指令集ISA简介(CISC和RISC阵营,X86、ARM、MIPS架构)——Linux应用与开发技术笔记(2)

系列文章目录


前言

       ISA——是 Instruction Set Architecture(指令集体系结构)的缩写,指令集因其系统性和复杂性,也被称为(Instruction Set Architecture,ISA)。指令集对上限定了软件的基本功能,对下制订了硬件实现的功能目标,因此指令系统的设计(指令集中应该包含哪些指令,指令应该采用什么样的格式来表示)是计算机系统设计中十分重要的一环。


一、指令集是什么?

        指令集是一个计算机系统支持的所有机器指令的集合,它常被看作软硬件之间的分界面。计算机系统工作的基本过程是:程序员编写的软件经编译器翻译成可执行程序,也就是一个机器指令的序列,然后由底层硬件一条条读取这些指令来执行

        从上述过程可以看出,软件最终体现为指令集中的各种指令。指令集对上层软件来说,就是加减乘除等基本操作的一个集合,这些基本操作的堆砌形成了更复杂的软件功能,如队列堆栈、函数调用等。对下层硬件来说,指令集提供了一个计算机系统实现的目标蓝图,底层硬件可以看作对指令集的实现。


二、ISA两大阵营

1. 划分依据

        按照指令系统复杂程度的不同,ISA 可分为 CISC 和 RISC 两大阵营。CISC 是指复杂指令系统计算机(Complex Instruction Set Computer);RISC 是指精简指令系统计算机(Reduced Instruction Set Computer)。        


2. CISC体系结构

        CISC 体系结构:通过设置一些功能复杂的指令,把一些原来由软件实现的、常用的功能改用硬件指令实现,以此来提高计算机的执行速度。越来越多的复杂指令被加人指令系统中,逐渐形成了一个庞大且复杂的指令集。

        CISC结构追求的目标是:强化指令功能,减少程序的指令条数,以达到提高性能的目的。早期的计算机系统几乎全都是CISC架构,特别是微型机中 Intel 和 AMD 早期的 CPU 都是纯粹的 CISC体系架构,大量软件也是基于 CISC 架构来开发的,特别是广泛流行的操作系统软件。


3. RISC体系结构

        20世纪70年代,RISC技术诞生,并在加州大学伯克利分校 David Patterson 和斯坦福大学 John Hennessy 等人的推广下得以广泛实现。

        RISC体系结构的基本思想:尽量简化计算机指令功能,只保留那些功能简单、能在一个节拍内执行完成的指令,而把较复杂的功能用段子程序来实现。 RISC通过减少指令种类、规范指令格式和简化寻址方式等方法,方便处理器内部的并行处理,提高超大规模集成电路(VLSI)器件的使用效率,从而大幅度地提高处理器的性能。

        RISC 指令系统仅包含最常用的简单指令,因此可以通过硬件优化设计,把时钟频率提得很高,从而实现整个系统的高性能。同时,RISC 技术在 CPU 芯片上设置大量寄存器,用来保存常用的数据,以大大减少对存储器的访问,用高速的寄存器访问取代低速的存储器访问,从而提高系统整体性能。


4. 二者市场

        目前,CISC 占据了桌面和服务器领域的大部分市场,RISC 占据了移动和物联网领域大部分市场,但它们只是代表了 ISA 设计的两个主要方向,在新一代的 CPU 设计中,正在逐渐融合 RISC和 CISC 技术,取长补短。


三、常用ISA简介

1. X86指令集

        X86 是一个指令集家族,即许多与早期 X86 指令集 (Intel 8086 CPU 的指令集) 兼容的指令集。按微处理器体系结构不同,X86 指令集家族又分为 X86-32(IA-32) X86-64(AMD64)

        X86 指令集是目前世界上最流行的指令集,也被认为是现存唯一的 CISC 指令集。其架构设计可能并不一直是处理器中做的最好的,但是 X86 的兼容性做的最好,即使在如今64位时代下,也能运行32位乃至16位的程序。


2. ARM指令集

        ARM(Acom RISC Machine)属于 RISC 指令集架构,得益于 RISC 架构简洁的优势,可以很容易地实现低功耗需求,降低设计难度和散热性要求,同时具备良好的扩展性以满足众多需求。这使得 ARM 指令集架构非常适合嵌入式系统设计,因此,ARM 如今占据了手机等移动设备的大部分市场份额,并且发展势头良好。

        ARM 公司本身既不生产芯片也不销售芯片,它只出售芯片技术授权

ARM 的授权方式主要有两类:

  • 核心级授权:只提供处理器核,可以和其他模块组合在一起形成可用的芯片;
  • 架构级授权指令集授权,可以使用 ARM 的 ISA,内核可以自行设计,但仍须服从 ARM 体系架构。

3. MIPS指令集

        MIPS 是一种典型的 RISC 指令集架构,它最早是在20世纪80年代初期由斯坦福大学John Hennessy教授领导的研究小组研发出来的。如今,除了 ARM 以外最流行的 RISC 架构就是 MIPS了,我国的“龙芯”处理器也是基于MIPS指令集的,经过拓展并形成了自己的指令系统。

        与当前商业化最成功的 ARM 架构相比,MIPS 指令比 ARM 稍微多一些,执行部分运算更为灵活;MIPS 的内核寄存器比 ARM 多倍,在同样的性能下 MIPS 的功耗会比 ARM 更低,在同样功耗下性能比 ARM 更高;在架构授权方面 MIPS 更为开放,允许授权商自行更改设计。然而 MIPS学院派的发展风格导致其商业进程远远滞后于 ARM,围绕 MIPS 的软件生态比 ARM 差很多。


总结

        对于指令集 ISA 的探索,其主要目的还是在于提高计算机的性能,  而提高计算机性能,需要对指令集中的指令种类、指令格式以及寻址方式等方法进行改进。在目前的市场领域,CISC 和 RISC 体现了ISA设计的两个主要方向,在新一代CPU的设计中,正在逐渐融合 RISC 和 CISC 技术,取长补短。


有帮助可以点赞哦,谢谢大家的支持~

1. ARM指令集 ARM指令集是一种精简指令集RISC)体系结构,主要应用于移动设备和嵌入式系统。ARM指令集的优点包括: 优点: - 精简:ARM指令集的指令数量相对较少,指令编码长度短,能够在较小的存储空间内存储大量的指令,因此适用于嵌入式系统。 - 低功耗:ARM指令集的指令长度短,需要的存储空间少,这使得CPU内部的缓存可以更好地利用,从而减少访存次数,降低功耗。 - 高效性:ARM指令集采用了流水线执行方式,能够提高指令的执行速度,同时还支持指令重排和指令级并行,能够提高CPU的并行性和性能。 缺点: - 兼容性:ARM指令集的不同版本之间存在差异,软件需要适配不同版本的ARM指令集,增加了软件开发的复杂性。 - 复杂的编译器:由于ARM指令集的复杂度较低,编译器需要进行更多的优化才能够发挥CPU的性能,这增加了编译器的设计和实现的难度。 2. x86指令集 x86指令集是一种复杂指令集CISC)体系结构,主要应用于桌面计算机和服务器。x86指令集的优点包括: 优点: - 兼容性:x86指令集在多个平台上广泛应用,软件开发者可以很容易地开发出兼容不同平台的软件。 - 大量的指令集x86指令集包含了大量的指令集,能够支持各种不同的应用场景,从而提高了CPU的灵活性。 缺点: - 复杂度:x86指令集的指令数量较多,指令编码较长,需要较多的存储空间,同时指令的执行速度较慢,这导致了CPU的性能相对较低。 - 低效性:x86指令集的指令执行速度较慢,同时指令的执行的流程也比较复杂,这导致了CPU的效率较低。 3. RISC-V指令集 RISC-V是一种开源的指令集体系结构,主要应用于嵌入式系统和服务器。RISC-V指令集的优点包括: 优点: - 开源:RISC-V指令集是一种开源的指令集,任何人都可以使用、修改和共享,这为软件开发者和硬件设计者提供了更大的灵活性和自由度。 - 精简:RISC-V指令集的指令数量相对较少,指令编码长度短,能够在较小的存储空间内存储大量的指令,因此适用于嵌入式系统。 - 可扩展:RISC-V指令集支持可扩展性,能够根据不同的应用场景进行扩展,从而提高CPU的灵活性和可用性。 缺点: - 兼容性:由于RISC-V指令集的使用较为新颖,软件和硬件之间的兼容性存在一定的问题,这增加了软件和硬件开发的难度。 - 生态不完善:RISC-V生态相对于ARMx86来说仍然不够完善,缺少一些成熟的软件和硬件支持。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Z.Q.Feng

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值