CPU [Central Processing Unit] 中央处理器是计算机的核心计算元件,目前主流用于个人桌面计算机的CPU产品是Intel Core系列和AMD Ryzen系列,但它们的底层设计思路都是类似的。

Major Components

CPU主要包括三个部分:控制器[Control Unit],运算器[Arithmetic Logic Unit],寄存器[Register]。

Control Unit [CU]

控制器是整个计算机系统的指挥中心。在控制器的指挥控制下,运算器、存储器等部件协同工作。通常情况下,大多数计算机资源都由控制单元CU管理,其引导在CPU和其他设备间的指令流向。

Arithmetic Logic Unit [ALU]

运算器负责算术运算,包括加减乘除基本运算和其他附加运算,和逻辑运算包括移位、逻辑测试或比较两个值等。

Register

寄存器主要用来暂存指令、数据和地址。它会接受控制器的命令并传达命令给运算器,同时还要帮运算器记录处理完或者将要处理的数据。

常规CPU中一般至少有六类寄存器:指令寄存器[Instruction Register, IR],程序计数器[Program Counter, PC],地址寄存器[Address Register, AR],数据寄存器[Data Register, DR],累加寄存器[Accumulator, AC],程序状态字寄存器[Program Status Word,PSW]

  • 指令寄存器[Instruction Register, IR]
  • 程序计数器[Program Counter, PC]
  • 地址寄存器[Address Register, AR]
  • 数据寄存器[Data Register, DR]
  • 累加寄存器[Accumulator, AC]
  • 程序状态字寄存器[Program Status Word,PSW]

Instruction Set Architecture [ISA]

CPU指令集,顾名思义,就是CPU执行的指令的集合。概念上,ISA可以分为两类,CISC[复杂指令集]和RISC[精简指令集]。

  • CISC [Complex Instruction Set Computer]:这种指令集设计思路是用一条指令完成一个复杂的基本功能。一般来说,CISC支持的指令多,功能强大,但是功耗也大,主要用于PC机。具有代表性地,实现CISC这种设计思路的CPU架构的就是x86指令集

  • RISC [Reduced Instruction Set Computer]: 这种指令集设计思路是使用一条指令完成一个”基本操作”,多条指令组合完成一个复杂的基本功能。相对CISC,单一RISC指令功能较弱,但功耗也相对小,所以更适合移动设备,比如手机。实现RISC设计思路的代表性指令集架构包括ARM和RISC-V指令集

x86

x86起源于Intel,泛指一系列基于Intel 8086且向后兼容的中央处理器指令集架构。该系列较早期的处理器名称是以数字来表示80x86,例如Intel 8086、80186、80286、80386以及80486,由于以“86”作为结尾,因此其架构被称为x86。但是x86并非Intel专属,事实上,Intel称呼其为IA-32 [Intel Architecture, 32-bit],一般情形下指代其32位的架构。

x86并不是一个单一的指令集,而是一整套指令集家族,其中包括我们在CPU规格信息中常常见到的,MMX,SSE,SSE2,AVX-512等等。

x86-64

x86-64是基于x86指令集架构的64位拓展,向后兼容于16位及32位的x86指令集架构。x86-64于1999年由AMD设计,AMD首次公开64位集以扩展给x86,称为“AMD64”,这也是为什么我们能看到很多软件或者系统的安装文件以amd64结尾。除了amd64,x86-64的其他名称,包括但不限于,Intel 64IA-32ex86_64x64.

ARM

ARM,曾用名Advanced RISC Machine,是一个RISC处理器架构的指令集家族,因其能耗较低,被广泛的使用于在移动手机,嵌入式系统和物联网设备。类似于x86,ARM同时支持32位和64位。目前来说,ARM架构的指令集主要有同名的ARM公司开发并通过授权的方式,允许苹果三星等公司开发。

RISC-V

有别于ARM,RISC-V是开源的RISC指令集架构,所以该指令集可以自由地用于任何目的,允许任何人设计、制造和销售RISC-V芯片和软件而不必支付给任何公司专利费。目前从商业实现来说,RISC-V的占比小于ARM。