指令集ISA简介(CISC和RISC阵营,X86ARMMIPS架构)——Linux应用与开发技术笔记
Posted Z.Q.Feng
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了指令集ISA简介(CISC和RISC阵营,X86ARMMIPS架构)——Linux应用与开发技术笔记相关的知识,希望对你有一定的参考价值。
系列文章目录
文章目录
前言
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 技术,取长补短。
有帮助可以点赞哦,谢谢大家的支持~
以上是关于指令集ISA简介(CISC和RISC阵营,X86ARMMIPS架构)——Linux应用与开发技术笔记的主要内容,如果未能解决你的问题,请参考以下文章