Arm a annoncé trois nouveaux processeurs basés sur Armv9: l'Arm Cortex-X2, le Cortex-A710 et le Cortex-A510.
Les conceptions de processeurs d'Arm sont utilisées dans la grande majorité des smartphones Android aujourd'hui, tout le monde, de Google et OnePlus à Samsung et Huawei, utilisant les processeurs de l'entreprise sous une forme ou une autre. Ces sociétés autorisent les cœurs de processeur d'Arm et les utilisent avec un GPU, un NPU, un FAI, un DSP, etc., pour créer un système sur puce (SoC). Par exemple, le Snapdragon 888 utilise un Cortex-X1, trois cœurs Cortex-A78 et quatre cœurs Cortex-A55.
Ce sont tous des modèles de processeurs Armv8 64 bits. Arm a récemment lancé sa nouvelle architecture de jeu d'instructions (ISA) pour la prochaine décennie, Armv9. La nouvelle architecture est 64 bits et rétrocompatible avec Armv8, mais ajoute de nombreuses technologies d'avenir telles que Scalable Vector Extensions 2 (SVE2) et des fonctionnalités liées à la sécurité telles que Memory Tagging Extensions (MTE). Avec le passage à Armv9, la société doit mettre à niveau ses trois niveaux de processeurs mobiles vers Armv9. Cela signifie que nous obtenons trois nouvelles conceptions de cœur de processeur en un seul lot. Voici ce que nous savons d’eux!
Le Cortex-X1 était le premier cœur de processeur du programme Cortex-X Custom (CXC) d'Arm. Cela se concentre sur les performances plutôt que sur l’efficacité, plus encore que les gros cœurs traditionnels d’Arm. Le Cortex-X1 a trouvé sa place dans les chipsets Exynos 2100 et Snapdragon 888, servant de nouveau cœur principal dans ces SoC. Parce qu'il est peaufiné pour les performances, il n'y a normalement qu'un seul noyau X sur un appareil mobile. Cependant, il existe toujours un potentiel pour plusieurs cœurs Cortex-X dans un SoC conçu pour les Chromebooks ou d'autres ordinateurs portables.
Maintenant, Arm a révélé le Cortex-X2. Il s'agit d'un processeur basé sur Armv9 64 bits uniquement (pas de mode 32 bits) avec le potentiel d'une amélioration des performances de 16% par rapport au X1 (s'il est construit en utilisant le même processus de fabrication et les mêmes fréquences d'horloge).
La société s'attend à ce que les processeurs utilisant le Cortex-X2 offrent jusqu'à 30% d'augmentation des performances par rapport aux téléphones phares de 2021 (qui utilisent le X1) lorsque d'autres améliorations telles que plus de cache sont prises en compte. Arm dit également que vous pouvez vous attendre à une augmentation de 2 fois des performances d'apprentissage automatique par rapport au X1.
Le Cortex-X2 basé sur Armv9 a le potentiel d'une amélioration des performances de 16% par rapport au X1.
Pour trouver la performance supplémentaire, les concepteurs du X2 ont découplé la production de la branche de la récupération. Cela signifie que l'extraction peut être exécutée avant le prédicteur de branchement et lui permettre de lisser les espaces qui peuvent apparaître dans le pipeline en raison de la ramification. Le prédicteur lui-même a également été amélioré et comprend désormais un prédicteur de chemin alternatif. Cela se traduit par moins d'erreurs de branche, ce qui augmente les performances.
Le graphique ci-dessous montre la réduction des prédictions d'absence de branche pour 1000 instructions (MPKI) du X2 par rapport au X1.
Le X2 utilise un pipeline à 10 étages avec une fenêtre de désordre accrue. Puisqu'il s'agit d'un CPU Armv9, il implémente SVE2, cette fois à 128 bits. Le X2 améliore également le parallélisme au niveau des instructions en augmentant la taille de la fenêtre / structure du magasin de chargement.
L'amélioration des performances peut également être partiellement attribuée à l'augmentation de la taille du cache. Plus précisément, alors que le cache L2 plafonne toujours à 1 Mo, le cache L3 a été doublé d'un maximum de 8 Mo dans le Cortex-X1 et peut désormais prendre en charge jusqu'à 16 Mo.
Arm a également publié un successeur au Cortex-A78, et la société va avec un tout nouveau nom dans le Cortex-A710.
Le Cortex-A710 n'a pas les mêmes performances de pointe que le X2, mais vous voyez toujours une amélioration des performances respectable de 10% par rapport à un Cortex-A78 sur le même processus de fabrication. Mais une amélioration bien plus importante doit être apportée en ce qui concerne l'apprentissage automatique et la durée de vie de la batterie, car Arm vante respectivement un gain de performances 2x et un gain d'efficacité de 30%.
Arm a augmenté les performances en améliorant la précision du prédicteur de branche à l'avant du processeur et en doublant la capacité des structures de prédiction de branche clés, à savoir le Branch Target Buffer (BTB) et le Global History Buffer (GHB).
Pour une efficacité améliorée, l'A710 est un noyau de cinq larges (contre six de large sur l'A78) et passe à un pipeline à 10 étages (un peu comme le Cortex-X2). En outre, des modifications apportées au préficheur de données améliorent la couverture et la précision.
Contrairement au X2, le Cortex-A710 prend également en charge AArch32 (c'est-à-dire les applications 32 bits), une fonctionnalité qui va bientôt disparaître. Arm a annoncé que d'ici 2023, tous ses nouveaux cœurs de processeur pour mobile seront uniquement 64 bits. Comme le Cortex-X2, le moteur SVE2 a une largeur de 128 bits.
Arm n'a pas sorti de nouveau petit noyau en quatre ans, ce qui est une éternité dans les années sur les smartphones. Heureusement, l'attente est terminée car la société a lancé le Cortex-A510 basé sur Armv9 pour reprendre là où le Cortex-A55 s'était arrêté.
Comme vous vous en doutez d'une mise à niveau attendue depuis longtemps, Arm affirme que le Cortex-A510 apporte une amélioration des performances de 35%, un gain d'efficacité de 20% et une augmentation de 3 fois de l'apprentissage automatique par rapport à un Cortex-A55 sur le même processus.
La société affirme qu'une combinaison d'une conception en ordre à trois larges (par rapport à deux larges dans l'A55), ainsi que la technologie de prédiction de branche et de pré-extraction des données du projet Cortex-X, ont contribué à l'amélioration de l'A510. performance et efficacité. Il utilise également un décodage à trois larges, un problème à trois larges, comprend trois pipelines ALU entiers et des pipelines à double chargement / stockage. Les pipelines de chargement / stockage peuvent fonctionner en tant que charge 2x ou 1x charge plus 1x magasin.
La caractéristique la plus intéressante du Cortex-A510 est sa microarchitecture à cœur fusionné. Deux cœurs Cortex-A510 peuvent être regroupés dans un complexe. Lorsqu'ils se trouvent dans un complexe, les cœurs Cortex-A510 partagent certaines ressources, notamment le cache L2, le tampon de recherche de traduction L2 (TLB) et le moteur SIMD (ce qui signifie virgule flottante, NEON et SVE2).
La caractéristique la plus intéressante du Cortex-A510 est sa microarchitecture à cœur fusionné.
C'est une idée similaire au multithreading simultané (SMT), que vous pouvez appeler hyperthreading, en ce sens que certaines parties du cœur du processeur sont partagées. Cependant, la microarchitecture à cœur fusionné Cortex-A510 est beaucoup moins drastique. Les principales parties du noyau sont toujours indépendantes, et tout, sauf les opérations en virgule flottante et le fonctionnement SIMD, reste sur chaque noyau. Cependant, lorsque le cœur a besoin de faire des calculs vectoriels, il utilise un moteur NEON / SVE2 qui est partagé avec un autre cœur. Une planification intelligente et fine entre les cœurs signifie qu'il y a une surcharge minimale même lorsque les deux cœurs utilisent l'unité vectorielle. Sous certains benchmarks lourds en virgule flottante, Arm ne voit qu'une baisse de 1% des performances mathématiques.
Les avantages de la configuration de la microarchitecture à cœur fusionné ne concernent pas tant les performances ou l'efficacité énergétique, mais la zone. Plus il y a de transistors dans un processeur, plus cela coûte d'argent. Ce n’est normalement pas un problème dans le haut de gamme. Cependant, les téléphones sensibles au prix doivent économiser de l'argent dans la mesure du possible, y compris jusqu'à combien de mm2 le cœur du processeur occupe.
En parlant de mathématiques vectorielles, puisque le Cortex-A510 est un processeur Armv9, il implémente SVE2. Cependant, contrairement au X2 et à l'A710, l'A510 peut être construit en utilisant une implémentation 64 bits de SVE2 ou une implémentation 128 bits. Cela donne aux fabricants de puces la flexibilité entre la surface et les performances.
Étant donné que le Cortex-A510 sera également utilisé dans les processeurs phares, il est possible de créer des complexes à un cœur, ce qui signifie qu'il n'y a pas de ressources partagées. Ainsi, pour obtenir les meilleures performances de l'A510, il doit utiliser des complexes à un cœur et SVE2 128 bits. Une version soucieuse de la zone utiliserait deux cœurs par complexe et SVE2 64 bits.
Il y a eu beaucoup de discussions internes chez Arm sur l'architecture du Cortex-A510: doit-il rester un processeur en ordre comme le Cortex-A53 et le Cortex-A55, ou doit-il passer à une conception dans le désordre? Les conceptions dans l'ordre sont très efficaces, mais la question était de savoir si les performances souhaitées peuvent être obtenues? La réponse est oui; la conception en ordre était la bonne voie à suivre pour maintenir l'efficacité énergétique tout en augmentant les performances.
Pour souligner cela, Arm fait une comparaison avec le Cortex-A73 2016/2017. Cette conception de processeur a été trouvée dans des processeurs comme le Qualcomm Snapdragon 835 et des téléphones comme le Google Pixel 2. Le Cortex-A73 est un processeur à 11 étages, en panne, basé sur Armv8. Un processeur de smartphone qui n'utilise que le Cortex-A510 en 2022 offrira 90% des performances par rapport à un smartphone basé sur le Cortex-A73 mais consommera 35% d'énergie en moins. Cela signifie également que le Cortex-A510 est plus rapide que le Cortex-A57 et le Cortex-A72! En d’autres termes, les cœurs à efficacité énergétique d’aujourd’hui (les petits cœurs) se rapprochent des niveaux de performance des anciennes conceptions de processeurs à gros cœurs.
Arm a délibérément laissé la porte ouverte aux configurations maximales du Cortex-X2 si c'est ce que ses partenaires veulent construire. Il n'y a aucune raison technique pour empêcher quelqu'un de créer un processeur Cortex-X2 octa-core avec jusqu'à 16 Mo de cache L3 et 32 Mo de cache au niveau du système. Il serait conçu pour les ordinateurs portables ou même les petites unités de bureau. Quelqu'un va-t-il construire un tel processeur? On ne peut qu'espérer! Une option potentiellement plus réaliste serait une configuration Cortex-X2 quadricœur et Cortex-A710 quadricœur, à nouveau destinée aux Chromebooks ou aux ordinateurs portables.
Nous devrions voir des téléphones utiliser des processeurs mis à niveau au premier trimestre 2022.
Nous verrons probablement une répétition du format commun 1 + 3 + 4 dans l'espace mobile, mais cette fois avec un X2, trois cœurs A710 et quatre cœurs Cortex-A510. Serait-ce la configuration du processeur mobile de Samsung pour le Galaxy S22? Un tel processeur offrirait théoriquement un bond de 30% des performances de pointe monocœur (grâce au X2), une augmentation de 30% de l'efficacité soutenue (grâce au Cortex-A710) et une augmentation de 35% des performances de petit cœur (merci au Cortex-A510).
Nous pouvons nous attendre à voir le Cortex-A710 couplé au Cortex-A510 dans une configuration 4 + 4 ou 2 + 6 pour les fabricants de puces qui ne font pas partie du programme Cortex-X Custom. Il existe également un potentiel pour un processeur octa-core A510 ou même une variante quad-core. Les processeurs Octa-core Cortex-A53 étaient très populaires, mais nous n'avons pas vu le même enthousiasme pour les puces Octa-core Cortex-A55. Le Cortex-A510 a le potentiel de raviver les passions de ces processeurs, en particulier compte tenu des avantages de gain de surface de la microarchitecture de fusion-core. Cependant, étant donné que le Cortex-A510 est uniquement 64 bits, cela pourrait limiter l'attrait sur les marchés qui n'utilisent pas les services de Google (c'est-à-dire qui n'ont pas encore migré vers les applications 64 bits uniquement) .
La conception de cœurs de processeur modernes peut prendre des années. En fait, les premières discussions sur le Cortex-A510 ont eu lieu dès 2016, et les idées autour de la microarchitecture à noyau fusionné étaient vantées même dès la conception du Cortex-A53. L'annonce publique de ces nouveaux cœurs est l'une des dernières étapes. Cependant, bien avant d’entendre parler de ces conceptions, les principaux partenaires d’Arm – dont Qualcomm, Samsung et MediaTek – ont déjà travaillé avec Arm.
Cela signifie que nous pouvons nous attendre à voir les processeurs Armv9 annoncés, utilisant tout ou partie de ces cœurs, vers la fin de 2021. Les téléphones réels utilisant ces processeurs pourraient être lancés dès le premier trimestre de 2022.