0


【CPU 架构】x86、x86_64、x64、arm64、aarch64

  1. x86x86_64x64arm64aarch64

1.服务器分类

按照 CPU 体系架构来区分,服务器主要分为两类:

  • 非 x86 服务器:使用 RISC(精简指令集)或 EPIC(并行指令代码)处理器,并且主要采用 UNIX 和其它专用操作系统的服务器,指令系统相对简单,它只要求硬件执行很有限且最常用的那部分执令,CPU 主要有 Compaq 的 Alpha、HP 的 PA-RISC、IBM 的 Power PC、MIPS 的 MIPS 和 SUN 的 Sparc、Intel 研发的 EPIC 安腾处理器等。这种服务器价格昂贵,体系封闭,但是稳定性好,性能强,主要用在金融、电信等大型企业的核心系统。
  • x86 服务器:又称 CISC(复杂指令集)架构服务器,即通常所讲的 PC 服务器,它是基于 PC 机体系结构,使用 Intel 或其它兼容 x86 指令集的处理器芯片的服务器。目前主要为 Intel 的 Xeon E3E5E7 系列,价格相对便宜、兼容性好、稳定性较差、安全性不算太高。

在这里插入图片描述

2.CPU 架构

CPU 架构:x86 架构arm 架构

  • Intel(英特尔)与 AMD(超威半导体)是 x86 架构 CPU 制造商。
  • ARM 公司是 arm 架构 CPU 制造商。

2.1 x86 架构:x86、x86_64、x64

  • x86x86_64:基于 x86 架构的不同版本, 位数不同 32 32 32 位和 64 64 64 位
  • x86 版本是 Intel 率先研发出 x86 架构。
  • x86_64 版本(也称 x64)是 x86 的 64 64 64 位版本,由 AMD 率先研发,所以 x86_64 也叫 amd64
  • x86_64 = x64 = amd64

2.2 arm 架构:arm64 和 aarch64

  • arm64 = aarch64
  • arm 的历史遗留问题,arm64aarch 都曾代指过 64 64 64 位 arm 程序,目前 arm64aarch64 概念已合并,新版 64 64 64 位 arm 程序统称 aarch64

在这里插入图片描述

3.发展历史

  1. x86

是指 Intel 开发的一种

  1. 32
  2. 32
  3. 32 位指令集,从
  4. 386
  5. 386
  6. 386 开始时代开始的,一直沿用至今,是一种 CISC 指令集,所有 Intel 早期的 CPUAMD 早期的 CPU 都支持这种指令集,Intel 官方文档里面称为
  1. IA-32

  1. x86

CPU 开始迈向

  1. 64
  2. 64
  3. 64 位的时候有
  4. 2
  5. 2
  6. 2 种选择:
  • 向下兼容 x86
  • 完全重新设计指令集,不兼容 x86

AMD 抢跑了,比 Intel 率先制造出了商用的兼容

  1. x86

的 CPU,AMD 称之为

  1. amd64

,抢了

  1. 64
  2. 64
  3. 64 PC 的第一桶金,得到了用户的认同。

Intel 选择了设计一种不兼容

  1. x86

的全新

  1. 64
  2. 64
  3. 64 位指令集,称之为
  1. IA-64

(这玩意似乎就是安腾),但是比 AMD 晚了一步,而且

  1. IA-64

也挺惨淡的,因为是全新设计的 CPU,没有编译器,也不支持 Windows(微软把 Intel 给忽悠了,承诺了会出安腾版

  1. windows server

版,但是迟迟拿不出东西)。后来不得不在时机落后的情况下也开始支持

  1. amd64

的指令集,但是换了个名字,叫

  1. x86_64

,表示是

  1. x86

指令集的

  1. 64
  2. 64
  3. 64 扩展,大概是不愿意承认这玩意是 AMD 设计出来的。

实际上,

  1. x86_64

  1. x64

  1. AMD64

基本上是同一个东西,我们现在用的 Intel / AMD 的桌面级 CPU 基本上都是

  1. x86_64

,与之相对的

  1. arm

  1. ppc

等都不是

  1. x86_64

  1. x86

  1. x86_64

主要的区别就是

  1. 32
  2. 32
  3. 32 位和
  4. 64
  5. 64
  6. 64 位的问题,
  1. x86

中只有

  1. 8
  2. 8
  3. 8
  4. 32
  5. 32
  6. 32 位通用寄存器:
  1. eax

  1. ebx

  1. ecx

  1. edx

  1. ebp

  1. esp

  1. esi

  1. edi

  1. x86_64

把这

  1. 8
  2. 8
  3. 8 个通用寄存器扩展成了
  4. 64
  5. 64
  6. 64 位的,并且比
  1. x86

增加了若干个寄存器(好像增加了

  1. 8
  2. 8
  3. 8 个,变成了总共
  4. 16
  5. 16
  6. 16 个通用寄存器)。同样的 MMXMultiMedia eXtensions,多媒体扩展)的寄存器的位数和数量也进行了扩展。此外 CPU 扩展到
  7. 64
  8. 64
  9. 64 位后也能支持更多的内存了,等等许多好处。

对于普通程序来说,CPU 位数的扩展、寄存器数量的增加不会带来明显的性能提升,比如 IE 浏览器、Office 办公这类的软件。特定的程序很能够充分利用

  1. 64
  2. 64
  3. 64 CPU、更多的寄存器带来的优势,比如 MMX 除了能提升多媒体程序的性能,对矩阵、多项式、向量计算都能带来提升,更多的 MMX 寄存器、更大的寄存器字长都有利于 SIMD 指令的执行,能够提升 CPU 对数据的吞吐量(RISC 指令集的 CPU 动不动就有数百个寄存器,可以有效的缓存中间计算结果,不需要把中间结果写入内存,从而减少内存访问次数,显著提升性能)。
标签: 架构 cpu x86

本文转载自: https://blog.csdn.net/be_racle/article/details/134764629
版权归原作者 G皮T 所有, 如有侵权,请联系我们删除。

“【CPU 架构】x86、x86_64、x64、arm64、aarch64”的评论:

还没有评论