1、前言

本片文章将以计算机 CPU 为出发点,阐述有关 CPU 指令集与体系架构方面的知识。
对于从事开发、运维、实施等相关从业者会有一定的帮助。

2、认识 CPU

CPU 也叫 中央处理器, 是计算机的核心组件之一,负责执行计算机程序的指令和数据处理。

其作用,可涵盖以下主要方面:

  • 执行指令:CPU负责执行计算机程序中的指令,这些指令包括算术运算、逻辑运算、数据传输等。计算机程序的所有操作都通过CPU执行。
  • 数据处理:CPU可以执行各种算术和逻辑运算,包括加法、减法、乘法、除法、比较、逻辑与或非等操作。这使得CPU能够执行各种复杂的数学运算和逻辑决策。
  • 控制计算机:CPU负责控制计算机的各种硬件组件,包括内存、输入设备、输出设备等。它协调这些组件之间的数据传输和操作,以确保计算机正常运行。
  • 执行程序:CPU执行存储在内存中的程序,这些程序通常以二进制代码的形式存在。CPU按照程序计数器中的地址顺序执行指令,这个地址指示下一条要执行的指令的位置。
  • 缓存管理:CPU管理各级高速缓存(Cache),以提高数据访问速度。它根据需要从内存中加载数据到缓存,并将数据从缓存写回内存。
  • 中断处理:CPU能够响应外部事件,如硬件中断或异常,以执行相应的处理程序。这允许计算机在需要时处理外部事件,如输入设备的信号或错误条件。
  • 多核处理:现代CPU通常具有多个核心,每个核心能够并行执行指令,从而提高计算性能。多核处理器使计算机能够同时处理多个任务。
  • 时钟控制:CPU的时钟频率决定了其执行指令的速度。时钟频率越高,CPU执行指令的速度越快,但也伴随着更高的功耗。

那么总体来说,CPU 就是计算机的核心组件,可以看作是计算机的大脑,而CPU的性能和能力对计算机的整体性能起着关键作用,因此在选择计算机或处理器时,CPU自身的架构通常是一个体现不同性能和应用场景的关键性因素。

3、指令集(ISA)

既然说到 CPU 架构,就不得不提一提 CPU 指令集。

CPU指令集(Instruction Set Architecture,ISA)是一组定义了CPU可以执行的指令和操作的规范,或者可以说是编码方式。指令集(ISA) 决定了计算机程序如何编写、如何与CPU交互以及如何执行计算。

其作用,可涵盖以下主要方面:

  • 指令集:一组可执行的指令,每个指令代表一个特定的操作,如算术运算、逻辑运算、数据传输、控制流操作等。
  • 寄存器文件:定义了CPU中的寄存器的数量、用途和寄存器之间的交互方式。
  • 内存寻址方式:规定了如何访问内存中的数据,包括寻址模式和地址计算方式。
  • 异常和中断处理机制:定义了CPU如何处理异常(如除零错误)和外部中断(如硬件中断)。
  • 地址空间:规定了CPU的寻址范围,即CPU可以访问的内存地址范围。

那么说到这里,可能会有人不太理解这指令集的实际作用,简单的说,CPU 自身提供了执行、计算以及交互的能力,而指令集(ISA)决定了 CPU 在执行、计算以及交互时的规范、标准或方式。

那么指令集有哪些分类呢?

4、指令集的分类(RISC / CISC)

根据目前市场上主流的 CPU 来说,所涉及到的指令集架构主要有两类

4.1、精简指令集架构(RISC)

RISC 架构采用了简化的指令集,每个指令的执行时间相对较短。RISC架构注重硬件简单性和高性能,通常具有较少的指令,但需要更多的指令来执行相同的任务。典型的RISC架构包括ARM和MIPS。

  • 优点:高性能、低功耗、可定制性。
  • 缺点:需要更多指令来完成复杂任务,可能导致更大的程序大小。

4.2、复杂指令集架构(CISC)

CISC 架构拥有更多且复杂的指令,每个指令可以执行更多的任务。CISC架构通常执行复杂的多步操作,例如内存访问和算术运算。

  • 优点:每个指令可以执行更多任务,减少了程序大小。
  • 缺点:硬件复杂,可能导致较高的功耗和较低的性能。

两者相对来说
CISC的指令能力强,单多数指令使用率低却增加了CPU的复杂度,指令是可变长格式;
RISC的指令大部分为单周期指令,指令长度固定,操作寄存器,只有Load/Store操作内存;


