Las arquitecturas ARM que forman los procesadores, tienen una gran importancia dentro del mundo de la computacin debido a sus avances en cuanto a consumo y rendimiento. A razn de las licencias que concede sobre sus arquitecturas, ha crecido rpidamente ganando superioridad en el mercado de los microcomputadores y electrnica de consumo. Este informe se ha elaborado con el fin de describir y conocer esta arquitectura, incluyendo su historia, su licenciamiento las tecnologas que esta usa y algunos de los ejemplos ms destacados de las familias de estos procesadores.
3
1. ARQUITECTURA ARM
ARM es una arquitectura RISC (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 unidades producidas. Concebida originalmente por Acorn Computers para su uso en ordenadores personales. Los procesadores de la familia ARM son unos de los ms distribuidos, se puede afirmar que conforman el corazn de los gadgets ms vendidos actualmente. Aparatos como el popular iPad, los telfonos y tabletas Android o los populares Samsung Galaxy son tan solo parte de los aparatos con micro ARM incorporado. 1.1 Historia: Acorn Computer fue el fabricante de los equipos Micro BBC, que utilizaban un procesador MOS 6502. El nuevo proyecto de esta empresa comenz en Octubre de 1983 donde se buscaba un procesador con una arquitectura similar a la del MOS 6502, pero ms avanzada, para hacer competencia al IBM PC lanzado en 1981. La eleccin de este procesador es porque la empresa Acorn ya contaba con una extensa lnea de ordenadores personales basados en este y as se conseguira que los desarrolladores de software se sintieran cmodos en su trabajo. El primer procesador ARM se fabric en abril de 1985, se bautiz como ARM1, aunque slo fue una prueba y no se us comercialmente. Para el mercado se cre el ARM2 en 1986. Su primer uso fue para los BBC Micro1. Este ARM2 destacaba por sus 32 bits de bus de datos, bus de direcciones de 26 bits y 16 registros de 32 bits. Los 26 bits del bus de direcciones limitaba la zona de memoria de programas a 64 MB (226). Los 6 bits restantes hasta 32 fueron utilizados como flags de estados. Probablemente el ARM2 fue el procesador de 32 bits ms simple y til del mundo, ya que slo contaba con 30.000 transistores (el Motorola 68000, tambin de los aos 80, deba su nombre al nmero de transistores). Esta simplicidad en gran medida es debida a no tener microcdigo ni memoria cach. Su sucesor, el ARM3, contaba con 4 KB de memoria cach, que mejoraba bastante su rendimiento. La empresa ARM comenz a trabajar con Apple y a principios de 1992 lanzaron el ARM6. Apple lo utiliz como base para su PDA Apple Newton'. La empresa DEC licenci esta arquitectura y produjo el StrongARM. Este ltimo procesador funcionaba a una
4
frecuencia de 233Mhz y consuma slo 1 vatio. Es considerado el primer procesador RISC fabricado comercialmente.
1.2 Beneficios
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 coste. En 2005, alrededor del 98% de los ms de mil millones de telfonos mviles vendidos cada ao utilizan al menos un procesador ARM.3 Desde 2009, los procesadores ARM son aproximadamente el 90% de todos los procesadores RISC de 32 bits integrados4 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.
1.3 Licencias
Acorn hizo sus arquitecturas licenciables, esto es, ellos venden el ncleo de la arquitectura y con unos pocos cambios en el diseo se poda construir microcontroladores o CPUs completas basadas en este. El gran xito de esto radica en que con estos pequeos cambios se pueden realizar en las ya existentes fbricas de semiconductores, con lo que la nueva inversin econmica es mnima. La implementacin que ms xito ha tenido ha sido la del ARM7TDMI con cientos de millones de ventas. 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, NXP (antes Philips), 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 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
5
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 Medfield.
1.4 Ncleos ARM
A continuacin se muestra una tabla con los principales ncleos licenciados por esta marca.
6
2. TECNOLOGAS
Las tecnologas ms importantes que usan los procesadores ARM son: 2.1 JTAC
JTAG (Joint Test Action Group) es un conjunto de tests de puertos de acceso y escner de lmites de la arquitectura. Actualmente est estandarizado como IEEE 1149.1 y se usa para casi todos los procesadores y circuitos integrados con pines suficientes para realizar el test. 2.2 Thumb/Thumb2
La tecnologa Thumb es una extensin de la arquitectura ARM de 32 bits. El conjunto de instrucciones Thumb cuenta con un subconjunto de las funciones ms utilizadas del ARM de 32 bits que se han comprimido en cdigos de operacin de 16 bits. A la hora de la ejecucin, estas instrucciones de 16 bits son descomprimidas transparentemente a instrucciones de 32 bits en tiempo real sin prdida de rendimiento. A la hora de desarrollar se pueden utilizar tanto instrucciones de 32 bits como de 16 bits, siendo transparente para el programador. La tecnologa Thumb2 optimiza el uso de memoria (hasta un 31% menos), lo cual tambin reduce el precio del sistema. Por otro lado aumenta el rendimiento hasta un 38%, disminuyendo el consumo de energa (batera en dispositivos porttiles). Se ha de nombrar que se trata de una tecnologa retro compatible, es decir, todos los dispositivos dotados de Thumb2 son compatibles con Thumb. 2.3 Jazzele
Es una tecnologa de ARM que es capaz de ejecutar cdigo bytecode (cdigo intermedio de Java) sobre los ncleos de procesadores que soporten Jazzele. Es multitarea y est optimizada para ser ejecutado sobre los mismos sin ningn tipo de traduccin, es decir, directamente. 2.4 TrustZone
Se trata de una tecnologa que da soporte a la seguridad, tanto en pagos, gestin de derechos digitales (DRM), servicios Web y NFC.
7
3. FAMILIAS ARM
3.1 ARM7/ARM7TDI.
Tras la familia ARM6, que tena como caractersticas especiales sus 28 MIPS a 33Mhz, unidad de coma flotante, y bus para el coprocesador externo, en ARM7 se introduce la tecnologa Thumb, que con cdigos de instruccin de 16 bits poda realizar las funciones de un cdigo de 32 bits. Tambin incluyen depurado JTAG. Como todos sus predecesores, se basan en una arquitectura Von Neumann, que recordemos consista en utilizar el mismo dispositivo para memoria de instrucciones y de datos. Normalmente se habla de l a la vez que su sucesor, el ARM7TDMI ya que este ltimo le ha dado toda la importancia que tiene. ARM7 y ARM7TDMI se basan en arquitecturas distintas, ARMv3 y ARMv4T, respectivamente, por eso no pueden englobarse dentro de la misma familia. Los procesadores de la familia ARM7 cuenta con una velocidad de 40Mhz y una memoria cach (tanto para instrucciones como para datos) de 8KB. Los de la familia ARM7TDMI va desde los 16.8Mhz hasta los 60Mhz, tambin con una memoria cach de 8KB.
3.2 StrongARM.
Esta familia de procesadores fueron los sucesores del ARM7EJ y el ARM8, posteriores al ARM7TDMI. El StrongARM utiliza la arquitectura ARMv4 licenciada por DEC (Digital Equipment Corporation), el cual posteriormente fue vendido a Intel. Este procesador surgi de un proyecto entre DEC y ARM, para crear el procesador ARM ms rpido hasta entonces. Inicialmente, el objetivo de uso de este nuevo procesador eran los PDA y los Set-top Box (Dispositivos para la recepcin y decodificacin de televisin digital o analgica). De esa familia de procesadores hubo varios modelos con caractersticas distintas que se muestran a continuacin:
8
SA-110 De este modelo de procesador se fabricaron dos versiones. La primera se empez a comercializar en febrero de 1996 y contaba con una velocidades de 100, 160 y 200Mhz. Una segunda versin se anunci en septiembre de ese mismo ao (1996) y trabaja a unas frecuencias de 166 y 233MHz. Ambas contenan una memoria cach de 16KB. SA-1100 Este nuevo procesador fue un derivado de su antecesor, el SA-110. Fue anunciado por el licenciatario DEC en 1997 y su principal objetivo de uso eran las PDA. Para ello se adapt la memoria cach y se redujo de 16 a 8KB. Se le aadieron controladores integrados para memoria, PCMCIA y pantalla LCD a color. Intel fabric a mediados de 1998 un integrado lamado SA-1101 que proporcionaba perifricos adicionales y puertos de E/S tales como salida de vdeo, PS/2, un controlador USB y uno PCMCIA que sustituye al del SA-1100. Posteriormente Intel compra el diseo del SA-1100 y con l la planta de produccin de DEC en Massachusetts. Al igual que su predecesor tambin tena unos 2.5 millones de transistores y un encapsulado cuadrado. SA-1110 Este procesador tambin deriva del SA-110 y es desarrollado ntegramente por Intel. Dispona de dos versiones, una a 133MHz y otra a 206Mhz. Se diferencia del SA-1100 por el soporte para SDRAM a 66MHz y 103MHz para cada una de las frecuencias de procesador respectivamente. Fue utilizado en PDAs, como el iPAQ o el Jornada, de HP, el Sharp SL serie 5000 y el Simputer, una PDA basada en Linux. SA-1500 Tambin fue un derivado del SA-110, desarrollado pensando en decodificadores y soportaba unas frecuencias de 200 a 300MHz. DEC slo produjo algunas muestras e Intel nunca lo lleg a comercializar.
3.3 ARM9TDMI
Esta familia de procesadores, al igual que la mayora de sus predecesores, utiliza una arquitectura RISC de 32 bits. Es importante comentarla porque ARM dio un salto en estas
9
arquitecturas, de procesadores basados en la arquitectura de Von Neumann a la arquitectura Harvard, que recordemos que separaba memoria para datos y para instrucciones (tambin las memorias cach), aunque la mayora adoptaron un enfoque hbrido, combinando los dos buses (para datos e instrucciones) y dos cachs con una memoria compartida.
Alguna de sus mltiples aplicaciones son: Cmaras digitales, como la Canon EOS 5D Mark II. Calculadora HP 50g a 90MHz Sistema Blue&Me de Fiat, usado para conectar sistemas del usuario con el vehculo (mvil, msica, etc). El circuito encargado de la conectividad WiFi de la PlayStation Portable (PSP). SmartPhones: HTC Wizard, LG Cookie, Nokia N-Gage, Sony Ericsson series K, M y W.
3.4 Xscale
Tras los procesadores ARM9TDMI surgieron el ARM9E y ARM10E que usaban tambin la arquitectura ARMv5, pero la serie fuerte fueron los procesadores XScale licenciados por Intel y Marvell. Se basa en una arquitectura ARMv5TE y lo forman varias familias que comentaremos ms abajo. Esta arquitectura ejecuta instrucciones en 7 etapas y para la ejecucin de instrucciones de memoria, 8 etapas. No contiene instrucciones de punto flotante. Usa 2 memorias cach, una para instrucciones y otra para datos, ambas de 32KB, aunque las ltimas versiones de la arquitectura ya incorporan cach de segundo nivel de 512KB. Se considera el sucesor del StrongARM, del cual hemos hablado anteriormente. Todas las generaciones de procesadores con Xscale son de 32 bits y usan tecnologas de 0.18m y de 0.13m. Entre sus aplicaciones se pueden nombrar productos de BlackBerry, Pocket PC de Dell (la gama Axim), la mayora de productos Zire, Treo y Tungsten de Palm, el Motorola A780, la PDA Acer n50, el Compaq iPaq 3900. Tambin se utiliz en ordenadores personales de escritorio (el Iyonix PC) usando el sistema operativo RISC OS. Tambin se usa en dispositivos porttiles como reproductores de vdeo y multimedia, sectores de ebooks (Kindle de Amazon) y en sistemas empotrados industriales. Algunas de las caractersticas de las distintas generaciones de esta familia son:
10
PXA Esta serie de procesadores tuvo diversos usos, aunque especialmente fue para mviles y tambin para PDAs, ya que eran capaces de codificar vdeo mediante hardware.
IXC Esta serie slo consta de un procesador, el IXC1100 que trabaja a unas frecuencias de 266, 400 y 533MHz. Tiene una cach de datos de 32KB y otra mini-cach de nivel ms alto de 2KB. Est diseado para un bajo consumo, llegando a 2.4W en su modo de funcionamiento a 533MHz.
IOP Esta lnea de microprocesadores est diseada para permitir a los ordenadores y dispositivos de almacenamiento transferir datos e incrementar las prestaciones no teniendo que utilizar la CPU para esta rea. CE Esta serie de procesadores fue anunciada por Intel en 2007 para el mercado de la electrnica de consumo (Consumer Electronics). Dentro de ste podemos destacar (porque es el nico del que se ha podido encontrar algo de informacin) el CE 2110, que est diseado para, entre otros, para decodificadores y grabadores de televisin y vdeo. 3.5 ARM11
Esta familia de procesadores ya utilizan la arquitectura ARMv6 en la que se incluye instrucciones SIMD (Single Instruction, Multiple Data) para procesamiento multimedia, soporte multiprocesador y una nueva arquitectura cach. Los primeros procesadores de esta clase fueron introducidos a finales de 2002. Con respecto a los procesadores de la familia 9 introduce varias mejoras: Instrucciones sobre mltiples datos para uso multimedia y mejora la velocidad de procesamiento de video y audio del MPGE-4. Memoria no alineada y aadido el formato mltiple.
11
La temperatura del procesador se ha mejorado, evitando problemas de sobrecalentamiento. El pipeline aumenta de 5 (que tena ARM9) a 8. Finalizacin de instrucciones desordenada. Prediccin dinmica de saltos (XScale ya lo soportaba). Paralelismo en carga y almacenamiento de memoria.
3.6 Cortex-A/R/M
Los procesadores Cortex estn diseados para un amplio rango de usos, desde decodificadores de televisin hasta smartphones pasando por automviles, porttiles, disco duros, impresoras, cmaras de fotos, sistemas empotrados... Algunas de las caractersticas ms importantes de ellos especificamente son:
Cortex A: Se trata de procesadores de 32 bits, con un pipeline de 13 etapas, capaz de soportar varios ncleos (hasta 4) y con una prediccin de saltos bastante acertada, por lo que no suele perder ciclos de CPU y todo ello con un conjunto de instrucciones RISC. Cortex-R: La serie R de Cortex est ms centrada en el uso de aplicaciones de tiempo real, normalmente para sistemas embebidos con ciertas restricciones en el tiempo de respuesta. Cortex-M: El objetivo de la serie M de Cortex es el consumo, una gama de procesadores que tengan una relacin precio/consumo aceptable.