banner
Centro de Noticias
Amplia experiencia junto con equipos avanzados

Los chiplets atrevidos se encuentran con los súper NoC

Sep 01, 2023

Clive 'Max' Maxfield | 22 de agosto de 2023

Últimamente he visto cada vez más actividad en el frente de los chiplets (múltiples dados de silicio en un sustrato común). Varios de los grandes jugadores han estado utilizando implementaciones internas patentadas durante algún tiempo, pero las cosas parecen estar moviéndose de tal manera que, en un futuro no muy lejano, todos podrán unirse a la diversión.

Antes de lanzarnos de cabeza a la refriega con gusto y abandono (y aplomo, por supuesto), podría ser útil definir algunos términos para asegurarnos de que todos estemos bailando claqué al son de la misma gaita.

Comencemos por el principio con el circuito integrado (IC), que se refiere a un circuito formado a partir de un conjunto de componentes (transistores, resistencias, etc.) implementados en una pequeña pieza plana de material semiconductor. Aunque se pueden utilizar diversos semiconductores, el silicio es el más común, por lo que estos dispositivos se denominan genéricamente "chips de silicio".

La frase circuito integrado monolítico se utiliza a menudo para reflejar y enfatizar el hecho de que todo se implementa en una única pieza sólida y sin costuras de silicio, lo que distingue a estos circuitos de sus predecesores, que se crearon utilizando colecciones de componentes discretos (empaquetados individualmente).

Los circuitos integrados pueden ser de naturaleza analógica, digital o de señal mixta (tanto analógica como digital). No voy a mencionar los dispositivos de radiofrecuencia (RF) porque sólo de pensar en lo que se necesita para diseñar uno me duele la cabeza.

Los términos ASIC, ASSP y SoC suelen ser fuente de confusión para los incautos. Como escribí en mi libro Bebop to the Boolean Boogie: An Unconventional Guide to Electronics (que yo mismo uso a menudo como referencia): "En términos generales, un circuito integrado de aplicación específica (ASIC) es un componente diseñado por y/ o utilizado por una sola empresa en un sistema específico. En comparación, un producto estándar de aplicación específica (ASSP) es un dispositivo de uso más general que se crea utilizando herramientas y tecnologías ASIC, pero que está destinado a ser utilizado por múltiples casas de diseño de sistemas. . Mientras tanto, un System-on-Chip (SoC) es un ASIC o ASSP que actúa como un subsistema completo que incluye uno o más procesadores, memoria, periféricos, lógica personalizada, etc.

Hay varias cosas que vale la pena señalar aquí. Cuando escuchan los términos ASIC y ASSP, la reacción instintiva de muchas personas es pensar en dispositivos digitales, pero eso se debe a que esas personas provienen del dominio digital. Los diseñadores analógicos bien pueden considerar sus creaciones puramente analógicas como ASIC y ASSP. A los aficionados a lo analógico también les gusta decir que lo digital es un subconjunto de lo analógico, lo que explica por qué no tienen muchos amigos y tienden a terminar solos en un rincón en las fiestas. Dicho esto, incluso los dispositivos “puramente digitales” que contienen cantidades alucinantes de funciones digitales incluirán casi invariablemente un puñado de elementos analógicos para monitorear cosas como el voltaje y la temperatura, junto con algunas funciones analógicas más grandes como los bucles de bloqueo de fase (PLL).

Alrededor de la década de 1970, era común tener solo pequeñas cantidades de lógica digital implementadas en un IC (estoy pensando en dispositivos de la serie 7400 de Texas Instruments y componentes de la serie 4000 de RCA). Las placas de circuito impreso (PCB) de aquella época podían contener cientos de estos componentes. Con el tiempo, pasamos a tener menos dispositivos, cada uno con más funciones digitales.

Cada proceso de semiconductores tiene reglas sobre el tamaño mínimo de las estructuras que se pueden fabricar en el chip. Cada proceso de nueva generación se conoce como nodo tecnológico o nodo de proceso, designado por el tamaño mínimo de característica que puede lograr ese proceso (estoy simplificando las cosas, pero estoy seguro de que entiendes la esencia). Históricamente, estos tamaños de características (por lo tanto, nodos de proceso) se especificaban en millonésimas de metro (micrómetros o µm). Los primeros ASIC que diseñé alrededor de 1980 fueron dispositivos Toshiba implementados en el nodo de 5 µm. Hoy en día, los nodos de proceso se especifican en milmillonésimas de metro (nanómetros o nm).

