- Architecture ARM
-
Les architectures ARM, développées par ARM Ltd, sont des architectures RISC 32 bits.
Dotés d'une architecture relativement plus simple que d'autres familles de processeurs, et bénéficiant d'une faible consommation, les processeurs ARM sont devenus dominants dans le domaine de l'informatique embarquée, en particuliers la téléphonie mobile et les tablettes.
Ces processeurs sont fabriqués sous licence par un grand nombre de constructeurs.
Sommaire
Présentation des processeurs ARM
L'architecture ARM était initialement destinée à un ordinateur de la société Acorn, puis elle a été complétée pour devenir une offre indépendante pour le marché de l'électronique embarquée. ARM est l'acronyme de Advanced Risc Machine, précédemment Acorn Risc Machine.
Une particularité des processeurs ARM est leur mode de vente. En effet, ARM Ltd. ne fabrique ni ne vend ses processeurs sous forme de circuits intégrés. La société vend les licences de ses processeurs de manière à ce qu'ils soient intégrés dans le silicium par d'autres fabricants. Aujourd'hui, la plupart des grands fondeurs de puces proposent de l'architecture ARM.
Le cœur le plus célèbre est l'ARM7TDMI qui comporte 3 niveaux de pipeline. De plus, le ARM7TDMI dispose d'un second jeu d'instructions appelé THUMB permettant le codage d'instructions sur 16 bits et, ainsi, de réaliser un gain de mémoire important, notamment pour les applications embarquées. L'architecture ARM est également très répandue dans la téléphonie mobile. De nombreux systèmes sont portés sur cette architecture. À savoir Linux (qu'utilise notamment Maemo avec le N900 ou Android avec le Nexus One), Symbian S60 avec les Nokia N97 ou Samsung Player HD, iOS avec l'iPhone et l'iPad, et Windows Mobile. L'architecture ARM est notamment utilisée dans les calculatrices TI-Nspire.
ARM Ltd. a ensuite développé le cœur ARM9 qui comporte 5 niveaux de pipeline. Cela permet ainsi l'augmentation du nombre d'opérations logiques sur chaque cycle d'horloge et donc une amélioration des performances en vitesse.
Technologies des processeurs
Explications sur les technologies listées dans la liste des processeurs qui suit.
- MMU (Memory Management Unit) : Gestionnaire de mémoire permettant d'avoir une sécurité accrue (uniquement présente sur l'ARM710 et les ARM9). La MMU permet l'adressage virtuel de la mémoire, elle est nécessaire pour faire fonctionner certains systèmes d'exploitation comme Windows CE ou la plupart des Linux[1].
- MPU (Memory Protection Unit) : Protection de la mémoire, faisant partie du MMU, donc protection simplifiée.
- DSP : composant électronique optimisé pour les calculs. Son application principale est le traitement du signal numérique (filtrage, extraction de signaux, etc.).
- FPU : Unité de calcul sur les nombres flottants
- Jazelle : Optimisation pour Java, en particulier pour limiter l'empreinte mémoire de la machine virtuelle. l'architecture Jazelle est en réalité une JVM (java virtual machine) câblée en dur dans le processeur.
- Thumb : Codage d'instructions sur 16 bits (au lieu de 32 bits) permettant un gain de mémoire important.
Processeurs graphiques ARM
ARM propose également des processeurs graphiques (GPU) qui peuvent être intégrés aux architectures des SoC ARM. Il s'agit des GPU Mali-200 (utilisé sur le SoC Telechips TCC890x[2]), le Mali-400 MP, proposé sur le ST-Ericsson U8500[3] ou le Amlogic 8726-M, tous deux Cortex A9 et le Mali-T604[4].
Des pilotes EXA/DRI2 libres à sources ouvertes (licences Apache et MIT) sont disponibles pour les Mali-200 et Mali-400 sur la plateforme Linux[5]
De nombreux SoC ARM comportent cependant un GPU PowerVR, qui possède des pilotes pour Linux, mais dont la partie 3d est propriétaire et à sources fermées.
Divers processeurs ARM
- ARM1 (1985) : premier prototype de coeur ARM
- Famille ARM2 (1987) : premier ARM commercialisé dans l'Archimedes d'Acorn : Pipeline 3 niveaux, adressage sur 24 bits alignés (16 mébimots de 32 bits soit 64 Mio adressables), 8 MHz puis 12 MHz
- Famille ARM3 : Interface FPU, fréquence 25 puis 33 MHz, 4K cache
- Famille ARM4
- Famille ARM4T
- Famille ARM5TE (2000) : arrivée de Thumb et de fonctionnalités de DSP
- Famille ARM5TEJ (2000) : arrivée de Jazelle
- Famille ARM6 sorti en 1990
- Famille ARM7 :
- ARM720T (MMU)
- ARM7TDMI
- ARM7TDMI-S
- ARM7EJ-S : DSP et Jazelle
- Famille ARM9 (5 niveaux de pipeline sur les entiers, MMU) : ARM920T (double cache de 16 Ko) et ARM922T (double cache de 8 Ko)
- Famille ARM9E
- ARM946E-S : DSP, double cache, MPU, 1 port AHB
- ARM926EJ-S: DSP, double cache, MMU, 2 ports AHB
- ARM966E-S : DSP, double cache, MPU, 1 ports AHB
- Famille ARM10E
- ARM1020E : DSP, double cache de 32 Ko, MMU
- ARM1022E : identique au ARM1020E, sauf le double cache de 16 Ko
- ARM1026EJ-S
- Famille ARM11 : SIMD, Jazelle, DSP, Thumb-2
- Famille Cortex-A, application processeur : Architecture ARMv7-A, SIMD, Jazelle, DSP, Thumb-2
- Cortex-A5
- Cortex-A5 MPCore : Cortex-A5 version multiprocesseur (1 à 4 CPU)
- Cortex-A8
- Cortex-A9
- Cortex-A9 MPCore : Cortex-A9 version multiprocesseur (1 à 4 CPU), jusqu’à 2 GHz
- Cortex-A15 MPCore : Cortex-A15 multiprocesseur (1 à 4 CPU), 45 nm, jusqu’à 2,5 GHz
- Famille Cortex-R, real time processeur : Architecture ARMv7-R
- Cortex-R4
- Famille Cortex-M, embedded processor : Architecture ARMv7-M
- Cortex-M3
Fabricants de processeurs ARM
- Alchip Taïwan
- AmLogicwww.amlogic.com États-Unis/ Chine
- Anyka Chine
- Atmel États-Unis
- Celestial Semiconductor Chine
- Cypress États-Unis
- Freescale États-Unis
- Marvell États-Unis
- NXP Pays-Bas
- Nufront (conception) Chine, usiné par TSMC Taïwan
- Nvidia États-Unis
- Qualcomm États-Unis
- Rockchip Chine
- Samsung Corée du Sud
- STMicroelectronics France Italie et ST-Ericsson
- Telechips Corée du Sud
- Texas Instruments États-Unis
- Toshiba Japon
- VIA Taïwan
- ZiiLABS Singapour
- ZTE Chine
Voir aussi
- Le processeur StrongARM pour les applications embarquées demandant de la puissance de calcul.
- Le processeur Intel (revendu à Marvell) XScale qui est dérivé de l'architecture ARM.
Notes et références
- (en)site officiel uclinux excepté, mais pas seulement:
- (en) TCC8900 development board
- (en) MOP500 development board
- (en) Mali-T604 sur ARM
- (en) Open Source Mali GPUs Linux EXA/DRI2 And X11 Display Drivers sur malideveloper.com
Wikimedia Foundation. 2010.