当前位置: 首页 > news >正文

ARM、AArch64、amd64、x86_64、x86有什么区别?

CPU 架构

描述

x86_64 /x86/amd64

64 位 AMD/英特尔 CPU 的别称

AArch64 /arm64/ARMv8/ARMv9

64 位 ARM CPU 的别称

i386

32 位 AMD/英特尔 CPU

AArch32 /arm/ARMv1 到 ARMv7

32 位 ARM CPU 的别称

rv64gc /rv64g

64 位 RISC-V

CPU 的别称

ppc64le

64 位 PowerPC

CPU,小端字节序存储

概述:CPU 架构

  • ARM、AArch64、amd64、x86_64、x86等,是描述 CPU 架构的,严格讲,它们被计算机工程师视为 CPU 的 指令集架构(Instruction Set Architecture)(ISA)。
  • CPU 的指令集架构定义了 CPU 如何解析二进制代码中的 1 和 0。
  • CPU 至今仍然被广泛使用的 ISA 的主要类别:
    • x86(AMD/英特尔)
    • ARM
    • RISC-V
    • PowerPC(IBM 仍在使用)

还有更多种类的 CPU ISA,比如 MIPS、SPARC、DEC Alpha 等等。

  • ISA 主要根据 内存总线的宽度 分为至少两个子集。内存总线的宽度指的是 CPU 和 RAM 一次能传输的位数。内存总线有很多种宽度,但最常见的是 32 位和 64 位。
  • 32 位的 CPU ISA 要么是已经过时的历史产物,被留下来要么只是为了支持旧的系统,要么只运用在微控制器中。所有新的硬件都已经是 64 位的了,特别是那些面向消费者的硬件。

