Tras hablar sobre enfoques RISC y CISC, hoy nos adentraremos en un caso más concreto. Hablaremos de ARM, una arquitectura pero también una empresa diseñadora con una dilatada experiencia y una interesante historia que empieza en Reino Unido en los años setenta.
ARM es una arquitectura que ha tenido un enorme crecimiento en los últimos años, si bien su nacimiento se remonta tres décadas en el pasado de la mano de Acorn Computers Ltd., una empresa ya extinta, y con quien colaboran compañías históricas de gran importancia en el mercado actual.
Un poco de historia
En 1980, la BBC (British Broadcasting Corporation) se interesó en crear la Computer Literacy Project, una serie educativa en la que querían proponer ejercicios y tareas de programación, sonido o gráficos que deberían completarse con un computador. Para ello inició un concurso mediante el cual buscaban una empresa británica que les diseñase un equipo a medida, con una serie de requisitos tales como un bajo precio pero a la vez múltiples funcionalidades y posibilidades.
Acorn Computers Ltd., fundada por Hermann Hauser y Chris Curry y afincada en Cambridge, ya había presentado en marzo de 1979 el Acorn System 1 tan solo un año después de su fundación, y vio en el concurso de la BBC una interesante oportunidad. A principios de 1980 presentaron al concurso el Acorn Proton.

Acorn Atom, 1980
Se trataba de una evolución respecto de su predecesor, el Acorn Atom: un ordenador destinado al mercado doméstico y puesto a la venta en 1980, con un procesador MOS 6502 a 1 MHz., 2 KB de memoria RAM y 8 de ROM, en ambos casos ampliables hasta los 12 KB. Incluso disponía de periféricos como lector de cintas, el almacenamiento más común de la época. En el Acorn Proton también estábamos ante un procesador MOS 6502 pero a 2 MHz., además de mayor cantidad de memoria RAM (16 KB) y un mayor número de periféricos asociados, como acceso a cintas, redes o incluso impresora.
El Acorn Proton luchó contra otros diseños de compañías como Sinclair o Dragon y salió vencedor por a su alta potencia - especialmente en el apartado gráfico - y reducido precio: unas 235 libras. En abril de 1981 la BBC llegó a un acuerdo con Acorn para que fabricasen 12.000 unidades del Proton de cara a la primavera de 1982, cuando el Computer Literacy Project iniciaría su andadura en televisión. Fue entonces cuando se modificó el nombre y el Acorn Proton pasó a denominarse BBC Micro.

British Broadcasting Corporation Micro, 1982, con enorme parecido al Atom
La BBC supo mover su proyecto y el BBC Micro fue un completo éxito. Acorn vendió 24.000 unidades en 1982 que ascendieron hasta el millón en toda la vida del Micro, desde su lanzamiento hasta el año 1994 en el que se retiró del mercado. Éxito para la BBC y mucho dinero para Acorn, una compañía que a pesar de tener unos pocos años de vida logró introducirse en el mercado de los computadores domésticos de una forma realmente veloz.
Tras el BBC Micro, Acorn empezó a plantear nuevos desarrollos en los años posteriores. Diseñó nuevo hardware para competir contra los equipos domésticos de la época de compañías de renombre como Amstrad, Sinclair o Apple, y a la vez intentó entrar en el mercado profesional con chips de alto rendimiento basados en el enfoque RISC.
En 1983, Acorn inició el diseño de lo que un par de años más tarde fue Acorn RISC Machine, ARM, y que tuvo en el ARM1 su primer chip final pero aún no comercial. Acorn mandó su fabricación a VLSI Technology, Inc., que lo fabricó a partir del 26 de abril de 1985 en pocas unidades que fueron únicamente utilizadas por la propia Acorn de forma interna, para diseñar una segunda versión ya pública: ARM2.
ARM2 era el núcleo de un coprocesador matemático de apoyo a la CPU que empezó a utilizarse en el BBC Micro, gracias a su alta escalabilidad, y que posteriormente también llegó al mercado con una versión compatible con los IBM PC de la época. Ofrecía un rendimiento de unos 4 MIPS (millones de instrucciones por segundo) funcionando a 8 MHz., con un consumo de 0.1 vatios y el uso de unos 30.000 transistores (por unos 68.000 del competidor Motorola 68000).
En este período en el que se desarrollaron los ARM1 y ARM2, Acorn tuvo serios problemas económicos. En 1983 presentó el Acorn Electron, una versión mejorada del BBC Micro que compitió contra los míticos Commodore 64 y Sinclair ZX Spectrum de la época. Sufrieron problemas de fabricación del equipo (ordenaron 300.000 unidades pero el fabricante sólo pudo crear 30.000) que llevaron a los usuarios a adquirir los productos de Commodore y Sinclair en una campaña tan importante como la de la Navidad, en este caso del año 1984. El stock llegó unos meses más tarde y Acorn acumuló 250.000 unidades del Electron sin vender. La herida estaba hecha e incluso Acorn llegó a un acuerdo con Olivetti para que comprase algunas participaciones.

