Sur mon poste de travail, j'ai un processeur Intel i7-4790T que j'ai toujours pensé être un processeur assez rapide. Mais selon Geekbench 4, le processeur Apple A12X du nouvel iPad Pro le bat confortablement. Lorsque je lance Geekbench 4, la vitesse de base est d’environ 4 000 mais sur le nouvel iPad Pro le processeur A12X renvoie environ 5 000 c'est-à-dire 25% plus rapide. En fait, même le A12 et A11 marquent plus que mon i7-4790T . Lors du test multicœur, mon processeur dépasse légèrement les 11 000 tandis que le A12X en compte 18 000, soit 60% plus rapide.
Une question préliminaire est de savoir si Geekbench est un indicateur fiable de la vitesse dans le monde réel. Par exemple, la seule chose que je fais qui insiste vraiment sur mon processeur est le ré-échantillonnage vidéo avec Frein à main . Handbrake n’est pas disponible pour IOS, mais s’il était porté, Handbrake traiterait réellement les vidéos 60% plus rapidement sur l’A12X, ou le score de Geekbench n’est-il pas représentatif des performances réelles?
Mais ma question principale est la suivante: en laissant de côté la comparaison exacte entre l’A12X et mon processeur, comment Apple a-t-il réussi à obtenir une puce RISC à base d’ARM aussi rapide? Quels aspects de son architecture sont responsables de la grande vitesse?
D'après ce que je comprends des architectures RISC, elles fonctionnent moins par cycle d'horloge, mais leur conception simple leur permet de fonctionner à des vitesses d'horloge plus élevées. Mais le A12X fonctionne à 2,5 GHz alors que mon i7 a une vitesse de base de 2,7 GHz et passera à 3,9 GHz avec des charges à cœur unique. Donc, étant donné que mon i7 fonctionnera à une vitesse d'horloge 50% plus rapide que l'A12X, comment la puce Apple parvient-elle à la battre?
D'après ce que je peux trouver sur Internet, l'A12X a beaucoup plus de cache L2, 8 Mo contre 256 Ko (par cœur) pour mon i7, c'est donc une grosse différence. Mais ce cache L2 supplémentaire fait-il vraiment une si grande différence en termes de performances?
Annexe: Geekbench
Le test de l’unité centrale Geekbench met uniquement l’accent sur les vitesses de la CPU et de la mémoire CPU. Les détails de exactement comment Geekbench fait cela sont décrits dans ce PDF (136KB) . Les tests semblent correspondre exactement au type de tâches que nous réalisons qui utilisent beaucoup de ressources processeur, et il semble bien qu’ils seraient effectivement représentatifs des performances du frein à main que j’ai proposées à titre d'exemple.
La ventilation détaillée des résultats de Geekbench pour mon i7-4790T et le A12X est la suivante:
Test i7-4790T A12X
Crypto 3870 3727
Integer 4412 5346
Floating Point 4140 4581
Memory Score 3279 5320
la source
Vous comparez des architectures très différentes entre le A12X et Haswell (Intel i7-4790T), et les chiffres de référence ne sont pas directement comparables, même si les deux processeurs ne sont pas directement comparables.
Comprendre ce qu’est un test particulier est utile pour comprendre la signification des chiffres. En passant par votre test de geek, commençons par la dernière ligne.
Selon vos tests GeekBench, la bande passante mémoire entre l’A12X et la puce haswell est fortement asymétrique. L'A12X a environ deux fois plus de performances mémoire. Alors que les tests de mémoire combinent généralement deux éléments sans rapport, la latence et la bande passante, le A12X est clairement le gagnant
L'élément suivant est la performance en virgule flottante. Ce test tente de comparer le code optimisé manuellement entre différentes architectures. Bien que les chiffres puissent être faussés par la qualité des optimisations, cela devrait être un bon indicateur approximatif des performances générales des FPU et est directement comparable. Ici, les deux processeurs ont des résultats similaires.
Le test le moins utile est le test intitulé Performances entières. Il ne s'agit pas d'une performance entière au sens arithmétique, mais plutôt d'un ensemble de charges de travail génériques non FPU. Ces tests ont du sens car ils montrent les performances des applications sur une plate-forme, mais ils ne permettent pas de dire que le processeur A est meilleur que le processeur B car ils sont quelque peu sensibles aux performances de la mémoire.
Dernier est la charge de travail Crypto. Cela a du sens dans l’abrégé, même si le test en question n’est probablement pas aussi utile. La cryptographie haute performance devrait utiliser AES-GCM et non AES-CTR, ce dernier ne se prêtant pas également à l'accélération matérielle. C'est également un point de référence spécifique à un domaine.
Si je devais essayer de dire quelque chose d'intelligent à propos de ces chiffres, essayons ceci;
Tirer des conclusions plus larges sur la base de ces chiffres, ou formuler des revendications architecturales sur la base de ces chiffres, n’est probablement pas judicieux.
En ce qui concerne la comparaison d’architecture générique, RISC et CISC n’ont plus de sens, car les deux jeux d’instructions sont décodés en micro-opérations qui déterminent la répartition de la charge de travail. Comparer uniquement sur des ports d'exécution n'a probablement pas de sens, car il s'agit de blocs de construction de haut niveau qui ne sont pas directement comparables.
Le cache est une quantité importante qui contribue directement aux performances du processeur, mais il est également très compliqué. La manière dont le cache est partagé entre l'architecture intel et l'A12X est complètement différente. En général, il est préférable d’avoir plus de cache, mais la cohérence du cache est tout aussi importante, ce qui a une incidence sur la capacité des applications à threads de partager des données entre cœurs.
Enfin, le processeur doit fonctionner pour votre charge de travail. Bien que l'A12X puisse prendre en charge une charge de travail de bureau à l'avenir, l'i7 v4 le prend maintenant en charge, ce qui en fait un choix supérieur pour un processeur de bureau, même s'il a quatre à cinq ans de plus que l'A12X.
la source