Você está na página 1de 7

Arquitectura ARM

unidades producidas.[1][2] Concebida originalmente por


Acorn Computers para su uso en ordenadores personales,
los primeros productos basados en ARM eran los Acorn
Archimedes, lanzados en 1987.
La relativa simplicidad de los procesadores ARM los
hace ideales para aplicaciones de baja potencia. Como resultado, se han convertido en dominante en el
mercado de la electrnica mvil e integrada, encarnados en microprocesadores y microcontroladores pequeos, de bajo consumo y relativamente bajo costo. En
2005, alrededor del 98% de los ms de mil millones de
telfonos mviles vendidos utilizaban al menos un procesador ARM.[3] Desde 2009, los procesadores ARM
son aproximadamente el 90% de todos los procesadores RISC de 32 bits integrados, cabe hacer mencin que
no existe una tabla de equivalencias de rendimiento entre las distintas tecnologas de procesadores[4] y se utilizan ampliamente en la electrnica de consumo, incluyendo PDA, tabletas, Telfono inteligente, telfonos mviles, videoconsolas porttiles, calculadoras, reproductores
digitales de msica y medios (fotos, vdeos, etc.), y perifricos de ordenador como discos duros y routers.

Logo

La arquitectura ARM es licenciable. Las empresas que


son titulares de licencias ARM actuales o anteriores
incluyen a Alcatel-Lucent, Apple Inc., AppliedMicro,
Atmel, Broadcom, Cirrus Logic, Digital Equipment Corporation, Ember, Energy Micro, Freescale, Intel (a travs de DEC), LG, Marvell Technology Group, Microsemi, Microsoft, NEC, Nintendo, Nokia, Nuvoton, Nvidia,
Sony, MediaTek, NXP (antes Philips Semiconductors),
Oki, ON Semiconductor, Psion, Qualcomm, Samsung,
Sharp, STMicroelectronics, Symbios Logic, Texas Instruments, VLSI Technology, Yamaha, y ZiiLABS.

ARM Holdings

Los procesadores ARM son desarrollados por ARM y los


titulares de licencias de ARM. Prominentes familias de
procesadores ARM desarrollados por ARM Holdings incluyen el ARM7, ARM9, ARM11 y Cortex. Los procesadores ARM notables desarrollados por los licenciatarios
incluyen Applied Micro Circuits Corporation X-Gene,
DEC StrongARM, Freescale i.MX, Marvell Technology
Group XScale, NVIDIA Tegra, Qualcomm Snapdragon,
Texas Instruments OMAP, Samsung Exynos, Apple Ax,
ST-Ericsson NovaThor, Huawei K3V2 e Intel Medeld.

Procesador ARM en una impresora HP

ARM es una arquitectura RISC (Reduced Instruction Set


Computer=Ordenador con Conjunto Reducido de Instrucciones) de 32 bits desarrollada por ARM Holdings.
Se llam Advanced RISC Machine, y anteriormente Acorn
RISC Machine. La arquitectura ARM es el conjunto de
instrucciones de 32 bits ms ampliamente utilizado en
1

DISEO

Este trabajo deriv en el ARM6, presentado en 1991. Apple utiliz el ARM 610 (basado en el ARM6), como procesador bsico para su innovador PDA, el Apple Newton.
Por su parte, Acorn lo utiliz en 1994 como procesador
principal en su RiscPC.
El ncleo mantuvo su simplicidad a pesar de los cambios:
en efecto, el ARM2 tiene 30.000 transistores, mientras
que el ARM6 slo cuenta con 35.000. La idea era que el
usuario nal combinara el ncleo del ARM con un nmero opcional de perifricos integrados y otros elementos,
pudiendo crear un procesador completo a la medida de
sus necesidades.
Microprocesador ARM en un router

Historia