Con el paso de los años, a medida que las geometrías (los tamaños de las estructuras de los chips) se redujeron, fue posible meter cada vez más transistores en la misma área. Además, los avances en las herramientas y tecnologías de fabricación hicieron posible crear dados (chips) cada vez más grandes. ¿Que tan grande? Bien…

Haga una pausa para respirar profundamente... En 1996, el Intel Pentium Deschutes, que se implementó en el nodo de proceso de 0,25 µm (250 nm), tenía 7,5 millones de transistores, lo que era una cifra asombrosa en ese momento. En 2003, el IBM PowerPC 790, que se creó en el nodo de proceso de 90 nm, constaba de 58 millones de transistores. En 2007, el Intel Xeon 5400, fabricado en un nodo de proceso de 45 nm, contenía 820 millones de transistores. En 2010, el Intel Westmere-EX, fabricado en el nodo de proceso de 32/28 nm, contaba con 2.600 millones de transistores. En 2018, el Apple A12 Bionic, fabricado en un nodo de proceso de 7 nm, contaba con 6.900 millones de transistores. Más recientemente, en 2022, el Apple A16 Bionic, que entró en liza en el nodo de proceso de 4 nm, hace alarde de más de 15 mil millones de transistores... y exhala de nuevo (¡uf!).

Por un lado, todo esto es muy emocionante. Conozco varias empresas emergentes relativamente pequeñas que han creado dispositivos de transistores multimillonarios. Por otro lado, estamos alcanzando los límites de lo que se puede lograr con las tecnologías actuales. Por ejemplo, el límite teórico para una fotomáscara utilizada con el proceso ultravioleta extremo (EUV) es ~850 mm2 (alrededor de 29 mm x 29 mm cuadrados). En la práctica, a medida que superamos ~600 mm2 (digamos 25 mm x 25 mm), el rendimiento (es decir, el número de chips que funcionan versus el número que no) comienza a caer dramáticamente (cara triste).

Dividir la funcionalidad en múltiples dispositivos empaquetados individualmente no es una opción (bueno, no es una buena opción) debido al consumo de energía y los retrasos asociados con la interconexión de chip a chip (C2C). La solución es tomar varios dados (que, en este contexto, se conocen comúnmente como chiplets) y montarlos en un sustrato común. Este sustrato puede ser orgánico,* como una PCB pequeña de alta densidad, o un semiconductor, y el resultado se conoce como sistema de matrices múltiples (*el término orgánico se usa en este contexto porque las moléculas que forman los plásticos y las resinas en el El sustrato tiene una “columna vertebral” formada a partir de átomos de carbono, y el carbono es el elemento clave para la vida orgánica tal como la conocemos).

Se pueden montar varios chiplets sobre un sustrato común para formar un sistema de múltiples matrices.

Estaba charlando con los chicos y chicas de Synopsys sobre todo esto porque han estado trabajando intensamente en las herramientas y tecnologías necesarias para diseñar y verificar sistemas de múltiples matrices de este tipo, desde IP de silicio hasta IP de chiplet y multi. -Exploración arquitectónica de troqueles y embalaje de troqueles múltiples.

Los chicos y chicas de Synopsys dicen que, hasta ahora, han identificado cuatro casos de uso principales de chiplets. El primer escenario consiste simplemente en montar varias copias del mismo chip en el sustrato, como una serie de CPU, GPU o NPU, por ejemplo. El segundo escenario es tomar un diseño que realmente le gustaría implementar en un único dado monolítico, pero ese dado sería demasiado grande y el rendimiento sería demasiado bajo, por lo que está obligado a dividirlo en dos o más chipsets.

