Quel est l'avantage de l'A7 64 bits sur iPhone


21

J'essaie de comprendre pourquoi le passage à des processeurs 64 bits est si important dans un iPhone. Je comprends qu'il y aura deux fois plus de registres afin que le processeur puisse travailler avec deux fois plus de données, ce qui devrait augmenter les performances.

Cependant, je ne vois pas beaucoup de téléphones utiliser plus de 4 Go de mémoire de si tôt. Cela semble exagéré et cela aurait un impact négatif sur la durée de vie de la batterie.

Un autre problème que je vois est que la plupart des variables ont maintenant besoin de deux fois plus de mémoire. Cela créera des problèmes dans un environnement mobile avec de petites quantités de mémoire.

Je crois que les gens d'Apple sont intelligents et qu'ils ont probablement de bonnes raisons de le faire, j'essaie juste de les comprendre.

MODIFIER

Je ne sais pas grand-chose sur les GPU mais on m'a dit qu'avec des registres 64 bits, 2 pixels peuvent être chargés dans chaque registre et que les opérations peuvent être effectuées individuellement. Existe-t-il un avantage graphique concernant le 64 bits?


2
Juste comme remarque: plus de puissance de traitement signifie que les programmeurs peuvent se permettre d'être plus paresseux qu'auparavant (moins d'optimisations), une raison pourrait être d'encourager les développeurs d'applications.
Vlad Preda

3
@ Chris.Stover - Aujourd'hui, il n'y a pas d'avantage. Bien sûr, demain, une application iOS pourra utiliser plus de mémoire une fois que les téléphones auront plus de mémoire. En seulement 5 ans, la capacité de mémoire du téléphone a augmenté d'au moins 200%. Si la tendance se poursuit, nous pourrions voir des téléphones de 6 Go à 8 Go en très peu de temps. Apple est également impatient de faire quelque chose comme ça. Tout se résume au fait que ARM n'autorisera probablement que des conceptions 64 bits à l'avenir. Cela revient vraiment au fait que le téléphone a maintenant plus de registres, ce qui le rend vraiment plus rapide. La spécification 64 bits n'est pas importante aujourd'hui.
Ramhound

1
Ce n'est pas deux fois, c'est des ordres de grandeur plus grands. Les processeurs 32 bits ne peuvent traiter que 4 Go de RAM. Les processeurs 64 bits peuvent traiter environ 18 exaoctets, soit 3 ordres de grandeur de plus.
World Engineer

7
plus de 640k de mémoire limite
Reactgular

1
On soupçonne que le Nexus 5 aura 3 Go de RAM, et cela sera lancé le mois prochain. Je ne pense pas que 4 Go + soit aussi éloigné que vous pourriez le penser.
Brendon

Réponses:


25

Il s'agit surtout de lancer un grand nombre là-bas, car cela impressionne les masses. Les nombres plus importants sont évidemment supérieurs, donc tout ce qui a un processeur 64 bits est clairement meilleur que quelque chose avec un processeur 32 bits. Le nouveau processeur est nettement meilleur que son prédécesseur mais, à la mode Apple, ils n'essaieront pas de marketing basé sur les spécifications techniques - ils vont juste vous dire que l' A7 64 bits est plus récent et meilleur que le 32- bit A-6 . En regardant les spécifications techniques, cependant, vous voyez:

  • Chipsworks 28nm vs 32nm
  • Processeur graphique intégré amélioré
  • Architecture ARM v8 v. ARM v7 (ajoute des fonctions SIMD; passe de 13 à 31 registres à usage général)
  • Mémoire principale en cours (c'est-à-dire plus rapide)

Au-delà de cela, il y a le fait qu'ils peuvent commencer à déployer du matériel 64 bits (rétrocompatible) aujourd'hui, avant de nous heurter au `` mur de 4 Go ''. Dans quelques années, lorsque le 64 bits deviendra une nécessité, tout le matériel le prendra en charge et il ne sera plus nécessaire de gérer les architectures 32 bits héritées.


1
Je ne trouve pas réellement la source des informations dans les articles wiki. D'autres sites signalent un double cœur à 1,5 GHz. Une page wiki dit que l'A7 est octa-core à 1,7 GHz. Voir ce qui suit: en.wikipedia.org/wiki/Apple_(system_on_chip) pdadb.net/index.php?m=pdacomparer&id1=4962&id2=4829
Chris.Stover

2
@ Chris.Stover montre simplement qu'Apple ne vend pas de matériel selon les spécifications techniques - ils veulent juste pousser "Newer & Better!" avec la prochaine génération plutôt que de vous dire pourquoi le nouveau matériel est réellement meilleur.
Sean McSomething

2
ARM v7 prend déjà en charge les lignes d'adresse 40 bits (1 To de RAM), bien que les applications sur cette architecture 32 bits ne peuvent traiter que 4 Go chacune. Arm v8 prend actuellement en charge les applications 32 bits, donc la compatibilité descendante n'est pas un problème.
gbjbaanb

16

Il n'y a pas de «mur de 4 Go» sur ARMv7, car de nombreux cœurs ARMv7 prennent en charge LPAE (Large Physical Address Extension), qui est un concept similaire à PAE sur x86, sauf que LPAE utilise un adressage 40 bits. Cela signifie que l' ARMv7 équipé de LPAE peut traiter jusqu'à 1 To de RAM .

Il est également important de mentionner que les prochains cœurs ARMv8, y compris A7, n'utiliseront pas l'adressage physique 64 bits . A7 utilisera très probablement un adressage physique 40 bits ou 44 bits. Plus tard, donnant accès à au plus 16 To de RAM.

Bien sûr, avec LPAE sur ARMv7 ou en mode AArch32 sur ARMv8, les applications sont toujours 32 bits, de sorte que l'application elle-même ne peut accéder qu'à 4 Go à la fois. Mais je ne pense pas que ce serait un problème sur les appareils mobiles de si tôt.

Vous craignez que les applications utilisent plus de mémoire (pointeurs 64 bits), mais ce ne sera pas le cas si les applications fonctionnent en mode 32 bits (AArch32).

D'un autre côté, ARMv8 fournit d'autres améliorations architecturales par rapport à ARMv7, qui ne sont pas liées à AArch64.

TL, DR: 64 bits d'A7 est un gadget marketing. Même sur les systèmes avec plus de 4 Go de RAM, il n'offre aucun avantage significatif sur LPAE pour les applications 32 bits. Et les applications 64 bits n'arriveront pas de sitôt.

Mise à jour: Cela a été confirmé par le directeur marketing de Qualcomm (actuellement ancien cadre, car il a été rétrogradé pour ces commentaires ).

"Je sais qu'il y a beaucoup de bruit parce qu'Apple a fait [64 bits] sur leur A7", a déclaré Anand Chandrasekher, vice-président senior et directeur du marketing chez Qualcomm, dans une interview. "Je pense qu'ils font un truc de marketing. Il n'y a aucun avantage pour un consommateur à cela."

Un avantage du 64 bits est une meilleure capacité d'adressage de la mémoire, mais cela n'est pas pertinent dans les smartphones ou les tablettes d'aujourd'hui, a déclaré Chandrasekher. L'iPhone 5s ne dispose que de 1 Go de DRAM.

"Principalement ... vous en avez besoin pour l'adressabilité de la mémoire au-delà de 4 Go. C'est tout. Vous n'en avez pas vraiment besoin pour les performances, et les types d'applications dans lesquelles le 64 bits est principalement utilisé sont de grandes applications de classe serveur", a déclaré Chandrasekher, qui dirigeait auparavant le groupe des plates-formes mobiles d'Intel. ( source )


9

Se concentrer uniquement sur le fait d' A7être ARMv8là est un gain évident. ARM redémarre son jeu d'instructions et son architecture.

Étant la compatibilité à rebours avec ARMv7, la prochaine version prétend également

  • Nouveau jeu d'instructions (A64)
  • Gestion des exceptions révisée pour les exceptions dans l'état AArch64
  • Moins de registres et de modes en banque

ARMv8Défis donc ARMv7sur les différences architecturales, fournissant une interface plus propre pour les développeurs de systèmes qui supprimerait probablement les fonctionnalités héritées conduisant à une meilleure plate-forme. Ce qui signifie que vous devriez vous attendre à une meilleure performance / énergie au lieu d'un impact négatif sur la batterie.

En savoir plus sur ARM Architecture Preview .


+1. Gruber a également une bonne description des avantages qu'ARMv8 sur daringfireball.net/2013/09/the_iphone_5s_and_5c . (Faites défiler jusqu'à "L'A7: ARMv8 et architecture 64 bits.")
Josh Kelley

4

Le plus grand avantage par rapport aux 32 bits pour les processeurs 64 bits est le mouvement de la mémoire, et non la taille de la mémoire. S'il est vrai que 32 bits peut imposer une limite de 4 Go sur l'accès direct. Il existe de nombreuses solutions matérielles / logicielles pour contourner cette limite.

Les processeurs 64 bits peuvent simplement lire / écrire plus de données en une seule opération de processeur. Il permet au code assembleur d'effectuer des opérations sur des blocs de 8 octets. Cela peut avoir un grand avantage en termes de performances par rapport aux processeurs 32 bits. Les calculs en virgule flottante sont plus rapides sur 64 que sur 32, et lorsque le processeur utilise des registres doubles, il peut fonctionner sur des blocs de données de 128 bits.

Les processeurs 64 bits ont également des bandes passantes plus larges pour la mémoire physique. Si vous avez une caméra qui enregistre 1080p et que vous souhaitez éditer cette vidéo. Effectuer une opération sur un fichier vidéo de 1 Go sera tout simplement plus rapide sur 64 bits.

Tout ce qui précède est vrai même si le Ghz du processeur reste le même.

Si le 64 bits est si bon, alors pourquoi pas le 128 bits?

Plus vous ajoutez de bits au pipeline d'un processeur, plus le processeur doit déplacer de données. Le CPU ne peut pas réduire cette bande passante à 16 ou 32. Cela crée donc un problème pour les développeurs de logiciels. La plupart des logiciels (votre calendrier, vos notes, etc.) ne dépendent pas de beaucoup de données, et par conséquent 128 bits impliqueraient beaucoup de bande passante gaspillée. Cela peut commencer à entraver les performances et la durée de vie de la batterie. Les fabricants de CPU doivent donc trouver un équilibre entre la bande passante et les exigences logicielles.

Je suis étonné qu'Apple ait sorti un nouveau processeur 64 si tôt dans la vie de l'informatique mobile. Je pense que leur véritable motivation est le graphisme 3D. Avec un processeur 64 bits, le téléphone peut déplacer plus de données vers le GPU rapidement. Cela permettra des jeux 3D rapides et des graphismes plus impressionnants. Vous allez vraiment commencer à voir les avantages du 64 bits en 3D en temps réel car ce processus dépend fortement des données.


4
Les architectures CPU récentes / modernes sont beaucoup plus compliquées que vous ne le décrivez ici. Les processeurs déplacent les données de la mémoire dans des unités appelées cache linessur des bus de mémoire qui peuvent avoir 16 bits 32 bits ou probablement 64 bits. Cela ne correspond pas nécessairement à la taille du mot natif de la voûte CPU. Vous avez raison: le gros problème est le déplacement des données, mais ce problème appartient à un autre domaine matériel / architectural. FP est fait sur FPU qui sont en fait assez rapides et peuvent fonctionner avec des tailles de précision simple ou double. De même pour le décodage vidéo ou 3D en fait, ils ont tous leurs propres matériels dédiés qui ne sont pas nécessairement 64 bits.
auselen

4
Il y a un formidable document appelé what every programmer should know about memorydisponible gratuitement pour le développeur curieux akkadia.org/drepper/cpumemory.pdf
auselen

2

Cela facilite les choses lors de la manipulation de grands nombres. Les grands nombres sont extrêmement importants en cryptographie (après que PRISM a un téléphone mobile sécurisé est devenu très important) et les applications scientifiques.


1

Bien que vous ne puissiez pas rencontrer de problèmes maintenant si vous vous en tenez à 32 bits, il y aura certainement des problèmes dans un proche avenir. La leçon tirée du monde des ordinateurs de bureau est qu'une transition sera un processus long et pénible. Vous devriez donc commencer par cela plus tôt que tard.

C'était même surprenant pour moi que les smartphones n'étaient pas 64 bits dès le départ.


J'ai testé cela en convertissant mon application actuelle en 32 bits. J'ai reçu un certain nombre d'avertissements mais aucune erreur. Heureusement, Apple a proposé un correctif pour chaque avertissement.J'ai donc cliqué sur chaque avertissement et appuyez sur Entrée pour accepter le correctif. Cela a pris environ 5 minutes et j'étais opérationnel en 64 bits. Pas de maux de tête, pas de problèmes ... jusqu'à présent
Chris.Stover

0

Je ne pense pas qu'il y ait beaucoup d'avantages techniques. Tout d'abord, je pense que cela a plus de sens lorsque vous considérez l'iPad (il a une batterie plus grande, donc il peut prendre en charge plus de RAM, une consommation d'énergie plus élevée par le processeur, etc.). Revoyez les autres annonces en cours en ce moment. AMD vient d'annoncer son intention de livrer des processeurs ARM 64 bits en 2014. Il s'agit essentiellement d'Apple qui garde le leadership du marché face à ce qui arrive aux tablettes Android et Win8 haut de gamme.


0

À court terme, presque rien. C'est en fait un pas en arrière de plusieurs façons. Il y a trois avantages principaux que je connais.

  1. 64 bits est beaucoup mieux avec des nombres plus importants, ce qui est une aubaine pour la cryptographie. Ce qui peut être une combinaison intéressante avec le scanner d'empreintes digitales sur le téléphone.
  2. Toujours dans la même veine, les améliorations apportées au 64 bits et aux grands nombres aident au rendu physique. Ce qui est pratique compte tenu de la quantité de physique utilisée dans l'interface utilisateur d'iOS7. Cela profite également aux développeurs de jeux, en particulier sur quelque chose avec un écran plus grand comme l'iPad.
  3. Il ajoute également un certain degré d'épreuvage futur des téléphones actuels en utilisant cela.

0

Repères.

Pour certaines implémentations capables à la fois de modes architecturaux 32 et 64 bits avec les ISA x86, MIPS et ARM, le mode 64 bits est plus rapide sur certaines applications importantes. L'une des principales raisons est que les ISA 64 bits sont plus récents et que les architectes ISA en savaient donc plus sur les statistiques d'application et comment optimiser cet ensemble de comportements d'application lors de la définition de l'ISA. Et un nouveau processeur ISA doit être à l'épreuve du temps contre les besoins en mémoire d'application qui croissent au rythme de la loi de Moore, et qui ont déjà plus d'un million de fois dans le domaine des appareils mobiles.

Ainsi, le nouvel arm64 ISA se réfère probablement plus rapidement à tout code limité par les performances que vous pourriez développer (il a sur mon code), tout en permettant aux pointeurs C stupides d'adresser les vastes espaces d'adressage virtuels susceptibles de devenir communs dans une décennie ou plus (ce qui est beaucoup moins de temps que l'ARM 32 bits ISA d'origine a déjà existé).

Les performances sur votre ensemble particulier d'applications (mesure à confirmer) sont une excellente raison de préférer arm64.


-4

64 bits permet beaucoup plus de partage de code avec les versions de bureau d'OSX (qui sont toutes 64 bits)


Mais actuellement, toutes les applications ios doivent conserver une compatibilité 32 bits, de sorte que tout code 64 bits uniquement doit être converti en 32 bits de toute façon.
Bryan Chen

1
Mais il s'agit de toute façon d'une architecture complètement différente (x86-64 vs armv8). Gain nul de cela (un programme écrit en C / C ++ / ObjC fonctionnera sur n'importe quel nombre de bits même si ce n'est pas une exigence).
Jan Hudec
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.