El diseo del ARM comenz en 1983 como un proyecto de desarrollo en la empresa Acorn Computers. Sophie
Wilson y Steve Furber lideraban el equipo, cuya meta era,
originalmente, el desarrollo de un procesador avanzado,
pero con una arquitectura similar a la del MOS 6502. La
razn era que Acorn tena una larga lnea de ordenadores personales basados en dicho micro, por lo que tena
sentido desarrollar uno con el que los desarrolladores se
sintieran cmodos.
El equipo termin el diseo preliminar y los primeros
prototipos del procesador en el ao 1985, al que llamaron
ARM1. La primera versin utilizada comercialmente se
bautiz como ARM2 y se lanz en el ao 1986.
La arquitectura del ARM2 posee un bus de datos de 32
bits y ofrece un espacio de direcciones de 26 bits, junto con 16 registros de 32 bits. Uno de estos registros se
utiliza como contador de programa, aprovechndose sus
4 bits superiores y los 2 inferiores para contener los ags
de estado del procesador.
El ARM2 es probablemente el procesador de 32 bits
til ms simple del mundo, ya que posee slo 30.000
transistores. Su simplicidad se debe a que no est basado en microcdigo (sistema que suele ocupar en torno a
la cuarta parte de la cantidad total de transistores usados
en un procesador) y a que, como era comn en aquella
poca, no incluye cach. Gracias a esto, su consumo en
energa es bastante bajo, a la vez que ofrece un mejor
rendimiento que un 286. Su sucesor, el ARM3, incluye
una pequea memoria cach de 4 KB, lo que mejora los
accesos a memoria repetitivos.
A nales de los aos 80, Apple Computer comenz a trabajar con Acorn en nuevas versiones del ncleo ARM. En
Acorn se dieron cuenta de que el hecho de que el fabricante de un procesador fuese tambin un fabricante de ordenadores podra echar para atrs a los clientes, por lo que
se decidi crear una nueva compaa llamada Advanced
RISC Machines, que sera la encargada del diseo y gestin de las nuevas generaciones de procesadores ARM.
Ocurra esto en el ao 1990.

La mayor utilizacin de la tecnologa ARM se alcanz


con el procesador ARM7TDMI, con millones de unidades en telfonos mviles y sistemas de videojuegos porttiles.
DEC licenci el diseo, lo cual gener algo de confusin debido a que ya produca el DEC Alpha, y cre el
StrongARM. Con una velocidad de reloj de 233 MHz, este procesador consuma solo 1 W de potencia (este consumo de energa se ha reducido en versiones ms recientes).
Esta tecnologa pas posteriormente a manos de Intel, como fruto de un acuerdo jurdico, que la integr en su lnea
de procesadores Intel i960 e hizo ms ardua la competencia.
Freescale (una empresa que deriv de Motorola en el ao
2004), IBM, Inneon Technologies, OKI, Texas Instruments, Nintendo, Philips, VLSI, Atmel, Sharp, Samsung
y STMicroelectronics tambin licenciaron el diseo bsico del ARM.
El diseo del ARM se ha convertido en uno de los ms
usados del mundo, desde discos duros hasta juguetes.
Hoy en da, cerca del 75% de los procesadores de 32 bits
poseen este chip en su ncleo.

2 Familias
3 Diseo
El juego de instrucciones del ARM es similar al del MOS
6502, pero incluye caractersticas adicionales que le permiten conseguir un mejor rendimiento en su ejecucin.
Para mantener el concepto tradicional de RISC, se estableci la ejecucin de una orden en un tiempo, por lo
general, de un ciclo. La caracterstica ms interesante es
el uso de los 4 bits superiores como cdigo de condicin,
haciendo que cualquier instruccin pueda ser condicional. Este corte reduce el espacio para algunos desplazamientos en el acceso a la memoria, pero permite evitar
perder ciclos de reloj en el pipeline al ejecutar pequeos
trozos de cdigo con ejecucin condicional. El ejemplo
tpico es el Mximo comn divisor, segn el algoritmo
de Euclides.

4.2

Jazelle

Ejemplo en C

4.2 Jazelle

