25 enero 2019

La revolución silenciosa de ARM


Revoluciones ruidosas y revoluciones silenciosas
Las revoluciones casi nunca son silenciosas, solo pensemos en la Revolución Francesa o la Revolución Rusa, repletas de violencia, gritos y asesinatos, pero también existen revoluciones silenciosas, que nadie las nota hasta mucho tiempo después que han pasado. Por ejemplo el invento de la imprenta o de las primeras máquinas de vapor. En Chile Joaquin lavin tuvo un destello de inteligencia -tal vez el único en su vida- cuando escribió el libro "Chile, la revolución silenciosa" aludiendo a los cambios que ocurrieron en el país con las políticas económicas de los militares. Lástima que después de eso se quedó sin neuronas, se las gastó todas ahi parece.

En el mundo de la informática pasan cosas parecidas, muchas de las revoluciones han sido grandes y ruidosas, por ejemplo los procesadores Intel con arquitectura X86, Microsoft, la WWW en Intenet, Facebook, Google, Amazon, eBay, Tweeter, etc. etc. han sido revoluciones ruidosas, pero en esta entrada quiero comentar sobre una revolución silenciosa que puede ser enorme: la revolución de ARM. Pero antes revisemos Aagunas nociones básicas del hardware de computadores personales.

Los primeros chip procesadores
El computador personal nació con Intel y su idea de colocar un computador completo dentro de un solo chip, el primero totaalmente funcional fue el chip Intel 8080 en el cual tuve el privilegio de hacer mis primeros programitas, cuando hacíamos laboratorio con el SDK-80, Intel inventó el "chip micoprocesador" en los setentas y a principios de los ochentas aparecieron otros pocos para hacerle competencia, entre los que recuerdo el Zilog Z-80, motor de mi añorado Casio FX-9000P, el que me dio de comer por tantos años.

Intel y AMD
Esos primeros años Intel dominó el mercado sin contrapesos, seguramente por ser dueños de las patentes, crearon una larga serie de chip procesadesores exitosos como el 8086, 8088, 286, 386, 486, los Pentium y los actuales Core i3 hasta el i9. Con el tiempo comenzó la extinción de patentes, permisos de uso de patentes  o copia. Entonces a Intel le empezó a salir gente al camino, su principal rival fue AMD (Advanced Micro Devices) ambas firmas tuvieron un crecimiento gigantesco con los computadores personales de escritorio y luego con los laptops.

Arquitecturas
Pero los chip procesadores no solo consisten en millones de transistores conectados según cierto "cableado" específico. En su nivel más íntimo son una combinación de hardware (transistores) y software (instrucciones), esta combinación está tan íntimamente relacionada que se conoce con el nombre de "arquitectura del diseño", así es como se habla de la "arquitectura x86" que usan los chips de Intel y AMD, y que se caracterizan por ser la arquitectura compatible con Micosoft Windows, pero también existe la arquitectura ARM, que es compatible con Linux y Android, que es la revolución que quiero contarles.

Como decía la "arquitectura" es una combinación del hardware y software más básico y las dos arquitecturas principales que existen. X86 y ARM tienen una diferencia fundamental que es el llamado "set de instrucciones" o ISA (instruction set architecture) que es el conjunto de operaciones básicas que puede hacer el chip procesador en su nivel más íntimo. Los chip X86 tienen una arquitectura llamada CISC  (complex instruction set computing) que, como su nombre insinua, tiene muchas instrucciones básicas, mientras que los ARM tienen arquitectura RISC (reduced instruction set computer) o sea su set de instrucciones es más reducido.

Podemos decir entonces que CISC tiene más instrucciones básicas y muchísimos más transistores, mientras que RISC tiene menos instrucciones, menos trasistores y -lo más importante- consume solo una fracción de electricidad y produce una fracción del calor que produce un chip CISC.

Más no es siempre mejor
Sobre la "potencia" de los chip, en teoría los CISC son más potentes que los RISC porque tienen más intrucciones, pero eso no los hace necesariamente mejores. Igual que en los lenguajes naturales un lenguaje con pocas palabras como el inglés puede ser igual o más expresivo que el castellano o el chino, ambos redundantes con varias palabras para una misma idea, un chip con menos instrucciones puede ser programado de manera más limpia y eficiente, es una idea que los que hemos trabajado programando en alto nivel conocemos bien.

