El papel de los dispositivos SBC basados en ARM frente a los basados en X86 y las tendencias del mercado en 2023

Según GPT4, A partir de 2021, el tamaño del mercado mundial de procesadores basados en ARM se valoró en alrededor de $17,7 mil millones, con los dispositivos IoT representando una parte significativa del mercado.

Intel y otros dispositivos basados en x86 siguen dominando el mercado, cuyo tamaño era (por supuesto) mucho mayor en 2021.

Recuerda que originalmente, mainframes (como el IBM System/360) representaban una gran parte del mercado. En la actualidad, el tamaño del mercado x86 eclipsa al de los mainframes, pero hubo un tiempo en que era al revés.

x86 se ha establecido gracias a una combinación única de IBM, que eligió esta arquitectura concreta para su IBM PC, y el dominio del mercado que Microsoft DOS (MS-DOS) y posteriormente Microsoft Windows fueron capaces de construir.

Históricamente, Windows se ha adaptado a otras CPU. Microsoft ha intentado repetidamente ofrecer versiones que funcionaran también en la arquitectura ARM, pero que (en el pasado) no eran compatibles con las aplicaciones x86 heredadas. No es de extrañar que los clientes esperen ciertas cosas de Windows, como poder ejecutar Microsoft Word en los ordenadores correspondientes.

Hoy en día, estamos en la era de la informática de placa única. La SBC más popular del planeta es la Raspberry Pi, y no ejecuta (realmente) Microsoft Windows, al menos la versión compatible x86.

En este caso, Microsoft también lo intentó y creó una versión de Windows llamada Microsoft Windows IoT.

Hay ordenadores de placa única que ejecutan Microsoft Windows, ya que son dispositivos basados en x86 (por ejemplo el LattePanda), pero no importa tanto. Por eso Raspberry Pi, basado en ARM, es el SBC más popular.

Veamos algunas de las razones

Ventajas / desventajas de ARM frente a x86

Históricamente, x86 ha sido impulsado de forma agresiva por Intel, cuyo modelo de negocio se basa (¿o deberíamos decir se basaba?) en liderazgo tecnológico.

A cambio, Intel podría exigir precios especialesal menos en sus productos de gama alta.

Ventajas x86

  • alto rendimiento (aunque está empezando a desmoronarse)
  • compatibilidad total con Microsoft Windows

AMD, el segundo finalista (que tuvo su gran éxito como segunda fuente de productos basados en x86 porque los militares necesitaban una segunda fuente, si no me falla la memoria) se posicionó como la opción más consciente de los costes.

Al final, los niveles de rendimiento que alcanzaba la plataforma x86 eran significativamente superiores a los que requerían muchas aplicaciones.

El hardware especializado asumió funciones de procesamiento que resultaban ineficientes de ejecutar en el procesador.

Por ejemplo, si consideramos el acelerador de hardware Coral AI (que por casualidad distribuimos), funcionará más rápido, con mayor eficiencia energética y una menor lista de materiales total en cooperación con una Raspberry Pi, frente a un sistema de alta potencia basado en x86 que podría ejecutar el mismo modelo de visión de red neuronal en su CPU.

ARM es un ecosistema mucho más fracturado, pero con ARM como licenciante de la arquitectura, lo que garantiza cierta interoperabilidad.

ARM no fabrica chips (para el mercado de masas). En su lugar, licencia sus diseños a empresas como Broadcom (que, por ejemplo, diseñó el SoC de la Raspberry Pi), o Rockchip -que se utiliza en RockPi, o Tinkerboard SBCs, por ejemplo.

Más licenciatarios significa más competencia (frente a Intel, que básicamente mantiene el mercado como "rehén" si quiere el rendimiento y la marca líderes).

Por otro lado, muchos de estos fabricantes de chips no son muy conocidos, al menos no tanto como Intel. Quiero decir, ¿a qué consumidor final le importa realmente si tiene un chip Broadcom o uno de la competencia en sus routers? Fue una jugada de marketing muy inteligente de Intel en su día (Intel inside), pero estoy divagando.

ARM, en pocas palabras, ofrece las siguientes ventajas:

  • menor coste componentes
  • uso muy eficiente de la energía
  • puede enfriarse pasivamente en muchas aplicaciones (no necesita ventilador): ¡es posible realizar diseños silenciosos!
  • las empresas pueden mezclar y combinar otras IP en sus SoC (por ejemplo, Rockchip utiliza GPU Mali, también de ARM, y Broadcom utiliza la GPU VideoCore, que fue diseñada internamente) según les convenga; que yo sepa, no hay licencias x86 que permitan hacer eso, así que básicamente se obtiene lo que ofrecen Intel, ARM, etc. - básicamente no hay licencia para la IP, tienes que comprar chips reales
  • Como resultado, estas empresas pueden orientar su hardware a aplicaciones específicas (¡y obtener mejores prestaciones a un coste menor!).

Por ejemplo, en los SBC suele haber códecs de vídeo específicos realizados como circuitos de hardware que permiten descodificar los códecs de vídeo más populares (para reproducir esos vídeos de gatos de YouTube).

ARM ha progresado hasta el punto de que algunos de los diseños basados en ella incorporan productos de mayor velocidad que sus homólogos Intel/x86. Apple, por ejemplo, lo ha demostrado con la arquitectura M2. Se adapta perfectamente al diseño empresarial de Apple, que se centra en una estrecha integración del software y el hardware subyacente.

