Guía Hardware

MPSoC: qué es y para qué sirve

Actualizado a: 22 de enero de 2024

El MPSoC (Multiprocessor System-on-Chip) es una variante especial de un SoC del cual te brindaremos toda la información relevante en este artículo. Es un chip que cuenta con impresionantes capacidades y que muchas personas desconocen en qué consiste, cómo se utiliza, qué componentes integra y cuáles son las diferencias y similitudes con un SoC convencional.

Es importante destacar que no se debe confundir SoC con SOC, ya que son términos distintos. En resumen, un SOC (Security Operations Center) o centro de operaciones de seguridad, se refiere a un grupo de expertos dedicados a supervisar activamente la seguridad cibernética. Estos centros centralizados involucran personal, procesos y tecnologías para monitorear y mejorar constantemente la seguridad, prevenir, detectar, analizar y responder a incidentes de seguridad cibernética.

¿Qué es un circuito integrado o chip?

radiation hardened
Fuente: KAIST y NASA

Antes de nada, para comprender qué es un MPSoC, también sería importante saber qué es un IC o circuito integrado, también llamado chip. Es un dispositivo electrónico que contiene múltiples componentes electrónicos, como transistores, resistencias, condensadores y diodos, integrados en un sustrato semiconductor, generalmente de silicio. Estos componentes están interconectados entre sí en el chip para formar un circuito electrónico funcional.

La tecnología de circuitos integrados permite la miniaturización y la integración de numerosos componentes en un solo chip, lo que proporciona ventajas significativas en términos de tamaño, rendimiento y costo. Los circuitos integrados se utilizan en una amplia variedad de aplicaciones, desde dispositivos electrónicos de consumo, como teléfonos móviles y computadoras, hasta sistemas complejos como automóviles, aviones y equipos médicos.

¿Qué es un SoC?

Apple M1 SOC
SoC de Apple M1

Los chips que contienen sistemas en un solo chip reciben este nombre debido a que están compuestos por varios componentes principales de computación que se empaquetan juntos en un único chip. Un System on a Chip (SoC) implementa los circuitos electrónicos necesarios para diversos componentes de un ordenador en un solo chip de circuito integrado (IC), lo que significa que en una única pastilla de silicio se pueden incluir la CPU, la GPU, la memoria y otros componentes de entrada/salida adicionales.

Los SoCs también se conectan a otros componentes como cámaras, pantallas, memoria RAM, almacenamiento flash, entre otros. Al estar integrados en un solo sustrato, los SoCs consumen menos energía y ocupan menos espacio en comparación con los diseños de múltiples chips con funcionalidad similar.

Los diseños más integrados de sistemas informáticos mejoran el rendimiento, lo que los hace ideales para dispositivos móviles y equipos donde el tamaño es importante. Sin embargo, cada vez se utilizan más en diversos dispositivos. Recientemente, la tecnología SoC también se ha empleado en ordenadores personales y portátiles más pequeños con el objetivo de reducir el consumo de energía y aumentar la productividad de tablets o portátiles al utilizar un único chip para gestionar todos los aspectos de un sistema.

La estrecha integración del sistema proporciona mayor fiabilidad y un mayor tiempo medio entre fallos, mientras que los SoCs ofrecen funciones más avanzadas y mayor potencia de cálculo en comparación con los microcontroladores. Es importante mencionar que los microcontroladores, o MCUs, también logran algo similar al integrar la CPU, la memoria y el sistema de entrada/salida en un único chip.

A diferencia de las placas base típicas con arquitectura de PC que permiten al usuario conectar o desconectar componentes intercambiables, el SoC condensa todo esto en un solo circuito integrado, lo que se traduce en mayor rapidez debido a la proximidad y las interconexiones cortas y de baja latencia que posee en comparación con una PCB (placa de circuito impreso).

¿Qué es un MPSoC?

MPSoC

El MPSoC, conocido como sistema multiprocesador en chip, es esencialmente un SoC que contiene múltiples procesadores en su interior. En la mayoría de los casos, estos procesadores son de naturaleza heterogénea, lo que significa que no todos tienen la misma arquitectura de conjunto de instrucciones (ISA). Un MPSoC debe contar con varios núcleos de CPU según su definición. Además de los núcleos de CPU, los MPSoC suelen incluir otros módulos, al igual que los SoC convencionales.

Si bien los SoC han existido durante algún tiempo, los MPSoC son relativamente nuevos y ofrecen la capacidad de reconfiguración gracias a sus componentes FPGA. Esto permite la reconfiguración de partes significativas del chip.

Tanto en las plataformas MPSoC heterogéneas como en las homogéneas, es esencial escalar adecuadamente la interconexión NoC (Netowrk on Chip o red en chip) para garantizar un flujo de datos que aproveche plenamente los recursos de memoria disponibles en el chip, evitando así desperdiciarlos y logrando un sistema que no sea demasiado sensible a la latencia.