int gcd(int i, int j) { while (i != j) if (i > j) i -= j; else j -=


ARM tiene implementada una tecnologa que permite
i; return i; }
que ciertos tipos de arquitecturas ejecuten Java bytecoExpresado en cdigo ensamblador ARM, el ciclo, inclu- de nativamente en el hardware. El primer procesador en
yendo una rotacin de operandos, puede expresarse del usar Jazelle fue el ARM926EJ-S, siendo denominados
siguiente modo:
con una J a todos los procesadores que soportaran esta
b test loop subgt Ri, Ri, Rj suble Rj, Rj, Ri test cmp Ri, tecnologa.
Rj bne loop
Otra caracterstica nica del juego de instrucciones es la
posibilidad de aadir shifts y rotar en el procesamiento
de datos (aritmtico, lgico y movimiento de registros),
por ejemplo, la instruccin en C a += (j << 2);" puede ser mejorada como una nica instruccin en el ARM,
permitiendo la reubicacin del registro.

5 Sistemas operativos

Todo esto ocasiona que se necesiten menos operaciones


de carga y almacenamiento, mejorando el rendimiento.
El procesador ARM tambin tiene algunas caractersticas
que son raras en otras arquitecturas tambin consideradas
RISC, como el direccionamiento relativo, y el pre y post
incremento en el modo de direccionamiento.
Tiene dos modos de funcionamiento: el ARMI con instrucciones que ocupan 4 bytes, ms rpidas y potentes
(hay instrucciones que slo estn en este modo) pero con
mayor consumo de memoria y de electricidad. Y el modo
THUMB, ms limitado, con instrucciones que ocupan 2
bytes y con menor consumo de corriente.

4
4.1

Tecnologas
Thumb

Los procesadores ms recientes traen un conjunto de instrucciones adicional llamado Thumb, de 16 bits (2 bytes)
de longitud por instruccin, en lugar de 32 bits (4 bytes)
como el juego estndar de ARM. Thumb es un subconjunto formado por las instrucciones que se usan con ms
frecuencia. Al tener la mitad de longitud, se consigue disminuir la cantidad de cdigo y mejorar su densidad. El
rendimiento puede ser superior a un cdigo de 32 bits
en donde el puerto de memoria o ancho del bus de comunicaciones son menores a 32 bits. Por lo general, en
las aplicaciones se inserta un pequeo rango de direcciones de memoria con un datapath de 32 bits (por ejemplo:
Game Boy Advance), y el resto son 16 bits en modo wide
o narrower.
El primer procesador con la tecnologa Thumb fue el
ARM7TDMI. Toda la familia posterior al ARM9, incluyendo el procesador Intel XScale, tienen incorporada la
tecnologa en su ncleo.

Android, un popular sistema operativo basado en GNU/Linux


que opera principalmente sobre arquitectura ARM, aunque tambin funciona en otras arquitecturas

5.1 Acorn systems


El primer ordenador personal basado en ARM es el Acorn
Archimedes que ejecutaba un sistema operativo provisional llamado Arthur, que se convirti en RISC OS, utilizado en posteriores modelos de Acorn y otros vendedores.

5 SISTEMAS OPERATIVOS

5.2

Sistemas operativos integrados

iPodLinux

La arquitectura ARM est soportada por un gran nmero de sistemas operativos integrados y de tiempo real,
incluyendo Windows CE, Windows 8 RT, .NET Micro
Framework, Symbian, ChibiOS/RT, FreeRTOS, eCos,
Integrity, Nucleus PLUS, MicroC/OS-II, QNX, RTEMS,
BRTOS, RTXC Quadros, ThreadX, Unison Operating
System, uTasker, VxWorks, MQX y OSE.[35]

Kali Linux

5.3

Slackware[49]

UNIX

Los sistemas que acreditan la especicacin estndar


UNIX y que soportan la arquitectura ARM son:

Maemo
MeeGo
Mer[47]
MontaVista[48]

T2 SDE[50]
TimeSys[51]

Solaris

Ubuntu[52][53]

Apple OS X (en proyecto)

webOS

5.4

Tipo UNIX

Las variantes de UNIX soportadas son:

Wind River Linux[54]


