Cela couvre à peu près tout ce que vous devez savoir sur les avantages du passage d'Apple à ARM64.
https://www.mikeash.com/pyblog/friday-qa-2013-09-27-arm64-and-you.html
tl;dr conclusion/réponse du lien
Il est également important de souligner les éléments auxquels le terme "64 bits" ne fait pas référence, car il y a beaucoup de confusion dans ce domaine également. En particulier, "64-bit" ne comprend pas :
- Taille de l'adresse de la RAM physique. Le nombre de bits utilisés pour parler réellement à la RAM (et donc la quantité de RAM que le matériel peut supporter) est découplé de la question du bitness du CPU. Les CPU ARM ont varié de 26 bits à 40 bits, et cela peut être modifié indépendamment du reste.
- Taille du bus de données. La quantité de données extraites de la RAM ou du cache est également découplée. Les instructions individuelles du CPU peuvent demander une certaine quantité de données, mais la quantité de données effectivement récupérées peut être indépendante, soit en divisant la récupération en petites parties, soit en récupérant plus que nécessaire. L'iPhone 5 récupère déjà les données de la mémoire par morceaux de 64 bits, et des tailles de morceaux allant jusqu'à 192 bits existent dans le monde des PC.
- Tout ce qui concerne la virgule flottante. La taille des registres FPU et la conception interne sont indépendantes, et les CPU ARM disposent de registres FPU 64 bits depuis bien avant ARM64.
L'A7 "64 bits" n'est pas un simple gadget marketing, mais ce n'est pas non plus une percée étonnante qui permet une nouvelle classe d'applications. La vérité, comme souvent, se situe entre les deux.
Le simple fait de passer au 64 bits ne change pas grand-chose. Il permet des calculs légèrement plus rapides dans certains cas, une utilisation un peu plus importante de la mémoire pour la plupart des programmes, et rend certaines techniques de programmation plus viables. Globalement, ce n'est pas très significatif.
L'architecture ARM a changé un tas d'autres choses dans sa transition vers le 64 bits. Un nombre accru de registres et un jeu d'instructions révisé et simplifié permettent un gain de performance appréciable par rapport à l'ARM 32 bits.
Apple a profité de cette transition pour apporter quelques changements de son côté. Le changement le plus important est un comptage de rétention en ligne, qui élimine le besoin d'effectuer une coûteuse consultation de table de hachage pour les opérations de rétention et de libération dans le cas courant. Comme ces opérations sont très courantes dans la plupart du code Objective-C, c'est une grande victoire. Les drapeaux de nettoyage des ressources par objet rendent la désallocation des objets beaucoup plus rapide dans certains cas. Au total, le coût de la création et de la destruction d'un objet est réduit de moitié. Les pointeurs étiquetés permettent également de gagner en performance et de réduire l'utilisation de la mémoire.
tl;dr tl;dr
- La RAM (mémoire) est découplée de l'activité du CPU et ne joue aucun rôle dans ses performances.
- Le 64 bits ne donne pas 2 fois plus d'avantages en soi
- En raison de la transition vers le 64 bits, Apple a réussi à introduire des moyens astucieux pour améliorer les performances.