Qué es un SOC y cuáles son sus características principales

El concepto de SoC o system on a chip lleva varios años siendo uno de los más escuchados en la esfera de la informática, y en particular cuando hablamos de dispositivos como teléfonos móviles. Pero, ¿qué implica exactamente? ¿Dónde se usa un SoC? En este artículo daremos un repaso a la definición de SoC y revisaremos cómo se han estado usando hasta el momento. ¡Comenzamos!

Qué es un SoC: definición de system on chip

Formalmente, se conoce a un SoC como un chip que integra todas o la mayor parte de componentes necesarios para el funcionamiento de un ordenador. Entre ellas se incluirá casi siempre una CPU, por lo que podemos hablar de un procesador que incluye más componentes en su interior que normalmente estarían relegados a chips externos a este.

Entonces, podemos hablar de SoC cuando a una CPU le combinemos otras partes como una tarjeta gráfica, módems de red, memoria RAM o almacenamiento… o incluso cuando simplemente le añadamos partes de entrada/salida como podría ser el control de USB o SATA, líneas PCI Express, etc. El gran requisito es que sean partes que en una arquitectura de PC tradicional se atribuirían a un chip aparte, y no al propio SoC.

De ahí viene esta denominación, pues como decimos SoC quiere decir system on a chip o sistema en un chip, dejando clara la unificación que representa.

Una vez definido, lo que conviene que os presentemos en el artículo es dónde se usará un SoC, que sobre todo será en sistemas embebidos o dispositivos móviles. Posteriormente explicamos qué ventajas puede tener un SoC, aunque intuitivamente ya nos damos cuenta de que el hecho de unificar el funcionamiento del equipo en un mismo chip puede implicar mejoras energéticas, de espacio y de costes.

Ejemplo de SoC: procesadores Arm usados en nuestros teléfonos móviles

El ejemplo más representativo de lo que es un SoC está en los chips con arquitectura Arm usados en nuestros teléfonos móviles además de muchos otros dispositivos. En ellos se integra prácticamente todo lo necesario para el funcionamiento del dispositivo, haciéndolo todo en un espacio muy pequeño, y permitiendo tener la miniaturización existente en los móviles actuales.

Así, en un móvil típico el número de chips que encontramos en su pequeña placa no es muy significativo. Vamos a aprovechar el desensamblaje de iFixit de un móvil reciente cualquiera, por ejemplo el OnePlus Nord, y veamos qué componentes tiene en su interior:

  • Cuatro chips de administración y gestión de energía de Qualcomm, para tareas distintas.
  • Chip de combinación de memoria (8GB de RAM) y almacenamiento (128GB).
  • Códec de audio.
  • Dos chips Skyworks relacionados con las funciones de módem.
  • Chip Qualcomm Atheros con WiFi, Bluetooth 5, WPA3 y radio FM.
  • Y evidentemente el propio SoC Snapdragon 865 5G.

El Snapdragon 865 hace menos funciones de las normales, y aún así vemos cómo el móvil se queda con muy pocos chips en su interior.

Evidentemente, también habría que considerar la batería, el sensor de cámara, puertos y conexiones, etc. Pero ya son partes que realmente no son atribuibles al propio SoC.

La idea queda más que clara, pues el SoC Snapdragon es el que tiene la responsabilidad de llevar la mayor parte de tareas del dispositivo. ¿Pero cuáles son estas tareas? Vamos a desglosarlas una a una para el caso del Snapdragon 888, ya que el 865 anterior no incorpora el módem en su interior y es un ejemplo de “peor caso”.

  • Procesador (CPU) Qualcomm Hexagon 780 con núcleos big.LITTLE
  • ISP (Procesador de señal de imágenes) Spectra 580
  • Tarjeta gráfica (GPU) Adreno 660
  • Sensing Hub, que integra los datos de todos los sensores del dispositivo y los procesa.
  • Coprocesador de seguridad adicional.
  • Modem Snapdragon X60 encargado de todo el 5G y la radiofrecuencia.
  • FastConnect 6900, con WiFi 6 y 6E, y Bluetooth 5.2.

Ventajas y desventajas de usar un SoC

Una vez explicado el concepto de system on chip a fondo y presentado uno de los ejemplos más representativos, cabe preguntarse, ¿qué ventajas y desventajas implica el uso de un SoC frente a tener varios chips separados?

