Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Betriebssysteme (https://www.delphipraxis.net/27-betriebssysteme/)
-   -   Fragen zur CPU Temperaturmessung (https://www.delphipraxis.net/87037-fragen-zur-cpu-temperaturmessung.html)

Andreas2k 22. Feb 2007 13:03


Fragen zur CPU Temperaturmessung
 
Hallo,
die Technik hat sich ja in den letzten Jahren rasant weiterentwickelt der Messfühler unter dem Sokel ist mittlerweile in die CPU direkt integriert.

Und nun zur meiner Frage:
Im Bios und diversen Programmen z.B. Everest kann man mittlerweile die CPU Temperatur (einigen sogar von jedem Kern seperat) auslesen aber woher holen sie sich diese Daten?

Ich lese immer wieder was von Winbond und SMBus wieder andere leute behaupten Programm xyz würd die Temperatur direkt aus der in der CPU integrierten Messdiode auslesen und nicht Winbond oder SMBus nutzen und somit viel genauere Werte liefern.

Was aber stimmt denn nun? Mir gehts generell darum zu verstehen wie es wirklich funktioniert ich dachte immer man kann die Diode in der CPU nicht direkt ansprechen und das WINBOND ein Chip ist der das für mich macht und den ich mittels Programm abfragen kann.

Könnte mir das mal jemand erklären :roll:

Muetze1 22. Feb 2007 14:21

Re: Fragen zur CPU Temperaturmessung
 
1. Winbond ist eine Firma, welche IC und anderes herstellt
2. der SMBus (System management bus) ist ein auf dem Mainboard integriertes Bussystem, welches mehrere Geräte anbindet. U.a. auch die Info-ROMs der Speichermodule und andere Geräte.
3. Winbond baut u.a. ein paar Schaltkreise, welche ein SMBus Interface haben und u.a. der Systemüberwachung dienen. An ihnen werden die Tachosignale angeschlossen sowie die Spannungsversorgungen und weitere Sensoren. Diese Informationen digitalisiert bzw. bereitet der Schaltkreis auf um sie dann in Registern anzubieten und auch weiterführende Aktion zu bestimmen. So können diese Schaltkreise auch einen Interrupt auslösen, wenn bestimmte Werte bestimmte Grenzen verletzen (z.B. Tacho Signal zu langsam, Spannung zu hoch/niedrig, gleichs für die Temperatur).
4. Der SMBus endet heutzutage meist am Chipsatz, meist an der Southbridge. Dort kann diese bedient und abgefragt werden, in dem man den Chipsatz in seinen Register für die SMBus Funktionalität entsprechend bedient. Da aber jeder Hersteller sein eigenes Süppchen kocht, bist du relativ stark auf die Unterlagen der Hersteller angewiesen. Während Intel seine Register der Chipsätze noch freiwillig, frei und gut dokumentiert sieht da AMD oder auch nVidia eher ein Problem, solche Informationen heraus zu geben. Diese verlangen eine recht hohe Schutzgebühr oder anderes.
5. Der Prozessor bzw. die Kerne haben solche thermischen Sensoren mit integriert. Diese kann man über die MSR (machine specific registers) auslesen und auch konfigurieren. Auch hier wiederrum, versuchen Hersteller z.T. ihr eigenes Süppchen zu kochen und andere versuchen kompatibel zu sein. In diesem Falle sieht die Dokumentation recht gut aus, aber es gibt ein anderes (kleines) Problem: Die MSR Register haben weitreichende Steuerungsfunktionen und von daher sind Änderungen und Zugriff für Ring-3 (Applikationen) verboten. Du musst für fast alle MSR Register in den Ring-0 um Zugriff zu haben, ansonsten gibt es eine EPrivilege Exception (privilegierte Anweisung) bei dem Opcode.

Hilft das?

Andreas2k 22. Feb 2007 15:30

Re: Fragen zur CPU Temperaturmessung
 
Das ist schon sehr gut Vielen Dank!
Gibt es irgedneine Möglichkeit rauszufinden wie die Programme das Auslesen also sprich über den SMBus oder MSR Register?
Wie sieht es z.B. http://www.thecoolest.zerobrains.com/CoreTemp aus das zeigt mir zwei Temperaturen Kern 0 und 1 (ich habe einen core2duo) Everest Home zeigt mir nur eine CPU Temperatur an und die neuste Version von Everest Ultimate zeigt mir sogar drei Temperaturen an (CPU, CPU Core 0, CPU core 1)

passsy 22. Feb 2007 16:19

Re: Fragen zur CPU Temperaturmessung
 
http://jungle.mam.by/softdev/amd64ct.zip


ich hab mich gestern mit dem thema beschäftigt und das war das einigste was ich gefunden hab.


ich würd mich schon freuen wenn ich aus ecerest die werte irgendwie importieren könnte da mbm5 bei mir nich geht.


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:45 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz