Estos son realmente, como cantó Paul Simon, los días de milagros y maravillas. Parece casi imposible creer que los ingenieros ahora hayan logrado diseñar y construir una máquina cuyos componentes midan tan solo 40 nm de ancho. Eso es solo una milésima del diámetro de un cabello humano..

Sin embargo, estamos haciendo estos dispositivos en este momento. Se denominan unidades de procesamiento general y comienzan a desafiar a la unidad central de procesamiento por su título de larga data de la pieza de ingeniería más mágica que se encuentra en una computadora..

¿A qué amenaza se enfrenta la CPU? Considere un procesador de escritorio de gama alta como la variante de cuatro núcleos Sandy Bridge del Core i7 de Intel. Cuenta con poco menos de mil millones de transistores. Una unidad de procesamiento general de vanguardia como el Cayman de AMD, como se usa en la tarjeta gráfica Radeon HD 6970, registra una gran cantidad de transistores de 2,64 billones..

Dado que cuenta con no menos de 1.536 procesadores de sombreado, 24 motores SIMD (datos múltiples de instrucción única) y 32 ROP (unidades de operador de ráster), esto quizás no sea sorprendente. Esta es la historia de cómo se fabrican las GPU de AMD, cómo una idea se convierte en silicona usando algunos de los modos y mecanismos de ingeniería más avanzados e intrincados. Sigue leyendo mientras nos adentramos en los verdaderos días de milagro y maravilla..

1. El diseño de alto nivel.

El diseño de una unidad de procesamiento general no comienza con una idea de transistores o pistas de cobre, sino con algo que se llama la especificación de requisitos del producto, o PRS, una definición priorizada de todas las características que debe tener el nuevo chip. Puede que no suene muy emocionante, pero el PRS actúa como la lista de verificación durante todo el proceso de diseño.

Dado que el diseño es un ejercicio muy costoso, en términos de tiempo y dinero, es de vital importancia que el PRS proporcione una respuesta adecuada a la pregunta: "¿Qué es exactamente lo que estamos tratando de construir aquí?"

Por lo general, tomará seis meses completar el PRS. Participarán miles de ingenieros, incluidos arquitectos, diseñadores de hardware, diseñadores de tableros, ingenieros de validación, ingenieros de software e ingenieros de firmware / BIOS, así como representantes de gestión de productos, gestión de tecnología y relaciones con desarrolladores..

El documento toma la forma de una base de datos y podría incluir más de 1,000 características, cada una de las cuales podría ser desde una oración extraña hasta una especificación de 100 páginas..

Otro resultado del diseño de alto nivel, uno con el que estarán familiarizados los usuarios de PC con conocimientos técnicos, es un diagrama de bloques. Aunque no se parece en nada a cómo se organizarán los elementos de la GPU en el chip, incluye cada uno de los principales bloques funcionales y muestra cómo pasan las señales entre ellos..

2. Plano y netlist

Equipos de ingenieros ahora se ponen a trabajar en dos áreas distintas del diseño. Primero, el plano debe ser definido. Esta es una representación física que tendrá en cuenta qué tan grande se espera que sea cada bloque y dónde debe colocarse en relación con otros bloques..

Aquí, se tiene en cuenta la cantidad de señales que pasan entre los bloques con el objetivo de reducir las longitudes de las vías. Mientras tanto, otros ingenieros trabajan en el diseño a nivel de componentes de cada uno de los bloques..

Sin embargo, esto no se parece en nada al diseño de circuitos electrónicos previsto por el laico. En lugar de un diagrama de circuito, el diseño se crea en un lenguaje de descripción de hardware como VDHL. Si está interesado, el acrónimo compuesto significa circuitos integrados de muy alta velocidad (eso es lo que significa 'V') lenguaje de descripción de hardware.

Parecido a un lenguaje de programación, esta forma de generar circuitos ofrece muchos de los beneficios que se ofrecen al ingeniero de software. Lo más importante es que los circuitos pueden definirse jerárquicamente, por ejemplo, al haber definido una compuerta OR lógica a partir de transistores individuales, esto se puede usar en la definición de un bloque más complicado como un sumador de un bit..

De la misma manera, se construyen bloques de construcción cada vez más sofisticados al reutilizar lo que ya se ha creado. A menudo, el diseñador ni siquiera tendrá que definir los bloques de construcción, ya que estarán disponibles en bibliotecas de terceros.

Cuando el código VDHL está completo, pasa por un proceso llamado síntesis, que es el equivalente a compilar un lenguaje de programación. Mientras que la compilación de un lenguaje de programación comprueba el código en busca de errores y, una vez que está libre de errores, genera un archivo que contiene instrucciones individuales del procesador, la salida de síntesis se denomina una lista de redes y define las conexiones entre cada componente, incluidos esos 2,64 mil millones. transistores.

3. Verificación de circuitos y emulación.

La lista de redes podría ir directamente al proceso de creación de máscaras, pero esto podría estar buscando problemas porque los diseños tan complicados como una GPU nunca son 100% correctos en el primer intento. Además, dado que un conjunto de máscaras podría costar $ 1 millón, probar el diseño en silicona real sería prohibitivamente costoso.

En cambio, el diseño se verifica y emula, una operación que requiere un uso intensivo del procesador y que requiere recursos de supercomputación. La verificación implica probar bloques individuales con tal vez miles de pruebas por bloque. Cada vez que algo falla, el equipo de diseño retrocede para corregir los errores y luego realiza un conjunto completo de pruebas de simulación para asegurarse de que la acción correctiva no haya interrumpido algo que anteriormente funcionaba correctamente..

Una vez que todos los bloques individuales están operativos, el equipo pasa a la emulación. Esto significa ejercitar la GPU como un todo, pero dada la cantidad de tiempo de procesamiento necesario para simular un chip de transistor multimillonario, estas pruebas inicialmente podrían no ser nada más complicadas que dibujar un solo píxel.

Además de las pruebas funcionales, la emulación también garantiza que el chip cumpla con sus requisitos en términos de velocidad de procesamiento.

4. Haciendo las máscaras.

Con la simulación fuera del camino, los diseñadores saben que las conexiones del circuito son correctas, pero hasta ahora, con la excepción del plano de nivel superior, no se ha pensado en dónde van los componentes en el chip. Esto se lleva a cabo utilizando un paquete CAD especial, impulsado por el plano de planta..

Este proceso en gran parte automatizado coloca cada componente y enruta las pistas de cobre que finalmente las conectarán todas juntas. La culminación de este proceso es un hito importante al que se hace referencia como 'cinta adhesiva' y marca la transición del diseño a la fabricación..

Dado que AMD es una empresa de semiconductores fabless, este es también el punto en el que entrega la batuta a TSMC, su fundición elegida para las GPU. Sin embargo, antes de que se pueda fabricar cualquier chip, la fundición necesita crear un conjunto de máscaras fotográficas que se utilizarán en la fotolitografía, una para cada una de las muchas capas mediante las cuales se construye el circuito en el chip..

Utilizando los datos suministrados en la salida de cinta (que se pueden considerar como imágenes de los patrones en cada capa), las máscaras se crean como una capa con patrón de cromo metálico opaco en la superficie del vidrio de cuarzo..