Le logo dsignant un appareil disposant de l'architecture ARM.
Les architectures ARM sont des architectures RISC 32 bits (ARMv1 ARMv7) et 64 bits (ARMv8) [1] dvelop- pes par ARM Ltd depuis 1990 et introduites partir de 1983 par Acorn Computers. Dots d'une architecture relativement plus simple que d'autres familles de processeurs, et bnciant d'une faible consommation, les processeurs ARM sont devenus dominants dans le domaine de l'informatique embarque, en particulier la tlphonie mobile et les tablettes. Ces processeurs sont fabriqus sous licence par un grand nombre de constructeurs. 1 SoC ARM Aujourd'hui, ARM est surtout connu pour ses SoC, in- tgrant sur une seule puce, microprocesseur, processeur graphique (GPU), DSP, FPU, SIMD, et contrleur de priphriques. Ceux-ci sont prsents dans la majorit des smartphones et tablettes. ARM propose des architec- tures, qui sont vendues sous licence de proprit intel- lectuelle aux concepteurs. Ils proposent direntes op- tions dans lesquelles les constructeurs peuvent prendre ce qui les intresse pour complter avec leurs options propres ou de concepteurs tiers. ARM propose ainsi pour les SoC les plus rcents, les microprocesseurs Cortex (Cortex-A pour l'appliance, Cortex-M pour le couplage un microcontrleur, Cortex-R pour les microprocesseurs temps rel), des processeurs graphiques (Mali), des bus AMBAsous licence libre, ainsi que les divers autres com- System Controller Advanced Int. Ctrl. Power Mgt. Ctrl. PLL Osc RC Osc Reset Ctrl. Brownout Detect Power On Reset Prog. Int. Timer Watchdog Timer Real Time Timer Debug Unit PID Ctrl. JTAG Scan Voltage Regulator Peripheral Bridge M e m o r y
C o n t r o l l e r EBI SRAM Flash Flash Programmer Peripheral Data Controller Application-Specific Logic CAN USB Device PWM Ctrl Synchro Serial Ctrl Timer/Counter 0-2 ADC0-7 Two Wire Interface SPI USART0-1 Ethernet MAC P I O ARM Processor P I O P I O A P B A S B / A H B Diagramme d'un SoC ARM. posants ncessaires la composition du SoC complet. Certains constructeurs, comme Nvidia prfrent produire leur propre processeur graphique, d'autres, comme Sam- sung, prfrent prendre dans certains cas un processeur graphique de prestataire tiers ou d'ARM selon les mo- dles, et d'autres, comme Apple, modient certains com- posants du microprocesseur en mlangeant plusieurs ar- chitectures processeur ARM (l'Apple A6 par exemple, mixe les technologies de microprocesseur Cortex-A9 et Cortex-A15). 2 Prsentation des processeurs ARM L'architecture ARM a initialement t dveloppe en in- terne par la socit britannique Acorn Computers, qui l'utilisa partir de 1987 dans sa gamme d'ordinateurs 32 bits Archimedes. ARM signiait alors 'Acorn Risc Ma- chine'. Ultrieurement la division 'cration de micropro- cesseurs d'Acorn fut dtache de la socit mre et de- vint la socit 'Advanced Risc Machine limited', se posi- tionnant avec une ore indpendante pour le march de l'lectronique embarque. 1 2 4 TECHNOLOGIES DES PROCESSEURS Une particularit des processeurs ARM est leur mode de vente. En eet, ARM Ltd. ne fabrique ni ne vend ses processeurs sous forme de circuits intgrs. La socit vend les licences de ses processeurs de manire ce qu'ils soient gravs dans le silicium par d'autres fabricants. Au- jourd'hui, la plupart des grands fondeurs de puces pro- posent de l'architecture ARM. Le cur le plus clbre est l'ARM7TDMI [rf. souhaite] 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 raliser un gain de mmoire important, notamment pour les applications embarques. ARM Ltd. a ensuite dvelopp le cur ARM9 qui comporte 5 niveaux de pipeline. Cela permet ain- si l'augmentation du nombre d'oprations logiques sur chaque cycle d'horloge et donc une amlioration des per- formances en vitesse. L'architecture ARM est utilise dans de trs nombreux domaines et quipe par exemple les calculatrices TI- Nspire. Cette architecture est notamment trs rpandue dans la tlphonie mobile. De nombreux systmes d'exploitation sont compatibles avec cette architecture : Symbian S60 avec les Nokia N97 ou Samsung Player HD; iOS avec l'iPhone et l'iPad ; Linux, avec la plupart des distributions ou avec Android ; BlackBerry OS avec les BlackBerry Windows CE, Windows Phone 7 et Windows RT [2] , une version de windows 8. le systme PlayStation Vita Risc OS ... Le monde des ordinateurs portables pourrait connatre prochainement une volution avec le remplacement pro- gressif des processeurs x86 par l'architecture ARM. Win- dows 8 est compatible avec cette architecture (avec cer- taines limitations), tout comme Google Chrome OS. L'utilisation de l'architecture ARM devrait permettre la rduction de la consommation lectrique. Par contre, les fondeurs des processeurs x86 (Intel et AMD) se prparent cette concurrence en rduisant la consommation lectrique de leurs solutions et en simpli- ant leurs architectures, comme avec les Atom et Bobcat, par exemple en intgrant les capacits graphiques avec le processeur. De l'autre ct, les fondeurs des SoC base d'architecture ARM, comme NVidia et Qualcomm, continuent d'augmenter les performances de leurs puces, par exemple en augmentant le nombre de curs ou en ajoutant de nouvelles instructions. Il est galement possible dagglomrer dirents curs de direntes puissances, les plus faible en consommation et puissance travaillant la majorit du temps, an de mini- miser la consommation lectrique et des curs plus puis- sants activs uniquement en cas de forte demande de cal- cul an d'en acclrer le traitement. Cette technologie est appele big.LITTLE, elle est utilise par Samsung, avec ses Exynos 5 octo (4 cortex-A7 faible consommation et 4 cortex-A15 de forte puissance), MediaTek et d'autres. Le Tegra 3 de NVidia, utilise une technique similaire avec un seul cur de faible consommation et plusieurs de forte puissance. 3 Architecture et jeu d'instruction L'architecture ARM est fortement inspire des principes de conception RISC. Elle dispose de 16 registres gn- raux de 32 bits. Les instructions, codes sur 32 bits jus- qu' l'ARMv7 peuvent toutes disposer d'excution condi- tionnelle, et sur 64 bits avec l'ARMv8 [1] dont seules un petit nombre d'entre elles peuvent disposer d'excution conditionnelle. Le jeu d'instruction a reu des extensions au l du temps, telles que Thumb, permettant d'amliorer la densit du code, NEON, apportant des instructions SIMD, ou Jazelle, amliorant l'excution de code Java. 4 Technologies des processeurs Les processeurs qui suivent utilisent les technologies in- diques plus bas : MMU (memory management unit) : gestionnaire de mmoire permettant d'avoir une scurit accrue (uniquement prsente sur l'ARM710 et les ARM9). La MMU permet l'adressage virtuel de la mmoire, elle est ncessaire pour faire fonctionner certains systmes d'exploitation comme Windows CE ou la plupart des Linux [3] . MPU (memory protection unit) : protection de la mmoire, faisant partie du MMU, donc protection simplie. DSP : composant lectronique optimis pour les calculs. Son application principale est le traitement du signal numrique (ltrage, extraction de signaux, etc.). FPU : unit de calcul sur les nombres ottants 4.4 Thumb Execution Environment (ThumbEE) 3 4.1 Jazelle Jazelle DBX (Direct Bytecode eXecution) est une tech- nique permettant d'excuter directement du Bytecode Java dans les architectures ARM comme un troisime tat d'excution (et jeu d'excution), en parallle l'ARM existant et au mode Thumb. Le support pour cet tat est signal par le J de l'architecture ARMv5TEJ et les noms de curs ARM9EJ-S et ARM7EJ-S. Le support de cet tat est requis partir d'ARMv6 (sauf pour le prol ARMv7-M). Malgr tout, les curs plus rcents incluent seulement une implmentation triviale qui ne fournit pas d'acclration matrielle. 4.2 Thumb Thumb est un jeu d'instruction 16 bits qui fournit un sous- ensemble des instructions ARM 32 bits classique et per- met un gain de mmoire important. Pour obtenir un co- dage plus compact de ces instructions, certains oprandes sont implicites et les possibilits oertes sont plus limi- tes. Dans le mode Thumb, les instructions 16 bits orent moins de possibilits. Seuls les branchement peuvent par exemple, tre conditionnels et plusieurs instructions sont limites l'accs d'une partie rduite des registres gn- raux du processeur. Ces possibilits rduites amliorent la densit globale d'un programme, bien que certaines op- rations ncessitent plus d'instructions. Cela peut rduire le temps de chargement du code en mmoire (librant ainsi de la bande passante) et augmenter la probabilit de rester dans le cache d'instruction, augmentant ainsi consi- drablement les performances. Du matriel embarqu tel que la Game Boy Advance a ty- piquement une petite quantit de RAM accessible via un bus de donne 32 bits mais la majorit y est accde via un second bus de 16 bits ou moins. Dans cette situation, il est trs intressant de compiler son programme en mode Thumb et d'optimiser la main les quelques sections les plus consommatrices en utilisant le jeu d'instructions complet ARM 32 bits, permettant de placer ces instruc- tion plus large dans le bus d'accs mmoire 32 bits. Le premier processeur contenant un dcodeur d'instruction Thumb est l'ARM7TDMI. Toutes les ARM9 et suprieures (dont l'XScale), incluent un dcodeur Thumb. 4.3 Thumb-2 La technologie Thumb-2 commence avec le cur ARM1156 annonc en 2003. Thumb-2 tend le jeu d'instructions limit 16 bits de Thumb par un des instruc- tions 32 bits additionnelles an de donner plus de largesse au jeu d'instruction. Il en rsulte un jeu d'instructions de largeur variable. Thumb-2 a pour vise d'atteindre une densit de code proche de Thumb tout en conservant des performances similaires au jeu d'instructions ARM en mmoire 32 bits. Thumb-2 tend la fois le jeu instruction Thumb et celui d'ARM avec notamment de la manipulation de champs de bits, des branches de table et des excutions condi- tionnelles. Un nouveau Langage assembleur uni (Uni- ed Assembly Language, UAL) supporte la gnration si- multane de code d'instructions ARM et Thumb-2 de- puis le mme code source ; Les versions de Thumb sur processeurs ARMv7 sont galement capables de code ARM incluant la possibilit d'crire des fonctions de ges- tion d'interruption. Un peu d'attention est ncessaire et l'utilisation de la nouvelle instruction IT (if-then), qui permet dexcuter quatre instructions successives en fonc- tion d'une condition de test. En compilant en code ARM, ce cas est ignor, mais en compilant en Thumb-2, une relle instruction est gnre. Par exemple : ; if (r0 == r1) CMP r0, r1 ITE EQ; ARM : pas de code ... Thumb : instruction IT; then r0 = r2 ; MOVEQ r0, r2 ; ARM : conditionnel ; Thumb : condition via ITE 'T' (then) ; else r0 = r3 ; MOVNE r0, r3 ; ARM : conditionnel ; Thumb : condition via ITE 'E' (else) ; Se rappeler que l'instruction MOV de Thumb n'a pas de bits pour encoder EQ ou NE Toutes les puces ARMv7 supportent le jeu d'instruction Thumb-2. Les autres puces dans les sries Cortex et ARM11 supportent toutes les tats d'instruction ARM ou d'instruction Thumb-2 [4],[5],[6] . 4.4 Thumb Execution Environment (ThumbEE) ThumbEE, galement appel Thumb-2EE, ou, commer- cialement Jazelle RCT pour (Runtime Compilation Tar- get, signiant en anglais cible de compilation la vo- le ), est annonc en 2005 et apparait pour la premire fois dans le processeur Cortex-A8. ThumbEE est le qua- trime tat de processeur, ajoutant de petit changement au jeu d'instruction tendue Thumb de Thumb-2. Ces changements rendent le jeu d'instruction particulirement adapt la gnration de code au moment de lexcu- tion, par compilation la vole, dans des environnements dexcution contrls. ThumbEE est orient vers les lan- gages de programmation tels que Limbo, Java, C#, Perl, Python ou Ruby et permet aux compilateurs la vole de gnrer moins de code de sortie sans aecter les perfor- mances. Les nouvelles fonctionnalits de ThumbEE incluent la v- rication automatique de pointeur nul chaque instruc- tion de chargement et sauvegarde, une instruction vri- ant les limites d'un tableau, un accs aux registres r8- r15 (o la Machine virtuelle Jazelle/DBX Java est main- tenue), et des instructions spciales qui appellent une fonction de rappel [7] . Les handlers sont des petites sec- 4 5 PROCESSEURS GRAPHIQUES ARM tions de code frquemment appeles, utilises gnrale- ment pour implmenter une fonctionnalit d'un langage de programmation de haut niveau tel que l'allocation de mmoire pour un nouvel objet. Ces changements ont t eectus pour rorienter une poigne d'opcodes et an de savoir que le cur est dans le mode ThumbEE. 4.5 Floating-point (VFP) La technologie VFP (Vector Floating Point ou vir- gule ottante vectoriel en franais) est une exten- sion de coprocesseur de type FPU dans les architectures ARM. Il fournit le calcul des formats de virgule ot- tante simple prcision bas prix et de virgule ottante en double prcision remplissant la norme ANSI/IEEE Std 754-1985 Standard for Binary Floating-Point Arithmetic. VFP fournit des calculs en virgule ottante permettant d'accomplir un vaste spectre d'applications et de besoins tels que les PDAs, les smartphones, la compression et dcompression de voix, des graphiques en trois dimen- sions ou encore de l'audio numrique, des imprimantes, des botiers multimdias, et des applications automobiles. L'architecture VFP a eu pour but de supporter lexcu- tion de mode d'instructions vectorielles courtes mais elles oprent squentiellement sur chaque lment vectoriel et ainsi n'ore pas les performances d'un vrai paralllisme vectoriel comme le fait un SIMD. Ces modes vectoriels ont donc t retirs rapidement aprs leur introduction [8] , et ont t remplaces par l'unit NEON Advanced SIMD, bien plus puissante. Quelques processeurs, tel que l'ARM Cortex-A8 ont t amputs avec un module VFPLite au lieu d'un module VFP complet, et requirent environ dix fois plus de cycles d'horloge par opration en nombre ottant [9] . Les autres coprocesseurs virgule ottante ou SIMD que l'on peut trouver dans les processeurs bass sur l'architecture ARM incluent NEON, les FPA, FPE, iwMMXt. Ils fournissent quelques fonctionnalits similaires aux VFP mais ne sont pas compatible avec lui au niveau de l'opcode. 4.6 Advanced SIMD (NEON) Article dtaill : ARM NEON. L'extension Advanced SIMD (galement appele NEON ou MPE pour Media Processing Engine (signiant moteur de calcul de mdias en anglais)) est un SIMD (Single Instruction, Multiple Data), combinant des jeux d'instruction 64 et 128 bits, qui fournissent de l'acclration de calcul standardis pour les application de mdias, 2D/3D et de traitement du signal. NEON est inclus dans tous les curs Cortex-A8 mais est optionnel dans les curs Cortex-A9 [10] . NEON peut faire du d- codage MP3 sur un processeur fonctionnant 10 MHz et peut encoder/dcoder le codec audio GSM AMR 13 MHz et permet d'acclrer le dcodage de formats vidos tels que h264 ou Real. Il contient un jeu dinstruction, un registre de chiers spar et de lexcution matrielle indpendante [11] . Il comporte 32 registres 64 bits ot- tants, qu'il partage avec le FPU, pouvant tre coupls pour former 16 registres de 128 bits ottants, et accepte aussi que ces registres soient traits comme des entiers signs ou non signs de 8, 16, 32 et 64 bits. Ce SIMD supporte jusqu' 16 oprations simultanes. Des curs comme le ARMCortex-A8 et le Cortex-A9 supportent des vecteurs 128 bits mais ne traitent que 64 bits la fois [9] , tandis qu' partir du plus rcent Cortex-A15, il peut traiter 128 bits la fois. 4.7 LPAE La technologie LPAE (Large Physical Address Exten- sion) [12] a t implmente pour la premire fois dans les Cortex A de 3 e gnration (Cortex-A7, Cortex-A15 et Cortex-A17). Cette extension est utilise sur les pro- cesseurs 32 bits d'ARM, permettant d'tendre l'adressage de 32 bits (4 gigaoctets maximum) 40 bits (1 tra- octet maximum). Elle ncessite un MMU comportant l'extension VMSAv7. Avec cette extension, la granulari- t du contrle du MMU est de 4 Kio. Cette extension fonctionne en plusieurs tapes : 1. Elle traduit d'abord une adresse virtuelle (VA) 32 bits dans une adresse physique intermdiaire (IPA) 40 bits. 2. Elle traduit l'IPA en adresse physique (PA) 50 bits. Le registre ID_MMFR3 fournit la taille de l'adresse phy- sique supporte (32 bits, 36 bits ou 40 bits). 5 Processeurs graphiques ARM Article dtaill : ARM Mali. ARM propose galement des processeurs graphiques (GPU) appels Mali qui peuvent tre intgrs aux ar- chitectures des SoC ARM. La premire srie, Mali 200, utilise dans des processeurs tels que le SoC Telechips TCC890x [13] . La seconde srie, Mali 300 ne semble pas avoir t utili- se par les constructeurs. La troisime srie, Mali 400 MP est propos sur des pro- cesseurs plus haut de gamme, gnralement, Cortex A9, comme le ST-Ericsson U8500 [14] , les Samsung Exynos 4 ou l'Amlogic 8726-M, mais aussi sur les Cortex A8 AllWinner A1X. La srie Mali 600 est destination des Cortex A15. Elle quipe notamment la srie de Samsung Exynos 5. Le pre- mier modle a t le Mali T604 [15] . 5 L'API gnrique d'accs au GPU MALI compatible EXA/DRI2 libres sources ouvertes (licences Apache et MIT) est disponible pour les Mali 200, 300, 400 et 600 sur la plateforme Linux [16] , mais la partie la plus basse d'accs au processeur, dpendant du constructeur reste ferme. Le projet Lima driver a t cr pour dvelopper un pilote libre permettant d'utiliser pleinement ces processeurs. En septembre 2013, il dpasse dj les performances des pi- lotes propritaires sur les sries Mali 400 [17] . De nombreux SoC ARM comportent cependant un GPU PowerVR ou plus rarement d'autres processeurs gra- phiques (Qualcomm Adreno, Vivante, Nvidia), qui pos- sdent tous des pilotes pour Linux, mais dont la partie 3d est propritaire et sources fermes. Le projet Freedreno a les mmes vises pour les Adreno que le projet Lima driver pour la srie des Mali. 6 Architectures 7 Divers processeurs ARM ARM1 (1985) : premier prototype de cur ARM Famille ARM2 (1987) : premier ARM commercia- lis dans l'Archimedes d'Acorn : Pipeline 3 niveaux, adressage sur 24 bits aligns (16 mbimots de 32 bits soit 64 Mio adressables), 8 MHz puis 12 MHz Famille ARM3 : Interface FPU, frquence 25 puis 33 MHz, 4K cache Famille ARM4 Famille ARM4T Famille ARM5TE (2000) : arrive de Thumb et de fonctionnalits de DSP Famille ARM5TEJ (2000) : arrive 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 en- tiers, 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 : Architec- ture ARMv7-A, SIMD, Jazelle, DSP, Thumb-2 --- Cortex-A5 --- Cortex-A5 MPCore : Cortex-A5 version multi- processeur (1 4 CPU) --- Cortex-A7 MPCore : Cortex-A7 multiproces- seur (1 8 CPU) --- Cortex-A8 --- Cortex-A9 --- Cortex-A9 MPCore : Cortex-A9 version mul- tiprocesseur (1 4 CPU), 45, 32 [18] et 28 nm jusqu 2 GHz (3,1 GHz dans certaines condi- tions [19] ) --- Cortex-A12 MPCore --- Cortex-A15 MPCore : Cortex-A15 multipro- cesseur (1 4 CPU), 45, 32 et 28 nm [20] (20 nm projet), jusqu 2,5 GHz Famille Cortex-R, processeur temps-rel : Archi- tecture ARMv7-R --- Cortex-R4 Famille Cortex-M, processeur embarqu : Archi- tecture ARMv6-M et ARMv7-M --- Cortex-M0 --- Cortex-M0+ --- Cortex-M1 --- Cortex-M3 --- Cortex-M4 6 9 NOTES ET RFRENCES 8 Fabricants de processeurs ARM La proprit intellectuelle appartient une socit britan- nique, mais les processeurs fabriqus sous licence le sont par direntes entreprises de par le monde. Parmi les en- treprises fabriquant les modles des sries Cortex (les plus avances), la majorit se trouve en Asie (20), suivie par les tats-Unis (11) et enn par l'Europe (6). Accent Italie Applied Micro Circuits Corporation tats-Unis ARMv8 [21] Alchip Tawan AllWinner Technology (ou Quanzhi) Chine (Cortex A8 et A7 avec Mali 400MP et VPUCedarX maison dcodant le QuadHD 2160P [22] ) Altera tats-Unis Amlogic www.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, A7, A15 [23] ) HiSilicon Chine (Cortex A9, A7, A15 [24],[25] ) Huawei Technologies Chine (Cortex A9, A7, A15) [26] Inneon Allemagne Inside Secure France LG Electronics (Cortex-A50) Core du Sud [27] Matsushita Japon (Cortex A8 [28] ) Marvell tats-Unis MediaTek Tawan (Cortex A9 [29] , A7, A15) NXP Pays-Bas Nufront (conception) Chine, usin par TSMC Tawan (Cortex A9) Nvidia tats-Unis (Cortex A9) Parrot France (ARM926ejs (P6), Cortex A9 (P7)) Qualcomm tats-Unis Renesas Japon (Cortex A9 [30] ) Rockchip Chine (Cortex A8, Cortex A9 MP- core, Mali 400 MP [31] ) Samsung Core du Sud (Cortex A8, Cortex A9, A15 (Exynos 5250) [32] , A7) STMicroelectronics France Italie et ST-Ericsson (Cortex A9 (U9500), Cortex A15 (A9600) [33] ) Telechips Core du Sud Texas Instruments tats-Unis (Cortex A8 (OMAP3), Cortex A9 (OMAP4), A15 (OMAP5)) Toshiba Japon VIA Tawan Xilinx tats-Unis Zinq (FPGA Cortex-A8). ZiiLABS Singapour ZTE Chine 9 Notes et rfrences [1] ARMv8 : le 64 bits va arriver (28 octobre 2011). [2] Quoi de neuf dans Windows 8 ?, Cachem.fr, publi le 23 mai 2011. [3] uclinux except, mais pas seulement :(en)site ociel [4] (en) ARM Processor Instruction Set Architecture , Arm.com (consult le 18 avril 2009) [5] (en) ARM aims son of Thumb at uCs, ASSPs, SoCs (Archive Wikiwix Archive.is Google Que faire ?) , Linuxde- vices.com. Consult le 18 avril 2009 [6] (en) ARM Information Center , Infocenter.arm.com (consult le 18 avril 2009) [7] (en) Arm strengthens Java compilers : New 16-Bit Thumb-2EE Instructions Conserve System Memory by Tom R. Halfhill 2005. [8] VFP directives and vector notation , Arm.com(consul- t le 21 novembre 2011) [9] Dierences between ARMCortex-A8 and Cortex-A9 , Shervin Emami (consult le 21 novembre 2011) [10] Cortex-A9 Processor , Arm.com (consult le 21 no- vembre 2011) [11] About the Cortex-A9 NEONMPE, Arm.com(consul- t le 21 novembre 2011) [12] (en) Principles of ARM Memory Maps White Pa- per 2.1.2 32-bit ARMv7 with LPAE , ARM(consult le 15 aot 2014) 7 [13] (en) TCC8900 development board [14] (en) MOP500 development board [15] (en) Mali-T604 sur ARM [16] (en) Open Source Mali GPUs Linux EXA/DRI2 And X11 Display Drivers sur malideveloper.com [17] (en) The lima mesa driver runs es2gears [18] Exynos 4 Quad sur samsung.com [19] (en)TSMCs 28nm Based ARM Cortex-A9 Test Chip Reaches Beyond 3GHz sur TSMC.com [20] [21] (en) Applied Micro X-Gene 64-Bit ARMv8 Server-on- Chip Presentation [22] (zh) A1X by Allwinner Technology Co., Ltd sur ARM.com [23] (ja) ARM sur jp.Fujitsu.com [24] (zh) ARM , 3G/4G sur arm.com [25] (en)HiSilicon Announces K3V2 Quad-core Application Processor [26] sur ses propres smartphones. [27] (en) (ja) (zh-CN) LG Electronics Becomes Lead Partner For ARM Cortex-A50 Family Of Products And Next- Generation Mali GPUs sur ARM.com [28] (en) Processor licensees [29] (en) MediaTek Launches MT6575 Android Platform sur MediaTek.com [30] (en) Renesas Mobile Introduces First Integrated LTE Triple-Mode Platform Optimised for Full-Featured, High Volume Smartphones [31] (en) (zh) Rockchip Licenses a Wide Range of ARMIP for Turnkey Solution Targeting Mass Market, Cost-Eective Android Tablets sur ARM.com [32] (en)Samsung Announces Industry First ARM Cortex- A15 Processor Samples for Tablet Computers sur Sam- sung.com, le 30 novembre 2011 [33] (en) ARM Cortex-A15 processor adopts Imaginations new graphics IP (Archive Wikiwix Archive.is Google Que faire ?) sur Linuxfordevices.com 10 Articles connexes Le processeur StrongARM pour les applications embarques demandant de la puissance de calcul. Le processeur Intel (revendu Marvell) XScale qui est driv de l'architecture ARM. Portail de linformatique 8 11 SOURCES, CONTRIBUTEURS ET LICENCES DU TEXTE ET DE LIMAGE 11 Sources, contributeurs et licences du texte et de limage 11.1 Texte Architecture ARM Source : http://fr.wikipedia.org/wiki/Architecture_ARM?oldid=107315074 Contributeurs : Popolon, Cur, Haypo, Plinn, Okki, Syno, Scullder, MedBot, Versgui, Iznogood, Phe-bot, Romainhk, Fylip22, Comte0, Jef-Infojef, T, Amnesia, Gd, Pi- nailleur, Romanc19s, Stephanek, Clark1750, Yelkrokoyade, Zwobot, RobotQuistnix, Christophe cag, Jylam, MagnetiK-BoT, Jose99m, Chlewbot, Freewol, Tatsu-Kan, Arka Voltchek, Jmax, Francois C, Vvlt, Thijs !bot, Monnoliv, Cochonfou, Laurent Nguyen, Rmih, BOT- Superzerocool, Crocell, Nono64, Sebleouf, PouX, VonTasha, Greteck, Apultier, Salebot, Zorrobot, DodekBot, Isaac Sanolnacov, Dorgan- Bot, TXiKiBoT, Aibot, VolkovBot, Cfoucher, Nodulation, RyDroid, Laloi, SieBot, Lecybermax, Dsant, Alecs.bot, Vlaam, Dhatier, C- v, AFAccord, Davitof, SniperMask, PixelBot, AOPG, Peyot, Rical, HerculeBot, BotSottile, ZetudBot, Dupondt, Ggal, Factory, Chji, Luckas-bot, ABACA, Jotterbot, Mabu, Lilielletune, DSisyphBot, Linuxien pantin, Cantons-de-l'Est, 399man, SassoBot, Xqbot, Rubinbot, JackBot, Titus carus lucretius, Lomita, Orlodrim, TobeBot, RedBot, Jno972, Oliver H, Nezdek, EmausBot, Topeil, Lexis, Fcarcena01, Bjung, Hunsu, Sodatux, MonsieurPirate, Rene1596, Cgsyannick, Makecat-bot, Rotlink, Addbot, Elalardi et Anonyme : 70 11.2 Images Fichier:ARMSoCBlockDiagram.svg Source : http://upload.wikimedia.org/wikipedia/commons/8/85/ARMSoCBlockDiagram.svg Li- cence : CC-BY-SA-3.0 Contributeurs : Own work in Inkscape based on en:Image:ARMSoCBlockDiagram.gif Artiste dorigine : en:User: Cburnett Fichier:ARM_powered_Badge.svg Source : http://upload.wikimedia.org/wikipedia/commons/a/a1/ARM_powered_Badge.svg Licence : Public domain Contributeurs : SVG erstellt durch de:Benutzer:Afrank99 Artiste dorigine : Inconnu Fichier:Crystal_mycomputer.png Source : http://upload.wikimedia.org/wikipedia/commons/e/e3/Crystal_mycomputer.png Licence : LGPL Contributeurs : All Crystal icons were posted by the author as LGPL on kde-look Artiste dorigine : Everaldo Coelho (YellowIcon) Fichier:Flag_of_France.svg Source : http://upload.wikimedia.org/wikipedia/commons/c/c3/Flag_of_France.svg Licence : Pu- blic domain Contributeurs : http://www.diplomatie.gouv.fr/de/frankreich_3/frankreich-entdecken_244/portrat-frankreichs_247/ die-symbole-der-franzosischen-republik_260/trikolore-die-nationalfahne_114.html Artiste dorigine : This graphic was drawn by SKopp. Fichier:Flag_of_Germany.svg Source : http://upload.wikimedia.org/wikipedia/commons/b/ba/Flag_of_Germany.svg Licence : Public domain Contributeurs : ? Artiste dorigine : ? Fichier:Flag_of_Italy.svg Source : http://upload.wikimedia.org/wikipedia/commons/0/03/Flag_of_Italy.svg Licence : Public domain Contributeurs : There has been a long discussion on the colors of this ag. Please read the talk page before editing or reverting this image. Pantone to RGB performed by http://www.pantone.com/pages/pantone/colorfinder.aspx Artiste dorigine : see below Fichier:Flag_of_Japan.svg Source : http://upload.wikimedia.org/wikipedia/commons/9/9e/Flag_of_Japan.svg Licence : Public domain Contributeurs : Law Concerning the National Flag and Anthem (1999) URL link in English, actual law (Japanese ; colors from http://www. mod.go.jp/j/info/nds/siyousyo/dsp_list_j.htm#Z8701 Artiste dorigine : Various Fichier:Flag_of_Singapore.svg Source : http://upload.wikimedia.org/wikipedia/commons/4/48/Flag_of_Singapore.svg Licence : Public domain Contributeurs : The drawing was based from http://app.www.sg/who/42/National-Flag.aspx. Colors from the book : (2001). The National Symbols Kit. Singapore : Ministry of Information, Communications and the Arts. pp. 5. ISBN 8880968010 Pantone 032 shade from http://www.pantone.com/pages/pantone/colorfinder.aspx?c_id=13050 Artiste dorigine : Various Fichier:Flag_of_South_Korea.svg Source : http://upload.wikimedia.org/wikipedia/commons/0/09/Flag_of_South_Korea.svg Licence : Public domain Contributeurs : Ordinance Act of the Law concerning the National Flag of the Republic of Korea, Construction and color guidelines (Russian/English) This site is not exist now.(2012.06.05) Artiste dorigine : Various Fichier:Flag_of_the_Netherlands.svg Source : http://upload.wikimedia.org/wikipedia/commons/2/20/Flag_of_the_Netherlands.svg Li- cence : Public domain Contributeurs : Travail personnel Artiste dorigine : Zscout370 Fichier:Flag_of_the_People{}s_Republic_of_China.svg Source : http://upload.wikimedia.org/wikipedia/commons/f/fa/Flag_of_the_ People%27s_Republic_of_China.svg Licence : Public domain Contributeurs : Travail personnel, http://www.protocol.gov.hk/flags/eng/n_ flag/design.html Artiste dorigine : Drawn by User:SKopp, redrawn by User:Denelson83 and User:Zscout370 Fichier:Flag_of_the_Republic_of_China.svg Source : http://upload.wikimedia.org/wikipedia/commons/7/72/Flag_of_the_Republic_ of_China.svg Licence : Public domain Contributeurs : [1] Artiste dorigine : User:SKopp Fichier:Flag_of_the_United_States.svg Source : http://upload.wikimedia.org/wikipedia/commons/a/a4/Flag_of_the_United_States.svg Licence : Public domain Contributeurs : SVG implementation of U. S. Code : Title 4, Chapter 1, Section 1 [1] (the United States Federal Flag Law). Artiste dorigine : Dbenbenn, Zscout370, Jacobolus, Indolences, Technion. 11.3 Licence du contenu Creative Commons Attribution-Share Alike 3.0