Sorry, your browser cannot access this site
This page requires browser support (enable) JavaScript
Learn more >

在软件开发过程中,你经常会看到X86X64ARMARM64等专业术语,你知道这些代表什么吗?这些其实是代表了不同CPU芯片的CPU架构

1. 什么是CPU架构?

CPU架构是一个多层次的概念,核心是指计算机中央处理器(CPU)的设计蓝图和组织结构。它定义了CPU如何工作、如何执行指令、如何与内存和其他硬件交互。具体来说,它可以涵盖以下几个方面:

  1. 指令集架构 (ISA - Instruction Set Architecture):

    • 这是CPU架构中软件可见的部分,定义了CPU能够理解和执行的基本指令集合(如加、减、跳转、加载、存储等)。
    • 它规定了指令的格式、操作码、寻址方式(如何指定操作数位置)、数据类型、寄存器组(CPU内部的高速存储单元)、内存访问模型、以及中断/异常处理机制等。
    • ISA是软件(编译器、操作系统、应用程序)与硬件之间的契约。 编译器将高级语言代码编译成针对特定ISA的机器码(二进制指令)。操作系统和应用程序直接使用这些指令与CPU交互。
  2. 微架构 (Microarchitecture):

    • 这是ISA的具体硬件实现。它描述了CPU内部的详细设计,如何在物理层面执行ISA定义的指令。
    • 微架构决定了CPU的内部结构:流水线级数、分支预测策略、缓存大小和层次结构(L1, L2, L3)、超标量/超线程能力、执行单元的数量和类型(整数、浮点、向量)、总线宽度、功耗管理技术等。
    • 同一个ISA可以有多种不同的微架构实现。 例如,Intel的Core i7和AMD的Ryzen 7都实现x86-64 ISA,但它们的内部微架构(如Intel的Sunny Cove/Raptor Cove, AMD的Zen系列)设计不同,导致性能、功耗、特性各异。

2. CPU架构的主要类型(按指令集分类)

CPU架构类型主要根据其指令集架构(ISA) 的特点来划分,最常见的是:

2.1. x86 家族

2.1.1. 指令集介绍

  • 起源: 由Intel开发(始于8086处理器),后由AMD扩展到64位(x86-64)。
  • 特点: 复杂指令集(CISC - Complex Instruction Set Computing)传统,指令长度可变,寻址方式丰富。指令功能强大但可能较复杂。
  • 主导领域: 桌面电脑、笔记本电脑、服务器、工作站的主流架构。Windows, macOS (Intel Mac), Linux都广泛支持。
  • 主要厂商: Intel, AMD。

2.1.2. 常见类型

术语 位宽 描述 别名/等效术语
i386 32位 Intel 80386起源的32位x86架构(IA-32) x86, IA-32
x86 32位 i386的现代简称 -
x86_64 64位 Linux/Unix命名的64位x86扩展(AMD设计) AMD64 (Windows)
AMD64 64位 Windows命名的64位x86架构 x86_64 (Linux)

📌 说明

  • x86_64 = AMD64 = Intel 64。三者完全等价,仅命名习惯不同;x86_64常见于Linux/Unix,AMD64常见于Windows。
  • AMD64不是AMD专属。AMD64是最初由AMD设计的64位x86指令集扩展,后来Intel被迫兼容。
  • AMD64_x86严格意义上说不属于指令集架构。它是在64位Windows操作系统(x86_64架构)中运行32位x86程序的兼容模式。

2.2. ARM 家族

2.2.1. 指令集介绍

  • 起源: 由ARM Holdings公司设计其ISA,授权给其他公司(如Apple, Qualcomm, Samsung, Nvidia, Amazon, Google)制造芯片。
  • 特点: 精简指令集(RISC - Reduced Instruction Set Computing)哲学。指令长度固定(通常是32位或64位),指令集更精简,设计更注重能效比(性能/功耗)。
  • 主导领域: 移动设备(智能手机、平板电脑)的绝对霸主。 在嵌入式系统、物联网设备中也占据主导地位。近年来在笔记本电脑(Apple Silicon Mac)、服务器、高性能计算领域发展迅猛。ChromeOS, Android, iOS/iPadOS, macOS (Apple Silicon) 都支持ARM。
  • 主要厂商: Apple (Apple Silicon M系列), Qualcomm (Snapdragon), Samsung (Exynos), MediaTek, Nvidia (Grace), Amazon (Graviton), Google (Tensor), 以及众多嵌入式芯片厂商。

