处理器架构

CPU架构是CPU厂商给属于同一系列的CPU产品定的一个规范,主要目的是为了区分不同类型CPU的重要标示。市面上的CPU分类主要分有两大阵营,一个是intel、AMD为首的复杂指令集(CISC)CPU,另一个是以IBM、ARM为首的精简指令集(RISC)CPU。两个不同品牌的CPU,其产品的架构也不相同,例如,Intel、AMD的CPU是X86架构的,而IBM公司的CPU是PowerPC架构,ARM公司是ARM架构。

Docker-compose为例,各种CPU架构的软件版本如下:

image-20240814100743928

1 查看

  • window

运行:msinfo32

image-20240815132442722

x64就是x86的64位版本,或者称为x86_64

  • linux
1
2
3
4
5
root@VM-24-12-ubuntu:/home/ubuntu# lscpu
Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
Address sizes: 48 bits physical, 48 bits virtual
Byte Order: Little Endian

或者:

1
2
root@VM-24-12-ubuntu:/home/ubuntu# uname -m
x86_64

或者:

1
2
root@VM-24-12-ubuntu:/home/ubuntu# dpkg --print-architecture
amd64

这里的amd64x86_64是一样的。

2 历史和对应关系

  • ARMv8 = ARM64 = AArch64:对应64位ARM架构,常见于移动设备和嵌入式系统;
  • ARMv7 = armv7l = ARM:对应32位ARM架构,常见于较旧的移动设备和嵌入式系统
  • x86_64 = x64 = amd64:对应64位x86架构,常见于个人电脑和服务器;
  • x86_32 = x86:对应32位x86架构,常见于较旧的个人电脑;

2.1 AMD

超威半导体(Advanced Micro Devices),是除了英特尔以外最大的x86架构微处理供应商,也是除了英伟达以外仅有的独立图形处理供应商。

2.2 x86

泛指一系列由英特尔公司开发的处理器的架构,最早为1978年面世的“Intel 8086”CPU。早期的处理器均是以此格式来命名,如Intel 8086,80186,80286,80386,80486,这些架构被统称为x86。由于数字不能被注册成为商标,因此公司每当有新的处理器使用,均会采用可注册的名称,如Pentium

在这个过程中,AMD作为Intel的竞争对手,也开始生产兼容x86指令集的处理器。特别是在386和486时代,AMD作为Intel的第二源供应商,为x86架构的发展做出了贡献。

进入90年代后,随着计算需求的增长,Intel和AMD都意识到32位架构的局限性,开始着手开发64位扩展。1999年,AMD率先发布了x86_64指令集,作为x86架构的64位扩展。x86_64保持了与现有32位x86代码的兼容性,同时提供了更大的寻址空间和更多的寄存器,使得应用程序可以利用更多的内存。

随着x86_64的成功,AMD将其重命名为AMD64,以强调自己的贡献和品牌。虽然Intel后来也采用了x86_64标准(称为Intel 64),但AMD64这个名字已经深入人心。时至今日,x86_64/AMD64已经成为了服务器、桌面电脑和笔记本电脑的主流架构,而IA-64则主要局限于某些特定的服务器领域。

2.3 ARM

英文为Advanced RISC MachineRISC:精简指令集),也是一个架构,非常适用于移动通信这种低成本,高性能,低耗电的领域。