Está en la página 1de 11

Arquitectura ARM

Ir a la navegaci�nIr a la b�squeda

Logo

ARM Holdings

Procesador ARM en una impresora HP


ARM es una arquitectura RISC (Reduced Instruction Set Computer=Ordenador con
Conjunto Reducido de Instrucciones) de 32 bits y, con la llegada de su versi�n V8-
A, tambi�n de 64 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 y 64 bits m�s ampliamente utilizado en 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.

Un enfoque de dise�o basado en RISC permite que los procesadores ARM requieran una
cantidad menor de transistores que los procesadores x86 CISC, t�picos en la mayor�a
de ordenadores personales. Este enfoque de dise�o nos lleva, por tanto, a una
reducci�n de los costes, calor y energ�a. Estas caracter�sticas son deseables para
dispositivos que funcionan con bater�as, como los tel�fonos m�viles, tabletas, etc.

La relativa simplicidad de los procesadores ARM los hace ideales para aplicaciones
de baja potencia. Como resultado, se han convertido en los dominantes dentro del
mercado de la electr�nica m�vil e integrada, encarnados en microprocesadores y
microcontroladores peque�os, de bajo consumo y relativamente bajo costo. En 2005,
alrededor del 98% de los m�s de mil millones de tel�fonos m�viles 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 menci�n que no existe una tabla de equivalencias de rendimiento entre las
distintas tecnolog�as de procesadores4? que se utilizan generalmente en la
electr�nica de consumo, incluyendo PDA, tabletas, tel�fonos m�viles, tel�fonos
inteligentes, relojes inteligentes, videoconsolas port�tiles, calculadoras,
reproductores digitales multimedia (fotos, v�deos, etc.) y perif�ricos de ordenador
como discos duros y enrutadores.

La arquitectura ARM es licenciable. Esto significa que el negocio principal de ARM


Holdings es la venta de n�cleos IP (propiedad intelectual), estas licencias se
utilizan para crear microcontroladores y CPUs basados en este n�cleo. 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 trav�s 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.

Los procesadores ARM son desarrollados por ARM y los titulares de las licencias de
ARM. Prominentes familias de procesadores ARM desarrollados por ARM Holdings
incluyen el ARM7,V8-A ARM9, ARM11 y Cortex. Entre los procesadores ARM
desarrollados por firmas licenciatarias se 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 Medfield.

�ndice
1 Historia
2 Familias
3 Dise�o
4 Tecnolog�as
4.1 Thumb
4.2 Jazelle
5 Sistemas operativos
5.1 Acorn systems
5.2 Sistemas operativos integrados
5.3 UNIX
5.4 Tipo UNIX
5.4.1 Linux
5.4.2 BSD
5.5 Windows
6 V�ase tambi�n
7 Referencias
8 Enlaces externos
Historia

Microprocesador ARM en un router


El dise�o de la arquitectura ARM comenz� en 1983 como un proyecto de desarrollo por
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 raz�n era que Acorn ten�a una larga
l�nea de ordenadores personales basados en dicho microprocesador, por lo que ten�a
sentido desarrollar uno con el que los desarrolladores se sintieran c�modos.

El equipo termin� el dise�o preliminar y los primeros prototipos del procesador en


el a�o 1985, al que llamaron ARM1. La primera versi�n utilizada comercialmente se
bautiz� como ARM2 y se lanz� en el a�o 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, aprovech�ndose sus 4 bits superiores y los 2
inferiores para contener los flags de estado del procesador.

