ProcesadoresTutoriales

MPSoC: ¿Qué es? ¿Es diferente a SOC?

El MPSoC es un tipo particular de SoC sobre el que te comentamos todo lo que debes saber en este artículo. Un chip con capacidades realmente impresionantes y que pocos conocen qué es, para qué se  usa, qué integra, y las diferencias existentes con respecto a un SoC convencional, así como las semejanzas.

No hay que confundir SoC con SOC, son términos diferentes. En pocas palabras, un SOC (Security Operations Center), o centro de operaciones de seguridad, es el grupo de expertos que supervisan activamente la ciberseguridad Los centros de operaciones de seguridad (SOC) son lugares centralizados y que involucra al personal, los procesos y las tecnologías para supervisar y mejorar continuamente la seguridad, previniendo, detectando, analizando y respondiendo a los incidentes de ciberseguridad.

¿Qué es un SoC?

Los sistemas en un chip se denominan así porque están compuestos por una serie de componentes principales de computación, que se empaquetan juntos en un chip. Un System on a Chip (SoC) implementa los circuitos electrónicos necesarios para los diferentes componentes del ordenador en un solo chip de circuito integrado (IC), es decir, en una sola pastilla de silicio podemos tener la CPU, la GPU, la memoria, y otros componentes adicionales de E/S, entre otros.

Los SoCs también se conectan a otros componentes como una cámara, una pantalla, memoria RAM, almacenamiento flash, etc. Al estar integrados en un único sustrato, los SoC utilizan mucha menos energía y consumen mucho menos espacio en comparación con los diseños de varios chips de funcionalidad equivalente.

Los diseños de sistemas informáticos más estrechamente integrados aumentan el rendimiento. Esto unido a lo anterior hacen que sean perfectos para dispositivos móviles, o equipos donde el tamaño importa. No obstante, cada vez se ven en más dispositivos. Recientemente, la tecnología SoC también se está utilizando en ordenadores personales y portátiles de menor tamaño, con el fin de disminuir el uso de energía y aumentar la productividad de una tableta o un portátil, utilizando un único chip para manejar todos los diferentes aspectos de un sistema.

La estrecha integración del sistema ofrece una mayor fiabilidad y un mayor tiempo medio entre fallos, mientras que los SoC ofrecen funciones más avanzadas y potencia de cálculo en comparación con los microcontroladores. Recuerda que los microcontroladores, o MCUs, también hacen algo parecido, integrando la CPU, la memoria, y el sistema de E/S en un solo chip.

A diferencia de la típica placa base con arquitectura de PC que permite al usuario conectar o desconectar los componentes intercambiables, el SoC miniaturiza todo eso en un solo circuito integrado, por lo que la rapidez le viene de la proximidad y las interconexiones tan cortas y de baja latencia que posee, frente a lo que sería una PCB.

¿Qué es un MPSoC?

M1 Ultra

El MPSOC es un sistema multiprocesador en chip multiprocesador. Es decir, básicamente es un SoC con múltiples procesadores en su interior. Y, en la mayoría de los casos, son CPUs heterogéneas, es decir, no todas tienen la misma ISA, sino que serían diferentes en ese sentido. Un MPSoC debe tener, por definición, varios núcleos de CPU. Los MPSoC también suelen incluir otros módulos como sucedía con el SoC convencional.

Los sistemas en chip (SoC) existen desde hace tiempo, pero estos MPSoC son bastante nuevos y, gracias a sus partes FPGA y a su capacidad de reconfiguración inherente, permiten reconfigurar grandes partes de un chip.

Tanto en las plataformas MPSoC heterogéneas como en las homogéneas, la interconexión NoC (como infraestructura de comunicaciones en el chip) se deben escalar adecuadamente  para soportar un flujo de datos que sea capaz de alimentar los recursos de memoria en el chip y no dejarlos sin utilizar, lo que conduce a un sistema no tan sensible a la latencia.

Estructura

Un MPSoC no solo contiene diferentes unidades de procesamiento, como he comentado anteriormente, también tiene otros módulos adicionales:

  • Bloques de memoria como la RAM.
  • Recursos de timing para generar señales de reloj para el control del chip.
  • Osciladores de cristal (X-tal) y PLL (Phase-locked Loops) para generar las señales cuadradas de reloj.
  • Periféricos como los contadores y generadores de funciones.
  • Interfaces externas implementando protocolos y lógica de comunicación para el exterior (USB, Ethernet, UART, SPI, I2C, HDMI,…).
  • Y el NoC para comunicar cada parte entre sí de una forma correcta y rápida.

