Introduction
Les architectures ARM, développées par ARM Ltd, sont des architectures RISC 32 bits.
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.
ARM Ltd. a ensuite développé le cœur ARM9 qui comporte 5 niveaux de pipeline. Cela permet ainsi la réduction du nombre d'opérations logiques sur chaque cycle d'horloge et donc une amélioration des performances en vitesse.
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), 8MHz puis 12MHz
- 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 (cf ARM Wiki UK )
- 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, application processeur : Architecture ARMv7-A, SIMD, Jazelle, DSP, Thumb-2
- CORTEXA8
- CORTEXA9
- CORTEXA9MP : CORTEXA9 version multiprocesseur (1 à 4 CPU)
- Famille CORTEX-R, real time processeur : Architecture ARMv7-R
- Famille CORTEX-M, embedded processor : Architecture ARMv7-M
Technologies
Explications sur les technologies listées dans la liste des processeurs qui suit.
- MMU : 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.
- 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