Xcode arm64 与 arm64e
Xcode arm64 Vs arm64e
Xcode 10.1 提及对 arm64e 的支持(预览版)。任何人都对 arm64e 有所了解。 arm64 和 arm64e 有什么区别。
我搜索了arm64e。但是找不到合适的解释。
A12 芯片组使用 arm64e 架构,在最新的 2018 iPhone 型号(XS/XS Max/XR)中添加。代码编译为 ARMv8.3,支持新功能。即:
- 指针认证
- 嵌套虚拟化
- 高级 SIMD 复数支持
- 改进了Javascript数据类型转换支持
- 对内存一致性模型的更改
- ID 机制支持更大的系统可见缓存
The A12 features an Apple-designed 64-bit ARMv8.3-A six-core CPU
https://en.wikipedia.org/wiki/Apple_A12
也可以在此处阅读有关架构的更多信息:
https://community.arm.com/processors/b/blog/posts/armv8-a-architecture-2016-additions
要使用应用程序测试 arm64e,请更新 Build Settings
中的 Architectures
设置。更多详情请见 https://developer.apple.com/documentation/security/preparing_your_app_to_work_with_pointer_authentication。
请注意,如果您有 CocoaPods 依赖项,则所有 Pods 构建目标都必须进行类似更改。
如果任何 CocoaPods 依赖项是二进制而不是源 pods,请向供应商提出请求,例如 https://github.com/firebase/firebase-ios-sdk/issues/4110
arm64
对比 arm64e
两者都是ABIs (lower level APIs) which compile to instructions (defined by an ISA/ instruction set architecture). arm64e is used on Mac M1's and iPhones. The differences between them are the points in 。
arm64e
对比 ARMv8.3
?
两者都被含糊地称为“架构”。 arm64e
不是 ISA 而是 ABI(应用程序二进制接口),ARMv8.3 是 ARM ISA(技术上是 AArch64 的扩展)。
总而言之,arm64e
是一个ABI(通常称为架构,但不是 ISA),它编译成一个真正的ISA。新的Apple设备使用arm64e,包括M1 macs。
iPhone(例如 A14、A15)、M1 Mac、M1 Pro Mac 等
他们都使用 arm64e ABI,但 Apple 拥有 ISA 许可证,并创建自定义 ISA。
ABI 与架构?
Android 文档有一个关于 Android ABIs 的有用指南,包含一般信息:
Different Android devices use different CPUs, which in turn support
different instruction sets. Each combination of CPU and instruction
set has its own Application Binary Interface (ABI). An ABI includes
the following information:
read more there
Xcode 10.1 提及对 arm64e 的支持(预览版)。任何人都对 arm64e 有所了解。 arm64 和 arm64e 有什么区别。
我搜索了arm64e。但是找不到合适的解释。
A12 芯片组使用 arm64e 架构,在最新的 2018 iPhone 型号(XS/XS Max/XR)中添加。代码编译为 ARMv8.3,支持新功能。即:
- 指针认证
- 嵌套虚拟化
- 高级 SIMD 复数支持
- 改进了Javascript数据类型转换支持
- 对内存一致性模型的更改
- ID 机制支持更大的系统可见缓存
The A12 features an Apple-designed 64-bit ARMv8.3-A six-core CPU
https://en.wikipedia.org/wiki/Apple_A12
也可以在此处阅读有关架构的更多信息:
https://community.arm.com/processors/b/blog/posts/armv8-a-architecture-2016-additions
要使用应用程序测试 arm64e,请更新 Build Settings
中的 Architectures
设置。更多详情请见 https://developer.apple.com/documentation/security/preparing_your_app_to_work_with_pointer_authentication。
请注意,如果您有 CocoaPods 依赖项,则所有 Pods 构建目标都必须进行类似更改。
如果任何 CocoaPods 依赖项是二进制而不是源 pods,请向供应商提出请求,例如 https://github.com/firebase/firebase-ios-sdk/issues/4110
arm64
对比 arm64e
两者都是ABIs (lower level APIs) which compile to instructions (defined by an ISA/ instruction set architecture). arm64e is used on Mac M1's and iPhones. The differences between them are the points in
arm64e
对比 ARMv8.3
?
两者都被含糊地称为“架构”。 arm64e
不是 ISA 而是 ABI(应用程序二进制接口),ARMv8.3 是 ARM ISA(技术上是 AArch64 的扩展)。
总而言之,arm64e
是一个ABI(通常称为架构,但不是 ISA),它编译成一个真正的ISA。新的Apple设备使用arm64e,包括M1 macs。
iPhone(例如 A14、A15)、M1 Mac、M1 Pro Mac 等
他们都使用 arm64e ABI,但 Apple 拥有 ISA 许可证,并创建自定义 ISA。
ABI 与架构?
Android 文档有一个关于 Android ABIs 的有用指南,包含一般信息:
Different Android devices use different CPUs, which in turn support different instruction sets. Each combination of CPU and instruction set has its own Application Binary Interface (ABI). An ABI includes the following information: read more there