Xcode arm64 VS arm64e

dsekswqp  于 2023-04-13  发布在  其他
关注(0)|答案(3)|浏览(1250)

Xcode 10.1提到了对arm64e的支持(预览版)。任何人都有关于arm64e的想法。arm64和arm64e之间的任何区别。
https://developer.apple.com/documentation/xcode_release_notes/xcode_10_1_beta_2_release_notes?language=objc
我搜索了arm64e,但找不到任何合适的解释。

ux6nzvsh

ux6nzvsh1#

在A12芯片组上使用了arm 64 e架构,该芯片组被添加到最新的2018年iPhone型号(XS/XS Max/XR)中。代码编译为ARMv8.3,它带来了对新功能的支持。即:

  • 指针认证
  • 嵌套虚拟化
  • 高级SIMD复数支持
  • 改进的Javascript数据类型转换支持
  • 对内存一致性模型的更改
  • ID机制支持更大的系统可见缓存

A12采用Apple设计的64位ARMv8.3-A六核CPU
https://en.wikipedia.org/wiki/Apple_A12
在这里阅读更多关于架构的信息:
https://community.arm.com/processors/b/blog/posts/armv8-a-architecture-2016-additions

p4tfgftt

p4tfgftt2#

arm64 vs arm64e

两者都是ABIs(较低级别的API),编译为指令(由伊萨/指令集架构定义)。arm 64 e用于Mac M1和iPhone。它们之间的区别是Giovanni's answer中的点。

arm64e vs ARMv8.3

arm64e不是伊萨,而是ABI(应用程序二进制接口),ARMv8.3是ARM ISA(技术上是AArch 64的扩展)。
总之,arm64e是一个ABI(通常称为架构,但不是ISA),它编译成真实的的ISA。新的苹果设备使用arm 64 e,包括M1 Mac。

iPhone(如A14、A15)、M1 Mac、M1 Pro Mac等

他们都使用arm 64 e ABI,但苹果有伊萨许可证,并创建自定义ISA。

ABI vs架构?

Android文档中有一个关于Android ABIs的有用指南,包含一般信息:
不同的Android设备使用不同的CPU,而CPU又支持不同的指令集。CPU和指令集的每种组合都有自己的应用程序二进制接口(ABI)。ABI包括以下信息:read more there

lo8azlld

lo8azlld3#

要使用应用程序测试arm64e,请更新Build Settings中的Architectures设置。更多详细信息请访问https://developer.apple.com/documentation/security/preparing_your_app_to_work_with_pointer_authentication
请注意,如果您有CocoaPods依赖项,则必须类似地更改所有Pods构建目标。
如果任何CocoaPods依赖项是二进制的,而不是源Pod,请向供应商发出请求,如https://github.com/firebase/firebase-ios-sdk/issues/4110

相关问题