有没有人总结过ARMv7和ARMv8的区别

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了有没有人总结过ARMv7和ARMv8的区别相关的知识,希望对你有一定的参考价值。

主要是指令集升级。
ARMv8指令集分为Aarch64和Aarch32。后者与ARMv7基本相同,但是多了一些vfp的指令,或者以前的软件模拟实现改为硬件支持,可以说是靠着后者实现对Aarch32的向前兼容。
Aarch64是升级的那一部分。指令编码不同(虽然也是32位);寄存器多了;寄存器变宽了(64位);功能寄存器和通用寄存器分开(除了x30也是rl);没有THUMB;另外还有架构上的变化,如exception level,stack alignment 等。总体来说Aarch64更规整了,也更简单。

参考技术A

    Cortex-A57是ARM最先进、性能最高的应用处理器,号称可在同样的功耗水平下达到当今顶级智能手机性能的三倍;

    而Cortex-A53是世界上能效最高、面积最小的64位处理器,同等性能下能效是当今高端智能手机的三倍。

    这两款处理器还可整合为ARM big.LITTLE(大小核心伴侣)处理器架构,根据运算需求在两者间进行切换,以结合高性能与高功耗效率的特点,两个处理器是独立运作的。

armeabi-v7a armerabi arm64-v8a区别

参考技术A armeabi就是针对普通的或旧的arm v5 cpu

armeabi-v7a是针对有浮点运算或高级扩展功能的arm v7 cpu

armeabi-v7a(32位ARM设备)

arm64-v8a(64位ARM设备)

ABI:指应用基于哪种指令集来进行编译,ABI总共有四种,分别是armeabi、armeabi-v7a、mips、x86
相同点:都是cpu类型

以上是关于有没有人总结过ARMv7和ARMv8的区别的主要内容,如果未能解决你的问题,请参考以下文章

iOS armv7, armv7s, arm64区别与应用32位、64位配置

armv7 的引导加载程序是不是适用于 armv8?

arm64、armv7、armv7s是指啥?

armv8 和 arm64 是一样的吗?

arm 中b 与bne的区别?

ARMv8-A vs ARMv7 Registers