ARM Cortex-A78
From Wikipedia, the free encyclopedia
L’ARM Cortex-A78 est un processeur implémentant le jeu d’instructions ARMv8.2-A 64 bits conçu par ARM Ltd au centre d’Austin[1].
32–64 KB (parité)
- 32 ko Instructions et 32 ko Données
- 64 ko Instructions et 64 ko Données
| Production | 2020 |
|---|---|
| Concepteur | ARM Ltd. |
| Fréquence |
2,4 GHz à (smartphones) 3,0 GHz et (tablettes/PC portables) 3,3 GHz |
|---|
| Niveau 1 |
32–64 KB (parité)
|
|---|---|
| Niveau 2 | 256–512 KiB (L2 ECC privé) |
| Niveau 3 |
Optionnel : 512 Ko à 4 Mo (A78, A78AE) 512 Ko à 8 Mo (A78C) |
| Cœur |
1–4 par cluster (A78, A78AE) 1–8 par cluster (A78C) |
|---|
| Architecture | ARMv8-A |
|---|---|
| Extensions |
ARMv8.1-A, ARMv8.2-A, cryptographie, RAS, ARMv8.3-A (instructions LDAPR uniquement) |
| Variantes | Cortex-X1 |
|---|
Conception
Le Cortex-A78 est le successeur du Cortex-A77. Il peut être associé aux processeurs Cortex-X1 et/ou Cortex-A55 dans une configuration DynamIQ pour offrir à la fois performance et efficacité. Le processeur réaliserait jusqu’à 50 % d’économies d’énergie par rapport à son prédécesseur[2].
Le Cortex-A78 a une architecture superscalaire à exécution dans le désordre avec un décodage à 4 largeurs et un cache de macro-OP (MOPs) de 1,5 K. Il peut récupérer 4 instructions et 6 Mops par cycle, renommer et expédier 6 Mops, et traiter 12 μops par cycle. La taille du tampon de réorganisation est de 160 entrées et le backend possède 13 ports d’exécution avec une profondeur de pipeline de 14 étages, et les latences d’exécution s’étendent à 10 étages[3],[4],[2].
Le processeur est construit sur une feuille de route standard Cortex-A et propose un chipset à 2,1 GHz (en 5 nm) qui le rend meilleur que son prédécesseur sur les points suivants :
- 7 % d'amélioration des performances ;
- 4 % de consommation d’énergie en moins ;
- 5 % plus petit, ce qui signifie 15 % de surface en plus pour un cluster quad-core, un GPU supplémentaire ou un NPU.
Il existe également une évolutivité étendue avec un support supplémentaire de Dynamic Shared Unit pour DynamIQ sur le chipset. En option, un cache L1 plus petit de 32 Ko est disponible à la place de la configuration standard de 64 Ko. Pour compenser cette mémoire L1 plus petite, le prédicteur de branchement est amélioré pour couvrir les motifs de recherche irréguliers et peut suivre deux branches prises par cycle, ce qui réduit les manques de cache L1 et aide à masquer les bulles de pipeline pour maintenir un cœur bien alimenté. Le pipeline est plus long d’un cycle que sur l’A77, ce qui garantit que l’A78 atteint une fréquence d'horloge cible d’environ 3 GHz. L’A78 est un modèle à 6 instructions par cycle.
ARM a également introduit une seconde unité de multiplication d’entiers dans l’unité d’exécution et une unité de génération d'adresses de chargement (AGU) supplémentaire, pour augmenter à la fois la chargement des données et la bande passante de 50 %. D’autres optimisations du chipset incluent des instructions fusionnées[5] et des améliorations d’efficacité des ordonnanceurs d’instructions, des structures de renommage de registres et du tampon de réorganisation (ROB).
Le cache L2 peut atteindre 512 Ko et dispose du double de bande passante pour maximiser les performances, tandis que le cache L3 partagé peut atteindre 4 Mo, soit le double des générations précédentes. Une unité partagée dynamique (DSU) permet également une configuration de 8 Mo avec le Cortex-X1[3],[4],[2],[6].