Ejemplos de implementaciones

Algunos ejemplos de MPSoC son:

  • Cell: fue creado bajo la alianza STI (Sony, Toshiba, IBM), y se compone de un PPE (Power Processor Element), que básicamente es un microprocesador PowerPC, y también varias unidades SPE (Synergistic Processing Elements), que eran co-procesadores capaces de manejar 128-bit SIMD. También estaba formado por un EIB (Element Interconnect Bus) para la interconexión de todas las partes, así como controladores de memoria RAM y de E/S. Agregar también que estos procesadores no convencieron a Apple, motivo por el cual se pasaron a Intel y el concepto de multicore que tenían en esta otra empresa. Y es que los SPEs no eran núcleos completos, sino simplemente coprocesadores que ayudaban en las operaciones a la unidad de CPU PPE. Sin embargo, sí que se usó en algunas tarjetas de red, en aplicaciones militares, y en la famosa consola PlayStation 3.
  • Adapteva Epiphany: esta compañía fabless también se atrevió con su familia Epiphany, una arquitectura many-core de tipo MIMD escalable. Podía acomodar nada menos que 4096 núcleos RISC con ejecución fuera de orden, todos ellos compartiendo un espacio de memoria común. Cada procesador es superescalar, con registros 64×32-bit unificados, con velocidades de reloj de 1 GHz con capacidad para desarrollar hasta 2 GFLOPS en presición simple, y con una ISA personalizada optimizada precisamente para la precisión simple en coma flotante. También destacar que todos los nodos de procesamiento estaban conectados mediante un NoC, permitiendo mayor eficiencia a la hora de comunicarse unos con otros. Por otro lado, era un sistema programable en C, usando el compilador GNU GCC. Cada procesador RISC contenía también 32 KB de memoria local, pero sin memoria caché explícita para esta extraña arquitectura. Es decir, similar a lo que ocurría con el procesador Cell y sus unidades de cómputo. Esto, aunque penalizaba a la hora de acceder a datos o instrucciones, tenía una clara ventaja, y es que eliminaba la complejidad de un sistema de coherencia de caché para todos los núcleos implementados. Además, el programador de estos sistemas también podía trabajar con un sistema de acceso a memoria algo más simple y comprensible.
  • Xilinx Zynq UltraScale: se compone de dos bloques principales, el sistema procesador (PS) y la lógica programable (PL), situados dentro de dominios de potencia aislados. El Zynq UltraScale+, es un chip Xilinx (actualmente propiedad de AMD) de alta potencia y complejidad construido en torno a un núcleo basado en ARM y una FPGA. La familia de Xilinx de sistemas en chip de radiofrecuencia (RFSoC) Zynq UltraScale+ es una arquitectura innovadora que integra los extremos delanteros de una cadena de señales de radiofrecuencia, dando un gran salto en el rendimiento y la densidad, lo que significa menos placas y mucha menos energía. Además, proporciona niveles de rendimiento, flexibilidad y escalabilidad sin precedentes para sus sistemas. Por otro lado está Vitis, una plataforma de software unificada, que se asienta sobre Vivado, y le permite ejecutar su desarrollo a través de varias plataformas de Xilinx, incluyendo SoCs, y el Versal ACAPs. PetaLinux es el kit de desarrollo de sistemas Linux embebidos que se dirige a los diseños SoC de Xilinx.
  • SHAPES: es otra arquitectura MPSoC utiliza una topología de mosaicos heterogéneos con recursos de memoria distribuidos en el chip; los mosaicos sirven como CPUs de aplicaciones específicas que soportan diferentes clases de algoritmos. En SHAPES, las diferentes 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.

Isaac Romero Torres

Más de una década trabajando en el ámbito de la investigación sobre arquitecturas y microarquitecturas de CPUs, de la electrónica, la lógica digital, de los sistemas operativos Unix (con los que trabajé como asesor para algunas empresas), programación de MCUs, PLCs, hacking, etc.
Los datos de carácter personal que nos facilite mediante este formulario quedarán registrados en un fichero de Miguel Ángel Navas Carrera, con la finalidad de gestionar los comentarios que realizas en este blog. La legitimación se realiza a través del consentimiento del interesado. Si no se acepta no podrás comentar en este blog. Puedes consultar Política de privacidad. Puede ejercitar los derechos de acceso, rectificación, cancelación y oposición en info@profesionalreview.com
Botón volver arriba