1

Тема: Отримання даних про температуру ЦП та інших пристроїв

Ніяк не можу знайти інформації як зчитати дані з датчиків температури. Хочу написати програмку яка б показувала юзеру інформацію про температуру пристроїв, зокрема ЦП. Але вся проблема в тому що ця програма працює без ОС. Хтось знає як таке реалізувати, або хоч куди копати?

Нехай буде з тобою сила!

2

Re: Отримання даних про температуру ЦП та інших пристроїв

Копати в сторону програмування мікроконтролерів.

Прихований текст
Це чисто для цікавості Ви хочете таке реалізувати?
Тут мала би бути якась влучна фраза(вибачте, що витратив кілька секунд вашого часу на прочитання).

3

Re: Отримання даних про температуру ЦП та інших пристроїв

Звичайщо, що чисто для себе.

Копати в сторону програмування мікроконтролерів.

Ящось не зовсім розумію як знання подібних штук для МК допоможе мені реалізувати отримання температури ЦП на х86 платформі.

Нехай буде з тобою сила!

4

Re: Отримання даних про температуру ЦП та інших пристроїв

Треба копати в сторону Intel Developers Manual.

Щоб прочитати Model Specific Register IA32_THERM_STATUS потрібно використати інструкцію rdmsr.

Хоча в яких градусах там вимірюється температура я так і не з’ясував.

P.S. Може напишеш якусь інструкцію про те як написати програму що працює без ОС? Бо максимум що я колись робив - це залишав в домашньому комп’ютері дискетку з DOS і моєю програмою в autoexec.bat, чим добряче дратував брата, але то зовсім не рахується як без ОС. Зараз хотілось би навчитись робити завантажувальні флешки з моєю програмою.

Подякували: drWoZD1

5

Re: Отримання даних про температуру ЦП та інших пристроїв

Ну загалом я сам не дуже спец, але я знаю 3 способи:
1.створити бінану програму(на зразок com, але початкове зміщення не 100h, а 7c00h) і записати її в boot сектор диску.
2. загрузка з допомогою multiboot заголовку(я ще сам не пробував).
3. зімітувати заголовок linux ядра, тобто так я роблять утиліти memtest86, memdisk та інші.
P.S останій на даний момент для мене найзагадковіший.

Нехай буде з тобою сила!
Подякували: bunyk1