Architecture ARM

Un article de Wikipédia, l'encyclopédie libre.
Aller à : Navigation, rechercher

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 :

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
    • avec Jazelle (2001)
    • ARM1136J(F)-STM (été 2002)
    • ARM1156T2(F)-S (2003)
    • ARM1176JZ(F)-S (2003)
  • 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
    • ARM1136JF-S : FPU
    • ARM1156T2-S
    • ARM1156T2F-S : FPU
    • ARM1176JZ-S
    • ARM1176JZF-S : FPU
  • 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).

[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

  1. uclinux excepté, mais pas seulement:(en)site officiel
  2. (en) TCC8900 development board
  3. (en) MOP500 development board
  4. (en) Mali-T604 sur ARM
  5. (en) Open Source Mali GPUs Linux EXA/DRI2 And X11 Display Drivers sur malideveloper.com
  6. (ja) [1] sur jp.Fujitsu.com
  7. (en)Samsung Announces Industry First ARM Cortex-A15 Processor Samples for Tablet Computers sur Samsung.com
  8. (en) ARM Cortex-A15 processor adopts Imagination's new graphics IP sur Linuxfordevices.com
Outils personnels
Espaces de noms
Variantes
Actions
Navigation
Contribuer
Imprimer / exporter
Boîte à outils
Autres langues