miniatura|Processador ARM en una impressora HP Advanced RISC Machines (ARM) és una família de microprocessadors RISC dissenyats per l'empresa Acorn Computers i desenvolupats per Advanced RISC Machines Ltd., una empresa derivada de l'anterior.
Un enfocament de disseny basat en RISC vol dir que els processadors ARM requereixen una quantitat menor de transistors que els procreadors x86 CISC típics en la majoria d'ordinadors personals. Aquest enfocament de disseny per tant ens porta a una reducció dels costos, calor i energia. Aquestes característiques són desitjables per a dispositius que funcionen amb bateries, com els telèfons mòbils, tauletes, etc.
ARM Holdings s'encarrega del desenvolupament del set d'instruccions i de l'arquitectura ARM per productes basats en aquesta tecnología, però no manufactura els productes encastats finals. La companyia periòdicament publica actualitzacions dels seus nuclis. Els nuclis actuals d'ARM Holdings suporten 64 bits d'adreces i 64 bits aritmètics.
Globalment ARM conté el conjunt d'instruccions d'arquitectura més utilitzat, en termes de quantitat de producció. Això ha estat gràcies al seu baix consum. S'arribà a produir 50 000 milions de processadors ARM l'any 2014.
Història miniatura|Microprocessador ARM en un encaminador El disseny de l'ARM va començar el 1983 com un projecte de desenvolupament en l'empresa Acorn Computers Ltd Roger Wilson i Steve Furber lideraven l'equip, l'objectiu era, originalment, el desenvolupament d'un processador avançat, però amb una arquitectura similar a la del MOS 6502. La raó era que Acorn tenia una llarga línia d'ordinadors personals basats en aquest micro, per la qual cosa tenia sentit desenvolupar-ne un amb el qual els desenvolupadors se sentissin còmodes.
L'equip va acabar el disseny preliminar i els primers prototips del processador l'any 1985, al que van anomenar ARM1. La primera versió utilitzada comercialment es va batejar com ARM2 i es va llançar l'any 1986.
L'arquitectura del ARM2 té un bus de dades de 32 bits si ofereix un espai d'adreces de 26 bits, juntament amb 16 registres de 32 bits. Un d'aquests registres s'utilitza com a comptador de programa, aprofitant els seus 4 bits superiors i els 2 inferiors per contenir el flag d'estat del processador.
El ARM2 és probablement el processador de 32 bits útil més simple del món, ja que té només 30.000 transistors. La seva simplicitat es deu al fet que no està basat en microcodi (sistema que sol ocupar al voltant de la quarta part de la quantitat total de transistors utilitzats en un processador), ja que, com era comú en aquella època, no inclou memòria cau. Gràcies a això, el seu consum en energia és bastant baix, alhora que ofereix un millor rendiment que un 286. El seu successor, el ARM3, inclou una petita memòria cau de 4 KiB, el que millora els accessos a memòria repetitius.
A finals dels anys 80, Apple Computer va començar a treballar amb Acorn en noves versions del nucli ARM. En Acorn es van adonar que el fet que el fabricant d'un processador fos també un fabricant d'ordinadors podria fer enrere als clients, per la qual cosa es va decidir crear una nova companyia anomenada ARM Holdings, que seria l'encarregada del disseny i gestió de les noves generacions de processadors ARM. Passava això en l'any 1990.
Aquest treball va derivar en l'ARM6, presentat en 1991. Apple va utilitzar l'ARM 610 (basat en el ARM6), com processador bàsic pel seu innovador PDA, l'Apple Newton. Per la seva banda, Acorn el va utilitzar a 1994 com a processador principal a la RiscPC.
El nucli va mantenir la seva simplicitat tot i els canvis: en efecte, el ARM2 té 30.000 transistors, mentre que el ARM6 només compta amb 35.000. La idea era que l'usuari final combinés el nucli de l'ARM amb un nombre opcional de perifèrics integrats i altres elements, podent crear un processador complet a la mesura de les seves necessitats.
La major utilització de la tecnologia ARM es va assolir amb el processador ARM7TDMI, amb milions d'unitats en telèfons mòbils i sistemes de videojocs portàtils.
DEC llicenciar el disseny, la qual cosa va generar una mica de confusió perquè ja produïa el DEC Alpha, i va crear el StrongARM. Amb una velocitat de rellotge de 233 MHz, aquest processador consumia només 1 W de potència (aquest consum d'energia s'ha reduït en els models més recents). Aquesta tecnologia va passar posteriorment a mans de Intel, com a fruit d'un acord jurídic, que la va integrar en la seva línia de processadors Intel i960 i va fer més àrdua la competència.
Freescale (una empresa que va derivar de Motorola l'any 2004), IBM, Infineon Technologies, OKI, Texas Instruments, Nintendo, Philips,fvh Atmel, Sharp, Samsung i STMicroelectronics també llicenciar el disseny bàsic de l'ARM .
El disseny de l'ARM s'ha convertit en un dels més usats del món, des de discs durs fins joguines. Avui en dia, prop del 75% dels processadors de 32 bits tenen aquest xip en el seu nucli.
Llicències Llicència de nucli El negoci principal d'ARM Holdings és la venda de nuclis IP, aquestes llicències s'utilitzen per crear microcontroladors i CPUs basats en aquests nucles. El productor del disseny original combina el nucli ARM amb altres parts per produir una CPU completa, normalment s'escull un nucli que pugui ser manipulat per fàbriques de semiconductors a un preu baix i que doni un rendiment substancial.
La implementació amb més èxit ha estat l'ARM7TDMI amb centenars de milions de còpies venudes. Atmel ha estat precursor del centre de disseny en sistemes encastats basats en ARM7TDMI.
Les arquitectures ARM utilitzades a smartphones, PDAs i altres dispositius van des de l'ARMv5, que s'utilitza en dispositius de gamma baixa fins a l'ARMv6 o l'ARMv7 utilitzats en dispositius de gamma alta. L'ARMv7 inclou una unitat de punt flotant amb una millora en la velocitat en comparació amb el software basat en punt flotant.
L'any 2009 diversos productors de dispositius electrònics van introduir netbooks basats en les CPUs de l'arquitectura ARM, com a competició directa als netbooks basats en intel Atom.
ARM Holdings ofereix una varietat en termes de llicències, que varien en cost i prestacions. ARM Holdings ofereix a tots els llicenciataris una descripció de maquinari integrable del nucli ARM, així com el conjunt d'eines de desenvolupament de programari (compilador, depurador, kit de desenvolupament de programari) i el dret de vendre el silici fabricat que conté la CPU ARM.
Els paquets SoC que integren els dissenys dels nuclis ARM inclouen les tres primeres generacios de Nvidia Tegra, la família de CSR plc Quatro, ST-Ericsson Nova i NovaThor, el MCU Precision32 dels laboratoris Silicon, els productes OMAP de Texas Instruments, els productes Hummingbird i Exynos de Samsung, Apple A4, A5 i A5X, i i.MX. De Freescale.
Els llicenciataris Fabless que desitgen integrar un nucli ARM en el seu propi disseny de xips, estan normalment interessats en l'adquisició d'un nucli IP llest per manufacturar. Per aquest clients, ARM Holdings ofereix una descripció de portes netlist del nucli ARM triat, juntament amb una simulació abstracta del model i tests dels programes per donar una ajuda en la integració del disseny i verificació.
Els clients més ambiciosos inclosos els fabricants de dispositius integrats opten per adquirir el processador IP en forma RTL sintetitzables (Verilog). Amb els RTL sintetitzables, el client té la capacitat de realitzar optimitzacions a nivell d'arquitectura i extensions. Això permet al dissenyador aconseguir objectius de dissenys exòtics, impossibles d'aconseguir si la netlist no fos modificable (alta velocitat de rellotge, baix consum d'energia, set d'instruccions d'extensions, etc.).
ARM Holdings no atorga al llincenciatari el dret a revendre la mateixa arquitectura ARM, però aquests sí que poden vendre lliurement el producte manufacturat, com els dispositius de xips, plaques d'avaluació i sistemes complets.
Els preus d'IP d'ARM Holdings es basa en el seu valor percebut. Els nuclis amb un baix rendiment solen tenir un preu menor que nuclis amb un alt rendiment. En termes d'implementació, un nucli sintetitzable costa més que un nucli hard macro (caixa negra).
Llicència de l'arquitectura Les empreses també poden obtenir una llicència d'arquitectura ARM per al disseny dels seus propis nuclis de CPU utilitzant els conjunts d'instruccions ARM. Aquests nuclis han de complir plenament amb l'arquitectura ARM.
Famílies d'ARMs Actualment hi ha diferents tipus de processadors ARM creats per ARM Holdings que estan dividits en diferents famílies segons els dispositius a què van dirigits. Tot i que els més coneguts són els de la sèrie A perquè són els que s'utilitzen en telèfons intel·ligents o tauletes tàctils per diverses empreses, és bo saber que existeix diversitat de processadors amb arquitectura ARM. Són aquests: Sèrie A: És la sèrie més coneguda dels processadors ARM, està dedicada als dispositius que tenen un sistema operatiu que gestiona la interacció entre el hardware i software. Aquests processadors són els més utilitzats en telèfons intel·ligents i tauletes independentment de si funcionen sota Android, IOs o Windows. També s'empren en televisions i en dispositius com GPS. Sèrie R: Aquesta sèrie és la que està encarada cap a dispositius que treballen a temps real. Normalment aquests dispositius treballen amb sistemes operatius a temps real. Se solen instal·lar en sistemes de control dels automòbils, infraestructures sense fils, impressores, dispositius de xarxa,... dispositius que en definitiva necessiten rapidesa entre l'entrada i sortida d'un sistema. Sèrie M: Aquesta sèrie va dirigida a sistemes encastats (embedded Systems). Els sistemes encastats normalment sempre desenvolupen la mateixa tasca i necessiten fer-la a molt baix consum. Alguns exemples on s'instal·len aquests dispositius són: sistemes de control de motors, electrodomèstics, sensors,... Sèrie securecore: Aquests xips van adreçats a instal·lar-se en dispositius d'ús quotidià en què es necessita una certa robustesa. De fet s'instal·len en les SIM’s dels telèfons mòbils, targetes de crèdit, al DNI espanyol, sistemes avançats de pagament,...
Els nuclis Família Nucli Característica Cache (I/D)/MMU MIPS MHz Ús ARM7TDMIARM7TDMI (-S)segmentació de 3 etapescap15 MIPS 16,8 MHzGame Boy AdvanceARM710TMMUARM720T8KB unificats, MMUARM740TMPUARM7EJ-SJazelle DBXsense ARM9TDMIARM9TDMIsegmentació de 5 etapessenseARM920T16KB/16KB, MMU200 MIPS 180 MHzConsola GPX2, Calculadores HP-49/50ARM922T8KB/8KB, MMUARM940TMPU ARM9EARM946E-Svariable, memòries altament acoblades, MPUNintendo DSARM966E-Ssense cache, TCMsARM968E-Ssense cache, TCMsARM926EJ-SJazelle DBXvariable, TCMs, MMU ARM10EARM1020E(VFP)32KB/32KB, MMUARM1022E(VFP)16KB/16KB, MMUARM1026EJ-SJazelle DBXvariable, MMU o MPU ARM11ARM1136J (F)-SSIMD, Jazelle DBX, (VFP)variable, MMUMotorola Z6ARM1156T2 (F)-SSIMD, Thumb-2, (VFP)variable, MPUARM1176JZ (F)-SSIMD, Jazelle DBX, (VFP)variable, MMU+TrustZone420 MHziPhoneARM11 MPCore1/4 nuclis SMP SIMD, Jazelle DBX, (VFP)variable, MMU CortexCortex-M3Microcontroller profilesense cache, (MPU)Cortex-A8NEON, Jazelle RCT, Thumb-2variable (L1+L2), MMU+TrustZonefins a 2000 (2.0 DMIPS/MHz velocitats des de 600 MHz fins a més de 1 GHz)Pandora (consola)Cortex-A9Nuclis múltiples o simples, fins a 4 nuclis. NEON, Thumb ® -2, TrustZone, Jazelle, CoreSightL2 fins a 2 MBMés de 8000 Dhrystone MIPS agregats a 1 GHzIPADE (Apple A4) XScale80200/IOP310/IOP315Processador d'entrada/sortida80.219IOP321IOP33xPXA210/PXA250Processador d'aplicacionsPXA255PXA26xPXA27x800 MIPS 624 MHzPXA800 (E) FMonahans1000 MIPS 1,25 GHzIXC1100Processador de control de plaIXP2400/IXP2800IXP2850IXP2325/IXP2350IXP42xIXP460/IXP465
Nuclis Cortex-M Els nuclis ARM Cortex-M són un grup de nuclis per a processadors RISC de 32-bits basats en l'arquitectura ARM. Aquests nuclis estan dissenyats per a ser utilitzats en microcontroladors, dit grup consisteix en el nuclis M0, M0+, M1, M3, M4 i M7.