Por cierto, esta es la razón por la que Apple ha CONSEGUIDO pasar a ARM: controlan el sistema operativo, el hardware y el diseño del SoC, y se han asegurado de que sus aplicaciones heredadas puedan seguir ejecutándose en el nuevo hardware a velocidades aceptables.

Microsoft no puede hacerlo, ya que tiene un diseño empresarial diferente. Dependen de muchas empresas, por ejemplo ASUS, para crear PC. Permiten que estos fabricantes de PC compitan entre sí, impulsando así el volumen del mercado, al tiempo que garantizan la interoperabilidad en esta plataforma de PC con su software. Para hacer la transición a ARM, tendrían que orquestar una plétora de estos fabricantes, Y tendrían que construir una capa de interoperabilidad, para proporcionar soporte de software heredado. Dado que no conocen la CPU en la que acabarán ejecutándose, no pueden hacer una promesa coherente al mercado de que el software antiguo funcionará a velocidades aceptables. (De acuerdo, esto es demasiado simplista, pero tendrían que conseguir que los fabricantes se sumaran a una nueva estrategia de cambio a ARM, etc.).

Mercado objetivo de los SBC frente a los PC de sobremesa / servidores

Los ordenadores monoplaca se utilizan con frecuencia en aplicaciones industriales (como los denominados dispositivos de hardware embebido), o por entusiastas / manitas, y también en la educación.

Los ordenadores basados en Microsoft Windows (y, por extensión, la plataforma x86, que está estrechamente vinculada a este sistema operativo) se utilizan en oficinas y se han utilizado como ordenadores domésticos. La gente es un animal de costumbres, se acostumbra a un sistema operativo. Por ejemplo, yo no me plantearía utilizar Linux como mi sistema de escritorio principal (¡además, tiene demasiadas opciones!), ya que utilizo Windows, y confío en algunas aplicaciones que conozco y he utilizado durante años (por ejemplo, la suite de Adobe).

En mi smartphone, sin embargo, tengo un sistema basado en Android. El teléfono inteligente fue un reinicio completo de los ecosistemas, y la CPU ARM podría jugar su gran ventaja de ser muy eficiente de la energía. La gente estaba de acuerdo con un menor rendimiento en un teléfono móvil, inicialmente. Hoy en día, algunos de estos smartphones son más potentes que los ordenadores de sobremesa que tiene la gente. La ventaja del software de Windows no importaba, ya que estos smartphones necesitaban aplicaciones completamente nuevas de todos modos. Es decir, nadie diseñó pensando en un ordenador con GPS, por ejemplo. O con interfaces multitáctiles: los PC con Windows utilizaban un sistema clásico de clicar y apuntar con el ratón, y eran en su mayoría estacionarios.

¿Ves adónde quiero llegar?

La arquitectura Windows PC/x86 tiene una cierta nicho (aunque muy grande), en la que existe en la mente de los clientes. Esto es para aplicaciones de escritorio (el otro gran contendiente es Apple con los MacBooks, por ejemplo, y cada vez más los Chromebooks). Se utiliza en trabajos de oficina, por ejemplo para procesar pedidos de Raspberry Pis nuestros.

También sigue siendo relevante en los servidores de gama alta, aunque los diseños basados en ARM también han empezado a entrar ahí, debido a la eficiencia energética y al coste, En última instancia, ARM también encaja mejor en el centro de datos.

En otros campos, hay otros factores que importan.

Los diseños integrados, por ejemplo los cajeros automáticos, también se construían históricamente con Windows: quizá se haya fijado alguna vez en las pantallas azules de los cajeros o en las instalaciones de señalización digital de la ciudad.

No es necesario utilizar Windows en estos dispositivos. Linux suele ser una opción mejor y más fácil de gestionar, además de más rentable. No hay que pagar licencia en las instalaciones de Linux. Linux es conocido como un sistema operativo más seguro. Por último, Linux no te limita tanto a la plataforma x86 como Windows.

En estos dispositivos especializados sus aplicaciones de escritorio, como Word, Excel, etc. no importan en absoluto. Con frecuencia se despliegan con aplicaciones especializadas para mostrar vídeos, interactuar con el cliente o mostrarle en qué nivel se encuentra (en un ascensor).

(Nota al margen: para mostrar en qué nivel estás en el ascensor, incluso Linux es una exageración. Un simple microcontrolador funcionará bien. Mira esta área para dispositivos aún más simples que ya no ejecutan un sistema operativo completo adecuado)

En los dispositivos integrados -y éste es un sector enorme en el que se venden SBC-, el coste importa. Y mucho. La eficiencia energética importa. Los diseños x86 necesitan una mejor refrigeración (debido a una peor eficiencia energética), lo que a menudo significa que tendrías que añadir un diseño de ventilador por ejemplo...

Los marcos de software para construir aplicaciones han cambiado significativamente, hoy en día muchas aplicaciones pueden crearse fácilmente para x86 o ARM, por ejemplo utilizando el marco Qt, o tecnologías web.

Una nueva generación de ingenieros ha crecido desarrollando en node.js, JavaScript, y no les importa demasiado la arquitectura de hardware subyacente.

coste: Agrupación de Windows

coste: ARM frente a x86, fragmentación del mercado, competencia, diferente modelo de licencias

RISC V