IPFire[55]
PicUntu[56]

BSD
Linux

5.4.2 BSD

Plan 9 from Bell Labs

Los siguientes sistemas BSD soportan los procesadores


ARM:

Apple iOS

FreeBSD[57]
5.4.1

Linux

Las siguientes distribuciones Linux soportan los procesadores ARM:


APEXAR PDK[36]

NetBSD[58]
OpenBSD[59]
RISC iX (slo sistemas basados en Acorn
ARM2/ARM3)

Android[37]
Arch Linux Arm[38]

5.5 Windows

ngstrm[39]

Microsoft anunci el 5 de enero de 2011 que la prxima


gran versin de la familia Windows NT (hoy Windows
8)[60] incluye soporte para procesadores ARM. Microsoft mostr una versin preliminar de Windows (versin
6.2.7867) que se ejecuta en un equipo basado en ARM en
el Consumer Electronics Show 2011.[61] La arquitectura
ARM tambin es soportada por los sistemas operativos
mviles de Microsoft, Windows Phone y Windows Mobile. ARM tambin es compatible con Windows Embedded CE que ahora se llama Windows Embedded Compact. Esta ltima versin soporta ARM 5,6 y 7. Windows
CE 5 es el sistema operativo subyacente para Windows
Mobile y Windows Embedded Compact 7 es el sistema
operativo subyacente para Windows Phone 7. El pequeo Microsoft OS.NET Microframework utiliza exclusivamente ARM.

CRUX ARM[40]
BackTrack
Chrome OS[41]
DSlinux
Debian[42]
ELinOS[43]
Fedora[44]
Gentoo[45]
GoboLinux[46]

5
El 29 de octubre de 2012 sali a la venta la tableta Surfa- [19] Samsung S3C6410 and S3C6430 Series ARM Proccessors. Samsung. Consultado el 8 de octubre de 2009., y el
ce de Microsoft la cual tiene un procesador ARM y utiQualcomm MSM7627 visto en el Palm Pixi y el Motorola
liza como sistema operativo Windows 8 RT, versin que
Calgary/Devour
no se puede descargar ni comprar ya que viene instalada
en tabletas con arquitectura ARM. Hay otra versin de [20] Merrit, Rick (21 de octubre de 2009). "ARM stretches
Windows 8 distinta a esta que es el Windows 8 PRO para
out with A5 core, graphics, FPGAs". EE Times. Consulcomputadoras x86.
tado el 28 de octubre de 2009.

Vase tambin
StrongARM

Referencias

[1] ARM Cores Climb Into 3G Territory by Mark Hachman, 2002.


[2] The Two Percent Solution by Jim Turley 2002.

[21] Clarke, Peter (3 de febrero de 2009). ARM tips plans for


Swift and Sparrow processor cores. EE Times. Consultado el 18 de abril de 2009.
[22] Segan, Sascha (9 de abril de 2009). ARMs Multicore
Chips Aim for Netbooks. PC Magazine. Consultado el
18 de abril de 2009.
[23] Benz, Benjamin (2 de febrero de 2010). Cortex Nachwuchs bei ARM. Heise.de. Consultado el 3 de mayo de
2010.
[24] Clarke, Peter (23 de febrero de 2009). ARM preps tiny
core for low-power microcontrollers. EE Times. Consultado el 30 de noviembre de 2009.

[3] ARMed for the living room.


[4] Fitzpatrick, J. (2011). An interview with Steve
Furber. Communications of the ACM 54 (5): 34.
doi:10.1145/1941487.1941501.
[5] ARM810 Dancing to the Beat of a Dierent Drum
ARM Holdings presentation at Hot Chips 1996-08-07.

[25] Walko, John (23 de marzo de 2009). NXP rst to demo


ARM Cortex-M0 silicon. EE Times. Consultado el 29 de
junio de 2009.
[26] http://www.triadsemi.com/services/arm-powered-vcas/
[27] Cortex-M0 used in low power touch controller

[6] Register 13, FCSE PID register ARM920T Technical Reference Manual

