ARM Cortex-A
ARM Cortex-A est une famille de processeurs RISC 32 bits et 64 bits d'architecture ARM, développée par ARM Ltd qui met en œuvre le jeu d'instructions ARMv7-A (le A est pour Cortex-A). Elle est destinée au marché des smartphones et tablettes tactiles et apparaît sur les premiers téléphones avec le modèle Cortex-A8 au cours du premier semestre 2009. Elle succède aux processeurs ARM11 (en) (jeu d'instructions ARMv6) et précède la famille Cortex-A50 (jeu d'instructions ARMv8).
En parallèle, la société ARM a également développé la famille Cortex-R (ARMv7-R) dédiée au temps-réel et la famille Cortex-M (ARMv7-M) dédiée à l'embarqué.
Processeurs de la famille
modifierLa famille est composée de processeur basés sur l'architecture ARMv7-A, 32 bits.
1re génération
modifierCette génération est uniquement composée du Cortex-A8, existant en 8 révisions, qui remplace l'ARM11 (en), et introduit :
- l'advanced SIMD (ou NEON), évolution du SIMD des ARMv6
- Le VFPv3 en version allégée, ayant une plus faible puissance de calcul, appelé VFPlite (environ dix fois plus lent que le VFPv3 de la deuxième génération), est utilisé[1].
- Une version plus évoluée de Thumb-2
- ThumbEE (également appelé Jazelle RTC).
2e génération
modifierLa seconde génération ajoute la possibilité de coupler plusieurs cœurs, au sein d'un même SoC, d'où l'ajout du terme MPCore (abréviation en anglais de « Multi Processor Core », littéralement, processeur multi-cœur), dans l’appellation. Pour chacun des modèles, il est possible d'associer quatre cœurs. L'implémentation de l'unité de calcul vectoriel flottant VFP3 n'est plus en version allégée.
- Cortex-A5 MPCore, version très basse consommation.
- Cortex-A9 MPCore, évolution plus puissante du Cortex-A8.
3e génération
modifierLa troisième génération ajoute[2] :
- un adressage étendu sur 40 bits avec LPAE (permet de gérer jusqu'à 1 Tio)
- La virtualisation matérielle
- L'architecture big.LITTLE permettant de faire fonctionner un processeur de très faible consommation la majorité du temps et d'utiliser un ou plusieurs cœurs plus puissant, mais consommant plus, lorsque les applications le demandent[3].
- Le remplacement de l'unité de calcul flottant vectoriel VFPv3 par le VFPv4, compatible avec VFPv3.
Les trois processeurs de cette série, sont :
- Cortex-A7 MPCore, version très basse consommation, équivalent du Cortex-A5 dans cette génération[2] premiers modèles sortis début 2013.
- Cortex-A15 MPCore, version plus puissante, équivalent du Cortex-A9 dans cette génération[2], le premier modèle est sorti fin 2012.
- Cortex-A12, version intermédiaire, initialement prévue pour la deuxième moitié de 2013, il verra des améliorations tellement importantes avant la sortie du premier modèle qu'il sera rebaptisé Cortex-A17[4].
- Cortex-A17, version améliorée du Cortex A12, plus efficace au niveau énergétique, et plus performant, présenté en par ARM[5].
big.LITTLE
modifierLe mode big.LITTLE permet de combiner un ou plusieurs Cortex-A7, de très faible consommation avec un ou plusieurs Cortex-A15 de consommation plus importante mais également plus puissant. Il est également possible de coupler les Cortex-A7 avec les Cortex-A17, de consommation et puissance intermédiaire[3]. Un ou plusieurs des cœurs Cortex-A7 peuvent travailler lorsque la charge est faible, tandis-que les A15 ou A17 prendront le relais (mode IKS – In Kernel Switcher, signifiant en anglais « Commutation dans le noyau ») ou s'y ajouteront (mode GTS – Global Task Scheduling, signifiant « ordonnancement globale des tâches »)[6] lorsque l'utilisation le nécessitera. Cela permet d'économiser de l'énergie dans la majorité des cas, tout en conservant de bonnes performances, lorsque cela est nécessaire.
Famille suivante
modifierLa 4e génération, nommée Cortex-A50 utilise l'architecture ARMv8, supportant pleinement le 64 bit (support des registres 64 bits) avec le modèle AArch64, l'architecture big.LITTLE est améliorée, supportant jusqu'à 16 cœurs. Le FP et le SMID sont également améliorés avec, notamment, l'augmentation du jeu d'instructions. Les patchs pour le noyau linux ont été soumis dès le [7]. Linaro sort une première image système le [8].
- Cortex-A53 (ARMv8, 64/32 bits), version très basse consommation, prévus pour 2014. Il a la même puissance de calcul que le Cortex-A9, avec une consommation électrique très inférieure[9]. Les premiers modèles de produits finis sont prévus pour 2014.
- Cortex-A57 (ARMv8, 64/32 bits), version plus puissante, prévus pour 2014
Historique
modifierLe Cortex-A8 est le premier processeur de la série et est le successeur des processeurs ARM11 (en). Par rapport à son prédécesseur, il apporte notamment le jeu d'instructions ARMv7-A (à la place de l'ARMv6) et une amélioration des caches[10]. Il est utilisé sur des téléphones comme l'iPhone 3GS ou le Palm Pre à partir du premier semestre 2009.
Le Cortex-A9 est le remplaçant du Cortex-A8. Il apporte notamment l'exécution out-of-order des instructions et le support des architectures multi-cœur. Il est utilisé sur des téléphones comme le Galaxy S II ou des tablettes tactiles comme l'iPad 2 ou l'Asus Eee Pad Transformer à partir du premier semestre 2011.
Le Cortex-A5 est un processeur basse consommation à bas coût destiné aux smartphones d'entrée de gamme[11]. Il doit permettre de remplacer les processeurs ARM11 encore utilisés pour l'entrée de gamme par les fabricants et ainsi faire disparaître le jeu d'instructions ARMv6 au seul profit de l'ARMv7. Qualcomm l'utilise depuis fin 2011 pour ses puces d'entrée de gamme (intégrées dans des téléphones comme l'HTC Explorer (en)).
Les processeurs Cortex-A7 et Cortex-A15 ont été développés en parallèle pour remplacer le Cortex-A9. Le Cortex-A15 est le plus puissant des deux. Ils possèdent la même micro-architecture et sont donc 100 % compatibles[12]. Ils peuvent gérer jusqu'à 1 To de RAM (Adresses physiques sur 40 bits) et supportent la virtualisation assistée par le matériel[13]. Le Cortex-A7 est présenté par ARM comme consommant 5 fois moins d’énergie, étant 5 fois plus petit et 50 % plus puissant qu'un Cortex-A8[14]. Le Cortex-A15 est lui présenté comme étant 40 % plus puissant qu'un Cortex-A9 à fréquence équivalente[15]. Lorsque les deux processeurs sont intégrés sur une même puce, le processeur Cortex-A7 peut être utilisé pour les tâches nécessitant peu de ressources et ainsi réduire la consommation[12]. Cette technique est appelée Big.LITTLE par ARM et est comparable à la solution du cœur compagnon intégré dans les puces Tegra 3. Le premier appareil à utiliser un processeur Cortex-A15 (Exynos 5 double-cœur) est le Chromebook Samsung XE303C12 sorti en [16]. Le premier périphérique utilisant la technologie big.LITTLE est le Samsung Galaxy S4, dans sa version internationale, utilisant le processeur Exynos 5 Octa, composé de 4 Cortex-A7 et 4 Cortex-A15.
Le , ARM a annoncé le processeur Cortex-A12. Il est destiné au marché des smartphones milieu de gamme et est annoncé comme étant 40 % plus puissant que le Cortex-A9 pour une consommation équivalente[17]. Ils sont finalement abandonnés au profit du processeur ARM Cortex-A17 qui offre plus de puissance tout en consommant moins d'énergie. Le premier processeur à l'utiliser le Rockchip RK3288, annoncé le au CES, avec des commerciaux débordés, les visiteurs pensant qu'il s'agissait d'un Cortex-A12, déjà annoncé par ARM, contrairement au Cortex-A17, qui ne fut annoncé que quelques semaines après[18], et dont les premiers appareils sortent équipés sortent durant l'été 2014. Ce SoC se trouve dès sa sortie dans le peloton de tête des plus véloces des SoC à base de processeurs ARM, avec des scores supérieur à certains octo-cores A15 + A7[19]. Il est suivi par le Mediatek MT6595 utilisant la technologie big.LITTLE en couplant pour la première fois, 4 cœurs Cortex-A17 et 4 cœurs Cortex-A7 annoncé en [20].
La famille des processeurs ARM Cortex-A est suivie par la famille ARM Cortex-A50[21]. Les deux premiers processeurs de cette famille, le Cortex-A53 et le Cortex-A57 prennent respectivement la succession du Cortex-A7 et du Cortex-A15. Ces processeurs sont 64 bits et utilisent le jeu d'instructions ARMv8.
Implémentations
modifierLa société ARM ne conçoit pas de SoC. Elle vend des licences de son jeu d'instructions et du design de ses processeurs.
L'émulateur QEMU permet d’émuler les processeurs cortex-A8, cortex-A9 et cortex-A15.
Les principaux concepteurs de puces intégrant un ou plusieurs cœurs ARM Cortex-A sont AllWinner Technology, AMLogic, Apple, Freescale, Nvidia, Samsung, HiSilicon, Rockchip, ST-Ericsson et Texas Instruments. Ils ont chacun développé leur propre famille de puce ARM :
Note : L'Apple A6 n'est pas dans la table, car il utilise un processeur hybride, utilisant la base du processeur Cortex-A9, avec quelques fonctionnalités du Cortex-A15[22].
AllWinner | Altera | AMLogic | Apple | Freescale | HiSilicon | LG | MediaTek | Nvidia | Qualcomm | Rockchip | Samsung | ST-Ericsson | Texas Instruments | VIA | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Cortex-A5 | S805 | MSM7625A, MSM7627A, MSM7225A, MSM7225AB, MSM7227A, MSM8225, MSM8225Q, MSM8625, MSM8625Q | |||||||||||||
Cortex-A7 | A2X et A3X | i.MX7x,
LS1020, LS1021 (QorIQ) |
MT6517, MT6572, MT6589, MT6592 | 8026, 8210, 8212, 8226, 8228 8610, 8612, 8626, 8628, 8926, 8928 | WM8860 | ||||||||||
Cortex-A8 | A10 et A13 | A4 | i.MX5x | RK2918 | Exynos 3 | OMAP3 | |||||||||
Cortex-A9 | Arria V, Arria 10, Cyclone V | AML7366-M et AML8726-(M, M3L, M6, MX), S802, S812 | A5 | i.MX6x | K3V2 | MT6575, MT6577 | Tegra 2, Tegra 3 et Tegra 4i | RK3066, RK3188, RK3168, PX2 | Exynos 4 | Nova U8500 | OMAP4 | WM8880, WM8950, WM8980 | |||
Cortex-A15 | Tegra 4, Tegra K1 | Exynos 5 Dual, Quad |
Nova A9600 | OMAP5 | |||||||||||
Cortex-A17 | RK3288[23] | ||||||||||||||
big.LITTLE A7 + A15 |
A6X, A80[24] | K3V3 | LG Nuclun (LG7111) | MT8135 | Exynos 5 Octa | ||||||||||
big.LITTLE A7 + A17 |
MT6595[25] | ||||||||||||||
Cortex-A53 | H64,
9X |
S905 | i.MX8x | MT6732,
MT6752, MT6795 |
MayBach | ||||||||||
Cortex-A57 | 9X | i.MX8x |
Les fonderies fabriquant les puces ARM développées par ces entreprises sont GlobalFoundries, Samsung, TSMC et UMC[26],[27],[28].
Processeurs dérivés
modifierPlusieurs entreprises ont développé leurs propres processeurs utilisant le jeu d'instructions ARMv7 : Apple, Marvell et Qualcomm.
Qualcomm est l'un des principaux concepteurs de puces ARM pour smartphone avec sa gamme Snapdragon. Les premières puces étaient basées sur le processeur ARM11. Pour son entrée de gamme, la société commercialise, depuis le dernier trimestre 2011, des puces à base de Cortex-A5[29]. Mais pour son milieu et son haut de gamme, elle ne licencie pas le design réalisé par ARM, contrairement aux autres fabricants. Elle met en œuvre par elle-même le jeu d'instructions ARMv7-A avec les cœurs Snapdragon Scorpion et Krait. Au niveau des performances, le cœur Scorpion se situe entre le Cortex-A8 et le cortex-A9 et le cœur Krait entre le Cortex-A9 et le Cortex-A15[30]. Le , Qualcomm a présenté deux versions améliorées de son architecture Krait : le Krait 300 et le Krait 400[31].
Marvell a développé plusieurs cœurs utilisant le jeu d’instructions ARMv7 : Le cœur « Sheeva PJ4 » présent dans les processeurs des séries Armada 500 et 600[32] et le cœur « Sheeva PJ4b » présent dans le processeur Armada 1500[33].
Note : Marvell est revenu aux cœurs ARM Cortex sous licence pour ses nouveaux chips[34].
En , Apple a présenté l'iPhone 5 basé sur la puce A6. C'est le premier SoC d'Apple à utiliser un processeur nommé « Swift », développé par P.A. Semi et Intrinsity (en) et fabriqué par Samsung[22]. Il utilise le jeu d'instructions ARMv7S et offre des performances proches du cœur « Krait » de Qualcomm[35].
Tableau de comparaison
modifierNote : Les processeurs ARM11, Scorpion et Krait sont présents dans la liste à titre de comparaison.
ARM11 | ARM Cortex-A5 | ARM Cortex-A7 | ARM Cortex-A8 | Qualcomm Scorpion | ARM Cortex-A9 | ARM Cortex-A12[17] | Qualcomm Krait | ARM Cortex-A15 | |
---|---|---|---|---|---|---|---|---|---|
Instructions par cycle[36] | 1 | 1 | 2 | 2 | 2 | 2 | 2 | 3 | 3 |
Profondeur du pipeline[36] | 8 | 8 | 8 | 13 | 10 | 8 | 11 | 11 | 15 |
exécution out-of-order[36] | Non | Non | Non | Non | Partiel | Oui | Oui | Oui | Oui |
Finesse de gravure | 90/45 nm | 45/40 nm | 40/28 nm | 65/45 nm | 65/45 nm | 45/32 nm | 28 nm | 28 nm | 32/28 nm |
Nombre de cœurs | 1-4[37] | 1-4[11] | 1-4 par cluster[38] | 1[39] | 1-2 | 1-4[40] | 1-4 par cluster[41] | 2-4 | 1-4 par cluster[42] |
Fréquence[43] | 350–1 000 MHz[44] | 300–800 MHz | 800–1 500 MHz | 600–1 000 MHz | 800–1 700 MHz | 600–2 000 MHz | 1 000–2 500 MHz | 1 000–1 700 MHz | 1 000–2 500 MHz |
DMIPS/MHz/Cœur[43] | 1.25[37] | 1.57[11] | 1.9 | 2.0 | 2.1 | 2.5 | 3.3 | 3.5 |
Notes et références
modifier- (en) « Cortex A8 - r1p1 - Chapter 13. NEON & VFPLite Programmer’s Model », sur ARM.com.
- (en + ja + zh-CN) ARM Cortex-A Series sur ARM.com.
- (en) Eric Brown, « Linaro enhances Linux support for ARM Big.Little », sur Linuxgizmos, .
- (en) « ARM Cortex-A17 / Cortex-A12 processor update », sur arm.com, (consulté le ).
- (en) « MediaTek fires up new ARM Cortex-A17 », (consulté le ).
- (en) big.LITTLE Software Update « Copie archivée » (version du sur Internet Archive), le , sur Linaro.org.
- (en) [PATCH 00/36] AArch64 Linux kernel port sur la liste diffusion du noyau Linux.
- (en) Linaro ARMv8 Downloads Now Available « Copie archivée » (version du sur Internet Archive) sur linaro.org.
- (en) « ARM Launches Cortex-A50 Series, the World’s Most Energy-Efficient 64-bit Processors », sur ARM.com.
- (en) More Detail on ARM11 vs. Cortex A8 sur anandtech.com.
- (en) « Spécifications ARM Cortex-A5 », sur arm.com.
- Romain Heuillard, « ARM annonce big.LITTLE : un Cortex-A7 pour accompagner l’A15 », sur clubic.com, .
- (en) « ARM7 gets 40-bit, virtualization support », sur eetimes.com.
- (en) « Why Cortex-A7? », sur arm.com.
- (en) Désiré Athow, « Exclusive : ARM Cortex-A15 "40 Per Cent" Faster Than Cortex-A9 », sur itproportal.com, .
- Damien Labourot, « Chromebook de Google : puce ARM, USB 3.0 et HDMI pour 249 $ », sur pcinpact.com, .
- « ARM dévoile son Cortex A12 et son GPU Mali-T622 »(Archive.org • Wikiwix • Archive.is • Google • Que faire ?), sur tomshardware.fr.
- (pl) « CES2014: Procesor Rockchip RK3288 – Cortex-A12, Mali-T764 » [archive du ] (consulté le ).
- « Le Rockchip RK3288 au-dessus des 40000 points sous Antutu ? », (consulté le ).
- (en) « MediaTek Announces MT6595, World’s First 4G LTE Octa-Core Smartphone SOC with ARM Cortex-A17 and Ultra HD H.265 Codec Support » [archive du ], (consulté le ).
- (en) « ARM Launches Cortex-A50 Series, the World’s Most Energy-Efficient 64-bit Processors », sur arm.com.
- (en) « The iPhone 5's A6 SoC: Not A15 or A9, a Custom Apple Core Instead », anandtech.com, (consulté le ).
- (en) « Rockchip RK3288 SoC », Rockchip, (consulté le ).
- (zh) « 全志展示其升级路线,四核A6X、WX与八核A8X、A7X、A9X »(Archive.org • Wikiwix • Archive.is • Google • Que faire ?), sur 平板电脑网/1pad.cn.
- (en) « MediaTek fires up new ARM Cortex-A17 », (consulté le ).
- (en) « Upset TI slams Samsung’s foundry efforts »(Archive.org • Wikiwix • Archive.is • Google • Que faire ?), sur eetimes.com (en).
- « Nvidia : du Tegra 3 en 28 nm et des cœurs Cortex A15 pour Tegra 4 ? »(Archive.org • Wikiwix • Archive.is • Google • Que faire ?), sur pcworld.fr.
- « Apple abandonnerait Samsung pour TSMC »(Archive.org • Wikiwix • Archive.is • Google • Que faire ?), sur presence-pc.com.
- Pierre Dandumont, « Qualcomm attaque l'entrée de gamme en Snapdragon », sur tomshardware.fr, .
- « Krait : le nouveau Snapdragon a été testé »(Archive.org • Wikiwix • Archive.is • Google • Que faire ?), sur presence-pc.com.
- (en) « Qualcomm's Next-Gen Krait 400 & Krait 300 Announced in Snapdragon 800 & 600 SoCs », Anandtech, .
- (en) Anand Lal Shimpi, « Marvell's ARMADA: Custom Designed ARM SoCs Break 1 GHz », sur anandtech.com, .
- (en) Ganesh T S, « Google TV Goes ARM with Marvell's ARMADA 1500 », sur anandtech.com, .
- (en) [1] « Copie archivée » (version du sur Internet Archive) sur marvell.com.
- « Swift, le vrai nom de l'A6 d'Apple », tomshardware.fr.
- (en) Anand Lal Shimpi, « ARM's Cortex A7: Bringing Cheaper Dual-Core & More Power Efficient High-End Devices », sur anandtech.com, .
- (en) « Spécifications ARM11 », sur arm.com.
- (en) « Spécifications ARM Cortex-A7 », sur arm.com.
- (en) « Spécifications ARM Cortex-A8 », sur arm.com.
- (en) « Spécifications ARM Cortex-A9 », sur arm.com.
- (en) « Spécifications ARM Cortex-A12 », sur arm.com.
- (en) « Spécifications ARM Cortex-A15 », sur arm.com.
- (en) « Processeurs Cortex-A », sur arm.com.
- (en) « Famille de processeur ARM11 », sur arm.com.
Liens externes
modifier- (en) Cortex-A Series sur le site d'ARM.