CISC支持多种寻址方式;
RISC支持方式少;


CISC通过微程序控制技术实现;
RISC增加了通用寄存器,硬布线逻辑控制为主,是和采用流水线;

CISC的研制周期长;
RISC优化编译,有效支持高级语言;

综上所述
对于不同的 CPU架构 则采用了不同的 指令集(ISA) ,不同的 指令集(ISA) 适用于不同的应用领域,具有不同的优点和缺点。选择适当的指令集(ISA)取决于性能、功耗、编程复杂度和应用需求。因此,计算机架构的设计涉及权衡不同的因素,以满足特定的需求。

5、CPU 架构与指令集的关系

CPU 架构是 CPU 厂商给属于同一系列的 CPU 产品制定的一个规范,主要目的是为了区分不同类型CPU的重要标识。目前市面上的 CPU 主要分有两大阵营,一个是Intel、AMD为首的复杂指令集CPU,另一个是以IBM、ARM为首的精简指令集CPU。两个不同品牌的CPU,其产品的架构也不相同,

目前市面上主流的 CPU 架构,主要包括:

  • X86 架构(CISC 指令集),品牌公司:Intel、AMD等
  • ARM 架构(RISC 指令集),品牌公司:ARM、Apple等
  • MIPS 架构(RISC 指令集),品牌公司:国产紫光、蓝思科技、美光科技等
  • RISC-V 架构(RISC 指令集),品牌公司:谷歌、西部数据、国产飞腾等

四种主流架构,其特点与应用也有所不同。

5.1、X86 架构

x86架构是一种常见的复杂指令集计算机(CISC)架构,最初由英特尔(Intel)开发。它是目前个人计算机(PC)和服务器领域最广泛使用的CPU架构之一。

其特点,主要涵盖以下方面:

  • 复杂指令集计算机(CISC):x86架构采用了复杂指令集,其中包含多种复杂的指令,每个指令可以执行多个操作,包括算术运算、逻辑运算、数据传输、控制流操作等。这种设计旨在提供灵活性,减少程序员的工作量,但也导致了较复杂的硬件设计。

  • x86-64架构:x86架构的一种扩展是x86-64,也称为AMD64或Intel 64。x86-64扩展了x86的寻址能力,允许处理更多内存,并提供了64位寄存器和指令。它广泛用于现代计算机,支持64位操作系统和应用程序。

  • 广泛应用领域:x86架构的处理器广泛应用于桌面计算机、笔记本电脑、服务器、工作站以及一些嵌入式系统。它在计算机市场中具有主导地位。

  • 软件支持:x86架构具有广泛的软件支持,包括各种操作系统(如Windows、Linux、macOS)、应用程序和开发工具。这使得x86计算机能够运行大多数主流软件。

  • 多核处理器:现代x86处理器通常具有多个核心,每个核心可以并行执行指令,提高了计算机的性能。多核处理器在多线程应用和并行计算方面表现出色。

  • 时钟频率:x86处理器通常具有较高的时钟频率,这有助于提高性能。然而,高时钟频率通常伴随着更高的功耗和散热要求。

  • 功耗管理:一些x86处理器支持动态频率调整和节能功能,以在不需要高性能时降低功耗。

  • 集成GPU:一些x86处理器集成了图形处理单元(GPU),用于图形渲染和多媒体应用。

5.2、ARM 架构

ARM架构(Advanced RISC Machine架构)是一种精简指令集计算机(RISC)架构,最初由ARM Holdings(现在是Arm Limited)开发。ARM架构是一种低功耗、高性能的CPU架构,广泛用于各种移动设备、嵌入式系统、物联网设备和其他低功耗应用。