¿Qué es un NoC?

Un NoC (Network on Chip), o red en chip, es una infraestructura de comunicación diseñada para facilitar la transferencia de datos entre los diferentes componentes de un sistema en chip (SoC) o un sistema multiprocesador en chip (MPSoC). Es una red interna que conecta los núcleos de procesador, las memorias, los periféricos y otros bloques funcionales del chip, permitiendo la comunicación eficiente y rápida entre ellos.

El NoC utiliza un conjunto de enlaces de comunicación y nodos de conmutación para transferir datos de manera simultánea y paralela. Proporciona un mecanismo escalable y flexible para la comunicación entre los diferentes bloques del chip, evitando cuellos de botella y optimizando el rendimiento del sistema. El diseño del NoC puede variar dependiendo de la aplicación y los requisitos del sistema, pudiendo ser jerárquico, en malla, en árbol u otras topologías.

Estructura

Además de albergar diversas unidades de procesamiento, como se mencionó previamente, un MPSoC incluye una variedad de módulos adicionales:

  • Bloques de memoria, como la RAM, que almacenan datos temporales necesarios para el funcionamiento del chip.
  • Recursos de temporización, encargados de generar señales de reloj que controlan el flujo de datos y las operaciones del chip.
  • Osciladores de cristal (X-tal) y PLL (Phase-locked Loops) que generan las señales de reloj necesarias para sincronizar las operaciones del MPSoC.
  • Periféricos, como contadores y generadores de funciones, que brindan capacidades adicionales de control y generación de señales.
  • Interfaces externas que implementan protocolos y lógica de comunicación, como USB, Ethernet, UART, SPI, I2C, HDMI, entre otros, permitiendo la conexión del MPSoC con dispositivos externos.
  • Por último, el NoC (Network on Chip) que se encarga de establecer una comunicación adecuada y rápida entre las diferentes partes del MPSoC, garantizando un flujo eficiente de datos y control entre los componentes internos.

Como ves, es una estructura bastante compleja.

MPSoC: ejemplos

Algunas implementaciones de MPSoC actuales son las siguientes:

  • Cell: fue desarrollado por STI (Sony, Toshiba, IBM) y está compuesto por un PPE (Power Processor Element), que es un microprocesador PowerPC, y varias unidades SPE (Synergistic Processing Elements), que son coprocesadores capaces de manejar 128-bit SIMD. También incluye un EIB (Element Interconnect Bus) para la interconexión, así como controladores de memoria RAM y E/S. Aunque no convenció a Apple, se utilizó en tarjetas de red, aplicaciones militares y en la consola PlayStation 3.
  • Adapteva Epiphany: esta arquitectura many-core de tipo MIMD de la compañía Adapteva presenta una familia llamada Epiphany. Puede albergar hasta 4096 núcleos RISC con ejecución fuera de orden, compartiendo un espacio de memoria común. Cada procesador es superescalar y tiene registros unificados de 64×32 bits. Aunque no cuenta con una memoria caché explícita, posee una ISA personalizada optimizada para precisión simple en coma flotante. Los nodos de procesamiento están conectados a través de un NoC para una comunicación eficiente.
  • Xilinx Zynq UltraScale: este sistema se compone de dos bloques principales: el sistema procesador (PS) y la lógica programable (PL). El Zynq UltraScale+ es un chip de alta potencia de Xilinx, con un núcleo ARM y una FPGA. La familia de sistemas en chip de radiofrecuencia (RFSoC) Zynq UltraScale+ ofrece un rendimiento y densidad excepcionales, además de una mayor eficiencia energética. La plataforma de software unificada Vitis de Xilinx permite el desarrollo en diferentes plataformas, incluyendo SoCs.
  • SHAPES: esta arquitectura MPSoC utiliza una topología de mosaicos heterogéneos con recursos de memoria distribuidos en el chip. Los mosaicos son CPUs especializadas que admiten diferentes tipos de algoritmos. En SHAPES, las fichas están conectadas a través de una red de conmutación de paquetes en el chip (NoC)

Como puedes imaginar, la complejidad en número de puertas lógicas de estos dispositivos es bastante elevada que un SoC, por lo general.

Jaime Herrera

Jaime Herrera

Ingeniero Informático apasionado por el hardware y la tecnología. Llevo más de diez años dedicándome al análisis de componentes como procesadores, tarjetas gráficas y sistemas de almacenamiento. Mi objetivo es ofrecer información clara y precisa, combinando mi experiencia técnica con un enfoque práctico para ayudar a los lectores a entender mejor el mundo del hardware.

>
Guía Hardware
Logo