2 votos

¿A qué velocidad pueden cambiar su frecuencia los gobernadores de la CPU?

Todas las descripciones de gobernadores de CPU que he podido encontrar utilizan palabras subjetivas como lento y rápido para explicar cómo cambia la frecuencia en determinadas condiciones.

¿Cuáles son los valores típicos aquí, estamos hablando de más o menos de 1ms?

Tengo curiosidad por saber a) a qué velocidad puede pasar el hardware de mínimo a máximo y viceversa y b) cuál sería un número razonablemente conservador como en un enfriamiento a demanda.

¿Existen valores típicos para, por ejemplo, una ROM de código abierto o cualquier otra, en tal o cual dispositivo, disponibles en algún lugar? O en su defecto, ¿es factible medir mi propio dispositivo sobre adb/ndk/sdk tinkering?

0voto

Fabio Puntos 11

Esto es lo que tengo en mi S4 internacional con CyanogenMod Rom 4.4.4 nightly build de 2015-06-14 con un gobernador de cpu bajo demanda.

En este examen abrí la aplicación de coursera y luego busqué alguna sección. Así que es una acción típica de un solo toque lo que vas a ver aquí.

Así que hice un adb shell y empecé a trastear. No encontré nada útil en /proc/cpuinfo, entonces me dirigí a dmesg.

Nota: para ejecutar dmesg necesitas ser Root.

Nota 2: dmesg -c borra el buffer, así que puedes estar seguro de que no verás lo mismo dos veces. Ayuda porque es un poco confuso porque está subiendo y bajando todo el tiempo.

root@ja3g:/proc # dmesg -c | grep -i clock                                                                                                                                                           
<6>[74960.230777] B0  23943 PVR_K: SGX change clock [177] Mhz -> [266] MHz req [266] MHz / M[800] / B[0]
<6>[74960.330888] B0  23943 PVR_K: SGX change clock [266] Mhz -> [350] MHz req [350] MHz / M[800] / B[0]
<6>[74960.431147] L0  23943 PVR_K: SGX change clock [350] Mhz -> [480] MHz req [480] MHz / M[800] / B[0]
<6>[74960.630002] L0  23943 PVR_K: SGX change clock [480] Mhz -> [350] MHz req [350] MHz / M[800] / B[0]
<6>[74960.930147] B0  23943 PVR_K: SGX change clock [350] Mhz -> [266] MHz req [266] MHz / M[800] / B[0]
<6>[74961.229909] B0  23943 PVR_K: SGX change clock [266] Mhz -> [177] MHz req [177] MHz / M[800] / B[0]
<6>[74962.330790] L0  23943 PVR_K: SGX change clock [177] Mhz -> [266] MHz req [266] MHz / M[800] / B[0]
<6>[74962.734868] L0  23943 PVR_K: SGX change clock [266] Mhz -> [177] MHz req [177] MHz / M[800] / B[0]

Mi interpretación de los datos es la siguiente: Toqué la pantalla y comenzó la transición alrededor de 74960.230777 segundos desde el arranque, cuando el gobernador se puso en marcha. Pasó de la frecuencia mínima (177) a 266, luego a 350 y finalmente a 480 Mhz a los 74960,431147 segundos, es decir, unos 200 ms después de que empezara a acelerar.

Luego comenzó a disminuir la velocidad en 74960.630002, alcanzando la velocidad mínima en 74961.229909 (600 ms después). No tengo ni idea de lo que pasó después de eso, probablemente todavía estaba construyendo algo en la pantalla y aceleró y bajó de nuevo.

Ni siquiera sé si esto tiene sentido, tengo 4 procesadores lentos y otros 4 rápidos/hambrientos de potencia, quizás debería ejecutar algunas tareas pesadas para estar más seguro de lo que ocurre.

Sin embargo, es curioso notar que incluso los mensajes de texto entrantes no leídos de Hangout hacen un pequeño salto de 177 a 266 a 177 MHz.

PreguntAndroid.com

PreguntAndroid es una comunidad de usuarios de Android en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X