Arm64 和 AArch64 的区别

结论

结论:现在AArch64 and ARM64 都是指代的同一个东西。

ARM 简要介绍

ARM是一种精简指令集(RISC)架构。

指令集架构(Instruction Set Architecture)是指一种类型CPU中用来计算和控制计算机系统的一套指令的集合。

ARM设计了多种不同的版本。知道ARMv7,都只支持32位处理器(寻址空间)。

2011年发布的ARMv8添加了对64位处理器的支持并且兼容32位。

arm64 和 aarch64

总而言之,就是由于历史原因,一部分人管 64-bit ISA 叫 aarch64,一部分人又觉得叫 arm64 更好。

详情可以看Stack Overflow的这篇回答:Differences between arm64 and aarch64 以及 ARM的维基百科介绍

### 关于 ARM64 AArch64区别及关系 #### 定义与命名 ARM64 AArch64 实际上指的是同一种 64 位架构,但在不同的语境中有不同的叫法。ARM64 是该架构的非正式名称,而 AArch64 则是 ARM 公司为其 64 位执行状态定义的官方术语[^1]。 #### 架构背景 ARMv8 架构引入了 AArch64 执行状态,这是支持 64 位计算的关键部分。AArch64 提供了一组全新的指令集寄存器模型,专门针对高性能计算需求设计。与此同时,ARMv8 还保留了向后兼容性,能够通过 AArch32 状态运行传统的 32 位应用程序。 #### 技术特点 在技术实现层面,AArch64 支持更大的虚拟地址空间(最高可达 49 位),更多的通用寄存器(31 个 64 位寄存器),以及改进后的 SIMD 指令集(NEON)。这些特性使得 AArch64 更适合处理复杂的数据运算任务,尤其是在需要大量内存访问的情况下。 #### 性能考量 尽管 64 位架构带来了诸多优势,例如更高的数据带宽更大的寻址范围,但也存在一些潜在劣势。例如,在小型系统中,由于指针宽度加倍,可能会导致缓存命中率下降,进而影响性能[^2]。然而,这些问题通常可以通过优化软件设计来缓解。 #### 应用领域 无论是称为 ARM64 还是 AArch64,这一架构已经在多个领域得到了广泛采用,包括但不限于移动设备、嵌入式系统、服务器个人计算机。主流的操作系统如 Linux Windows 都提供了对该架构的良好支持。 ```c++ // 示例:如何在 C++ 中调用 AArch64 的 LDR/STR 指令 void load_store_example() { int value = 0; asm volatile( "ldr %w[x], [%y]\n\t" // 使用 LDR 加载数据到寄存器 "str %w[x], [%z]" // 使用 STR 将数据写回内存 : [x] "=r"(value) // 输出操作数 : [y] "r"(&value), [z] "r"(&value) // 输入操作数 : "memory"); // 声明内存被修改 } ``` 以上代码展示了如何利用内联汇编的方式在 C++ 程序中直接调用 AArch64 的加载 (LDR) 存储 (STR) 指令[^3]。 --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

dszdsxc19

谢谢老板~

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值