[28] http://www.design-reuse.com/news/22137/
arm-cortex-m0-processor.html

[7] Neo1973: GTA01Bv4 versus GTA02 comparison.


Consultado el 15 de noviembre de 2007.

[29] http://translate.google.co.uk/translate?hl=en&
sl=zh-TW&u=http://www.nuvoton.com/hq/enu/
NewsAndEvents/News/MediaCoverage/20091005.htm

[8] S3C2410. Consultado el 13 de enero de 2010.


[9] Rockbox Samsung SA58xxx series. Consultado el 22
de febrero de 2008.
[10] Rockbox Meizu M6 Port Hardware Information.
Consultado el 22 de febrero de 2008.
[11]
[12] STR9 STR912 STR912FW44 microcontroller documents and les download page. Mcu.st.com. Consultado el 18 de abril de 2009.
[13] Starlet.
[14] Benchmarks Albatross. Albatross-uav.org. 18 de junio de 2005. Consultado el 18 de abril de 2009.
[15] ARM1136J(F)-S ARM Processor. Arm.com. Consultado el 18 de abril de 2009.
[16] Qualcomm chips kernel ARM - from phones to laptops.
xi0.info. Consultado el 8 de mayo de 2010.

[30] http://www10.edacafe.com/nbc/articles/view_article.
php?articleid=752000
[31] http://www.arm.com/about/newsroom/
rohm-licenses-arm-cortex-m0-processor.php
[32] ARM Extends Cortex Family with First Processor Optimized for FPGA, ARM press release, March 19, 2007.
Retrieved April 11, 2007.
[33] ARM Cortex-M1, ARM product website. Retrieved
April 11, 2007.
[34] ARM Extends Cortex Family with First Processor Optimized for FPGA.
[35] Software Enablement. www.arm.com. ARM Ltd. Consultado el 18 de noviembre de 2010.
[36] APEXAR PDK. Consultado el 8 de noviembre de
2011.
[37] Android Source Code. Consultado el 1 de julio de 2011.

[17] Qualcomm MSM7227 RISC Chipset. pdadb.net. Consultado el 8 de mayo de 2010.


[18] GoForce 6100. Nvidia.com. Consultado el 18 de abril
de 2009.

[38] Arch Linux Arm. Consultado el 12 de noviembre de


2011.
[39] http://www.angstrom-distribution.org/

[40] CRUX Linux on ARM. Consultado el 1 de mayo de


2011.
[41] Womack, Brian (8 de julio de 2009). Google to Challenge Microsoft With Operating System. Bloomberg. Consultado el 8 de julio de 2009.
[42] Debian ARM Port. Consultado el 1 de junio de 2009.
[43] ELinOS supported boards. Consultado el 22 de abril de
2010.
[44] Architectures/ARM. Consultado el 1 de junio de 2009.
[45] Gentoo Linux ARM Development. Consultado el 1 de
junio de 2009.
[46] New release for ARM cpus. 25 de enero de 2007. Consultado el 17 de septiembre de 2009.
[47] Mer ARM builds. Consultado el 27 de noviembre de
2011.
[48] Platform Support for MontaVista Linux. Consultado el
16 de febrero de 2010.
[49] Slackware Linux for ARM. Consultado el 1 de junio de
2009.
[50] T2 SDE. Consultado el 12 de marzo de 2010.
[51] TimeSys. Consultado el 30 de septiembre de 2011.
[52] Ubuntu on Arm. Canonical Ltd. 2009. Consultado el 15
de junio de 2009.
[53] ARM. Consultado el 1 de junio de 2009.
[54] Wind River - Board Support Packages. Consultado el
16 de febrero de 2010.
[55] IPFire - Descargas.
[56] "PicUntu 4.5 For The Rockchip ARM-Based Processors
Has Been Release".
[57] FreeBSD/ARM Project. Consultado el 1 de junio de
2009.
[58] Hardware supported by NetBSD. Consultado el 1 de junio de 2009.
[59] OpenBSD/armish. Consultado el 1 de junio de 2009.
[60] Microsoft Says Faster ARM Chips Make Windows 8
'Natural Fit'. San Francisco Chronicle. 2 de junio de
2011. Consultado el 2 de junio de 2011.
[61] Microsoft demonstrates early build of Windows 8