2.2.2. 常见类型

术语 位宽 描述 应用场景
ARM 32位 ARM 32位架构统称(历史遗留名称),现官方称 AArch32 旧手机/嵌入式设备
AArch32 32位 ARMv7/ARMv8的32位模式,兼容传统ARM指令 旧Android/iOS设备、IoT
ARM64 64位 非官方俗称,指ARM 64位架构(官方名:AArch64 开发者社区通用术语
AArch64 64位 ARMv8+ 的官方64位ISA,完全重新设计(非AArch32扩展) 现代手机/Apple Silicon/服务器
ARM64EC 混合 Windows专属:在ARM64系统中运行x64二进制代码的兼容层 Windows on ARM运行x64程序

📌 说明

  • AArch32(纯32位)≠ AArch64(纯64位)。
  • ARM64EC严格意义上说不属于指令集架构,它是微软开发的动态二进制转换层(类似Rosetta 2)。

2.3. RISC-V

  • 起源: 基于RISC原则的开源、免费指令集架构(ISA),由加州大学伯克利分校发起。
  • 特点: 开源免费是其最大特点! 模块化设计(基础指令集+可选扩展),设计简洁,免授权费,允许高度定制化。
  • 应用领域:嵌入式系统、物联网、教育研究领域快速普及。开始进入移动设备(协处理器)、服务器、高性能计算、AI加速器等领域。生态正在快速发展中。
  • 主要厂商: 众多初创公司和大型科技公司(如SiFive, Google, NVIDIA, Qualcomm, Western Digital, Alibaba等)都在研发或使用RISC-V芯片。

2.4. 其他架构

2.4.1. 指令集介绍

  • Power/PowerPC (PPC):
    • 由IBM开发(部分源自早期的Power架构),曾用于Apple Macintosh(2006年前)、游戏机(PlayStation 3, Xbox 360, Wii/Wii U)、IBM服务器/超级计算机。现在主要存在于IBM的高端服务器和嵌入式领域。
  • MIPS:
    • 经典RISC架构,曾广泛用于工作站、网络设备(路由器)、嵌入式系统、游戏机(PlayStation 1, PlayStation 2, PSP, N64)。其重要性已被RISC-V等架构挑战。
  • SPARC:
    • 由Sun Microsystems开发(后被Oracle收购),主要应用于Sun/Oracle的高端服务器和工作站。现在应用范围大幅缩小。
  • z/Architecture:
    • IBM为其大型主机(mainframe)系统开发的专用架构,强调极高的可靠性和向后兼容性。

2.4.2. 常见类型

术语 描述 代表厂商/平台
LoongArch64 中国龙芯自研的64位MIPS替代架构(自主指令集) 龙芯(Loongson)
Power IBM高性能RISC架构(用于服务器/超级计算机) IBM Power Systems
Wasm_simd WebAssembly的SIMD向量指令扩展(跨平台虚拟ISA) 浏览器/Web运行时

3. CPU架构与指令集的关系

  1. CPU架构包含指令集架构(ISA)微架构(Microarchitecture)
  2. 指令集架构是上层软件可见的部分,是软件与硬件之间的抽象层和接口标准。软件开发领域提到的CPU架构通常默认指的是CPU的指令集架构
  3. 微架构指令集架构的具体硬件实现。不同的CPU设计团队(如Intel, AMD, Apple)可以基于同一个ISA(例如x86-64)来设计内部结构完全不同的CPU。
推荐阅读
芯片的类型 芯片的类型 C++系统相关操作4 - 获取CPU(指令集)架构类型 C++系统相关操作4 - 获取CPU(指令集)架构类型 半导体芯片领域的常见技术术语 半导体芯片领域的常见技术术语

评论