El problema de Windows
¿Por qué entonces los dispositivos que usan RISC no pueden usar Windows? En gran parte por una decisión de diseño tomada en los años ochenta, tanto en Intel como Microsoft: el concepto de "compatibilidad hacia atrás": el hardware nuevo debe ser capaz de funcionar con todo el software antiguo, heredado, por eso todavía en Windows 10 podemos abrir una consola tipo MS-DOS y jugar el "Prince of Persia" que nos deleitaba en los ochentas. Esa compatibilidad tiene su precio y es que Windows resulta prácticamente imposible, al menos por ahora, hacerlo funcionar en arquitecturas que no sean o no emulen a la X86. Por eso no tenemos Windows en los teléfonos ni en las tablets.

Debe haber sido 2005 cuando mi amigo Stephen viajó a Estados Unidos y yo le encargué esta Dell Axim X50v


Prometía ser el santo grial de la portabilidad: Windows en el bolsillo, pero fue un fiasco, el sistema operativo Windows Mobile andaba pésimo y no sobrevivió más de dos años, ahora la tengo botada, sin batería como pieza de museo. Windows es demasiado complicado y demanda demasiados recursos, fue diseñado de manera evolutiva a partir de conceptos muy antiguos así es que hoy resulta muy difícil desarrollar una versión para arquitectura ARM.

Entra Google y Android
Entonces Google dio un golpe maestro al desarrollar Android a partir del kernel de Linux. Android un sistema abierto con interfaz atractiva, diseñado para pantallas touch, por ser Linux es muy liviano y lo mejor de lo mejor: su sistema de archivos es totalmente compatible con Windows. Esto fue un golpe enorme para Apple, que había desarrollado sus Iphone e Ipad en torno a un sistema operativo propietario, IOS, que también tenia sistema de archivos compatibles con Windows.

Aquí empieza la revolución
A medida que pasa el tiempo y aarecen nuevas tecnologías, las prioridades de diseño van cambiando. Un sistema operativo "poderoso" ya no era lo más importante, esa es una discusión que pasó a la historia porque ahora toda la computación se está moviendo al bolsillo, ya sea en teléfonos o en tablets, que son prácticamente la misma cosa. ¿Cual es la prioridad ahora?

El bajo consumo de energía
Todos los que tuvimos un laptop a fines de los 80 conocemos la desagradable experiencia de tener que recargarlo a cada rato, varias veces al día. El problema del alto consumo de energía se atacó por las dos puntas: mejorando las baterías (se pasó del niquel-cadmio al ion-litio) y haciendo chips que consumen mucha menos energía ¿como? Usando la arquitectura RISC.

Los chip más "frios" abrieron una enorme puerta de posibilidades. Son mucho más baratos y como su consumo es despreciable, podemos tener un computaor prendido día y noche durante meses con un consumo despreciable, La foto muestra mi Raspberry Pi con un Arduino, ambos usan un chip de arquitectura ARM que consume tan poco que hasta un extremo avaro como yo lo puede dejar prendido las 24 horas, sin ningún remordimiento. Así puedo tener un servidor personal siempre conectado, o bajar archivos enorme que toman días en descargarse sin ningún problema.

¿Windows para ARM?
Parece que todo se está moviendo en direccióa ARM ahora, no sería raro queMicrosoft sacara una versión de Windows que funcione sobre el kernel de Linux y en un tiempo más tengamos al viejo Windows en celulares y tablets, es un trabajo enorme y muy difícil, pero el mercado ya es tan grande que demás se justificaría el esfuerzo. Basta ver como una enorme cantidad de gente ya dejó de usar "torres" con PC, en mi casa hay solo laptops (4) y celulares chinos (4), las torres desaparecieron hace tiempo. El próximo paso será la desaparición de los laptops y su reemplazo por celulares y tablets, que los reemplazarán, es cosa de poco tiempo creo yo.

ARM la lleva
Hay muchas más aplicaciones donde la arquitectura ARM se está usando de manera masiva, por ejemplo en los servidores de los datacenter, que cuando reemplazan los equipos x86 y cambian los discos duros tradicionales por discos SSD de estado sólido, también de menor consumo y mucho más rápidos, hacen que lo precios del webhosting bajen al suelo. El hosting donde está mi sitio web me costó 8 dólares por 4 años, 64 GB de almacenamiento y ancho de banda sin límite. Estamos llegando al punto donde el hosting, almacenaiento y la memoria son prácticamente gratis

ARM también se está usando intensamente en Internet de las cosas y en toda clase de microcontroladores, desde memorias hasta usos industriales, en un par de años todos los autos traerán un poderoso computador como parte del equipamiento estadar, que automatizará muchas funciones.

Así ARM, que cuando apareció a principios de los 80 se pensaba que jamás podría competir con un gigante como Intel, ahora les está dando guaraca. Es el procesador más exitoso de la historia y está cambiando rápidamente toda la tecnología que conocemos.