Enlaces externos

Wikimedia Commons alberga contenido multimedia sobre Arquitectura ARM. Commons

ARM Ltd.

ENLACES EXTERNOS

Text and image sources, contributors, and licenses

9.1

Text

Arquitectura ARM Fuente: http://es.wikipedia.org/wiki/Arquitectura%20ARM?oldid=79739157 Colaboradores: Sabbut, Guevonaso,


Angus, Vivero, Avm, Gaben, Alejandro Matos, Alarga, Emijrp, Aadrover, RobotQuistnix, Superzerocool, BOT-Superzerocool, BOTijo,
Museo8bits, GermanX, Scostas, Gtz, Chlewbot, Bufalo 1973, Eldhion, CEM-bot, Magankie, -jem-, Frmerced, Thijs!bot, Srengel, Cratn,
TXiKiBoT, Rei-bot, Cinevoro, Aibot, VolkovBot, Muro Bot, SieBot, Bigsus-bot, DorganBot, Socram8888, Kikobot, Piero71, PixelBot,
Alecs.bot, Botito777, Portland, Ateocinico, Raulshc, Albambot, Mustela, Luckas-bot, Jotterbot, LioPPo, DSisyphBot, SuperBraulio13,
Xqbot, SassoBot, Rubinbot, FrescoBot, Damosu, Gonzad26, TiriBOT, TobeBot, RedBot, Kizar, TorQue Astur, Canyq, Cem-auxBOT,
EmausBot, Sergio Andres Segovia, J. A. Glvez, Grillitus, WeirdLarry, Diamondland, Gtk emmmm, Alexxxos, VR0, AleMaster23, Aronu, MetroBot, Invadibot, Johnbot, Elvisor, Helmy oved, Makecat-bot, Addbot, Jarould y Annimos: 97

9.2

Images

Archivo:ARM-HP-PRINTER.JPG Fuente: http://upload.wikimedia.org/wikipedia/commons/3/3a/ARM-HP-PRINTER.JPG Licencia:


CC BY 2.0 Colaboradores: Trabajo propio Artista original: Socram8888
Archivo:ARM_Logo.svg Fuente: http://upload.wikimedia.org/wikipedia/commons/5/5e/ARM_Logo.svg Licencia: Public domain Colaboradores: Transferred from de.wikipedia; transferred to Commons by User:Sapientiabot using CommonsHelper.
Artista original: Desconocido Original uploader was Afrank99 at de.wikipedia
Archivo:ARM_powered_Badge.svg Fuente: http://upload.wikimedia.org/wikipedia/commons/a/a1/ARM_powered_Badge.svg Licencia: Public domain Colaboradores: SVG erstellt durch de:Benutzer:Afrank99 Artista original: Desconocido
Archivo:Android_4.0.png Fuente: http://upload.wikimedia.org/wikipedia/commons/e/e7/Android_4.0.png Licencia: CC BY 2.5 Colaboradores: http://developer.android.com/sdk/android-4.0-highlights.html Artista original: Android Open Source project
Archivo:Commons-logo.svg Fuente: http://upload.wikimedia.org/wikipedia/commons/4/4a/Commons-logo.svg Licencia: Public domain
Colaboradores: This version created by Pumbaa, using a proper partial circle and SVG geometry features. (Former versions used to be slightly
warped.) Artista original: SVG version was created by User:Grunt and cleaned up by 3247, based on the earlier PNG version, created by
Reidab.
Archivo:Conexant_arm.jpg Fuente: http://upload.wikimedia.org/wikipedia/commons/f/f3/Conexant_arm.jpg Licencia: CC-BY-SA-3.0
Colaboradores: ? Artista original: ?

9.3

Content license

Creative Commons Attribution-Share Alike 3.0

Você também pode gostar