British Broadcasting Corporation Master, 1986 (vía Wikipedia)
A pesar de ello, Acorn continuó fabricando nuevos ordenadores de uso tanto doméstico como profesional, como lo fueron los BBC Master (1986) y Acorn Archimedes (1987). Se trata de dos equipos que utilizaron la tecnología ARM, el primero en forma de coprocesador y el segundo como procesador central, con precios bastante altos (499 y desde 800 libras, respectivamente) y que no funcionaron del todo mal en el mercado, principalmente en el entorno académico (colegios y universidades). El Acorn Archimedes es especialmente importante ya que fue el primer ordenador doméstico del mercado en utilizar la arquitectura ARM y un sistema operativo propio: Arthur OS, desarrollado por Castle Technology Limited y que más adelante pasó llamarse ARM OS.

Acorn Archimedes, 1987
El nacimiento de ARM junto a Apple y el fin de Acorn Computers
En la recta final de los ochenta Acorn se encontraba evolucionando su tecnología, presentando las arquitecturas ARMv2 y preparando la ARMv3. Fue entonces cuando Apple se interesó en colaborar con Acorn para diseñar un nuevo procesador para un dispositivo que se presentaría unos años más tarde, en 1993: la Apple Newton, el primer dispositivo en la historia en ser considerado PDA (personal digital assistant). En esos años terminó el diseño de la arquitectura ARMv3 y se presentó la familia de procesadores ARM6, compuesta por tres modelos: ARM60, ARM600 y ARM610, este último utilizado en la primera Newton MessagePad 100. Pero también algo muy importante: debido a la alta carga de trabajo, Acorn creó junto a Apple y VLSI Technology una compañía que se encargase exclusivamente del diseño de ARM. En noviembre de 1990 nació Advanced RISC Machines Ltd, que ya en el año 1998 con su salida se transformó en la actual ARM Holdings.
En sus primeros años de vida ARM creció de forma muy notable y licenció sus productos a múltiples compañías como Intel (que presentó los primeros XScale basados en la arquitectura ARMv5; el 27 de junio de 2006 vendió el negocio a Marvell) o IBM. En la actualidad son varias decenas las empresas que crean o han creado procesadores ARM, muchas de ellas de primera línea en el panorama tecnológico: las propias Intel, IBM o Apple (quien vendió parte de sus participaciones de ARM Ltd. en 1999 por unos 59 millones de dólares), pero también Broadcom, Huawei, LGDEC, Qualcomm, AMD, RIM, Samsung, Panasonic, Sony o Texas Instruments, entre muchos otros.
Por su parte, Acorn Computers inició a principios de los 90 un descenso en caída libre sin visos de detenerse. Tras modificar su estructura organizativa, Acorn quiso introducirse en el mercado de los primeros sistemas de televisión bajo demanda, continuó en el mercado educativo y mantuvo la colaboración con la BBC así como sus desarrollos de estaciones de trabajo para el mercado más profesional. Las cosas no funcionaron como en la anterior década, Olivetti vendió sus participaciones a Lehman Brothers en 1996 y todo se mantuvo con pérdidas cada vez mayores. En enero de 1999 cambiaron el nombre a Element 14 y en mayo iniciaron las conversaciones con MSDW Investment Holdings Limited, una filial de Morgan Stanley, para la venta de la compañía. El acuerdo finalizó en junio del mismo año, cuando se vendió Element 14 por 270 millones de libras.