Comencemos por las ventajas. La primera y la más fundamental está en el ahorro energético, económico y de espacio que propicia el hecho de juntar varias funcionalidades en un único chip. Y es que tener chips separados para las distintas funcionalidades de un dispositivo puede suponer los siguientes desperdicios:

  • Menos gasto económico en la propia fabricación de los chips, puesto que hacer varios sale bastante más caro que uno para mantener una única función. Ojo, esta ventaja hay que cogerla con pinzas porque se ha demostrado que en algunos casos la integración se hace mucho más cara, así que se puede tratar también como un inconveniente.
  • Si juntamos todas las funcionalidades en un único chip, de seguro nos ahorraremos una buena cantidad de espacio dentro del dispositivo, algo que es crítico en un teléfono móvil.
  • Los buses de datos, que al fin y al cabo son un cableado, consumen una cantidad de energía que nos podemos ahorrar si comunicamos directamente cada pieza dentro del mismo chip.

Los tres puntos son realmente importantes en dispositivos como los teléfonos móviles, así que deben tenerse en cuenta. Pero tenemos más ventajas: el hecho de concentrar la ejecución en el propio chip es un sinónimo de rendimiento y seguridad adicionales.

¿Y qué desventajas tiene? Básicamente, el coste del propio desarrollo del chip, que se hace bastante más complejo, además de que los fabricantes dependerán del fabricante del SoC en mayor medida, pues si un componente es parte del system on chip y hay algún problema de implementación o suministro no podrían reemplazarlo sin más. A veces lo que sí pueden hacer es expandir las capacidades del propio SoC mediante chips externos, lo cual es algo realmente positivo. Por ejemplo, hay muchos móviles cuyo SoC lleva 4GB de memoria RAM que posteriormente amplían mediante un chip externo para llegar al nivel deseado.

Finalmente, habría que destacar que podrían no ser idóneos para aplicaciones intensivas en consumo energético, aunque si seguís leyendo el artículo veréis cómo hay SoC de máximo rendimiento que no tienen este problema. Todo depende en gran medida del diseño, por eso es difícil que las ventajas e inconvenientes que os hemos comentado se mantengan en absolutamente todos los casos.

Procesadores de PC: ¿también son un SoC?

Teniendo en cuenta la definición que os hemos dado de SoC, tiene mucho sentido plantearse hasta qué punto un procesador de PC actual lo es. En particular, vamos a analizar si una CPU AMD Ryzen o Intel actual se puede considerar un SoC o no.

En estas CPU, al igual que muchas otras, no solo tenemos el procesador propiamente dicho en su interior, sino que también contamos con otras partes que antes se llevaban en chips separados. Específicamente, estamos hablando del northbridge o puente norte, que integra el controlador de memorias y las líneas PCIe, y que en los equipos más antiguos formaba parte de la placa base.

A esto hay que sumarle el hecho de que la mayoría de CPU Intel Core y las APU AMD Ryzen cuenten con gráficos integrados, otro componente típicamente usado fuera del propio chip del procesador.

La gran fuente de discrepancia está en la ausencia de componentes esenciales para el funcionamiento como la memoria. Mucha gente considera que un SoC debería tenerlo todo, es decir, combinar además de CPU, gráficos y puente norte el puente sur y la memoria RAM. Estas dos últimas partes son las que no tienen estos procesadores, al carecer de los controladores de USB, SATA y demás que forman parte del chipset. Esto provocaría que ni un AMD Ryzen o un Intel Core normal y corriente se pudiesen considerar un SoC.

Cuando los Qualcomm Snapdragon integraron el 5G por primera vez, lo hicieron llevándose el modem fuera del chip, y nadie dejó de llamarlos un SoC por ello. La definición de system on chip no es tan estricta como para requerir que haya sí o sí una serie de componentes en el dispositivo.

Pero, realmente, si nos vamos a la definición de system on chip que dimos antes, sí se podría considerar que cualquier procesador moderno es un SoC. En todo caso, en el contexto actual parece que tiene mucho más sentido referirse a estas CPU como tal y usar la denominación de SoC cuando se integren algunos componentes más.

Excepciones notables: procesadores de Intel y AMD que son SoC indiscutibles

Alejémonos ahora de lo polémico para discutir opciones de AMD e Intel que sí encajan perfectamente con la definición de SoC. En concreto, dos ejemplos bastante representativos: Intel Lakefield y AMD EPYC.

Por la banda de Lakefield, este es un proyecto de procesadores de bajo consumo para equipos portátiles bastante arriesgado por sus características, como por ejemplo que todas las partes del chip se construyen apiladas unas encima de otras. Pero lo que nos interesa es que efectivamente es un SoC, al incluir todo lo necesario para el funcionamiento (incluyendo la RAM) dentro de su propio chip. Esto se puede ver muy bien representado en el vídeo de arriba.

