Контроль температуры CPU.

Тема в разделе "WASM.ASSEMBLER", создана пользователем Exp10der, 1 июн 2008.

  1. Exp10der

    Exp10der Мастер дзена

    Публикаций:
    0
    Регистрация:
    27 авг 2007
    Сообщения:
    337
    Адрес:
    Красноярск
    Из Intel AP-485:
    CPUID EAX=1 22bit EDX ->
    То есть проц позволяет через MSR'ы получить температуру? Из каких регов её можно достать?
     
  2. rei3er

    rei3er maxim

    Публикаций:
    0
    Регистрация:
    15 янв 2007
    Сообщения:
    917
    Адрес:
    minsk
    IA32_THERM_STATUS[22:16] (0x19C)
     
  3. Exp10der

    Exp10der Мастер дзена

    Публикаций:
    0
    Регистрация:
    27 авг 2007
    Сообщения:
    337
    Адрес:
    Красноярск
    rei3er
    данке, тем не менее на Northwood'е не пашет, несмотря на то что CPUID указывает на поддержку этой фичи.
    Код (Text):
    1.  xor EAX, EAX
    2.  xor EDX, EDX
    3.  mov ECX, 19ch
    4.  rdmsr
    5.  and EAX, 0FF0000h
    6.  shr EAX, 16
    7.  mov low_, EAX
     
  4. rei3er

    rei3er maxim

    Публикаций:
    0
    Регистрация:
    15 янв 2007
    Сообщения:
    917
    Адрес:
    minsk
    Exp10der
    что не работает?
     
  5. Exp10der

    Exp10der Мастер дзена

    Публикаций:
    0
    Регистрация:
    27 авг 2007
    Сообщения:
    337
    Адрес:
    Красноярск
    rei3er
    В EAX:EDX по нулям
     
  6. God_Father

    God_Father New Member

    Публикаций:
    0
    Регистрация:
    5 авг 2007
    Сообщения:
    99
    Народ, скажите как инструкция rdmsr в HEX-формате?
     
  7. Pavia

    Pavia Well-Known Member

    Публикаций:
    0
    Регистрация:
    17 июн 2003
    Сообщения:
    2.409
    Адрес:
    Fryazino
    0F 32
    Напоминаю что rdmsr это привелегерованная команда.
     
  8. asmfan

    asmfan New Member

    Публикаций:
    0
    Регистрация:
    10 июл 2006
    Сообщения:
    1.004
    Адрес:
    Abaddon
    Да всё-равно температуры не видать, получить можно только текущую дельту от максимально допустимой.
     
  9. rei3er

    rei3er maxim

    Публикаций:
    0
    Регистрация:
    15 янв 2007
    Сообщения:
    917
    Адрес:
    minsk
    все верно
    Tmax - это константа
    берется из спецификации
     
  10. Pavia

    Pavia Well-Known Member

    Публикаций:
    0
    Регистрация:
    17 июн 2003
    Сообщения:
    2.409
    Адрес:
    Fryazino
    А может кто уже слазил по всем спецификациям и напишет эти константы?
     
  11. asmfan

    asmfan New Member

    Публикаций:
    0
    Регистрация:
    10 июл 2006
    Сообщения:
    1.004
    Адрес:
    Abaddon
    100 / 85 такие фигурируют
     
  12. Pavia

    Pavia Well-Known Member

    Публикаций:
    0
    Регистрация:
    17 июн 2003
    Сообщения:
    2.409
    Адрес:
    Fryazino
    А где 100 фигурирует? Те что я посмотрел везде было 85.
     
  13. rei3er

    rei3er maxim

    Публикаций:
    0
    Регистрация:
    15 янв 2007
    Сообщения:
    917
    Адрес:
    minsk
    для C2D максимальная 73
     
  14. asmfan

    asmfan New Member

    Публикаций:
    0
    Регистрация:
    10 июл 2006
    Сообщения:
    1.004
    Адрес:
    Abaddon
    Pavia как-то я нагугливал инфу, что для мобильных процессоров есть МСР с битом внутри, если установлен то 100/85 если сброшен, то наоборот.
    Что-то подобное:
    А на практике это мало что даёт, ибо как я узнал из ответа от создателя CoreTemp всё ручками забивается и нельзя узнать программно в общем случае.
     
  15. Pavia

    Pavia Well-Known Member

    Публикаций:
    0
    Регистрация:
    17 июн 2003
    Сообщения:
    2.409
    Адрес:
    Fryazino
    asmfan
    Перечитал мануэлы они говорят смотри даташиты. В даташите ничего толком не напиманна.
    Есть температура хранения 85 °С. Есть температура макисмального case(оболчки ?) 72,4 °С
    Для Pentium III я нашел Tj он от 70 до 85.
     
  16. Dust112

    Dust112 New Member

    Публикаций:
    0
    Регистрация:
    30 ноя 2002
    Сообщения:
    16
    Адрес:
    Russia
    Вот кусок ответа Intel(R) Software Network Support, было на форуме Intel, но сейчас его уже нет.

    Igor, an Intel engineer asked us to relay the following:

    New CPUs based on Coreв„ў architecture have DTS (Digital Thermal Sensor). It can be read by extracting the 7-bit value from IA32_THERM_STATUS MSR
    It is true. This public MSR 0x19C Bits [22:16] contains digital thermal Sensor temperature readout that is relative to Tjmax, Tjmax is processor specific.

    However, there is a problem. That reading although available in В°C is _relative_ to the Tjunction which is CPU specific. For some models it is 100В°C for others it is 85В°C
    It is true, some are calibrated to 100C, some are calibrated to 85C. We should call that value as Tjmax for Conroe/Woodcrest/Clovertown instead of Tjunction.

    I have heard that there is a MSR where you can read Tjunction. Unfortunately, that MSR is not documented. If I heard correctly it is a bit in MSR 0xEE.
    It is correct, the Tjmax value, whether it is 85C or 100C, can be read from MSR 0xEE. This (85C or 100C) should be documented in the processor spec.

    Also, to arrange to obtain non-public Intel(R) hardware documentation under NDA, you should work with your company's Intel rep if you have one (check with your purchasing department), or your company can contact an Intel(R) Authorized Distributor in your area and ask to work with a Field Application Engineer (FAE). If you have questions about this, contact us by email with details about your project and your job role and we'll see if we can help get you in touch with the right people.

    ==

    Lexi S.

    Intel(R) Software Network Support

    Вопрос задавал IgorLevicki, поищи в инете по этому имени. Я лично потрошил программу CoreTemp и использовал исходники из SDK RivaTuner, там есть плагин мониторинга температуры.