x86(AMD/英特尔)

  • x86 CPU 的指令集架构主要源于英特尔,因为英特尔是最初搭配 8085 微处理器创建了它。8085 微处理器的内存总线宽度为 16 位。而后来,AMD 加入了这个领域,并且一直紧随英特尔的步伐,直到 AMD 创建出了自己的超集 64 位架构,超过了英特尔。
  • x86 架构的子集如下:
    • i386:2007 年之前的 CPU,那么i386就是 CPU 的架构。它是现在使用的 AMD/英特尔的 x86 架构的 32 位“版本”。
    • x86_64/x86/amd64:这三个术语在不同的项目中可能会被交替使用。 但它们都是指 x86 AMD/英特尔架构的 64 位“版本”。无论如何,x86_64 这个字符串比 x86amd64 使用得更广泛(也更受欢迎)。例如,FreeBSD 项目称 64 位的 x86 架构为 amd64,而 Linux 和 macOS 则称之为 x86_64
  • 由于 AMD 在创造 64 位 ISA 上超越了英特尔,所以一些项目(比如 FreeBSD)把 x86 的 64 位版本称为 amd64但更被广泛接受的术语还是 x86_64
  • 对于 CPU ISA,“x86” 这个字符串是一种特殊的情况。你要知道,在从 32 位的 x86(i386)到 64 位的 x86(x86_64)的过渡过程中,CPU 制造商确保了 CPU 能够运行 32 位 64 位指令。所以,有时可能会看到 x86 也被用来意指“这款产品只能运行在 64 位的计算机上,但如果该计算机能运行 32 位指令,那么你也可以在它上面运行 32 位的用户软件”。
  • 这种 x86 的模糊性——也就是诸如能同时运行 32 位代码的 64 位处理器——其主要用于和存在于运行在 64 位处理器上的,但是允许用户运行 32 位软件的操作系统,Windows 就通过这种被称作“兼容模式”的特性运用了这种方式。
  • 汇总:由 AMD 和 英特尔 设计的 CPU 有两种架构:32 位的(i386)和 64 位的(x86_84

其它的英特尔

  • x86_64 ISA 实际上有几个子集。这些子集都是 64 位,但它们新添加了诸如 SIMD(单指令多数据(Single Instruction Multiple Data))指令等功能。
  • x86_64-v1:这是熟知的基础 x86_64 ISA。当谈论 x86_64 时,通常指的就是 x86_64-v1 ISA。
  • x86_64-v2:此版本新增了更多如 SSE3(流式 SIMD 扩展版本 3(Streaming SIMD Extensions 3))之类的指令扩展。
  • x86_64-v3:除了基础指令外,还新增了像 AVX(高级矢量扩展(Advance Vector eXtensions))和 AVX2 等指令。这些指令可以使用高达 256 位宽的 CPU 寄存器!如果能够有效利用它们,就能大规模并行处理计算任务。
  • x86_64-v4:这个版本在 x86_64-v3 ISA 的基础上,迭代了更多的 SIMD 指令扩展,比如 AVX256 和 AVX512。其中,AVX512 可以使用高达 512 位宽的 CPU 寄存器

ARM

  • ARM 不仅是一家为 CPU ISA 制定规范的公司,它也设计并授权给其他厂商使用其 CPU 内核,甚至允许其他公司使用 ARM CPU ISA 设计自己的 CPU 内核。
  • 其实 ARM 的 CPU 还广泛应用于手机中。苹果从2020年开始自研ARM架构的芯片,目前已使用 x86_64 处理器转向了在其笔记本和台式机产品中使用自家设计的 ARM 处理器。
  • 就像任一种 CPU 架构一样,ARM 基于内存总线宽度也有两个子集。
    • 官方认定的 32 位和 64 位 ARM 架构的名称分别是 AArch32AArch64。这里的 AArch 字符串代表 “Arm 架构(Arm Architecture)”。这些是 CPU 执行指令时可切换的模式
  • 实际符合 ARM 的 CPU ISA 的指令规范被命名为 ARMvX,其中 X 是规范版本的代表数字。目前为止,已经有九个主要的规范版本。规范 ARMv1ARMv7 定义了适用于 32 位 CPU 的架构,而 ARMv8ARMv9 是适用于 64 位 ARM CPU 的规范。
  • 每个 ARM CPU 规范又有进一步的子规范。例如 ARMv8,我们有 ARMv8-R、ARMv8-A、ARMv8.1-A、ARMv8.2-A、ARMv8.3-A、ARMv8.4-A、ARMv8.5-A、ARMv8.6-A、ARMv8.7-A、ARMv8.8-A 和 ARMv8.9-A。 其中 -A 表示“应用核心”,-R 表示“实时核心”。
  • 之所以在 AArch64 正式被 ARM 认定为 64 位 ARM 架构后,有些人仍然称其为 arm64。原因主要有两点:
  1. arm64 这个名称在 ARM 决定采用 AArch64 之前就已经广为人知了。(ARM 的一些官方文档也将 64 位的 ARM 架构称为 arm64…… )
  2. Linux 的代码库主要将 AArch64 称为 arm64。然而,当你在系统中运行 uname -m 时,输出仍然是 aarch64
  • 因此,对于 32 位 ARM CPU,应该寻找 AArch32 这个字符串,但有时也可能是 armarmv7。相似的,对于 64 位 ARM CPU,应该找 AArch64 这个字符串,但有时也可能会是 arm64ARMv8ARMv9

RISC-V

  • RISC-V 是 CPU 指令集架构(ISA)的一个开源规范。(但CPU 自身不是开源的。类似以太网的情况。以太网规范是开源的,但需个人付费购买网线、路由器和交换器。同样,RISC-V CPU 也要花钱购买)。
  • 尽管如此,这并没有阻止人们创建并在开源许可下提供免费获取(设计上的获取,并非物理核心/SoC)的 RISC-V 核心。这是其中的一项尝试。
  • 寻找运行于 RISC-V 消费级 CPU 上的软件,应该寻找 “rv64gc” 这一字符串。这是许多 Linux 发行版所公认的。
  • 像所有 CPU 架构一样,RISC-V 拥有 32 位和 64 位 CPU 架构。但由于 RISC-V 是非常新的描述 CPU ISA 的方式,大部分主流消费端或客户端的 CPU 核心一般都是 64 位的。大部分 32 位的设计都是微控制器,用于非常具体的用例。
  • 它们的区别在于 CPU 的扩展。被称为 RISC-V CPU 的最低要求即实现“基本整数指令集(Base Integer Instruction Set)”(rv64i)。
  • 下表列出了一些扩展及其描述:

扩展名称

描述

rv64i

64 位基本整数指令集(必须的)

m

乘法和除法指令

a

原子指令

f

单精度浮点指令

d

双精度浮点指令

g

别名;一组运行通用操作系统所需的扩展集(包括 imafd)

c

压缩指令

rv64i 这一字符串中,rv 表示 RISC-V,64 指的是 64 位 CPU 架构,而 i 指的是强制性的基本整数指令集扩展。 rv64i 之所以是一体的,因为即使 i 被认为是一种“扩展”,但它是必须的

约定俗成的,扩展名称按上述特定顺序排列。因此,rv64g 展开为 rv64imafd,而不是 rv64adfim

还有其它一些像 Zicsr 和 Zifencei 这样的扩展,它们位于 dg 扩展之间。
因此,严格说来,rv64g 实际上是 rv64imafdZicsrZifencei

PowerPC

  • PowerPC 曾是苹果、IBM 以及,摩托罗拉早期合作时代的一种流行 CPU 架构。在苹果转向英特尔的 x86 架构之前,它一直被应用于苹果的全部消费品产品线。
  • 最初,PowerPC 采取的是大端字节序的内存排序。后来随着 64 位架构的引入,增加了使用小端字节排序的选项。这么做的目的是为了与英特尔的内存排序保持兼容(以防止软件错误),因为英特尔自始至终都一直采用的是小端字节序。
  • 由于字节序在此也起到了一定的作用,PowerPC 共有三种架构:
    • powerpc:表示 32 位的 PowerPC 架构。
    • ppc64:表示拥有大端字节序内存排序的 64 位 PowerPC 架构。
    • ppc64le:表示拥有小端字节序内存排序的 64 位 PowerPC 架构。

目前,ppc64le 是被广泛使用的架构

结论

市面上有各种各样的 CPU 架构。对于每一种架构,都有 32 位和 64 位的子集。在现有的 CPU 中,可以找到 x86、ARM、RISC-V 和 PowerPC 等架构。

其中,x86 是最广泛和易于获取的 CPU 架构,因为英特尔和 AMD 都采取了这种架构。此外,ARM 提供的产品几乎在手机和易于获取的单板计算机中被独占使用。

RISC-V 正在努力使硬件更广泛地被使用。

而 PowerPC 目前主要用于服务器。


文章转载自:

http://EW81bBm5.bzfLd.cn
http://TIOtu35d.bzfLd.cn
http://F925qnsi.bzfLd.cn
http://44SAqxvL.bzfLd.cn
http://lFe5Wpwq.bzfLd.cn
http://ampvYopS.bzfLd.cn
http://iY9bmkXP.bzfLd.cn
http://iEEDXcL7.bzfLd.cn
http://wyYgUfMz.bzfLd.cn
http://bWnnI0EG.bzfLd.cn
http://nYOsatwC.bzfLd.cn
http://bTNz7TD6.bzfLd.cn
http://VGIpaB8r.bzfLd.cn
http://IO8ifPjU.bzfLd.cn
http://RTmsPOVZ.bzfLd.cn
http://AfJQxYAF.bzfLd.cn
http://Dpmrdii4.bzfLd.cn
http://WUI4URT2.bzfLd.cn
http://OKT3gNJb.bzfLd.cn
http://DJvsqXuv.bzfLd.cn
http://Msuz32oJ.bzfLd.cn
http://b1Xucny1.bzfLd.cn
http://PrBcQPaK.bzfLd.cn
http://CGffuPNi.bzfLd.cn
http://nJzMDPBL.bzfLd.cn
http://qQttqiD9.bzfLd.cn
http://SjWQ0pNw.bzfLd.cn
http://aqpFIkRF.bzfLd.cn
http://YnhfcM3B.bzfLd.cn
http://9c7Jatdr.bzfLd.cn
http://www.dtcms.com/a/381864.html

相关文章:

  • 机器学习项目-南方电网电力负荷预测
  • python标准库有哪些模块,简单总结下。
  • 文献阅读·MCformer:基于混合通道变换的多变量时间序列预测
  • 【软件操作】飞牛nas系统:笔记本息屏、合盖均不关机
  • 【SPI】【二】SPI控制器驱动代码详解
  • pandas读取复合列名列头及数据和处理
  • jenkins触发部署
  • 【pure-admin】项目登录验证码实现分析
  • Docker快速入门手册
  • 【C++设计模式】第五篇:装饰器模式
  • linux C 语言开发 (十) 进程间通讯--信号
  • 绿色环保活动平台(AI问答、WebSocket即时通讯、协同过滤算法、Echarts图形化分析)
  • 飞算JavaAI实战高效构建电商系统核心功能模块全解析
  • CSS 技巧使页脚始终位于网页的底部
  • Vue3》》eslint Prettier husky
  • 基因组多组学(第七篇空间HD文章)--基于蛋白质组学的分类揭示IDH突变型星形细胞瘤中存在免疫热亚型且预后较差
  • 【无人机】无人机用户体验测试策略详细介绍
  • Bev 感知模型量化 有哪些问题
  • 深入探索React渲染原理与性能优化策略
  • 域名SSL证书免费申请lcjmSSL
  • 贪心算法应用:投资组合再平衡问题详解
  • 整体设计 之 绪 思维导图引擎 之 引 认知系统 之 引 认知系统 之 序 认知元架构 之 元宇宙:三种“即是”逻辑与数据安全措施的适配(豆包助手 之10)
  • 推荐使用 pnpm 而不是 npm
  • 19.路径
  • ESP32-C3 入门09:基于 ESP-IDF + LVGL + ST7789 的 1.54寸 WiFi 时钟(SquareLine Studio 移植)
  • 大数据毕业设计选题推荐-基于大数据的健康与生活方式数据可视化分析系统-Spark-Hadoop-Bigdata
  • 可配日志输出
  • 学习笔记:Python的起源
  • vcpkg:面向C/C++的跨平台库管理工具软件配置笔记经验教程
  • Claude Code的交互方式