En el caso de EPYC, nos escudamos en que la propia compañía emplea frecuentemente la definición de System on chip (fuente), ya que en este caso estamos ante procesadores que no integran memoria pero sí tienen todas las funciones del chipset sin excepción, como son el control de USB, SATA, PCIe y demás están dentro del propio chip, y tan solo se requerirían chips adicionales para funciones como una GPU.

También podemos ver cómo los procesadores para portátiles suelen tener una integración más profunda que una CPU normal, y entran mejor dentro de la definición de SoC. Lo ejemplificamos con los AMD Ryzen 4000 en portátiles, conocidos como Renoir, que no se limitan a lo básico del southbridge, los núcleos y la iGPU, sino que también lleva motores multimedia dedicados para acelerar los códecs de vídeo, etc.

Más ejemplos de usos de SoC

Ya ha quedado claro que un system on chip está en todas partes, pero vamos ahora con más ejemplos de uso que integran más partes en su interior que un procesador tradicional.

Sistemas embebidos

Los sistemas embebidos son aquellos que se emplean dentro de un dispositivo concreto como puede ser un elemento de maquinaria, un cajero, o en general cualquier aparato que tenga un propósito específico y no un uso general como un ordenador tradicional.

Está claro que aquí se ha de favorecer la miniaturización y la concentración de todas las partes del sistema en un espacio pequeño, haciendo más que ideal que se emplee un system on a chip para este propósito.

Videoconsolas

Las consolas más recientes también hacen uso de un SoC que integra buena parte de las funcionalidades en un único chip, algo entendible teniendo en cuenta que buscan ser más pequeñas que un ordenador de sobremesa normal y consumir menos.

Si pensamos en la última generación, las consolas PS5 y Xbox Series X / S usan SoC de AMD que encajan perfectamente en la misma categoría que las APU de ordenador, demostrando nuevamente lo polémico del concepto, puesto que la mayoría de la gente les llama SoC pero nadie llama así a una APU Ryzen.

Raspberry Pi

Finalmente, nuestro último ejemplo concreto estará en la conocida Raspberry Pi, que como sabréis es un ordenador de muy pequeño tamaño y bajo coste destinado a usos relacionados con la computación básica, la ciencia, automatización industrial y robótica, etc. Todos tenemos en nuestra cabeza que este es un equipo capaz de hacer mucho en un espacio muy reducido, y esto es gracias al uso de un SoC que concentra buena parte de la funcionalidad. Pongamos como ejemplo el Broadcom BCM2711 usado en la Raspberry Pi 4 Model B, y algunos de sus componentes:

  • CPU de 4 núcleos ARM Cortex A-72 de 64 bits a 1.5GHz.
  • GPU VideoCore VI (VC6) con codificación y decodificación H.264/H.265 y conexión de vídeo.
  • Entrada/salida con un bus PCIe 2.0, Ethernet Gigabit, USB 2.0, etc.

Palabras finales y conclusión sobre qué es un SoC

Un SoC o system on chip es uno de los conceptos más innovadores de la informática. Consiste básicamente en integrar en un solo chip la mayoría de componentes necesarios en un sistema, o al menos combinar la CPU con varios de estos componentes. Por ejemplo, si un procesador tiene funciones adicionales como controladores de memorias, gráficos integrados, etc, que en un equipo tradicional se atribuyen a varios chips, entonces sería un SoC.

A prácticamente cualquier procesador moderno se le puede considerar un SoC. Consulta también qué es un MPSoC

Pero los chips con los que más se suele utilizar el concepto SoC son aquellos que, además, integran otras partes como son controladores de entrada/salida, memoria RAM, etc. En particular, un chip de un móvil tendrá la mayor parte de funcionalidades dentro del propio SoC, teniendo que usar pocos chips «grandes» más, necesitándolos únicamente para tareas más específicas.

Si nos vamos a la lista de partes internas de un SoC por excelencia como el Apple A14, vemos cómo se integran un montón de funcionalidades adicionales, coprocesadores y más que complementan totalmente a lo que realiza la propia CPU. Esto puede ser controladores de señal de imagen, codificadores/decodificadores de vídeo, memoria RAM, almacenamiento, procesadores HDR, aceleradores de machine learning, GPU, etc.

En general, este tipo de SoC se utilizan en todo tipo de procesadores móviles o de pequeño tamaño, pero como decimos se puede considerar que se extienden a la mayoría de procesadores del planeta. Y es que toda esta integración puede resultar muy beneficiosa, suponiendo un importante ahorro en costes y consumos de energía, además de un aumento del rendimiento y fiabilidad. La clave está en no depender de buses externos y optimizar los diseños para una perfecta integración entre los componentes.

¿Qué os ha parecido el concepto de SoC? ¿Es uno de los mayores avances de la tecnología?