Un prototipo del Acorn Phoebe, 1998, uno de sus últimos equipos que ni siquiera llegó a comercializarse (vía Wikipedia)
Tras ello, Morgan Stanley jugó con Element 14 y terminó vendiéndola como una empresa de fabricación de DSL a Broadcom. Poco después, en noviembre de 2000, Element 14 pasó a formar parte del negocio de Broadcom como sucursal encargada del diseño de routers DSL, y tras ello desapareció del mercado.
ARM, la arquitectura RISC más importante de la historia
Cuando en la anterior entrada hablábamos de RISC, mencionábamos que tenía a ARM como su principal representante en el mercado actual. Es cierto que existen otras arquitecturas con el mismo enfoque, como lo son los IBM PowerPC o las MIPS32 y MIPS64 de MIPS Technologies, pero su uso es mucho menor que en el caso de nuestra principal protagonista.
ARM nació como una arquitectura para uso en ordenadores y dispositivos de bolsillo, con aquella primera Newton de Apple como primer gran dispositivo en movilidad. En la actualidad se ha ampliado enormemente los dispositivos en los que se integra: se utilizan en teléfonos y tabletas, por supuesto, en reproductores y grabadores de vídeo (DVD, Blu-Ray, etc.), videoconsolas portátiles o incluso en modems y routers de comunicación. Pero también en televisores, frigoríficos, lavadoras o lavavajillas, en teléfonos DECT o en coches (por eso ahora incluyen tantas funciones). Los aspiradores robot e incluso juguetes como Lego Mindstorms NXT utilizan un procesador ARM.
Hay otro uso algo desconocido pero también bastante convencional: el uso de chips ARM en microcontroladores de gestión de otros dispositivos, como por ejemplo un disco duro tradicional o un SSD. En el segundo caso, cuando nos referimos al controlador incluído (por ejemplo SandForce) nos referimos a un chip que integra un procesador basado en ARM que es el encargado de gestionar las posiciones libres y ocupadas de memoria, de ejecutar TRIM y, más en general, de organizar y administrar la estructura interna del almacenamiento.

Controlador Indilinx Everest 2 de un Vertex 4 rodeado de chips de memoria (vía StorageReview)
Todos estos usos de procesadores ARM existen porque es una arquitectura de muy bajo consumo energético, al menos en comparación con las alternativas existentes en el mercado. Muchas veces incluso podría pasar desapercibido respecto del consumo de otros componentes del mismo dispositivo, por ejemplo en un coche eléctrico. Además, la fabricación de estos chips es bastante barata, si bien es cierto que suele requerir de implementaciones software específicas que sí suelen ser más costosas que en otras arquitecturas como la x86 más habitual de nuestros ordenadores. Ella será la protagonista de nuestra próxima entrada de este especial.
Lo que hace a ARM diferente
Desde la primera versión comercial allá por mediados de los 80, ARM ha ido evolucionando con el paso del tiempo y por supuesto se han introducido nuevas instrucciones con cada versión de la arquitectura, no sólo para mejorar el rendimiento si no también la seguridad. En Wikipedia hay una amplia lista que contempla las arquitecturas y los núcleos que han existido a lo largo de la historia de ARM, desde la primera ARMv1 (núcleo ARM1) hasta la actual ARMv7 (núcleos Cortex-A, Cortex-M y Cortex-R) o incluso la próxima arquitectura ARMv8 (con los Cortex-A50) que ya ha sido diseñada y cuyos primeros productos se esperan para el 2013.
También hay otros fabricantes que han creado sus arquitecturas basándose en las de ARM, en la actualidad por ejemplo Qualcomm (y sus ARMv7 Snapdragon, modelos Scorpion y Krait), NVidia (Tegra en todas sus vertientes), Apple (ARMv7 en los últimos A6 y A6x) o Samsung (y sus Exynos, hasta ahora todos basados también en ARMv7).


