Idea para programadores para Ahorro bateria

Hay un programa bastante antiguo ya, que se llama CPUidle (http://www.cpuidle.de/) el cual lo que hace es que cuando el procesador no trabaja, le corta el paso de corriente, con lo que consigue bajar mucho la temperatura, aunque esto en los ultimos procesadores ya viene integrado en la forma en que trabaja el procesador.

¿Pero y para la PSP? El calor es lo de menos, pero si es importante el consumo eléctrico del procesador, ya que depende directamente de la batería (todos hemos visto, la diferencia de la duración de la bateria si ponemos la CPU a 222Mhz o a 333Mhz que baja a la mitad!).

Bueno pues mi idea era esa, si algun gurú de la programacion pudiera hacer algo similar, seguramente que la batería duraría mas del doble! y podriamos poner siempre a 330Mhz sin que eso sea sinonimo de que consumiera mas bateria.

Bueno ahi lo dejo, saludos y suerte!
Parece que a nadie, le ha gustado la idea [buuuaaaa]
la idea s buena pero no factible, xq es lo mismo que bajar de 333 pa bajo
Celduques está baneado por "utilizar clon para saltarse baneo de subforo y querer tomar el pelo a la administración"
Si la consola se "duerme" cuando no la estás usando con el modo ahorro, o la pones en sleep o la apagas tampoco gasta tanto x'D
La idea es un poco absurda, no le veo utilidad ya que la psp está preparada para ahorrar energía x'D
No es absurda la idea, ni es bajar la velocidad de reloj a la CPU, quizá no me hayais entendido bien.

No se trata de que cuando pasen unos minutos desactive el procesador, si no que sea constante. Me explico, cuando en windows te pone que el procesador está trabajando por ejemplo al 50% en realidad trabaja al 100% durante unas milesimas y al 0% durante otro tiempo igual, un procesador no trabaja a medias o trabaja al maximo o no trabaja. Y se trata de eso de que cuando esté al 0% cortarle el suministro electrico. Si esto funcionara asi por defecto, apenas se notaria el usar la CPU a 333 o a 222, y duraría bastante mas la bateria, no sabría decir cuanto por que no se a que tasa trabaja la CPU de la PSP, pero hay momentos en que seguro que su rendimiento baja muchisimo (como cuando lees un texto o estas parado en un juego) y la batería duraría mas del 50% seguro.

Probad el programa que decia en vuestro PC y vereis que el PC funciona igual de bien, y se calienta menos (y gasta menos electricidad, si lo dejais siempre enchufado con emule, vuestras madres lo notaran en la factura [carcajad] )
¿Estás seguro que un procesador no trabaja en algún momento? Eso no va acorde con la eficencia con los algoritmos de planificación de procesos. Vamos, a no ser que se corte su trabajo unas milésimas o menos.
A la web que puse al principio me remito. http://www.cpuidle.de/works.php

En su dia, vi mas información acerca de esto, donde explicaba con detalle y mucho mas técnico lo que he dicho antes, pero no lo encuentro ahora. ¿Seguro? Si estoy seguro :-) Por que lo he probado y por que lo tengo instalado y funcionando ahora mismo, y la temperatura de la CPU (Athlon 3000+) baja de 52º en estado normal (osea sin darle caña a la CPU) hasta los 32º cuando activo el CpuIdle, no creo que haga falta mencionar, que si la CPU se calienta, es por su paso de corriente através de los transistores y resistencias, y si esta corriente se transforma en calor, quiere decir que se está desaprovechando.
Hoy por hoy, la mayoría de los procesadores para PC soportan cambios automáticos de frecuencia de reloj si el usuario así lo desea. En equipos portátiles no deja de ser una necesidad por lo peliagudo que es el tema del consumo.

De todas maneras, ese es el quid de la cuestión, el soporte por hardware de esa funcionalidad. Me temo que la CPU de la PSP no lo permita. Se podría hacer un programa que cambiase la frecuencia del procesador según el uso, pero el no tener una implementación por hardware podría crear todo tipo de efectos no deseados. Además, el underclocking podría provocar problemas de funcionamiento de la consola; si bien se suele hablar de los límites superiores a los que trabajan los componentes, también hay que tener en cuenta que no están preparados para trabajar a cualquier frecuencia por debajo de ese umbral.

En resumen, que la idea es buena, pero que la implementación puede causar más de un dolor de cabeza, y no creo que compense. Ya hay métodos para modificar algunas frecuencias de los componentes de la PSP como la CPU y la GPU, así que todo queda en manos del usuario para que éste determine qué velocidad de reloj tiene que usar en cada momento (escuchar mp3, leer un ebook, etc...). Con eso creo que vamos más que servidos.
A ver,no s si te estaré entendiendo mal.. Tu que es lo que propones,que no vaya a 333,cuando? POr que el recovery ya te da la opcion de tirar a tanto en el xmb y a tanto los juegos.. Yo tengo a 333 el xmb por el tema de cargar rapido los iconos al ser cantidad en 4 gb..pero si quiero ahorrar bateria para ver pelìculas por ejemplo lo bajo en el recovery y listo..Por que la psp sin actividad creo que lo mismo da que este a 333 que a 222,o menos,tienes tus plugins..
saludos.
EDITO: Pues va a ser que no te entiendo.. El suministro electrico se podria bajar,no cortar,no creo que llegue e ese extremo ni en modo sleep,vamos estoy seguro. Consumo màs reducido que el que tenga en modo sleep creo que serà imposible,salvo que la màquina salvase un ini o algo asi para leer los parametros guardados a la hora de cerrar,y ni asi me imagino,los programas que utilizasemos creo que tendrian que tener la opcion de leer esos datos a parte de la cpu de la psp.. Igual estoy diciendo una tonteria pero bueno.. Un saludo!
grishnakhelorco está baneado por "Clon de usuario baneado"
Esto sería de poca utilidad para la PSP pues presísamente esta tiene un procesador de frecuencia variable. Está en manos del programador porder modificar esa frecuencia para la realización de angún proceso (descodificación de video con el chip AVC a 130 Mhz, despertador del iRShell a 1 Hz, uso de los dos MB de DRAM del VME y su consecuente refresco, etc...).

El gasto de la bataría de la PSP por el procesador es algo que está en las manos de los programadores y se le está dando un uso bastante responsable...

Salu2.
Tonicartategui escribió:Yo tengo a 333 el xmb por el tema de cargar rapido los iconos al ser cantidad en 4 gb..pero si quiero ahorrar bateria para ver pelìculas por ejemplo lo bajo en el recovery y listo.


Hola
no entiendo ésta parte que cita Tonicartategui
¿tener el xmb a 333 o a una velocidad determinada es lo mismo que decir que mi psp va a esa velocidad? o decir que mi procesador funciona a esa velocidad tan solo en el menú, y para que los iconos te cargen rapido?

no entiendo tampoco, para que tener la consola en una velocidad y viendo una peli, usar el recovery para bajar los megaherzios.
no me queda nada claro, porque con estas acciones lo unico qu ehaces es gastar o consumir bateria
¿que haces entonces, cambias de velocidad cada vez que juegas a un umd o psx?
un beso

ejemplo un poco matutino :
es como si me compro una moto que llega a 333kmh, y la uso a 333kmh , pero lo unico que me interesa es que me de la posibilidad de lllegar rapidamente a aceder o a cargar iconos (en este caso velocidades inferiores) a 333 rapidamente, yo no lo comprendo.
Vamos a ver, no se en que me he explicado mal. No he dicho en ningun momento de reducir la frecuencia de reloj cuando no trabaje. No, lo que he comentado es que corte el suministro electrico a las resistencias y transistores (siempre dentro de lo posible claro está) cuando éste no se esté usando, y esto no quiere decir cuando esté en modo sleep, si no repito, el procesador si "trabaja al 33%" en realidad lo que hace es trabajar al 100% durante un tercio del tiempo, esos dos tercios restantes el procesador está "descansando" pero consumiendo energía electrica de la batería. Si al procesador le mandamos hacer operaciones con las que no da abasto, como pasar una peli a DIVX entonces si trabaja al 100% del rendimiento y no "descansa" hasta terminar, pero si le mandamos hacer operaciones mas sencillas con las que si da abasto, terminará una operación antes de empezar la otra, y hay un tiempo de descanso en medio...

No se si se me entiende, yo creo que es sencilla la idea, pero mas claro, imaginate que te mandan deberes que hacer cada dia en clase, y tu los haces en un rato por la tarde, entonces digamos trabajas al 5% de tu rendimiento total, ahora imaginate que te mandan tantos deberes que ni dedicando 24h al dia das abasto, entonces trabajas al 100% del rendimiento. Si hay momentos en los que no estas trabajando, es cuando se puede ahorrar energia sin alimentarlo


¿Se entiende o no se entiende la idea? Es el funcionamiento del CPUidle.

Y si para un procesador de PC se puede hacer, digo yo, que quizá tambien se podría hacer en un procesador de una PSP
grishnakhelorco está baneado por "Clon de usuario baneado"
maria_piespi escribió:
Hola
no entiendo ésta parte que cita Tonicartategui
¿tener el xmb a 333 o a una velocidad determinada es lo mismo que decir que mi psp va a esa velocidad? o decir que mi procesador funciona a esa velocidad tan solo en el menú, y para que los iconos te cargen rapido?

no entiendo tampoco, para que tener la consola en una velocidad y viendo una peli, usar el recovery para bajar los megaherzios.
no me queda nada claro, porque con estas acciones lo unico qu ehaces es gastar o consumir bateria
¿que haces entonces, cambias de velocidad cada vez que juegas a un umd o psx?
un beso

ejemplo un poco matutino :
es como si me compro una moto que llega a 333kmh, y la uso a 333kmh , pero lo unico que me interesa es que me de la posibilidad de lllegar rapidamente a aceder o a cargar iconos (en este caso velocidades inferiores) a 333 rapidamente, yo no lo comprendo.


Bueno, cada cual hace lo que mas le guste con su PSP.
Es algo que incluso estéticamente puede ser lícito pues si tienes el XMB a 222 y tienes icon.pmf en los eboot estos te van relentizados.
Si lo pones a 333 van bien...

NapalmCandy escribió:Vamos a ver, no se en que me he explicado mal. No he dicho en ningun momento de reducir la frecuencia de reloj cuando no trabaje. No, lo que he comentado es que corte el suministro electrico a las resistencias y transistores (siempre dentro de lo posible claro está) cuando éste no se esté usando, y esto no quiere decir cuando esté en modo sleep, si no repito, el procesador si "trabaja al 33%" en realidad lo que hace es trabajar al 100% durante un tercio del tiempo, esos dos tercios restantes el procesador está "descansando" pero consumiendo energía electrica de la batería. Si al procesador le mandamos hacer operaciones con las que no da abasto, como pasar una peli a DIVX entonces si trabaja al 100% del rendimiento y no "descansa" hasta terminar, pero si le mandamos hacer operaciones mas sencillas con las que si da abasto, terminará una operación antes de empezar la otra, y hay un tiempo de descanso en medio...

No se si se me entiende, yo creo que es sencilla la idea, pero mas claro, imaginate que te mandan deberes que hacer cada dia en clase, y tu los haces en un rato por la tarde, entonces digamos trabajas al 5% de tu rendimiento total, ahora imaginate que te mandan tantos deberes que ni dedicando 24h al dia das abasto, entonces trabajas al 100% del rendimiento. Si hay momentos en los que no estas trabajando, es cuando se puede ahorrar energia sin alimentarlo


¿Se entiende o no se entiende la idea? Es el funcionamiento del CPUidle.

Y si para un procesador de PC se puede hacer, digo yo, que quizá tambien se podría hacer en un procesador de una PSP


Yo te puedo decir que he trabajado con un procesador MIPS en ensamblador y este no se ponía al 0% de uso en el 99,9% de los casos y eso que solo trabajaba sobre un emulador como puede ser el PCSpin. Imagínate cargando un SO.
Cuando cargas un SO, da igual que no estés haciendo nada, siempre hay threads en sleep, subprocesos, carga de depuradores, CRCs, etc...

Como ya decía, la PSP está bien administrada en el uso de la frecuencia de la CPU (mas que nada porque tenemos control para modificarla según que porceso hagamos).

Salu2.
Vale, si de esa forma no puede trabajar, entonces dame una explicación del funcionamiento del CPUidle y como consigue bajar la temperatura de un procesador cuando no se esta usando a su maximo rendimiento. Que no es que esté discutiendo por intentar llevar la razon sin mas. Porque en cualquiera de los casos el planteamiento seguirá siendo el mismo, si en un procesador de PC se puede ahorrar energia cuando no trabaja, en otros procesadores también, o almenos intentarlo

Te invito a que lo instales y lo pruebes y verás que realmente funciona.
CPUiddle tiene apoyo hardware, en los procesadores actuales puedes desactivar partes de la cache, y unidades funcionales.El problema es que no creo que en PSP esto este soportado a bajo nivel, y si lo está a buen seguro se hará uso de ello
grishnakhelorco está baneado por "Clon de usuario baneado"
NapalmCandy escribió:Vale, si de esa forma no puede trabajar, entonces dame una explicación del funcionamiento del CPUidle y como consigue bajar la temperatura de un procesador cuando no se esta usando a su maximo rendimiento. Que no es que esté discutiendo por intentar llevar la razon sin mas. Porque en cualquiera de los casos el planteamiento seguirá siendo el mismo, si en un procesador de PC se puede ahorrar energia cuando no trabaja, en otros procesadores también, o almenos intentarlo

Te invito a que lo instales y lo pruebes y verás que realmente funciona.


Lo que te he dicho es lo que suele pasar con un MIPS. En el caso de los x86 es todavía mas acentuado (los RISC mas que los CISC).

Yo creo que lo que hace ese programa es algo parecido al lo que hace ClockGen, o sea, overclock ya sea de FSB o el mismo reloj de la CPU.

Salu2.
Bueno, almenos ya a quedado clara la idea y nos hemos entendido. :)

Si no se puede hacer nada... pues nada, que se le va a hacer
xDDD
Estoy seguro q el 50% de los q han leido este post no han entendido ni papa.

Salud. ;)
Seguramente ese sector no serán gurús de la programación, asi que no importa
Cortar el suministro eso es lo que dices.
pero si apagas la luz de tu casa, ¿pretendes tener la bombilla aún trabajando?
un beso
Precisamente voy a usar el ejemplo que has puesto tu ahora, el del cpuidle.
Es un programa que en un pc es bastante util pero sobre todo por el uso que se le suele dar a pc que es el de programa que pasan mucho tiempo en "standby de proceso" y a esto me refiero a navegadores y demas que mientras no se tiene que cargar un página realemte no están haciendo casi nada pero el propio cpuidle ya te advirte que en procesos multimedia y cosas así(por ejemplo algo tan simple como ver un video) el efecto que se produce es el contrario, al ser una aplicacion que necesita un uso constate de proceso(mas o menos, pero constante) el cpuidle lo unico que hace es ralentizazrlo y conseguir que el programa se ejecute peor y mas lento, por ejemplo en un duron 1300 con el cpuidle activado cualquier video que veas se vera a trompicones. Puede que no se lo notes por que las versiones desde hace unos 2 años ya se desactivan automaticamente con ciertos programas a oprecesos pero prueba a obligarlo a funcionar constate y ver un video en hd y veras a lo que me refiero.
Lo dicho el cpuidle es un programa útil para un pc pero en aplicaciones como reprocuctores, emuladores o jeugos lo único que hace es ralentizar la ejecucion del programa y muchas veces ralentizarlo muuucho, por eso en psp es algo un poco inutil ya que si haces un programa para leer textos no vas a ser tan tonto como para dejar el micro 333 o 222 y lo dejas a frecuencias bajas y hai que tener en cuenta que el cpuidle consume tb recuersos así que para tenerle ejecutando en un programa que va a 66 o 33 hercios par que lo baje cuando el programa está en idle pero el propio cpuidle consume 33mhz es un poco tonteria y para aplicaciones multimedia o emuladores y demas el cpuidle seria un estorbo y lo unico que se conseguiria es que la aplicacione funcionase mucho peor.
Bueno, por lo que explicas la cosa es complicada, claro que nadie dijo que fuera facil.

Yo no soy programador, solo doy la idea, y vosotros los programadores la valorais, hasta ahi okey.

El problema que me comentas es que esto sirve sobretodo (y mas que nada) para aplicaciones no-multimedia, bueno, yo he venido usando el CPUidle un tiempo, y no he notado lo de los videos que comentas, supongo que por lo que dices, se desactiva automáticamente. Aunque he probado a poner una pelicula, o incluso trabajar con audio (hago musica con el ordenador, con cubase, reason, etc) y aun asi veo el CPUidle funcionando y haciendo "ahorrar" energia al procesador, y si lo desactivo no noto ninguna mejora. Con lo que si he tenido problemas es con el audio, al grabar audio, pero tambien advierte de eso en la web.

El otro problema que me comentas es que el propio CPUidle consume procesador, esto es totalmente lógico y no le veo problema alguno. Pensemos en que si el procesador de la PSP está diseñado para funcionar a 333Mhz pero los juegos lo estan a 200 o 222Mhz (no lo se exactamente) Tenemos un margen de mas de 100Mhz en el que podria cargar perfectamente los procesos de un "CPUidle", si, seguramente en algunos momentos consumiría mas de lo que ayudaría, pero en la mayoria si que ayudaria a ahorrar procesos, y por lo tanto bateria.

Es mi punto de vista, aunque ya digo, que no soy programador.
21 respuestas