¿Serán posibles los procesadores de 10 GHz para 2020?

En 2000, la proyección para procesadores más rápidos todavía era aumentar la velocidad del reloj. Desafortunadamente, resultó que esa área no sería la única restricción (que es lo que aborda la Ley de Moore [1]) sino el poder. La frecuencia puramente creciente causa una potencia mayor de la que podemos enfriar eficientemente. Ahora que tenemos una potencia limitada, las frecuencias del procesador se mantienen aproximadamente constantes al intentar hacer “más” a esa frecuencia. Un ejemplo de hacer más es usar múltiples núcleos más eficientes energéticamente y aprovechar el paralelismo.

Una posibilidad para el futuro son los chips de muchos núcleos con 10 o más núcleos. Un ejemplo de esto es la computadora en la nube de un solo chip de Intel con 48 núcleos. Otro es Tilera, que actualmente tiene entre 16 y 100 chips principales. Debido a esto, las redes en chip se han convertido en un campo activo de investigación en arquitectura de computadoras para determinar cómo apoyar la comunicación en estos chips. Un extremo en esta dirección de chip de muchos núcleos de potencia limitada es la idea del silicio oscuro. La idea del silicio oscuro es que los chips futuros tendrán muchos aceleradores especializados, pero solo unos pocos se encenderán a la vez debido a las limitaciones de potencia. Por lo tanto, mientras que el espacio de silicio (es decir, los transistores) se vuelve barato debido a la Ley de Moore, la restricción de potencia hace que gran parte del chip se apague o quede “oscuro”. La IBM Cell utilizada en la PS3 es un paso en la dirección del uso de núcleos especializados. La celda de la PS3 consta de 1 unidad de procesamiento de potencia y 8 unidades de procesamiento especializadas [2].

[1] La Ley de Moore habla sobre la cantidad de transistores que podemos instalar en un chip en aumento. No dice nada sobre frecuencia.

[2] Gracias a Max Seiden por mencionar la celda.

La respuesta corta es que los chips de 10 GHz ya son posibles, pero los desafíos de ingeniería a altas frecuencias hacen que otros enfoques (como la concurrencia / paralelismo) sean más ventajosos.

El principal desafío de ingeniería con el aumento de frecuencia en dispositivos comerciales tiene que ver con abstracciones teóricas utilizadas en electrónica y su tendencia a descomponerse bajo diferentes condiciones de circuito.

Al principio estaba Maxwell
En última instancia, todo en ingeniería eléctrica y electrónica se remonta a las ecuaciones de Maxwell (y en el caso de la microelectrónica de alta frecuencia con características de tamaño muy pequeño, algunas de ellas se comportan en términos de electrodinámica cuántica). Sin embargo, los enfoques de diseño reales que usan los ingenieros electrónicos tienden a variar, porque analizar cada circuito en términos de ecuaciones de Maxwell es demasiado difícil.

Por ejemplo, toma la teoría de circuitos. Es agradable imaginar corrientes a través de cables y voltajes entre puntos en un circuito, con abstracciones de circuitos agrupados, como resistencias discretas, condensadores e inductores. Sin embargo, esto está lejos de la verdad. La realidad de incluso su circuito más simple con una batería y una resistencia es bastante diferente: los campos electromagnéticos envuelven su conductor y se propagan como se describen las ecuaciones de Maxwell en lugar del modelo simple descrito en términos de corrientes a través de cables (teoría de circuitos).

La abstracción de la teoría de circuitos es muy útil debido a su simplicidad. Pero igualmente para un teórico y un ingeniero de diseño es importante darse cuenta de las limitaciones de tales marcos teóricos. Así como es importante darse cuenta cuando las leyes de Newton ya no son lo suficientemente completas para analizar un problema en mecánica (digamos a una escala muy pequeña o a velocidades relativistas), el ingeniero de diseño eléctrico necesita usar diferentes marcos teóricos para diferentes problemas de diseño. Y hay muchas de esas técnicas desarrolladas y diseñadas para apuntar a diferentes frecuencias y distancias.

Un desglose simplificado de la ingeniería eléctrica.
Aquí hay un resumen rápido de algunos de los tipos de problemas encontrados al diseñar sistemas eléctricos / electrónicos bajo diferentes parámetros.

  • Distancias cortas, frecuencias bajas: la teoría de circuitos (Ley de Ohm, KCL, KVL, con elementos de circuitos agrupados) es ideal para bajas frecuencias y distancias pequeñas. Esto es lo que utilizan muchos de los análisis introductorios y de circuitos de secundaria.
  • Largas distancias, bajas frecuencias: el análisis de la línea de transmisión se aplica a cosas como la distribución de energía eléctrica a largas distancias. La diferencia más importante en las líneas de transmisión es que ya no se puede asumir que la fase de una señal eléctrica permanezca constante en toda la línea. Mientras que la teoría de circuitos supone una transferencia instantánea de potencia / señales, aquí hay un retraso de tiempo durante la propagación. Otro problema teórico importante es que los cables comienzan a actuar como condensadores de placas paralelas masivas.
  • Distancias cortas, frecuencias altas: de nuevo aquí, entra en juego el análisis de la línea de transmisión. Puede haber inferido de esto que el quid del problema radica en la relación frecuencia-distancia en lugar de la distancia bruta o la frecuencia bruta. En los circuitos digitales a altas frecuencias, este es uno de los comportamientos dominantes. Un segundo problema teórico interesante con el análisis a este nivel es que los “cables ordinarios” o los rastros de la placa de circuito comienzan a comportarse como inductores. Cuanto mayor es la frecuencia, mayor es el efecto inductivo.