El tercer escenario se basa en el hecho de que, si bien es posible que desee implementar la funcionalidad principal del dispositivo digital en el nodo de proceso más reciente y mejor que pueda permitirse, es posible que este nodo no brinde ningún beneficio para algunas funciones de entrada/salida como la alta velocidad. Transceptores de velocidad. Además, considerando que funciones como los transceptores implican una combinación compleja de funcionalidad analógica y digital sofisticada, una vez que tenga uno funcionando en un nodo de proceso, es posible que desee seguir con esta solución existente, probada y sin riesgos. Un gran ejemplo de este escenario lo proporcionan los FPGA Intel Agilex 7 y los FPGA SoC (donde un FPGA SoC incluye un subsistema de procesador duro, o HPS para abreviar).

Miembro de ejemplo de la familia Intel Agilex 7 SoC FPGA F-Series.

Además del chip principal, los dispositivos Intel Agilex 7 contienen de dos a seis chiplets transceptores (XCVR), a los que llaman mosaicos. Estos mosaicos XCVR, que pueden admitir interfaces Ethernet de 400 Gbps, PCIe y Compute Express Link (CXL), están conectados al chip FPGA principal mediante la tecnología de puente de interconexión de múltiples troqueles (EMIB) integrada de Intel.

El escenario final implica desagregar la funcionalidad del dispositivo en múltiples dados heterogéneos, cada uno implementado en el nodo óptimo (en términos de costo, potencia, rendimiento, etc.) para su función. Por ejemplo, se podría implementar un chip de RF utilizando un nodo de proceso de 28 nm, un chip que contenga convertidores analógico-digitales (ADC) de alta velocidad podría implementarse en un nodo de proceso de 16 nm y cualquier “ardilla secreta” digital La lógica se puede realizar utilizando un nodo de proceso de 5 nm. El ejemplo más alucinante que he visto de este tipo de cosas es la serie de dispositivos Intel Data Center GPU Max (antes se conocían como GPU Ponte Vecchio). Quiero decir, 47 mosaicos y más de 100 mil millones de transistores, ¿qué es lo que no se puede amar? (Solo me alegro de no haber sido encargado de contar todos los transistores).

La serie Intel Data Center GPU Max proporciona un ejemplo extremo de una implementación basada en chiplets.

Hasta ahora, todo bien. Pero hay una parte de este rompecabezas que aún no hemos considerado: cómo los chiplets "se comunican" entre sí mediante la interconexión de muerte a muerte (D2D). Para ser honesto, ni siquiera había pensado en esto hasta que la gente de Synposys mencionó que se estaban asociando con empresas de Network-on-Chip (NoC) porque, como me dijeron, "Queremos que los NoC en múltiples chiplets se comporten como un Un único super-NoC que ofrece los mayores anchos de banda posibles con la menor latencia posible”.

La mera mención de un “Super NoC” hizo que todo tipo de ideas rebotaran en mi pobre cabeza. En caso de que los NoC sean nuevos para usted, permítame brindarle una breve descripción general. El tipo de circuitos integrados del que estamos hablando aquí se forman a partir de bloques funcionales conocidos como bloques de propiedad intelectual (IP). En la antigüedad (antes del año 2000), un IC podía contener una cantidad relativamente pequeña de IP relativamente pequeñas, todas las cuales se comunicaban entre sí mediante un bus. A medida que crecía la cantidad de IP y el tamaño de esas IP, los desarrolladores comenzaron a emplear conmutadores de barra transversal. Pero la cantidad y el tamaño de las IP continuaron creciendo, lo que provocó que los conmutadores de barra transversal tuvieran problemas de congestión y perdieran fuerza.

La solución fue trasladarse a un NoC. Recordemos que cada IP tendrá sus propias características de interfaz (ancho de datos, frecuencia de reloj, etc.). Además, cada IP empleará uno de los muchos protocolos estándar que ha adoptado la industria de SoC (OCP, APB, AHB, AXI, STBus, DTL, etc.). La solución es que cada IP esté conectada a una función llamada socket (nuevamente, estoy simplificando un poco las cosas). En el caso de una IP que desee transmitir datos, su socket asociado empaquetará y serializará los datos en una forma normalizada adecuada para el transporte a través de la red. Al igual que una red normal, varios paquetes que pasan entre varias IP pueden estar en tránsito al mismo tiempo. Cuando un paquete llega a su destino, el socket conectado a la IP de destino convertirá el paquete entrante nuevamente en cualquier forma empleada por esa IP.