El ARM2 es probablemente el procesador de 32 bits �til m�s simple del mundo, ya que
posee s�lo 30.000 transistores. Su simplicidad se debe a que no est� basado en
microc�digo (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 com�n en aquella
�poca, no incluye cach�. Gracias a esto, su consumo en energ�a es bastante bajo, a
la vez que ofrece un mejor rendimiento que un 286. Su sucesor, el ARM3, incluye una
peque�a memoria cach� de 4 KB, lo que mejora los accesos a memoria repetitivos.

A finales de los a�os 1980, Apple Computer comenz� a trabajar con Acorn en nuevas
versiones del n�cleo ARM. En Acorn se dieron cuenta de que el hecho de que el
fabricante de un procesador fuese tambi�n un fabricante de ordenadores podr�a echar
para atr�s a los clientes, por lo que se decidi� crear una nueva compa��a llamada
Advanced RISC Machines, que ser�a la encargada del dise�o y gesti�n de las nuevas
generaciones de procesadores ARM. Ocurr�a esto en el a�o 1990.

Este trabajo deriv� en el ARM6, presentado en 1991. Apple utiliz� el ARM 610
(basado en el ARM6), como procesador b�sico para su innovador PDA, el Apple Newton.
Por su parte, Acorn lo utiliz� en 1994 como procesador principal en su RiscPC.

El n�cleo mantuvo su simplicidad a pesar de los cambios: en efecto, el ARM2 tiene


30.000 transistores, mientras que el ARM6 s�lo cuenta con 35.000. La idea era que
el usuario final combinara el n�cleo del ARM con un n�mero opcional de perif�ricos
integrados y otros elementos, pudiendo crear un procesador completo a la medida de
sus necesidades.
La mayor utilizaci�n de la tecnolog�a ARM se alcanz� con el procesador ARM7TDMI,
con millones de unidades en tel�fonos m�viles y sistemas de videojuegos port�tiles.

DEC licenci� el dise�o, lo cual gener� algo de confusi�n debido a que ya produc�a
el DEC Alpha, y cre� el StrongARM. Con una velocidad de reloj de 233 MHz, este
procesador consum�a solo 1 W de potencia (este consumo de energ�a se ha reducido en
versiones m�s recientes). Esta tecnolog�a pas� posteriormente a manos de Intel,
como fruto de un acuerdo jur�dico, que la integr� en su l�nea de procesadores Intel
i960 e hizo m�s ardua la competencia.

Freescale (una empresa que deriv� de Motorola en el a�o 2004), IBM, Infineon
Technologies, OKI, Texas Instruments, Nintendo, Philips, VLSI, Atmel, Sharp,
Samsung y STMicroelectronics tambi�n licenciaron el dise�o b�sico del ARM.

El dise�o del ARM se ha convertido en uno de los m�s usados del mundo, desde discos
duros hasta juguetes. Hoy en d�a, cerca del 75% de los procesadores de 32 bits
poseen este chip en su n�cleo.

Familias
Familia Versi�n de Arquitectura N�cleo Caracter�sticas Cache (I/D)/MMU
MIPS efectivos @ MHz Campos de Aplicaci�n
ARM1 ARMv1 (obsoleto) ARM1 Nulo ARM Evaluation System segundo
procesador para BBC Micro
ARM2 ARMv2 (obsoleto) ARM2 A�adida instrucci�n MUL (multiplicar) Nulo 4 MIPS
@ 8 MHz
0.33 DMIPS/MHz Acorn Archimedes, Chessmachine
ARMv2a (obsoleto) ARM250 Integrado MEMC (MMU), gr�ficos y un procesador de E /
S. A�adidas instrucciones SWP y SWPB (swap). Nulo, MEMC1a 7 MIPS @ 12 MHz
Acorn Archimedes
ARM3 ARMv2a (obsoleto) ARM2a Primera integraci�n de una memoria cach� en un ARM.
4K unificados 12 MIPS @ 25 MHz
0.50 DMIPS/MHz Acorn Archimedes
ARM6 ARMv3 (obsoleto) ARM60 Soporte de direcci�n de memoria de 32 bits (frente a
los 26 bits) Nulo 10 MIPS @ 12 MHz 3DO Interactive Multiplayer, Zarlink GPS
Receiver
ARM600 Como ARM60, cach� y un bus cooprocesador (para la unidad de coma
flotante FPA10). 4K unificados 28 MIPS @ 33 MHz
ARM610 Como ARM60, cach�, sin bus coprocesador. 4K unificados 17 MIPS @ 20
MHz
0.65 DMIPS/MHz Acorn Risc PC 600, Apple Newton Serie 100
ARM7 ARMv3 (obsoleto) ARM700 8 KB unificados 40 MHz Acorn Risc
PC prototipo de CPU card
ARM710 Como ARM700 8 KB unificados 40 MHz Acorn Risc PC 700
ARM710a Como ARM700 8 KB unificados 40 MHz
0.68 DMIPS/MHz Acorn Risc PC 700, Apple eMate 300
ARM7100 Como ARM710a, SoC integrado. 8 KB unificados 18 MHz Psion Series
5
ARM7500 Como ARM710a, SoC integrado. 4 KB unificados 40 MHz Acorn A7000
ARM7500FE ARM7500, "FE" a�adido un FPA y un controlador de memoria EDO. 4 KB
unificados 56 MHz
0.73 DMIPS/MHz Acorn A7000+ Network Computer
ARM7TDMI ARMv4T ARM7TDMI(-S) Segmentaci�n de 3 etapas, Thumb nulo
15 MIPS @ 16.8 MHz
63 DMIPS @ 70 MHz Game Boy Advance, Nintendo DS, Apple iPod, Lego NXT, Atmel
AT91SAM7, Juice Box, NXP Semiconductors LPC2000 and LH754xx, Actel's CoreMP7
ARM710T ARM7TDMI, cach� 8 KB unificados, MMU 36 MIPS @ 40 MHz Psion Series
5mx, Psion Revo/Revo Plus/Diamond Mako
ARM720T ARM7TDMI, cach� 8 KB unificados, MMU con FCSE 60 MIPS @ 59.8 MHz
Zipit Wireless Messenger, NXP Semiconductors LH7952x
ARM740T ARM7TDMI, cach� MPU
ARMv5TEJ ARM7EJ-S Segmentaci�n de 5 etapas, Thumb, Jazelle DBX, mejora de
instruciones DSP nulo
StrongARM ARMv4 SA-110 16 KB/16 KB, MMU 203 MHz
1.0 DMIPS/MHz Apple Newton serie 2x00, Acorn Risc PC, Rebel/Corel Netwinder,
Chalice CATS
SA-1100 SA-110, SoC integrado 16 KB/8 KB, MMU 203 MHz Psion netBook
SA-1110 SA-110, SoC integrado 16 KB/8 KB, MMU 206 MHz LART (computer),
Intel Assabet, Ipaq H36x0, Balloon2, Zaurus SL-5x00, HP Jornada 7xx, Jornada 560
series, Palm Zire 31
ARM8 ARMv4 ARM8105? Segmentaci�n de 5 fases, predilecci�n de salto est�tico,
memoria de doble ancho de banda 8 KB unificados, MMU 84 MIPS @ 72 MHz
1.16 DMIPS/MHz Acorn Risc PC prototipo de CPU card
ARM9TDMI ARMv4T ARM9TDMI Segmentaci�n de 5 fases, Thumb nulo
ARM920T ARM9TDMI, cach� 16 KB/16 KB, MMU con FCSE (Fast Context Switch
Extension)6? 200 MIPS @ 180 MHz Armadillo, Atmel AT91SAM9, GP32, GP2X
(primer n�cleo), Tapwave Zodiac (Motorola i. MX1), Hewlett-Packard Calculadoras HP-
49/50, Sun SPOT, Cirrus Logic EP9302, EP9307, EP9312, EP9315, Samsung S3C2442 (HTC
TyTN, FIC Neo FreeRunner7?), Samsung S3C2410 (Dispositivos de navegaci�n TomTom)8?
ARM922T ARM9TDMI, cach�s 8 KB/8 KB, MMU NXP Semiconductors LH7A40x
ARM940T ARM9TDMI, cach�s 4 KB/4 KB, MPU GP2X (segundo n�cleo), Meizu
M6 Mini Player9?10?
ARM9E ARMv5TE ARM946E-S Thumb, mejora de instrucciones DSP, cach� variables,
memoria estrechamente acoplada, MPU Nintendo DS, Nokia N-Gage, Canon
PowerShot A470, Canon EOS 5D Mark II,11? Conexant 802.11 chips, Samsung S5L2010
ARM966E-S Thumb, Mejora de instrucciones DSP sin cach�, TCMs ST Micro
STR91xF, integra Ethernet12?
ARM968E-S ARM966E-S sin cach�, TCMs NXP Semiconductors LPC2900
ARMv5TEJ ARM926EJ-S Thumb, Jazelle DBX, Mejora de instrucciones DSP variables,
TCMs, MMU 220 MIPS @ 200 MHz, Tel�fonos m�viles: Sony Ericsson (K, W series);
Siemens y Benq (serie x65 y posterior); LG Arena; Texas Instruments OMAP1710,
OMAP1610, OMAP1611, OMAP1612, OMAP-L137, OMAP-L138; Qualcomm MSM6100, MSM6125,
MSM6225, MSM6245, MSM6250, MSM6255A, MSM6260, MSM6275, MSM6280, MSM6300, MSM6500,
MSM6800; Freescale i.MX21, i.MX27, Atmel AT91SAM9, NXP Semiconductors LPC3000, GPH
Wiz, NEC C10046F5-211-PN2-A SoC � n�cleo en la ATi Hollywood GPU usada en la
Wii,13? Samsung S3C2412 usado en Squeezebox Duet's Controller. Squeezebox Radio;
NeoMagic MiMagic Family MM6, MM6+, MM8, MTV; Buffalo TeraStation Live (NAS);
Telechips TCC7801, TCC7901;ZiiLABS' ZMS-05 SoC; Western Digital MyBook "I World
Edition"; Rockchip RK2806 y RK2808.
ARMv5TE ARM996HS Procesador sin reloj, como ARM966E-S sin cach�s, TCMs,
MPU
ARM10E ARMv5TE ARM1020E Segmentaci�n de 6 fases, Thumb, Mejora de
instrucciones DSP, (VFP) 32 KB/32 KB, MMU
ARM1022E ARM1020E 16 KB/16 KB, MMU
ARMv5TEJ ARM1026EJ-S Thumb, Jazelle DBX, Mejora de instrucciones DSP, (VFP)
variable, MMU o MPU Western Digital MyBook "II World
Edition";Conexant so4610 y so4615 ADSL SoC
XScale ARMv5TE 80200/IOP310/IOP315 Procesador E/S, Thumb, Mejora de
instrucciones DSP
80219 400/600 MHz Thecus N2100
IOP321 600 BogoMips @ 600 MHz Iyonix
IOP33x
IOP34x 1�2 n�cleos, Acelerador de RAID 32K/32K L1, 512K L2, MMU
PXA210/PXA250 Procesador de aplicaciones, Segmentaci�n de 7 fases
PXA210: 133 y 200 MHz, PXA250: 200, 300, and 400 MHz Zaurus SL-5600, iPAQ
H3900, Sony CLI� NX60, NX70V, NZ90
PXA255 32KB/32KB, MMU 400 BogoMips @ 400 MHz; 371�533 MIPS @ 400
MHz14? Gumstix basix & connex, Palm Tungsten E2, Zaurus SL-C860, Mentor Ranger
& Stryder, iRex ILiad
PXA263 200, 300 y 400 MHz Sony CLI� NX73V, NX80V
PXA26x default 400 MHz, m�s de 624 MHz Palm Tungsten T3
PXA27x Procesador de Aplicaciones 32 KB/32 KB, MMU 800 MIPS @ 624 MHz
Gumstix verdex,"Trizeps-Modules" PXA270 COM, HTC Universal, HP hx4700, Zaurus
SL-C1000, 3000, 3100, 3200, Dell Axim x30, x50, and x51 series, Motorola Q,
Balloon3, Trolltech Greenphone, Palm TX(312MHz), Motorola Ezx Platform A728, A780,
A910, A1200, E680, E680i, E680g, E690, E895, Rokr E2, Rokr E6, Fujitsu Palm Zire 72
(PXA270), Siemens LOOX N560, Toshiba Port�g� G500, Treo 650-755p, Zipit Z2, HP iPaq
614c Business Navigator.
PXA800(E)F
PXA3XX (nombre en clave "Monahans") 32KB/32KB L1, TCM, MMU 1000 MIPS @ 1.25
GHz Samsung Omnia
PXA900 Blackberry 8700, Blackberry Pearl (8100)
IXC1100 Procesador de control de vuelo
IXP2400/IXP2800
IXP2850
IXP2325/IXP2350
IXP42x NSLU2 IXP460/IXP465
ARM11 ARMv6 ARM1136J(F)-S15? Segmentaci�n de 8 etapas, SIMD, Thumb, Jazelle DBX,
(VFP), Mejora de instrucciones DSP variable, MMU 740 @ 532�665 MHz (i.MX31
SoC), 400�528 MHz Texas Instruments OMAP2420 (Nokia E90, Nokia N93, Nokia N95,
Nokia N82), Zune, BUGbase[2], Nokia N800, Nokia 500, Nokia N810, Qualcomm MSM7200
(con coprocesador ARM926EJ-S@274 MHz, usado en Eten Glofiish, HTC TyTN II, HTC
Nike), Freescale i.MX31 (del Zune original de 30 GB, Toshiba Gigabeat S y Kindle
DX), Freescale MXC300-30 (Nokia E63, Nokia E71, Nokia 5800, Nokia E51, Nokia 6700
Classic, Nokia 6120 Classic, Nokia 6210 Navigator, Nokia 6220 Classic, Nokia 6290,
Nokia 6710 Navigator, Nokia 6720 Classic, Nokia E75, Nokia N97, Nokia N81),
Qualcomm MSM7201A visto en los HTC Dream, HTC Magic, Motorola Z6, HTC Hero, &
Samsung SGH-i627 (Propel Pro), Qualcomm MSM7227 usado en ZTE Link,16?17?
ARMv6T2 ARM1156T2(F)-S Segmentaci�n de 9 etapas, SIMD, Thumb-2, (VFP),
Mejora de instrucciones DSP variable, MPU
ARMv6KZ ARM1176JZ(F)-S ARM1136EJ(F)-S variable, MMU+TrustZone Apple
iPhone (EDGE y 3G), Apple iPod touch (1.� y 2.� generaci�n), Conexant CX2427X,
Motorola RIZR Z8, Motorola RIZR Z10, NVIDIA GoForce 6100;18? Telechips TCC9101,
TCC9201, TCC8900, Fujitsu MB86H60, Samsung S3C6410 (ej. Samsung Omnia II, Samsung
Moment, SmartQ 5), S3C6430,19? Raspberry Pi
ARMv6K ARM11 MPCore As ARM1136EJ(F)-S, 1�4 core SMP variable, MMU
Nvidia APX 2500, Familia Nintendo 3DS
Familia Versi�n de arquitectura N�cleo Caracter�sticas Cach� (I/D)/MMU
MIPS efectivos @ MHz Campo de aplicaci�n
Cortex ARMv7-A Cortex-A5 VFP, NEON, Jazelle RCT and DBX, Thumb-2,
Segmentaci�n de 8 fases, 1�4 n�cleos SMP variable (L1), MMU+TrustZone M�s de 1500
(1.5 DMIPS/MHz) "Sparrow" (nombre en clave)20?21?22?
Cortex-A8 VFP, NEON, Jazelle RCT, Thumb-2, Segmentaci�n Superscalar de 13 etapas
variable (L1+L2), MMU+TrustZone M�s de 2000 (2.0 DMIPS/MHz de reloj desde
600 MHz hasta m�s de 1 GHz) Texas Instruments serie OMAP3xxx, SBM7000, Oregon
State University OSWALD, Gumstix Overo Earth, Pandora, Apple iPhone 3GS, Apple iPod
touch (3rd Generation), Apple iPad (SoCApple A4), Apple iPhone 4 (Soc Apple A4,
fabricado por Samsung e Intrensity), Archos 5, FreeScale i.MX51-SOC, BeagleBoard,
Motorola Milestone, Motorola Milestone X, Palm Pre, Samsung Omnia HD, Samsung Wave
S8500 (Hummingbird), Samsung i9000 Galaxy S (Hummingbird), Sony Ericsson Satio,
Touch Book, Nokia N900, Meizu M9, ZiiLABS ZMS-08 SoC.
Qualcomm Scorpion GPU Adreno 200, VFPv3, NEON, Jazelle RCT, Thumb-2, Segmentaci�n
Superscalar de 13 etapas, variable (L1+L2), MMU+TrustZone M�s de 2000 (2.0
DMIPS/MHz de reloj desde 1 GHz hasta m�s de 1,5 GHz dual core) Toshiba TG01, HTC
Desire, Google Nexus One, HTC EVO 4G, HTC Incredible, HTC Scorpion, HTC HD2, HTC
HD7 Sony Ericsson Xperia ARC/ARC S
Cortex-A9 Perfil de aplicaciones, (VFP), (NEON), Jazelle RCT y DBX, Thumb-2, Out-
of-order speculative issue superscalar MMU+TrustZone 2.5 DMIPS/MHz Acer
Iconia A200, Galaxy Nexus, Motorola RAZR
Cortex-A9 MPCore Cortex-A9, 1�4 n�cleos SMP MMU+TrustZone 10,000 DMIPS @ 2
GHz optimizados en TSMC 40G (Doble n�cleo) (2.5 DMIPS/MHz por n�cleo) Texas
Instruments OMAP4430/4440, ST-Ericsson U8500, Nvidia Tegra2, Qualcomm Snapdragon
8X72 PlayStation Vita, Samsung Galaxy S II (Exynos 4210), Samsung Galaxy S III
(Exynos 4212)
ARMv7-R Cortex-R4(F) Perfil Embebido, Thumb-2, (FPU) variable cach�,
MPU opcional 600 DMIPS @ 475 MHz Broadcom, TMS570 from Texas Instruments
ARMv7-ME Cortex-M4 (nombre en clave "Merlin")23? Perfil microcontrolador,
Thumb y Thumb-2, FPU. MAC, SIMD e instrucciones divididas. MPU opcional. 1.25
DMIPS/MHz
ARMv7-M Cortex-M3 Perfil microcontrolador, Thumb-2 �nicamente. Reparto de
instrucciones por Hardware. sin cach�, MPU opcional. 125 DMIPS @ 100 MHz
Texas Instruments Stellaris microcontroller family, ST Microelectronics
STM32, NXP Semiconductors LPC1700, Toshiba TMPM330FDFG, Ember's EM3xx Series, Atmel
AT91SAM3, Europe Technologies EasyBCU, Energy Micro's EFM32, Actel's SmartFusion
ARMv6-M Cortex-M0 (nombre en clave "Swift")24? Perfil microcontrolador,
Thumb-2 subset (instrucciones 16-bit Thumb & BL, MRS, MSR, ISB, DSB, and DMB).
Sin cach�. 0.9 DMIPS/MHz NXP Semiconductors NXP LPC1100,25? Triad
Semiconductor,26? Melfas,27? Chungbuk Technopark,28? Nuvoton,29?
austriamicrosystems,30? Rohm31?
Cortex-M1 FPGA targeted, Microcontroller profile, Thumb-2 subset (instrucciones
16-bit Thumb & BL, MRS, MSR, ISB, DSB, and DMB). Sin M�s de 136 DMIPS @ 170
MHz32? (0.8 DMIPS/MHz,33? MHz achievable FPGA-dependent) Actel ProASIC3,
ProASIC3L, IGLOO and Fusion PSC devices, Altera Cyclone III, otros productos FPGA
est�n soportados, por ejemplo: Synplicity
34?

Familia Versi�n de Arquitectura N�cleo Caracter�sticas Cach� (I/D)/MMU


MIPS efectivos @ MHz Campo de Aplicaci�n
Dise�o
El juego de instrucciones del ARM es similar al del MOS 6502, pero incluye
caracter�sticas adicionales que le permiten conseguir un mejor rendimiento en su
ejecuci�n. Para mantener el concepto tradicional de RISC, se estableci� la
ejecuci�n de una orden en un tiempo, por lo general, de un ciclo. La caracter�stica
m�s interesante es el uso de los 4 bits superiores como c�digo de condici�n,
haciendo que cualquier instrucci�n 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 peque�os trozos de c�digo con
ejecuci�n condicional. El ejemplo t�pico es el M�ximo com�n divisor, seg�n el
algoritmo de Euclides.

Ejemplo en C:

while (i != j) // Ingresa en el ciclo cuando i<j o i>j, no cuando i==j


{
if (i > j) // Cuando i>j realiza lo siguiente
i -= j;
else // en otro cso, realiza lo siguiente
j -= i;
}
En cambio con c�digo ensamblador ARM, el ciclo puede hacerse m�s eficiente
haciendo:

loop:
// Compara i y j
GT = i > j;
LT = i < j;
NE = i != j;
// Operaciones mejoradas usando resultados de flags
if(GT) i -= j; // Sustrae *solo* si es mayor
if(LT) j -= i; // Sustrae *solo* si es menor
if(NE) goto loop; // Ciclo *solo* si los valores comparados no son iguales
y esto se codifica como:

loop: CMP Ri, Rj ; establece la condicion "NE" if (i != j),


; "GT" si (i > j),
; o "LT" si (i < j)
SUBGT Ri, Ri, Rj ; si "GT" (Mayor que), i = i-j;
SUBLT Rj, Rj, Ri ; si "LT" (Menor que), j = j-i;
BNE loop ; si "NE" (No igual), entonces realiza el ciclo

Otra caracter�stica �nica del juego de instrucciones es la posibilidad de a�adir


shifts y rotar en el procesamiento de datos (aritm�tico, l�gico y movimiento de
registros), por ejemplo, la instrucci�n en C "a += (j << 2);" puede ser mejorada
como una �nica instrucci�n en el ARM, permitiendo la reubicaci�n del registro.

Todo esto ocasiona que se necesiten menos operaciones de carga y almacenamiento,


mejorando el rendimiento.

El procesador ARM tambi�n tiene algunas caracter�sticas que son raras en otras
arquitecturas tambi�n 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,
m�s r�pidas y potentes (hay instrucciones que s�lo est�n en este modo) pero con
mayor consumo de memoria y de electricidad. Y el modo THUMB, m�s limitado, con
instrucciones que ocupan 2 bytes y con menor consumo de corriente.

Tecnolog�as
Thumb
Los procesadores m�s recientes traen un conjunto de instrucciones adicional llamado
Thumb, de 16 bits (2 bytes) de longitud por instrucci�n, en lugar de 32 bits (4
bytes) como el juego est�ndar de ARM. Thumb es un subconjunto formado por las
instrucciones que se usan con m�s frecuencia. Al tener la mitad de longitud, se
consigue disminuir la cantidad de c�digo y mejorar su densidad. El rendimiento
puede ser superior a un c�digo 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 peque�o 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 tecnolog�a Thumb fue el ARM7TDMI. Toda la familia


posterior al ARM9, incluyendo el procesador Intel XScale, tienen incorporada la
tecnolog�a en su n�cleo.

Jazelle
ARM tiene implementada una tecnolog�a que permite que ciertos tipos de
arquitecturas ejecuten Java bytecode nativamente en el hardware. El primer
procesador en usar Jazelle fue el ARM926EJ-S, siendo denominados con una J a todos
los procesadores que soportaran esta tecnolog�a.

Sistemas operativos
Captura de pantalla de Android, un popular sistema operativo basado en el kernel
Linux que opera principalmente sobre la arquitectura ARM.
Android, un popular sistema operativo basado en el kernel Linux35?36? que opera
principalmente sobre la arquitectura ARM.
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.

Sistemas operativos integrados


La arquitectura ARM est� soportada por un gran n�mero 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.37?

UNIX
Los sistemas que acreditan la especificaci�n est�ndar UNIX y que soportan la
arquitectura ARM son:

Solaris
Apple macOS
Tipo UNIX
Las variantes de UNIX soportadas son:

BSD
Linux
Plan 9 from Bell Labs
Apple iOS
Linux
Las siguientes distribuciones Linux soportan los procesadores ARM:

APEXAR PDK38?
Android39?
Arch Linux Arm40?
�ngstr�m41?
CRUX ARM42?
BackTrack
Chrome OS43?
DSlinux
Debian44?
ELinOS45?
Fedora46?
Gentoo47?
GoboLinux48?
iPodLinux
Kali Linux
Maemo
MeeGo
Mer49?
MontaVista50?
Slackware51?
T2 SDE52?
TimeSys53?
Ubuntu54?55?
Void Linux
webOS
Wind River Linux56?
IPFire57?
PicUntu58?
BSD
Los siguientes sistemas BSD soportan los procesadores ARM:

FreeBSD59?
NetBSD60?
OpenBSD61?
RISC iX (s�lo sistemas basados en Acorn ARM2/ARM3)
Windows
Microsoft anunci� el 5 de enero de 2011 que la pr�xima gran versi�n de la familia
Windows NT (hoy Windows 8)62? incluye soporte para procesadores ARM. Microsoft
mostr� una versi�n preliminar de Windows (versi�n 6.2.7867) que se ejecuta en un
equipo basado en ARM en el Consumer Electronics Show 2011.63? La arquitectura ARM
tambi�n es soportada por los sistemas operativos m�viles de Microsoft, Windows
Phone y Windows Mobile. ARM tambi�n es compatible con Windows Embedded CE que ahora
se llama Windows Embedded Compact. Esta �ltima versi�n 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 peque�o
Microsoft OS.NET Microframework utiliza exclusivamente ARM.

El 29 de octubre de 2012 sali� a la venta la tableta Surface de Microsoft la cual


tiene un procesador ARM y utiliza como sistema operativo Windows 8 RT, versi�n que
no se puede descargar ni comprar ya que viene instalada en tabletas con
arquitectura ARM. Hay otra versi�n de Windows 8 distinta a esta que es el Windows 8
PRO para computadoras x86.

Recientemente se ha estado trabajando en un emulador de Windows 10 de arquitectura


de x86 para procesadores ARM en una marca de procesadores en espec�fico.

V�ase tambi�n
StrongARM
Referencias
"ARM Cores Climb Into 3G Territory" by Mark Hachman, 2002.
"The Two Percent Solution"
Archivado el 26 de septiembre de 2007 en la Wayback Machine. by Jim Turley 2002.
"ARMed for the living room".
Fitzpatrick, J. (2011). �An interview with Steve Furber�. Communications of the
ACM 54 (5): 34. doi:10.1145/1941487.1941501.
"ARM810 � Dancing to the Beat of a Different Drum" ARM Holdings presentation at
Hot Chips 1996-08-07.
Register 13, FCSE PID register ARM920T Technical Reference Manual
�Neo1973: GTA01Bv4 versus GTA02 comparison�. Consultado el 15 de noviembre de
2007.
�S3C2410�. Consultado el 13 de enero de 2010.
�Rockbox Samsung SA58xxx series�. Consultado el 22 de febrero de 2008.
�Rockbox Meizu M6 Port � Hardware Information�. Consultado el 22 de febrero de
2008.
[1]
�STR9 � STR912 � STR912FW44 microcontroller � documents and files download page�.
Mcu.st.com. Archivado desde el original el 10 de febrero de 2007. Consultado el 18
de abril de 2009.
Starlet.
�Benchmarks � Albatross�. Albatross-uav.org. 18 de junio de 2005. Archivado desde
el original el 2 de agosto de 2009. Consultado el 18 de abril de 2009.
�ARM1136J(F)-S � ARM Processor�. Arm.com. Consultado el 18 de abril de 2009.
�Qualcomm chips kernel ARM - from phones to laptops�. xi0.info. Consultado el 8 de
mayo de 2010.
�Qualcomm MSM7227 RISC Chipset�. pdadb.net. Consultado el 8 de mayo de 2010.
�GoForce 6100�. Nvidia.com. Consultado el 18 de abril de 2009.
�Samsung S3C6410 and S3C6430 Series ARM Proccessors�. Samsung. Archivado desde el
original el 1 de septiembre de 2009. Consultado el 8 de octubre de 2009., y el
Qualcomm MSM7627 visto en el Palm Pixi y el Motorola Calgary/Devour
Merrit, Rick (21 de octubre de 2009). �"ARM stretches out with A5 core, graphics,
FPGAs"�. EE Times. Consultado el 28 de octubre de 2009.
Clarke, Peter (3 de febrero de 2009). �ARM tips plans for Swift and Sparrow
processor cores�. EE Times. Archivado desde el original el 13 de marzo de 2012.
Consultado el 18 de abril de 2009.
Segan, Sascha (9 de abril de 2009). �ARM's Multicore Chips Aim for Netbooks�. PC
Magazine. Consultado el 18 de abril de 2009.
Benz, Benjamin (2 de febrero de 2010). �Cortex Nachwuchs bei ARM�. Heise.de.
Consultado el 3 de mayo de 2010.
Clarke, Peter (23 de febrero de 2009). �ARM preps tiny core for low-power
microcontrollers�. EE Times. Consultado el 30 de noviembre de 2009.
Walko, John (23 de marzo de 2009). �NXP first to demo ARM Cortex-M0 silicon�. EE
Times. Consultado el 29 de junio de 2009.
https://web.archive.org/web/20110716112427/http://www.triadsemi.com/services/arm-
powered-vcas/
Cortex-M0 used in low power touch controller
http://www.design-reuse.com/news/22137/arm-cortex-m0-processor.html
http://translate.google.co.uk/translate?hl=en&sl=zh-
TW&u=http://www.nuvoton.com/hq/enu/NewsAndEvents/News/MediaCoverage/20091005.htm
http://www10.edacafe.com/nbc/articles/view_article.php?articleid=752000
http://www.arm.com/about/newsroom/rohm-licenses-arm-cortex-m0-processor.php
"ARM Extends Cortex Family with First Processor Optimized for FPGA", ARM press
release, March 19, 2007. Retrieved April 11, 2007.
"ARM Cortex-M1", ARM product website. Retrieved April 11, 2007.
ARM Extends Cortex Family with First Processor Optimized for FPGA.
Richard Stallman. �Android y la libertad de los usuarios�. www.gnu.org. Consultado
el 24 de diciembre de 2016.
Richard Stallman. �Preguntas frecuentes sobre GNU/Linux�. www.gnu.org. Consultado
el 24 de diciembre de 2016.
�Software Enablement�. www.arm.com. ARM Ltd. Archivado desde el original el 16 de
noviembre de 2010. Consultado el 18 de noviembre de 2010.
�APEXAR PDK�. Consultado el 8 de noviembre de 2011.
�Android Source Code�. Consultado el 1 de julio de 2011.
�Arch Linux Arm�. Consultado el 12 de noviembre de 2011.
http://www.angstrom-distribution.org/
�CRUX Linux on ARM�. Consultado el 1 de mayo de 2011.
Womack, Brian (8 de julio de 2009). �Google to Challenge Microsoft With Operating
System�. Bloomberg. Consultado el 8 de julio de 2009.
�Debian ARM Port�. Consultado el 1 de junio de 2009.
�ELinOS supported boards�. Consultado el 22 de abril de 2010.
�Architectures/ARM�. Consultado el 1 de junio de 2009.
�Gentoo Linux ARM Development�. Consultado el 1 de junio de 2009.
�New release for ARM cpus�. 25 de enero de 2007. Archivado desde el original el 20
de julio de 2011. Consultado el 17 de septiembre de 2009.
�Mer ARM builds�. Archivado desde el original el 20 de enero de 2012. Consultado
el 27 de noviembre de 2011.
�Platform Support for MontaVista Linux�. Consultado el 16 de febrero de 2010.
�Slackware Linux for ARM�. Archivado desde el original el 21 de agosto de 2011.
Consultado el 1 de junio de 2009.
�T2 SDE�. Consultado el 12 de marzo de 2010.
�TimeSys�. Consultado el 30 de septiembre de 2011.
�Ubuntu on Arm�. Canonical Ltd. 2009. Consultado el 15 de junio de 2009.
�ARM�. Consultado el 1 de junio de 2009.
�Wind River - Board Support Packages�. Consultado el 16 de febrero de 2010.
�IPFire - Descargas�.
�"PicUntu 4.5 For The Rockchip ARM-Based Processors Has Been Release"�.
�FreeBSD/ARM Project�. Consultado el 1 de junio de 2009.
�Hardware supported by NetBSD�. Consultado el 1 de junio de 2009.
�OpenBSD/armish�. Consultado el 1 de junio de 2009.
�Microsoft Says Faster ARM Chips Make Windows 8 'Natural Fit'�. San Francisco
Chronicle. 2 de junio de 2011. Archivado desde el original el 6 de junio de 2011.
Consultado el 2 de junio de 2011.
Microsoft demonstrates early build of Windows 8
Archivado el 1 de noviembre de 2012 en la Wayback Machine.

También podría gustarte