El punto crucial aquí es este: como las ecuaciones de Maxwell son difíciles de usar en problemas de diseño complejos, los ingenieros obtienen ejemplos específicos de ecuaciones que sirven muy bien para ciertos dominios problemáticos. Sin embargo, a medida que varía los parámetros del dominio, el desglose de estas ecuaciones y necesita volver a las ecuaciones de Maxwell nuevamente derivan nuevas ecuaciones para el nuevo dominio alterado.

Ahora, a medida que aumenta la frecuencia, puede imaginar que los efectos mencionados anteriormente se vuelven aún más problemáticos. Para colmo, tiene una serie de otros efectos electromagnéticos que Maxwell describe completamente, pero que no pueden describirse mediante las ecuaciones de diseño utilizadas en estas condiciones. Por ejemplo, ruido y acoplamiento electromagnético, entre una miríada de otras complejidades.

Ingeniería Electrónica de Alta Frecuencia
Y hasta ahora solo hemos cubierto la ingeniería eléctrica en alta frecuencia. Además de esto, hay una serie de problemas asociados con la ingeniería electrónica a alta frecuencia, y la electrónica descansa sobre la estructura eléctrica.

Hay una serie de problemas de ingeniería electrónica a estas velocidades. La microelectrónica para computadoras usa un tipo de tecnología llamada CMOS. Los circuitos CMOS están construidos con transistores de efecto de campo de semiconductores de óxido de metal de tipo N y P (MOSFETS). A altas frecuencias hay una serie de problemas asociados con CMOS. Las sustancias más nuevas invariablemente nos permitirán resolver muchos de estos problemas, pero por ahora, y al menos durante los próximos 5 años, el silicio CMOS es el estándar de facto de la industria.

  • El más destacado es el consumo de energía y las fugas. La ecuación de potencia CMOS es:
    Y muestra que el consumo de energía varía linealmente con la frecuencia. Cuanto mayor sea la frecuencia, mayor será el consumo de energía y, por lo tanto, mayores serán las temperaturas.
  • En los circuitos CMOS, la mayor parte del consumo de energía es durante la conmutación del transistor y, de lo contrario, casi no se consume energía. Cuanto mayor es la frecuencia, más rápido tienen que cambiar los transistores, de ahí el aumento de potencia.
  • CMOS Efectos de segundo orden. Estos son complicados y se vuelven más problemáticos a frecuencias más altas.
  • El diseño digital es solo otra abstracción teórica y se basa directamente en la electrónica analógica mucho más complicada. Si bien la computación analógica tiene enormes ventajas, la gran dificultad de este arte ha mantenido la ingeniería informática confinada principalmente a las abstracciones digitales. Sin embargo, el problema con lo digital es que espera que las señales tengan un “buen comportamiento”, y cuanto mayor sea la frecuencia, más se desviarán y sesgarán las señales digitales y comenzarán a comportarse más como señales analógicas.

La solución de ingeniería informática
Como reacción, el enfoque ha sido minimizar los problemas de ingeniería eléctrica y electrónica recurriendo a técnicas de ingeniería informática y avances en informática. En general, se dividen en estas categorías:

  • Paralelismo / concurrencia con componentes de baja frecuencia en lugar de simplemente hacer componentes más rápidos. es decir, muchos dispositivos menos potentes / de baja frecuencia son más fáciles de diseñar, construir y fabricar que un solo dispositivo muy rápido / muy potente.
  • Paralelismo masivo: las GPU llevan lo anterior a otro nivel, por ejemplo. Consisten en elementos de procesamiento que son individualmente mucho más simples y más lentos que las CPU, pero con cientos de estos, en última instancia, son mucho más rápidos en problemas computacionalmente intensivos y al mismo tiempo son más eficientes en cuanto a energía para resolverlos. Estos problemas son crudos numéricos computacionales crudos. Las ventajas del paralelismo (y particularmente el paralelismo masivo) recaen en problemas que no son fácilmente paralelizables.
  • Mejores algoritmos in silico : los algoritmos de tareas que se repiten a menudo se implementan en forma de circuito en la CPU para aumentar el rendimiento. Por ejemplo, las CPU Intel modernas implementan una gran cantidad de soporte de hardware para funciones de cadena complejas, aritmética de punto flotante, compresión, cifrado, etc. Las implementaciones basadas en hardware brindan ventajas de rendimiento dramáticas sobre las de software.
  • Optimización: el uso de estadísticas y análisis de complejidad computacional para estudiar el rendimiento de los programas y el tipo de instrucciones que tienden a ejecutar proporciona información sobre la mejor manera de optimizar la arquitectura del procesador para maximizar el rendimiento. A veces esto puede ser tan simple como mejorar el rendimiento de una determinada instrucción que se usa mucho. En otras ocasiones, esto puede involucrar las categorías mencionadas anteriormente o incluso requerir un trabajo más complejo para optimizar el rendimiento de la memoria / caché o involucrar una variedad de otras técnicas. Las filosofías de diseño RISC vs CISC son un ejemplo de un enfoque amplio que se incluye en esta categoría: construye instrucciones muy complejas o se enfoca en optimizar las instrucciones “micro” tanto como sea posible y permite que el software se construya por encima de ellas. Como con cualquier problema de optimización, hay compensaciones.