Una de las principales características de ARM es que utiliza relativamente pocos transistores, o al menos muchos menos que los procesadores de otras arquitecturas. Esto le permite ofrecer un rendimiento aceptable con un consumo energético muy bajo, y no sólo eso: fabricar un procesador ARM también es notablemente más barato, lo cual los hace ideales en muchos casos.
Lo que nos espera con ARM
Desde el nacimiento de Advanced RISC Machines Ltd hace poco más de veinte años, ARM ha crecido de forma muy notable tanto económica como tecnológicamente. Ya hemos visto que es una arquitectura que se utiliza en prácticamente cualquier dispositivo electrónico moderno, e incluso muchos elementos a priori más tradicionales están adoptando esta tecnología para ofrecer nuevas funciones a los usuarios: por ejemplo los nuevos aspiradores robot (el iRobot Roomba 570 utiliza un ARM7TDMI bajo la arquitectura ARMv4) o incluso los juguetes más tecnológicamente avanzados (Lego Mindstorms NXT también integra el ARM7TDMI en sus entrañas).

Diagrama del proyecto de servidores ARM de HP, el HP Moonshot
En el actual panorama de crisis económica y con un cuidado por la naturaleza cada vez mayor, ARM es una opción que se está estudiando para su uso en grandes centros de datos como sustituto de las actuales arquitecturas. Su principal finalidad es la de abaratar los costes relacionados con el enorme consumo energético, no sólo por los propios computadores si no también por los ingentes sistemas de ventilación y seguridad asociados. ARM no sólo consume menos energía si no que también genera menos calor, otra característica muy importante en los datacenters. Ya existen varios ejemplos a lo largo de todo el mundo que han creado sistemas de unos cuantos cientos de procesadores, y si bien no son los más potentes (no hay ningún ARM en el Top500 de supercomputadores) sí ofrecen un rendimiento más que digno para muchas, muchísimas de las tareas más profesionales de la actualidad. Es cuestión de tiempo que ARM entre en esa prestigiosa y conocida lista.
A día de hoy podemos asegurar que el futuro de ARM es muy prometedor. Van ganando rendimiento en cada nueva generación de procesadores, van manteniendo - o incluso reduciendo - el consumo energético, y por si fuera poco la innovación tiene muy en cuenta a esta arquitectura. El concepto de casa inteligente se basará en procesadores ARM, los coches están empezando a utilizarlos - y en no mucho tiempo será algo común en nuestros vehículos - además de por supuesto nuevos conceptos de gadgets que aparecerán en los próximos años de la misma forma que hace no mucho aterrizaron los teléfonos avanzados, las tabletas o los libros electrónicos.
Y no solo eso: los usuarios están modificando su concepto de ordenador personal. Estamos ante eso que muchos denominan la era post-PC en la que ARM puede ser vital para conseguir nuevos tipos de dispositivos portátiles y con autonomías hoy impensables, pero que serán razonables y tecnológicamente viables dentro de unos pocos años.
Especial Arquitecturas Hardware: índice
-
III.- ARM, la 'navaja suiza' de los procesadores
Imagen de portada | Fibble para Wikipedia En Xataka | Todo sobre las arquitecturas de PC
Ver 36 comentarios
36 comentarios
senkor
Magnifico reportaje, gracias.
Eagle
¡¡Muy bueno!! Sin ser demasiado largo se ha hecho ameno y has dado muchos datos interesantes. Enhorabuena.
P.D.- No comento en Xataka desde que salió la versión nueva porque no soy capaz desde Chrome. Simplemente le das a Publicar y no sale nada. Por si tiene interés, mi usuario era de OpenID antes del cambio. Me he logueado desde Firefox para poner esto.
deyvi
xataka se convierte en mi enciclopedia tecnológica
dark_god
Un articulo interesante. Esta claro que poco a poco RISC acabara comiéndose a CISC, tan solo es cuestión de tiempo. La ISA de los x86_64 es una catástofre lo mires por donde lo mires. Instrucciones obsoletas, instrucciones prácticamente sin sentido, instrucciones que al salir la siguiente generación quedarán obsoletas (véase en caso de AVX/AVX2/AVX3), en fin. Además a eso le sumamos el problemilla que le ha causado a Intel/AMD la aparición de smartphones y todos estos dispositivos. ¿Porqué? Bueno fácil antes de los smartphones todos miraban el rendimiento. Después de los smartphones la bateria y el consumo cobra un papel vital. Ops, intel y AMD estaban en su guerra de potencia y ahora están sacando nuevas generaciones corriendo con consumos mas bajos.
Por otro lado me gustaría ver que tal se movería un MIPS en este mercado. He visto por algún lado que a pesar no llegar a la potencia de ARM, a igualdad de rendimiento poseen un consumo inferior.
ARM es una arquitectura que empezó el mercado de smartphones muy verde, y todavía lo está, aunque su evolución es mas que satisfactoria.
andreu_b
Me ha dejado helado el diagrama del proyecto de servidores ARM de HP... Como decís, puede ser un salto bestial para los datacenters!!
maco1717
VSLI no es VLSI Tech?
slarti
Para hacernos una idea del bajo precio es posible saber el precio de una CPU (o SoC) ARM? Más que nada para hacernos una idea y compararlos con una CPU Intel o AMD. Sí ya se que en rendimiento y consumo no son comparables
Por cierto volveis a usar esa estúpida expresion de era post-pc, que un analfabeto tecnologico la llegue a usar vale, pero Xataka está lejos de eso. Vivimos en la autentica era del personal computer, que "post" y que ocho cuartos!
raindoll
Buenísimo el reportaje, no tenia ni idea que ARM fuera tan antiguo (siempre creí que creció junto con los dispositivos portátiles...)
Solo 2 dudas: hay algún procesador ARM que este a la par de algún x86 o x64 moderno? y escuche que probablemente los ARM remplacen a los procesadores actuales de escritorio, es cierto?
pukasvlc
Lectura recomendable para los que nos gusta el hardware. Si que tenía constancia de que los ARM tenían tiempo pero no sabía que nacieron en los 80 ni que eran ingleses.
cesar9999
Creo que se debería dejar más claro que ARM NO fabrica, solo diseña el núcleo y son las demás compañías las que terminan de diseñar el SoC y lo fabrican.
maxwe11
Buenísima entrada. Continúa así y nosotros prometemos leerte.
Inception
Un post brillante. Muchas gracias por la información
franeg95
Excelente entrada. SUper completa y con reseña historica. Mil gracias !
fransexy
y porque no mencionas los Acorn Risc PC:
-http://en.wikipedia.org/wiki/RiscPC
" Arthur OS, desarrollado por Castle Technology Limited y que más adelante pasó llamarse ARM OS"
ERROR!!!!!!! NO SE LLAMA ARM OS SE LLAMA RISC OS Y SIGUE EN DESARROLLO!!! POR FAVOR CORRIGELO
http://es.wikipedia.org/wiki/RISC_OS
https://www.riscosopen.org/content/