其特点,主要涵盖以下方面:

  • RISC架构:ARM架构采用精简指令集计算机(RISC)设计理念,其指令集相对较小,每个指令执行时间相对较短。这有助于提高性能和降低功耗。

  • 低功耗设计:ARM架构以低功耗设计而闻名,适用于移动设备和电池供电的设备。ARM处理器通常能够在低功耗状态下运行,并具有节能功能。

  • 多核处理器:现代ARM处理器通常具有多个核心,这些核心可以并行执行指令,提高性能。多核ARM处理器广泛用于智能手机、平板电脑和嵌入式系统。

  • 软件支持:ARM架构有广泛的软件支持,包括多种操作系统,如Android、iOS、Linux等,以及各种应用程序和编程工具。

  • 嵌入式系统:ARM处理器常用于嵌入式系统,如智能家居设备、工业自动化、汽车电子和医疗设备。其低功耗和小型封装使其适用于各种嵌入式应用。

  • 可定制性:ARM架构允许制造商根据特定应用需求进行自定义设计,以满足不同市场的要求。这促使了各种ARM处理器的变种,包括Cortex-A(应用处理器)、Cortex-R(实时处理器)和Cortex-M(微控制器)等。

  • 物联网(IoT)应用:ARM架构在物联网应用中非常流行,因为它的低功耗和高性能使其适用于连接大量设备的场景。

  • 安全性:ARM架构越来越注重安全性,提供了各种硬件和软件安全功能,以保护设备和数据免受恶意攻击。

5.3、MIPS 架构

MIPS架构(Microprocessor without Interlocked Pipeline Stages)是一种精简指令集计算机(RISC)架构,最初由斯坦福大学开发。MIPS架构以其简化的指令集和高性能而著称,广泛用于各种领域,包括嵌入式系统、网络设备、工作站和超级计算机。

其特点,主要涵盖以下方面:

  • RISC架构:MIPS架构采用了精简指令集计算机(RISC)设计理念,其指令集相对较小,每个指令执行时间相对较短。这有助于提高性能和降低功耗。

  • 高性能:MIPS架构被设计用于提供高性能,其处理器通常具有高时钟频率和多级流水线,以实现更高的指令执行速度。

  • 多核处理器:现代MIPS处理器通常支持多核设计,这些核心可以并行执行指令,提高整体性能。MIPS多核处理器常用于网络设备、存储系统和嵌入式应用。

  • 嵌入式系统:MIPS架构在嵌入式系统领域非常流行,包括智能手机、网络路由器、数字电视、汽车控制系统等。其高性能和低功耗特性适合这些应用。

  • 软件支持:MIPS架构有广泛的软件支持,包括各种操作系统,如Linux和嵌入式操作系统。它还支持各种应用程序和编程工具。

  • 可定制性:MIPS架构允许制造商根据特定应用需求进行自定义设计,以满足不同市场的要求。这促使了各种MIPS处理器的变种,包括高性能和低功耗的。

  • 工业控制和嵌入式控制:MIPS架构常用于工业控制系统、嵌入式控制和实时系统,因为它提供了可靠性和可预测性。

  • 教育和研究:MIPS架构在教育和研究领域广泛使用,因为它具有清晰的指令集结构和教学用途。

5.4、RISC-V 架构

RISC-V(发音为"risk-five")是一种精简指令集计算机(RISC)架构,以其开放标准和可定制性而闻名。与其他架构不同,RISC-V的设计是开源的,可以免费使用,并允许用户根据其需求自定义处理器核心。

其特点,主要涵盖以下方面:

  • 开放标准:RISC-V是一个完全开放的指令集架构,其规范公开可用,没有专利限制。这使得任何人都可以实现和定制RISC-V处理器核心,而不必支付许可费用。

  • 精简指令集计算机(RISC):RISC-V采用了RISC设计理念,其指令集相对较小,每个指令执行时间相对较短,有助于提高性能和降低功耗。

  • 可定制性:RISC-V的一个关键优势是可定制性。用户可以选择不同的扩展和配置选项,以满足特定应用的需求。这意味着可以创建适合各种用途的处理器核心。

  • 多级架构:RISC-V规范支持多级流水线和超标量执行,使其适用于高性能处理器的设计。

  • 广泛应用:RISC-V架构已经得到广泛的应用,包括嵌入式系统、物联网设备、数据中心服务器、高性能计算(HPC)和人工智能(AI)应用等。它也用于教育和研究领域。

  • 开源社区:RISC-V的发展是由一个积极的开源社区推动的,包括学术界、工业界和个人爱好者。这个社区不断推动RISC-V技术的发展和创新。

  • 软件支持:RISC-V有广泛的软件支持,包括多种操作系统(如Linux、FreeRTOS)、编程工具、模拟器和调试工具。

  • 安全性:RISC-V架构越来越注重安全性,提供了各种硬件和软件安全功能,以保护设备和数据免受恶意攻击。

以上就是本篇全部内容,原创内容,转载请注明出处。

特殊声明:本篇文章仅为个人学习总结记录,如有理解错误、存在误导,请给予指正!愿与之共同进步!