¿Qué hace una CPU cuando no hace nada?

Imagen de CPU

Su CPU pasa la mayor parte de su tiempo sin hacer absolutamente nada. Este es un hecho que la mayoría de los entusiastas de la tecnología generalmente conocen, pero la mecánica de cómo una CPU no hace nada, cambia para hacer algo brevemente y luego vuelve a no hacer nada de nuevo, no es algo que hayamos discutido con gran detalle. Es una pregunta que es cada vez más importante para los procesadores modernos; El objetivo de la mayoría de los chips fabricados en la actualidad es volver a sus estados de energía más bajos lo más rápido posible.

Como lo detallaGustavo Duarte, una CPU inactiva no es en realidad una CPU que no hace nada, es un chip que ejecuta tareas inactivas. Toda la CPU está diseñada para finalizar las operaciones actuales y volver a inactivo lo más rápido posible, pero el sistema debe tener algún método para activar un chip y decirle que preste atención a otra cosa. Una de las formas en que esto sucede es mediante un temporizador del sistema.

ciclos inactivos

(Image credit: Gustavo Duarte)



Como explica Duarte, una forma de evitar que una CPU consuma demasiada energía es construir períodos de tic más largos. De esta manera, la CPU pasa más tiempo inactiva antes de despertarse, atender tareas básicas y volver a dormirse.

¿Qué es una tarea inactiva?

Para un ser humano, una tarea ociosa puede parecer una contradicción de términos. La clave para comprender el equivalente de CPU es que una CPU siempre tiene que serhaciendoalgo, incluso cuando ese algo en realidad no es nada. Es el opuesto filosófico a la llamada 'espera ocupada', que le dice a una CPU que evalúe continuamente una condición para ver si es cierta.

CPU inactiva

Para chips x86 que ejecutan Windows, esta función toma la forma de la instrucción de detención (HLT) y el proceso inactivo del sistema de Windows. Windows programa el proceso inactivo para que se ejecute en un núcleo de CPU solo cuando no hay otros subprocesos elegibles para la ejecución en esa CPU. Si observa la lista de procesos en ejecución en un sistema Windows, a menudo verá el proceso inactivo del sistema ejecutándose en un alto porcentaje. Sin embargo, a diferencia de los otros procesos de esa lista, esto es en realidad una medida de cómopequeñola CPU está funcionando, no cuánto. La instrucción HLT está diseñada para consumir la menor cantidad de energía posible y colocar la CPU en este estado ahorra cantidades significativas de energía.

La historia de HLT

La instrucción HLT es bastante antigua; se implementó en los primeros procesadores 8086, pero no era compatible con los primeros sistemas operativos. Algunos de ustedes, los veteranos, recordarán que hubo un tiempo en el que incluso la funcionalidad básica de HLT no siempre funcionaba como se esperaba. En los viejos tiempos del overclocking, había una utilidad de CPU básica llamada Rain que en realidad aumentaba la cantidad de tiempo que un chip pasaba inactivo (y mejoraba las térmicas y el consumo de energía en el proceso). Con el paso del tiempo, hemos visto un grado creciente de sofisticación tanto de los fabricantes de hardware como de los desarrolladores de software.

Esta es un área en la que Windows 8 innovó: bueno, intenté innovar - pero con algunos resultados extraños. Permitió un tic mucho más largo entre procesos de forma predeterminada, pero también dio lugar a algunos problemas con programas como Google Chrome, que establece automáticamente la tasa de tic más corta que permite el sistema operativo, para mejorar la respuesta del sistema. Desde entonces, este comportamiento se ha corregido en versiones posteriores, pero puede haber sido responsable de que algunas computadoras con Windows 8 mostraran una menor duración de la batería.

Una CPU Intel 8086, de 1978

Una CPU Intel 8086, de 1978. Sí, las CPU eran cosas más simples en ese entonces, solo hay alrededor de 20,000 transistores allí.

Este es también un lugar donde los tiempos de tick ajustables, combinados con un movimiento hacia sistemas de soporte sin temporizadores basados ​​en cristal, tomaron desprevenido a Microsoft. Ahora es posible que el software ajuste la velocidad del bus frontal en Windows 8 de manera que se adapte a la hora normal del sistema operativo, lo que lleva a resultados de referencia erróneos. Este comportamiento en realidad persiste en Windows 10, aunque sigue siendo un problema de nicho: debe ajustar el reloj FSB del sistema mientras está dentro del sistema operativo para generar resultados erróneos.

Si bien la publicación original del blog se ocupa principalmente de los sistemas operativos de escritorio, la carrera hacia el inactivo es el componente más crítico de la arquitectura de una CPU moderna. AMD e Intel iteran anualmente, a menudo lanzando actualizaciones que solo pueden mover ligeramente la barra de rendimiento, pero mejoran significativamente el consumo de energía al implementar una mejor sincronización del reloj y cambios de modo de energía más rápidos.

Ahora lee: ¿Cómo funciona un disco duro?

Copyright © Todos Los Derechos Reservados | 2007es.com