Además de ejecutar un ciclo infinito, ¿hay algún truco (¿tal vez fallas en el caché?) para hacer que una CPU esté lo más caliente posible?
Esto podría ser específico de la arquitectura o no.
Debería consultar la venerable aplicación cpuburn http://patrickmylund.com/projects/cpuburn/ y un rápido google también mostró que hay una aplicación CPUBurn-in para Windows y Linux http://cpuburnin.com/
Sé que cpuburn tenía interruptores especiales para activar las instrucciones específicas de la plataforma para obtener el máximo calor y dado que el código fuente está disponible bajo la licencia liberal MIT, puede echar un vistazo al código usted mismo.
Generalmente, realizar las operaciones más complejas posibles, por ejemplo, punto flotante, SIMD, etc., aumentará la temperatura al máximo. Cuanta más lógica en la CPU pueda ejercer al mismo tiempo, más caliente se pondrá. Simplemente ejecutar un ciclo while no hará mucho más que evitar que la CPU se duerma.
La potencia dinámica en un circuito digital se puede aproximar mediante la ecuación
donde V es el voltaje de suministro, C es la capacitancia de una puerta lógica, f es la frecuencia del reloj y N es el número promedio de puertas que cambian cada ciclo. Entonces, primero, aumente el voltaje y la frecuencia del reloj, ¡especialmente el voltaje!
La capacitancia de la puerta está fijada por el proceso de fabricación y el diseño físico. Eso deja a N. Necesita obtener la mayor cantidad posible de puertas cambiando tan a menudo como sea posible. Esto es inherentemente específico de la arquitectura. Debe considerar cosas como el paralelismo, la presencia de coprocesadores, la memoria caché integrada y cualquier sincronización de reloj o voltaje que use la CPU para ahorrar energía. El programa se escribirá en código ensamblador hecho a mano con mucho ensayo y error. Incluso un diseñador de CPU probablemente no podría descifrar el software en el peor de los casos sin experimentar.
Gorloth
KyranF
ricardo
ricardo
KyranF
usuario6972
usuario98663