Una revolución enorme, impresionante y silenciosa.

4 comentarios:

  1. cuando me metí a estudiar programacion en 1995, quienes la llevaban en cuanto a procesadores era Intel con los 486 y 486DX si no me equivoco, pero cuando terminé, estaba sin pega y de paso, sintiéndome "estafado" por la "profesion del futuro" y la amenaza del "Y2K" fue la principal excusa para entrar a trabajar donde estoy actualmente.

    Durante ese tiempo seguí la batalla entre Intel y AMD a través de revistas especializadas (MasPC fue una de mis favoritas, de las cuales todavia conservo los CDs y libros que traía como gancho) y comencé a decantarme por AMD como procesador para los computadores que armé desde ese tiempo (he armado 3, dos personales y uno a un amigo) que para mi era un excelente procesador pero con una buena refrigeracion por aire, brindaba mejores resultados que Intel.

    En cuanto a Android, tengo que decir que fue un buen acierto de Google pero aún asi tiene sus fallas. Eso del Google play services es simplemente un saco roto que se llena rapidito con informacion sobre nosotros, nuestras preferencias y registro de lo que tenemos en el celu y afecta mayoritariamente el rendimiento del celu en cuanto a capacidad.

    ResponderBorrar
  2. Claro José, después de los 486 vino la serie Pentium y esa si que fue un cambio, el Pentium partía de 60 Mhz y llegó hasta 200 Mhz y fueron los primeros procesadores en que se podía reproducir video decentemente. Siempre con el problema de la compatibilidad, tenía un bus de datos de 64 bits, pero solo usaba 32 bits en sus operaciones internas.

    Los AMD fueron un caso especial, comenzaron siendo Intel modificados "mejorados" para un mejor rendimiento, corrían a velocidades más rápidas, pero gastaban más energía y generaban MUCHO calor, eran verdaderas planchas. Era especialmente irritantetener un laptop con chip AMD, la batería no duraba nada y la parte de atrás nos quemaba el "lap". Muchos modelos de laptop HP fueron con chip AMD y eran pésimos por su gran consumo, casi mataron la marca.

    En "torres" necesitaban unos sistemas grotescos de enfriamiento por líquido, igual que los radiadores de los autos y el consumo eléctrico erarme. Ahi fue cuando la arquitectura CISC empezó a hacer agua. Intel lo solucionó en los "Core" colocando varios procesadores más chicos (hasta 9) trabajando en paralelo, en mi laptop tengo un Intel Core I3 sin disco duro (con disco SSD) y la batería dura un poco más de 2 horas, más o menos.

    Android fue una revolución, todavia está muy inmaduro y como se desarrolle dependerá mucho de lo que diga el mercado, el traspaso masivo de información a "la nube" es uno de esos desarrollos que puede tener corta vida por la preocupación sobre privacidad (por eso yo no uso celular).

    Lo más increíble de todo es que nosotros mismos, los usuarios, hemosguiado los diseños sin darnos cuenta, con nuestras preferencias de compra han caído grandesparadigmas de diseño y aparecido otros

    ResponderBorrar
  3. Yo todavía sigo usando Torres, y las seguiré usando conforme a mis necesidades, ya que es una manera más que buena de upgradear pcs de escritorio, accedes fácilmente a sus componentes y puedes conectar y desconectar lo que quieras. Sin embargo son un verdadero acumulador de estática si no tienen un buen sistema de extraccion.

    ResponderBorrar
  4. Hay un buen artículo de Intel sobre eso
    https://www.intel.la/content/www/xl/es/tech-tips-and-tricks/laptop-vs-desktop-which-is-right-for-you.html

    En todo caso es el mercado el que está mandando y no sería raro que empiecen a aparecer laptop chinos que puedan "armarse", es decir, actualizar sus componentes. Pero la tendencia es al mínimo consumo y portabilidad, lo más probable es que los precios sigan bajando y nuestro computador del futuro bien podría ser un teléfono que podemos llevar en el bolsillo pero también usarlo con pantalla, teclado, mouse y discos ssd de gran capacidad en la casa. E todo caso la portablilidad y el bajo consumo son dos fuerzas muy potentes del mercado que están dirigiendo hoy el diseño

    ResponderBorrar

"Send me a postcard, drop me a line
Stating point of view
Indicate precisely what you mean to say
Yours sincerely, wasting away
Give me your answer, fill in a form
Mine for evermore
Will you still need me, will you still feed me
When I'm sixty-four"