HardZone – Así es como tu CPU y GPU ahorran en calor y en energía

Uno de los problemas con los que los diseñadores de CPU, GPU e incluso lógica especializada se enfrentan a día de hoy es con el tema del consumo energético. Una de las técnicas más usadas es la desactivación parcial de su compleja circuitería interna, la cual consiste en apagar partes del procesador.  ¿Cómo funciona y qué causas obligan a implementarla?

A no ser que nos guste derrochar dinero o seamos gente muy despistada que nos solemos dejar las luces encendidas, a nadie le gusta malgastar energía y lo mismo podemos decir de otros elementos básicos de consumo diario. En el caso de los procesadores, en cambio, esto no viene por concienciación económica y ambiental de los diseñadores, sino producto de las leyes de la física y especialmente en cómo se transmite la electricidad.

No podemos olvidar que un procesador a día de hoy no es más que un circuito eléctrico miniaturizado al máximo. Manifestado de otra manera, estamos hablando a día de hoy de miles de millones de transistores, donde cada uno de estos ha de ser alimentado de manera autónoma y simultáneamente con el resto.

La parte más compleja a la hora de diseñar una nueva CPU o GPU a día de hoy no es conseguir una arquitectura que sobre el papel consiga una potencia determinada, sino que su implementación física y real sea capaz de llegar al rendimiento esperado en un consumo concreto. Uno de los trucos para conseguirlo es la desactivación parcial del procesador, es decir, que partes del mismo estén apagadas mientras las otras se mantienen encendidas y que esta capacidad se pueda realizar al vuelo y, por tanto, con la CPU o GPU totalmente funcionando.

Consumo energético de un procesador

La fórmula del consumo energético de cada uno de los transistores en un procesador es la siguiente:

Potencia = Q*C*F*V2

Donde:

Q es el porcentaje de tiempo en el que el transistor se mantiene activo.
C es la capacitancia electrónica, y, por tanto, el nivel de carga que puede sostener un semiconductor.
F es la frecuencia o la velocidad de reloj
V es el voltaje

Hasta el año 2005 las reglas en el diseño de un procesador fueron las mismas en cuanto al consumo energético por área. La idea es que si el área de un procesador se reducía a la mitad entonces el ratio de escalado «S» se comportaba de forma parecida, el cual se calculaba con la siguiente fórmula: S = √2

Con ello ya podemos entender la siguiente tabla:

En la era del escalado de Dennard el voltaje consumido con cada transistor disminuía con cada nodo de fabricación, pero se llegó al punto en que el voltaje dejó de reducirse. El resultado fue que el consumo energético se disparó y no solo esto, y es aquí donde viene el problema: la cantidad de energía perdida convertida en calor aumentó. De repente ya no era posible subir la velocidad de reloj de los procesadores para aumentar el rendimiento, obligando a la creación de sistemas de varios núcleos. En cuanto al gráfico es la consecuencia del fin del escalado de Dennard.

¿Qué es la desactivación parcial?

De acuerdo, ya sabemos que los procesadores tienen el problema de que el consumo energético a partir de cierto momento se fue por las nubes y pasó a ser imposible escalar. Las consecuencias de esto fueron el llamado silicio oscuro, el cual se basa en que hay partes del procesador que se apagan a la hora de realizar ciertas operaciones para mantener un presupuesto energético constante. Debido al fenómeno que hemos comentado en la sección anterior, el área asignada como silicio oscuro ha ido aumentando con el tiempo.

La desactivación parcial, en cambio, pese a ser similar en cuanto a concepto es diferente, ya que se basa en la desactivación de bloques enteros y cien por cien funcionales de un procesador y no de partes concretas. Por ejemplo, cuando una GPU no está decodificando vídeo a través de su códec de hardware desactiva este, o cuando una CPU está en reposo aunque no apagada del todo lo que hace es desactivar todos los núcleos menos uno de ellos.

La desactivación parcial es, por tanto, el equivalente en un procesador a apagar las luces de una habitación si nadie la usa o a dejar los grifos del agua cerrados. Aunque no solo es de cara al voltaje, sino también al calor generado por las partes activas. Si un elemento al lado de otro recibe energía en consecuencia este produce calor y puede ahogar termalmente a los componentes que tiene a su lado. Es por ello que de cara al overclock o subida de reloj en una CPU se suelen desactivar muchas veces núcleos enteros.

¿Cómo se implementa la desactivación parcial?

Aquí entramos al concepto de las llamadas Power o Voltage Islands, cuya implementación se realiza en el periodo de diseño de cualquier procesador.  Esta idea consiste en diseñar la circuitería de diferentes partes del procesador a diferentes frecuencias y voltajes que son independientes unas de otras.

La idea de tener diferentes voltajes en cada una de las partes de un procesador tienes sentido por el hecho que no todas necesitan la misma potencia energética para funcionar y acaba provocando un mayor consumo en áreas donde este no es necesario. Pues bien, la desactivación parcial se basa en un concepto muy simple: hacer que en cada una de esas Power Islands se pueda variar el voltaje hasta dejarlo a cero. De la misma manera esto le permite a la CPU subir y bajar su voltaje para hacer lo mismo con la velocidad de reloj si es necesario.

Cuando accedemos a la BIOS para activar o desactivar partes del procesador tened en cuenta que esto es activación y desactivación parcial del mismo, la cual hoy en día podemos hacer en vuelo y sin tener que apagar el procesador. A nivel de fabricación, muchos procesadores están parcialmente desactivados respecto a modelos con la misma arquitectura, en ese caso lo que se hace es desactivar la circuitería que da energía a esa parte, lo que provoca que deje de funcionar.

Esto es fácil de ver en procesadores Ryzen con su software Ryzen Master y ahora con Intel Alder Lake también ocurre.

The post Así es como tu CPU y GPU ahorran en calor y en energía appeared first on HardZone.