» Utilizator
LAMP
» Parteneri» De citit» Recomandari» Taskuri securitate » Statistici
  • 65486 de mesaje.
  • 7732 de topicuri.
  • 1230 de utilizatori.
  •  
  • Joistestisket8 e ultimul utilizator inregistrat.
[Detalii]

 

| |
Pagini: [1]
Print

Temperatura procesor [2023 afisari]

acidcromaticle
*


Mesaje: 193
OfflineOffline

WWW

Salut! Este cumva vreo adresa din registri procesorului care poate da temperatura acestuia? daca da si se poate sa imi spuneti adresele va rog, intre timp o sa mai caut si eu si daca gasesc o sa postez aici.
Multumesc !
Logged
15-11-2008, 23:39 Twitt ::
TNick
*


Mesaje: 72
OfflineOffline

WWW

Cam tarziu raspuns. hee hee Ai gasit ceva?
Eu n-am incercat, da' am vazut un postin OSDev si m-am interesat... Gasesti ceva in Volumul 3A - System Programming Guide, p1 de la Intel. Sectiunea 13.5(.5).

Nicu
Logged
01-02-2009, 19:02 Twitt ::
acidcromaticle
*


Mesaje: 193
OfflineOffline

WWW

Salut... nu am gasit prea multe, am gasit ceva mai demult Tongue in C parca dar lua din windows temperatura, am inteles ca nu chiar toate procesoarele au senzori de caldura si si daca au cred ca fiecare ar avea adrese diferite unde sunt stocate datele, am observat ca bios-ul meu vede temperatura deci normal ar trebui sa vad la intreruperile BIOS daca nu cumva gasesc ceva instructiuni pentru aflarea acestor date, dar si aici este cam dubioasa treaba ca nu stiu unde gasesc eu instructiuni pentru un anumit bios ?

Daca afli ceva sa ma anunti, o sa pun si eu rezultatele aici daca o sa gasesc ceva.
Logged
02-02-2009, 15:05 Twitt ::
astan
*


Mesaje: 773
OfflineOffline


Trebuie sa citesti anumiti registri MSR. Pentru procesoarele Intel te intereseaza, in principiu, IA32_THERM_STATUS si IA32_THERM_INTERRUPT.
Sa citesti MSR-urile folosesti instructiunea RDMSR (in ring 0)
Logged
02-02-2009, 16:04 Twitt ::
acidcromaticle
*


Mesaje: 193
OfflineOffline

WWW

multumesc astan, o sa ma pun sa incerc .  Peace sign
Logged
03-02-2009, 17:01 Twitt ::
emi



Mesaje:

Eu stiam ca nu e asa simplu, sunt mai multe variante de cipuri care fac asta, am vazut o data o librarie pentru linux. Dar nu stau sa o caut acum.
Logged
03-02-2009, 22:58 Twitt ::
nosferatu
*


Mesaje: 67
OfflineOffline


Cauti neaparat o adresa?
Daca vrei doar sa afli temperatura procesorului poti incerca realtemp.
Este cel mai bun pt temperatura procesorului si afiseaza foarte precis..
Logged

Cantitatea de inteligenta este constanta pe pamant;;;populatia este in continua crestere.
04-02-2009, 01:00 Twitt ::
acidcromaticle
*


Mesaje: 193
OfflineOffline

WWW

te referi la realtemp din win? daca da atunci nu chiar asta as vrea Big grin eu vroiam locul unde se stocheaza aceste date Big grin
Logged
04-02-2009, 18:43 Twitt ::
TNick
*


Mesaje: 72
OfflineOffline

WWW

Ajuta-ne sa intelegem care e problema. Ca sa citesti efectiv, tot de trebuie sa faci e:

Code:
IA32_THERM_STATUS = 0x019c ; definim constanta

mov ecx, IA32_THERM_STATUS ; rdmsr isi ia argumentul (care MSR trebe citit) in ecx
rdmsr ; instructiunea de citire a unui registru specific unui model (na, ca l-am tradus )
si ai rezultatul in edx:eax. Astan te-a indrumat deja pe calea asta. Ai probleme in a ajunge in ring 0? Ai probleme in a boot-a calculatorul?

Nicu

Logged
04-02-2009, 20:18 Twitt ::
astan
*


Mesaje: 773
OfflineOffline


Ceea ce spun mai jos se aplica in cazul in care folosesti linux.

In linux e si mai simplu sa accesezi informatia respectiva.

Asta pentru ca kernelul contine deja un device care poate fi folosit sa accesezi MSR-urile.

Pentru asta, accesezi (din aplicatia ta userspace) device-ul montat in /dev/cpu/%d/msr (unde %d e minor numer).

Codul de interes, din kernel, pentru respectivul device este in linux/arch/x86/kernel/msr.c:
http://lxr.linux.no/linux+v2.6.28.3/arch/x86/kernel/msr.c

Functia care citeste un registru MSR este in linux/arch/x86/include/asm/msr.h   (native_read_msr_safe(), inline assembly):
http://lxr.linux.no/linux+v2.6.28.3/arch/x86/include/asm/msr.h

Tu, din aplicatia ta, deschizi si citesti /dev/cpu/%d/msr ca si cand ar fi un fisier normal (folosind functiile normale de acces la fisiere: read, write, lseek, etc). Trebuie doar sa te prinzi cum e structurata informatia acolo. Si te prinzi simplu citind sursele de mai sus. Sau cauti pe net surse care acceseaza respectivul device, sunt destule.

Desigur, in orice moment poti sa iti scrii un modul de kernel sa folosesti chiar tu instructiunea RDMSR, si sa iti pasezi informatia in userspace. Dar doar daca vrei. Ai deja suport in kernel, poti sa il folosesti.

Tot nu inteleg ce adresa cauti.
Logged
04-02-2009, 20:37 Twitt ::
acidcromaticle
*


Mesaje: 193
OfflineOffline

WWW

imi cer scuze astan, ce cautam eu ai spus tu mai sus si anume cu IA32_THERM_STATUS doar ca sunt la inceput cu asm-ul, am avut examene si nu am fost foarte atent la ce ai scris. Acum am sapat mai adanc dupa instructiunile date de tine si am gasit ce imi trebuia (partial) pe net, eu ma gandeam ca ar fi o instructiune si pentru amd si pentium Big grin (freak) eu am amd duron Laughing asa ca o sa trebuiasca sa mai caut dar am timp si macar acum stiu cam ce sa caut...

Multumesc mult tuturor, cand o sa reusesc sa termin aplicatia o sa o pun aici, sper sa nu dureze prea mult Big grin
Logged
05-02-2009, 22:03 Twitt ::
Pagini: [1]
Print
SkullBox Forum  |  Development  |  ASM  |  Topic: Temperatura procesor