85 votes

Xcode arm64 Vs arm64e

Xcode 10.1 mention Support for arm64e (Preview). Anyone have any idea about arm64e. Any difference between arm64 and arm64e.

https://developer.apple.com/documentation/xcode_release_notes/xcode_10_1_beta_2_release_notes?language=objc

J'ai cherché arm64e, mais je n'ai trouvé aucune explication appropriée.

0 votes

142voto

Giovanni Terlingen Points 2027

L'architecture arm64e est utilisée sur la puce A12, qui est ajoutée dans les derniers modèles d'iPhone de 2018 (XS/XS Max/XR). Le code se compile en ARMv8.3, ce qui apporte le support de nouvelles fonctionnalités. Notamment :

  • Authentification des pointeurs
  • Virtualisation emboîtée
  • Support des nombres complexes SIMD avancés
  • Amélioration du support de conversion des types de données en Javascript
  • Un changement dans le modèle de cohérence de la mémoire
  • Support du mécanisme ID pour des caches système visibles plus grands

Le A12 est doté d'un processeur six cœurs 64 bits ARMv8.3-A conçu par Apple

https://fr.wikipedia.org/wiki/Apple_A12

En savoir plus sur l'architecture ici également :

https://community.arm.com/processors/b/blog/posts/armv8-a-architecture-2016-additions

18voto

ZenBoat Points 488

arm64 vs arm64e

Les deux sont des ABIs (API de bas niveau) qui se compilent en instructions (définies par une ISA / jeu d'instructions). arm64e est utilisé sur les Mac M1 et les iPhones. Les différences entre eux sont les points dans la réponse de Giovanni.

arm64e vs ARMv8.3?

Ils sont ambiguëment appelés "architectures". arm64e n'est pas une ISA mais un ABI (interface binaire d'application), et ARMv8.3 est une ISA ARM (techniquement une extension de AArch64).

En résumé, arm64e est un ABI (souvent appelé architecture, mais pas ISA), qui se compile vers une ISA réelle. Les nouveaux appareils Apple utilisent arm64e, y compris les macs M1.

iPhones (par exemple A14, A15), Macs M1, Macs M1 Pro, etc.

Ils utilisent tous l'ABI arm64e, mais Apple a une licence ISA, et crée des ISAs personnalisées.

ABI vs Architecture?

La documentation Android propose un guide utile sur les ABIs Android, contenant des informations générales:

Différents appareils Android utilisent différents processeurs, qui supportent à leur tour divers jeux d'instructions. Chaque combinaison de processeur et jeu d'instructions a sa propre Interface Binaire d'Application (ABI). Une ABI inclut les informations suivantes: lire la suite ici

10voto

Paul Beusterien Points 8051

Pour tester arm64e avec une application, mettez à jour le paramètre Architectures dans les Build Settings. Plus de détails sur https://developer.apple.com/documentation/security/preparing_your_app_to_work_with_pointer_authentication.

Notez que si vous avez des dépendances CocoaPods, toutes les cibles de compilation des Pods doivent être modifiées de manière similaire.

Si certaines des dépendances CocoaPods sont binaires au lieu de sources, faites une demande auprès du fournisseur comme https://github.com/firebase/firebase-ios-sdk/issues/4110

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X