Swift, le vrai nom de l’A6 d’Apple

Swift en théorieAnand Shimpi, d’Anandtech, a publié son dossier sur l’iPhone 5. Et il a pu obtenir quelques informations sur l’A6, le SoC d’Apple. Le CPU intégré dans le SoC a donc un nom : Swift. Rappelons qu’un SoC est une puce qui intègre plusieurs composants dans un seul, ici le CPU, le GPU et le chipset, la gestion de la téléphonie, du Wi-Fi et du GPS restant externes.

Swift, un CPU maison

Swift est donc le premier CPU d’origine Apple. C’est un CPU en architecture ARM qui utilise le jeu d’instructions ARMv7S. Comme tous les ARMv7(x), c’est une puce 32 bits, même s’il est possible que le processeur puisse gérer plus de mémoire via une technologie de type PAE, comme le Cortex A15 d’ARM.

Apple ne donne pas d’informations, donc les informations ont été déduites du comportement du processeur dans les tests. Il est gravé en 32 nm (par Samsung), fonctionne au maximum à 1,3 GHz — un gros gain par rapport aux 800 MHz de l’A5 dans l’iPhone 4S — et mesure 97 mm². La mémoire est gérée sur deux canaux 32 bits et Apple utilise de la LPDDR2. La mémoire cache reste la même que dans la majorité des CPU ARM : 32 ko de cache de niveau 1 et 1 Mo de mémoire cache de niveau 2.

Entre Cortex A9 et Cortex A15

Au niveau de l’architecture, le Swift aurait 3 décodeurs en entrée (il est donc capable d’exécuter en théorie 3 instructions en parallèle) et 5 unités d’exécutions : deux ALU (calculs sur les entiers) dont une dédiée aux multiplications, deux FPU (une pour les additions, une pour les multiplications) et une unité pour la gestion des transferts mémoire.

Le Cortex A9 ne propose que deux décodeurs et trois unités : deux ALU dont une pour les multiplications et une qui partage trois fonctions, addition en flottant, multiplication en flottant et gestion de la mémoire. Dans certains cas, les gains obtenus sur le Swift peuvent donc êtres très élevés, spécialement dans les programmes qui utilisent la FPU.

Enfin, le futur Cortex A15 d’ARM propose trois décodeurs et six unités, deux pour la FPU (et NEON, l’unité SIMD), une pour l’ALU, une pour la gestion des branches conditionnelles, une pour la gestion de la mémoire et une pour les multiplications et divisions. Il est plus complexe et a priori plus rapide, mais n’est pas encore disponible sur le marché.

Pipeline et mémoire

Pour le pipeline, sa longueur est estimée à 12 étages. Augmenter la longueur du pipeline permet généralement d’augmenter la fréquence et les performances dans certains cas, mais a aussi un impact sur les boucles : si le processeur n’arrive pas à déterminer les prochaines instructions, le pipeline doit être vidé. Et plus il est long, plus l’opération est longue et impactante sur les performances.

Le contrôleur mémoire a aussi été amélioré, de façon très significative. Malgré une interface limitée à deux canaux 32 bits (il y en a quatre sur l’iPad 3 et l’A5X), les performances sont très bonnes. Apple a visiblement réglé en partie un des défauts récurrents des SoC ARM, dont la bande passante est souvent limitée.

Au final, le processeur d’Apple est une réussite : plus rapide que le Cortex A9 et a priori du niveau du Krait de chez Qualcomm, le Swift est un bon processeur et Apple rentre par la grande porte dans le monde des concepteurs de CPU. Bien évidemment, ARM et le Cortex A15 se tiennent en embuscade, mais ce dernier ne devrait pas arriver dans les appareils mobiles avant 2013.