Cortex-X1 : Arm privilégie la performance sur mobile

Arm Cortex-X1

Par opposition aux Cortex-A traditionnellement axés sur l’efficacité, la microarchitecture Cortex-X1 donne la priorité aux performances.

On la connaissait sous le nom de code « Hercules » : la microarchitecture Arm Cortex-A78 est désormais officielle.

Troisième représentante de la lignée Austin après les Cortex-A76 et A77, elle reste dans une logique d’équilibre entre performances, consommation et encombrement.

On retrouve ses principales caractéristiques dans une autre plate-forme annoncée en parallèle : Cortex-X1. La différence ? Cette dernière donne la priorité aux performances.

Parmi les changements architecturaux qu’apporte la génération Cortex-A78, on aura noté (du front-end au back-end) :

  • Instructions de branchement : possibilité de traiter jusqu’à deux prédictions par cycle
  • Optimisation de la densité des entrées dans le banc de registres
  • Prise en charge des multiplications sur le pipeline d’une des ALU (unité arithmétique et logique)
  • Ajout d’une AGU (unité de calcul d’adresses)
  • Doublement de la bande passante en lecture/écriture vers le cache L2

Le boost 5 nm

Cortex-X1 y ajoute, entre autres :

  • Élargissement de la bande passante entrante du cache L1I (passage de 4 à 5 instructions)
  • Augmentation de la capacité du prédicteur de cible de branchement (passage de 64 à 96 entrées)
  • Doublement des caches L2 (1 Mo) et L3 (8 Mo), ainsi que du TLB (2 000 entrées)

Qu’en est-il des performances ?
En capitalisant sur la gravure à 5 nm, Arm estime qu’un appareil mobile sur base Cortex-A78 offrira, par rapport à un appareil de 2019 :

  • 20 % de performance supplémentaire à consommation égale (test effectué en monocœur à 1 W)
  • Une consommation divisée par deux à performance égale (test en monocœur sur le benchmark SPECint2006).

Cortex-A78 performances 1

Si on s’en tient à la gravure 7 nm sur une configuration similaire à l’A77 (32 Ko de cache L2 ; 512 Ko de L3), on obtient, d’après Arm :

  • Performance : +7 % (à consommation égale)
  • Consommation : -4 % (à performance égale)
  • Empreinte physique : -4 % (à performance égale)

Cortex-X1 : ARM pousse la personnalisation

Comme l’A77, l’A78 est conçu pour être mis en cluster big.LITTLE avec des cœurs A55. En configuration « 4 + 4 », Arm avance un rapport performance par watt amélioré de 20 % (pour chaque cœur) et un encombrement réduit de 15 % (au niveau du cluster).

Pour Cortex-X1, Arm a choisi de communiquer sur la configuration la mieux dotée (caches 64 Ko / 1 Mo / 8 Mo).

Par rapport à la configuration minimale de l’A77, la gain en performance arithmétique s’élève à 30 % (+ 22 % par rapport à l’A78). Elle est aussi importante en virgule flottante.
En machine learning, il est question d’un doublement des performances (comparaison effectuée à 3 GHz, toujours sur SPECint2006).

Cortex-X1

Arm communique moins sur les paramètres d’empreinte physique et énergétique. Et pour cause : Cortex-X1 entre le cadre d’un nouveau programme « Cortex-X Custom ».
Dans la continuité de l’initiative « Built on Arm Cortex Technology », il s’agit de permettre aux clients de participer très en amont à la conception des microarchitectures, pour aller vers des configurations personnalisées.

L’assemblage le plus probable pour des SoC mobiles haut de gamme consistera en un cœur Cortex-X1, trois A78 et quatre A55.

Cortex-X1 cluster

Illustration principale © Egorov Artem – shutterstock.com