¿La frecuencia de reloj de una CPU varía según demanda?

10

En mi máquina (no una computadora personal), tengo 4 núcleos (2.4GHz) y actualmente no tengo ningún proceso importante en ejecución. En este momento, ¿todos mis 4 núcleos funcionan / vibran a 2.4GHz o algunos de ellos funcionan más lento o incluso están inmóviles?

Remi.b
fuente
Tu pregunta no está clara. No tienes 24 procesadores.
Ramhound
1
¿Entonces no pudiste editar su pregunta para aclarar? Ya sabes lo que quiere decir.
Matt Clark
2.4Ghz no significa que tenga 24 núcleos. No hay forma de que pueda ser o sea alguna vez.
JakeGould

Respuestas:

14

si

Su procesador tiene una velocidad de reloj base o de bus frontal , mi i7 es ~ 100MHz, luego hay un multiplicador que puede cambiar en función de la demanda del procesador: este procesador de 2.6GHz puede tener un multiplicador de reloj que sube a 36 para dar Me una velocidad de reloj máxima de ~ 3.6GHz.

Debido a que la mayoría de las veces su máquina está inactiva, ese multiplicador se sentará alrededor de 8x, lo que significa que mi máquina solo funciona a 800MHz, podría cambiar varias veces por segundo.

No sé qué procesador tienes, así que no puedo decirte qué está haciendo el tuyo, pero la mayoría de los procesadores modernos hacen esto, incluido tu teléfono celular, se llama paso a paso y es lo que hace tu sistema para ahorrar energía.

Puede consultar CPU-Z por CPUID para ver los detalles de su sistema (windows).

O si está ejecutando Linux en un sistema que tiene un /procsistema, puede ejecutarlo cat /proc/cpuinfopara ver los detalles sobre su procesador. En esta impresión, y en la página CPU de CPU-Z, puede ver la velocidad máxima, la velocidad actual, el multiplicador y el multiplicador máximo.

Tenga en cuenta que este multiplicador se aplica a cada uno de sus núcleos, por lo que si su sistema tuviera unos 8 núcleos, todos ellos estarían funcionando con la misma frecuencia.

Aquí está mi sistema inactivo , observe que está funcionando a aproximadamente 800MHz con un multiplicador de 8, el mínimo para este procesador.

carga min

Aquí está mi sistema bajo carga moderada , funcionando a 3.4GHz con un multiplicador de 34. (tenga en cuenta que el voltaje del núcleo también aumenta)

carga moderada

La velocidad del bus de 100 MHz será generada por un PLL a bordo de la placa base: este es el reloj maestro que se envía a cada uno de los componentes lógicos de la placa base, es decir, pci, ram, controlador usb, etc. Esta es la señal que se pasa a la CPU física a través del socket.

La velocidad central, ~ 3.4GHz, es generada por un segundo PLL en la CPU, usando el FSB como fuente.

Overclocking

Cuando las personas overclockean sus máquinas, esto generalmente aumenta la velocidad del FSB, lo que hace que todo funcione más rápido; El problema con que todo funcione más rápido es que consume más energía, por lo general, también requiere un ligero sobrevoltaje.

Donde la gente comienza a experimentar problemas es que cuando se ejecuta a plena potencia, en primer lugar, el silicio se calienta extremadamente, y en segundo lugar, los voltajes más altos y luego clasificados comienzan a saturar los transistores cercanos, a solo micras de distancia en el silicio, lo que podría dañar el silicio en sí mismo, e interfiriendo con otras partes de la CPU.

HLT

Después de responder a esta pregunta, yo mismo pregunté si había alguna técnica adicional de ahorro de energía, para lo cual la respuesta fue la HLTinstrucción ;

Una vez que la CPU haya terminado de procesar su carga de trabajo, se detendrá, esencialmente deshabilitará el núcleo hasta que se active la próxima interrupción. En este estado, el reloj todavía se está ejecutando en FSBxMlt., Pero el núcleo de la CPU no está funcionando y esencialmente no está consumiendo energía.

Puede ver el HTLproceso de instrucciones en el Administrador de tareas de Windows, su nombre es Proceso inactivo del sistema ; todo el tiempo de CPU no utilizado se dedicará a la ejecución HLT.proceso inactivo del sistema

Matt Clark
fuente
Gracias +1 Tengo un Intel Xeon de 6 núcleos (en Mac) pero no hay necesidad de abordar eso en su respuesta.
Remi.b
Tenga en cuenta que un sistema que está realmente inactivo cierra el reloj de la CPU por completo. (estados de sueño, C2 y superiores). Las CPU modernas también apagarán sus cachés si están inactivas el tiempo suficiente (C3). Lo que estás describiendo aquí son los estados de potencia utilizados mientras estás en C0 (no dormido)
MSalters
1
No estoy tan seguro de que todos los núcleos funcionen a la misma velocidad. Con frecuencia he visto /proc/cpuinfoindicar que los núcleos estaban funcionando a diferentes velocidades.
kasperd
¿Oh? ¿Tienes algún enlace que muestre esto en acción? No creo haber visto diferentes núcleos operando a diferentes velocidades, excepto en la big.LITTLEarquitectura de algunos procesadores ARM que rara vez se usan en computadoras personales.
Matt Clark