Los NoC se pueden implementar en todo tipo de topologías, de las cuales muestro algunos ejemplos simples a continuación. En algunos casos, un chip puede emplear múltiples NoC, como un árbol 1D que cubre una parte del CI y una malla 2D que aborda los requisitos de otra parte del dispositivo, por ejemplo.

Algunos ejemplos de topologías NoC.

De hecho, muchos bloques de IP ahora son tan grandes que emplean sus propios NoC en su interior (tal vez deberíamos llamarlos Redes en IP (NiP), pero recuerden que esto es algo que inventé sobre la marcha) y luego cada uno de estos NiP. está conectado al NoC del chip principal. Por lo tanto, tiene sentido que si queremos implementar la interconexión D2D entre los chiplets que forman un sistema de múltiples matrices, entonces un Super NoC sería un camino a seguir.

Queriendo obtener más información, llamé a mi amigo Frank Schirrmeister, vicepresidente de Soluciones y Desarrollo Comercial en Arteris IP. Si alguien sabe lo que está pasando en el mundo de los NoC, es la gente de Arteris. Por ejemplo, hay un Arteris NoC en el 70% de los SoC utilizados para impulsar los sistemas avanzados de asistencia al conductor (ADAS) en automóviles en todo el mundo.

Frank señaló que cuando desee que su NoC cruce el límite de los chiplets como parte de una implementación D2D, tendrá que considerar si necesita que sus chiplets sean coherentes con la caché o no (Arteris ofrece FlexNoC para aplicaciones que requieren sistemas no coherentes). interconexión y Ncore para aplicaciones que requieren interconexión coherente), la capa de protocolo (PCIe, CHI, AXI, CXL, CCIX, propietaria…), la capa de enlace (paquetización vía AMBA, CXS, CPI, propietaria…), y la capa física (PCIe , BoW, UCIe, XSR…).

La forma en que normalmente he visto la tecnología IP de interconexión de Arteris NoC presentada gráficamente es la que se muestra a continuación.

Arteris NoC interconecta IP en el contexto de un SoC monolítico.

Sin embargo, dado que ahora estaba expresando mi interés en los conceptos de Super NoC utilizados en el contexto de la interconexión de chiplets D2D en sistemas de múltiples matrices, Frank tuvo la amabilidad de compartir una representación gráfica correspondiente como se muestra a continuación.

Arteris NoC interconecta IP en el contexto de un sistema multi-die.

Hay mucho más que discutir aquí. Por ejemplo, podríamos pasar días (posiblemente semanas) desentrañando las complejidades de los diversos acrónimos que he estado usando (PCIe, CHI, AXI, CXL, CCIX, AMBA, CXS, CPI, BoW, UCIe, XSR…).

Tomemos como ejemplo a la gente de Eliyan, que dice que su solución de interconexión NuLink D2D ofrece una interconexión compatible con UCIe con el doble de ancho de banda y la mitad de potencia (espero poder conversar con ellos sobre esto en un futuro no muy lejano). futuro).

Además, recientemente estuve conversando con Mateus Grellert, profesor asistente de la Universidade Federal do Rio Grande do Sul (UFRGS). Como me dijo Mateus: "Nuestro grupo de investigación en la UFRGS está trabajando actualmente con nuestros socios de la industria en proyectos relacionados con el desarrollo de sistemas basados ​​en chiplets, incluidas metodologías de diseño, interfaces de comunicación y herramientas que pueden acelerar el tiempo de comercialización".

Mateus continuó diciendo que las estrategias y protocolos de comunicación que estaban analizando incluían NoC y NoP. Cuando le pregunté sobre la nomenclatura de NoP con la que no estaba familiarizado, Mateus respondió: “NoP significa Network-on-Interposer. Es la versión SiP de un NoC. No estoy seguro de si es un término acuñado todavía, pero lo encontré en un artículo que estaba leyendo sobre la aceleración escalable en memoria (SIAM) basada en chiplets”.

Te lo digo: aprendo algo nuevo todos los días. Voy a dedicar algún tiempo a hablar con más personas para poder conocer los entresijos de todo esto. Mientras tanto, como siempre, agradezco sus cautivadores comentarios, preguntas esclarecedoras y sugerencias sagaces.

Más información sobre formatos de texto