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 |
[modifier] 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 le système d'exploitation mobile de google qui propulse aujourd'hui un nombre non négligeable de smartphones ou tablettes, de l'entrée au haut de gamme tel le samsung galaxy s ou la samsung galaxy tab, Symbian S60 avec les Nokia N97 ou Samsung Player HD
- iOS avec l'iPhone et l'iPad
- Windows CE et Windows phone 7.
L'architecture ARM est notamment utilisée dans les calculatrices TI-Nspire et sera également compatible avec Windows 8 ce qui permettra de créer des tablettes et ordinateur Windows moin gourmands en énergie.
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.
[modifier] Architecture et jeu d'instruction
L'architecture ARM est fortement inspirée des principes de conception RISC. Elle dispose de 16 registres généraux de 32 bits. Les instructions, codées sur 32 bits, peuvent toutes disposer d'exécution conditionnelle.
Le jeu d'instruction a reçu des extensions au fil du temps, telles que Thumb, permettant d'améliorer la densité du code, NEON, apportant des instructions SIMD, ou Jazelle, améliorant l'exécution de code Java.
[modifier] 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.
[modifier] 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.
[modifier] Divers processeurs ARM
- ARM1 (1985) : premier prototype de cœur 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, processeur applicatif: 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, processeur temps-réel: Architecture ARMv7-R
- Cortex-R4
- Famille Cortex-M, processeur embarqué : Architecture ARMv7-M
- Cortex-M3
[modifier] Fabricants de processeurs ARM
La propriété intellectuelle appartient à une société britannique, mais les processeurs fabriqués sous licence le sont par différentes entreprise de par le monde. Parmi les entreprises fabricant les modèles des séries Cortex (les plus avancées), la majorité se trouve en Asie (13), suivit par les États-Unis (9) et enfin par l'Europe (2).
- Alchip
Taïwan - AmLogicwww.amlogic.com
États-Unis/
Chine (Cortex A9) - Anyka
Chine - Atmel
États-Unis - Broadcom
États-Unis (Cortex A9) - Celestial Semiconductor
Chine - Cypress
États-Unis - Freescale
États-Unis - Fujitsu
Japon (cortex M3, Cortex A9 et Cortex A15[6]) - Infineon
Allemagne - Marvell
États-Unis - NXP
Pays-Bas - Nufront (conception)
Chine, usiné par TSMC
Taïwan (Cortex A9) - Nvidia
États-Unis (Cortex A9) - Qualcomm
États-Unis - Rockchip
Chine - Samsung
Corée du Sud (Cortex A8, Cortex A9 et Cortex A15 (Exynos 5250)[7]) - STMicroelectronics
France
Italie et ST-Ericsson (Cortex A9 (U9500), Cortex A15 (A9600)[8]) - Telechips
Corée du Sud - Texas Instruments
États-Unis (Cortex A9 (OMAP4), Cortex A15 (OMAP5)) - Toshiba
Japon - VIA
Taïwan - ZiiLABS
Singapour - ZTE
Chine
[modifier] 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.
[modifier] Notes et références
- uclinux excepté, mais pas seulement:(en)site officiel
- (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
- (ja) [1] sur jp.Fujitsu.com
- (en)Samsung Announces Industry First ARM Cortex-A15 Processor Samples for Tablet Computers sur Samsung.com
- (en) ARM Cortex-A15 processor adopts Imagination's new graphics IP sur Linuxfordevices.com