Skip to main content
impresionsilicio

Dark Silicon: Qué es y problemas que plantea

Llevamos décadas viendo cómo cada vez se consigue meter un número mayor de transistores en el mismo espacio. Este rápido avance no ha venido acompañado de mejoras en el consumo por transistor a la misma velocidad con la que se aumentaba la densidad de transistores. Esto nos lleva a un problema del que se discute mucho últimamente: El llamado “Dark Silicon”.

El término Dark Silicon hace referencia a las partes del procesador que tienen que ser apagadas en un momento dado para que otras puedan funcionar. Hace muchos años este problema no existía ya que el número de transistores que tenía un procesador era bastante menor que hoy en día y la cantidad de transistores por unidad de superficie tampoco era comparable. Esto permitía tener un procesador funcionando al 100% y poder alimentarlo y refrigerarlo sin problemas. Al igual que con la famosa Ley de Moore, en este caso durante un tiempo se pudo seguir lo que se conoce como Dennard scaling (relacionado en cierta medida con la ley de Moore) que dice que a medida que los transistores se hacían más pequeños, la densidad de consumo por unidad de superficie se mantenía constante. Esto se puede traducir de una forma más coloquial como que a medida que un transistor se hace más pequeño, su consumo se reduce proporcionalmente a la mejora en tamaño. Durante bastantes años tanto la Ley de Moore como Dennard scaling se han venido cumpliendo. Lejos quedan ya los procesadores a los que había que meterles 3,3 o 5 voltios para que funcionasen. Hoy en día si hablamos de cifras como 1,4 voltios al hacer cosas como overclock casi nos llevamos las manos a la cabeza de lo alta que nos parece esa cifra.

Pero al igual que la Ley de Moore, nos estamos encontrando con problemas para escalar el consumo por transistor para mantener esa densidad de consumo por unidad de superficie a medida que metemos más transistores. Ya no se puede bajar ese consumo tanto como nos gustaría con las técnicas de fabricación de procesadores que utilizamos en la actualidad. Incluso hay ocasiones en las que las fugas de un proceso de fabricación determinado acaban por provocar productos nefastos (Snapdragon 810, por ejemplo).

Al no poder mantener una densidad de consumo determinada y encontrándonos con que hay ocasiones en las que esa densidad de consumo sube, tenemos que buscar otras técnicas que permitan rodear esa limitación. Es aquí donde entra el Dark Silicon. Si tú eres capaz de apagar algunos transistores en una unidad de superficie determinada, vas a permitir que otros transistores tengan un mayor margen de consumo y temperatura para trabajar pudiendo así mantener una densidad de consumo concreta para todos esos transistores, los encencidos y los apagados.

Intel Dark Silicon
Presentación de Intel con transistores encendidos y apagados según carga de trabajo

Con esto solucionas el problema de la densidad de consumo pero se presenta otro bastante obvio. ¿De qué sirve meter cientos de millones de transistores en un procesador si luego vas a tener que usar solo unos pocos a la vez en un momento dado? ¿Tiene sentido meter cada vez más transistores en el mismo espacio sin poder mejorar lo suficiente el consumo empeorando por tanto el problema del Dark Silicon?

En un inicio, se comenzó dividiendo las tareas del procesador en diferentes áreas para hacer más eficiente su procesamiento. De ahí surgieron cosas como la unidad de coma flotante, por ejemplo. Más tarde, se vio de casualidad que técnicas como esta en la que se dividían las tareas del procesador y se repartían por módulos más especializados también ayudaban a aliviar el problema del Dark Silicon. Con esto puedes tener un área del procesador más pequeña haciendo de forma más eficiente una tarea. Esto te posibilita apagar antes ese grupo de transistores para acto seguido poder enecender otros. También permite el hecho de que usando menos transistores de forma más eficiente en una tarea permite seguir teniendo otros transistores trabajando en otra parte del procesador. Esto siguió avanzando hasta conceptos como los que tenemos hoy en día de SoC o Sistema en un Chip con big.LITTLE y sucesivos. Un chip con múltiples módulos, cada uno especializado en una tarea concreta y que se pueden apagar y encender según convenga. Incluso en los diseños multinúcleo actuales podemos apagar unos núcleos y encender otros. De hecho suele ser recomendable encender unos núcleos mientras tienes otros apagados, no vayas a acabar sufriendo throttling, problemas de temperatura o un consumo disparado.

Dark Silicon
Efectos del Dark Silicon al escalar diseños multinúcleo

De cara al futuro es probable que sigamos con la tendencia de añadir módulos con tareas específicas. Con suerte igual vemos también nuevas técnicas de fabricación como la litografía en ultravioleta extrema que permitan mejorar un poco la densidad de consumo por unidad de superficie reduciendo ligeramente el problema del Dark Silicon. Hay muchos que piensan que en el futuro el diseño de procesadores no va a estar tan limitado por la Ley de Moore si no por los problemas al intentar cumplir con el Dennard Scaling. Por el momento, parece que vamos a seguir por el camino de añadir módulos más especializados como de inteligencia artificial, que tan de moda está ahora, y extendiendo conceptos como el big.LITTLE y el power gating para apagar zonas del procesador según convenga.

 

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *