• Domingo 5 de Mayo de 2024, 12:34

Autor Tema:  Como leer temperatura procesador ??  (Leído 3905 veces)

danybdk

  • Nuevo Miembro
  • *
  • Mensajes: 1
    • Ver Perfil
Como leer temperatura procesador ??
« en: Miércoles 25 de Enero de 2012, 21:14 »
0
Hola, me gustaria saber como puedo monitorizar la temperatura de la cpu para poder usarla en un programa que estoy haciendo, he buscando mucho en internet pero no encuentro nada alguien tiene idea?, gracias

U2_Caparzo

  • Miembro activo
  • **
  • Mensajes: 45
  • Nacionalidad: cl
  • Super duper divertido xDD
    • Ver Perfil
Re:Como leer temperatura procesador ??
« Respuesta #1 en: Lunes 12 de Marzo de 2012, 00:23 »
0
no se puede, si algun computador tuviera ese tipo de "termometro" en el procesador, ya traeria implementado un monitor para eso, lo que tratas de hacer es como captar wi-fi desde un pc que no tiene esa opcion, por tener un software que capte wi-fi, si no esta el hardware, no captara wi-fi.
Lo dificil se hace... lo imposible se intenta
Todos somos muy ignorantes. Lo que ocurre es que no todos ignoramos las mismas cosas.(Frase de Albert Einstein)

gabio2

  • Miembro MUY activo
  • ***
  • Mensajes: 402
  • Nacionalidad: mx
    • Ver Perfil
Re:Como leer temperatura procesador ??
« Respuesta #2 en: Lunes 12 de Marzo de 2012, 01:50 »
0
U2_Caparzo, por lo general si trae ese tipo de monitoreo, al menos en las computadoras actuales si alcanzan cierta temperatura se apagan por protección (no digo que todas las traigan) pero en la mayoría de las computadoras y portátiles en el BIOS es posible leer ese dato, sin embargo no sé como obtenerlo en algún lenguaje de programación.
« última modificación: Lunes 12 de Marzo de 2012, 02:02 por gabio2 »
@gabio87

U2_Caparzo

  • Miembro activo
  • **
  • Mensajes: 45
  • Nacionalidad: cl
  • Super duper divertido xDD
    • Ver Perfil
Re:Como leer temperatura procesador ??
« Respuesta #3 en: Lunes 12 de Marzo de 2012, 03:04 »
0
U2_Caparzo, por lo general si trae ese tipo de monitoreo, al menos en las computadoras actuales si alcanzan cierta temperatura se apagan por protección (no digo que todas las traigan) pero en la mayoría de las computadoras y portátiles en el BIOS es posible leer ese dato, sin embargo no sé como obtenerlo en algún lenguaje de programación.

lo primero si me he percatado, mi laptop se apaga sola(es que ya esta viejita :$) ¿pero sera posible que solo sea como sistema de seguridad mas que algo que pueda ser usado por el usuario de la computadora? a mi parecer no parece una mala opcion a tomar en cuenta... pero bueno en mi caso es solo una teoria debido a que no tengo un amplio conocimiento sobre hardware y en programacion solo estoy empezando en C#
Lo dificil se hace... lo imposible se intenta
Todos somos muy ignorantes. Lo que ocurre es que no todos ignoramos las mismas cosas.(Frase de Albert Einstein)

rfog

  • Miembro MUY activo
  • ***
  • Mensajes: 166
    • Ver Perfil
Re:Como leer temperatura procesador ??
« Respuesta #4 en: Lunes 12 de Marzo de 2012, 10:22 »
0
Supongo que se podrá leer por WMI, pero no sé cómo.

La medida de la temperatura en un micro ha ido evolucionando a lo largo del tiempo. Primero llevaban las placas base un sensor justo debajo del zócalo, y luego AMD puso de moda que fuera el propio micro el que se leyera a sí mismo su propia temperatura.

En todos los casos supone acceder al hardware, y dependiendo del micro y de la edad del mismo se hace de una forma o de otra. En el caso de que sea la placa base la que mida la temperatura, tendríamos que acceder a los datos de la bios (ojo, a los datos, no a la bíos).

En el caso de un micro moderno, existen instrucciones en ensamblador para obtener dicho valor, y si no existen, se hace accediendo al "espacio de direcciones del micro", es decir, una dirección de memoria absoluta fuera de cualquier virtualización de memoria te daría el valor de la temperatura.

Bueno, en ambos casos, realmente el valor no, sino un número con el cual, aplicando una ecuación que es diferente para cada micro y manera de leerla, te daría el valor real de la temperatura.

Pero para todo eso es necesario acceder al anillo 0 y con instrucciones de modo privilegidado: en otras palabras, o te permite el WMI (que lo ignoro, y muchas veces lo que se lea ahí suele ser bastante impreciso) o te tienes que hacer un driver de dispostivo, que será diferente para cada combinación de procesador/placa base (Y es por eso por lo que cada fabricante de placas base te da un programa para mirar la temperatura y no suele haber uno que lo haga para cualquier micro/placa base, y si los hay, que los hay, en general si tienes la suerte de que hayan implementado el algoritmo y el driver de tu sistema, podrás ver la temperatura. En otro caso, ni siquiera puedes estar seguro de que el valor que te muestren sea cierto).
Microsoft Visual C++ MVP - Mi blog sobre programación: http://geeks.ms/blogs/rfog