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架构越来越注重安全性,提供了各种硬件和软件安全功能,以保护设备和数据免受恶意攻击。
以上就是本篇全部内容,原创内容,转载请注明出处。
特殊声明:本篇文章仅为个人学习总结记录,如有理解错误、存在误导,请给予指正!愿与之共同进步!