Программное управление Enhanced Intel SpeedStep® Technology

Тема в разделе "WASM.ZEN", создана пользователем trapmen, 11 мар 2008.

  1. trapmen

    trapmen TrapMen

    Публикаций:
    0
    Регистрация:
    18 фев 2008
    Сообщения:
    8
    Адрес:
    Nevermind
    Собственно назрел этот вопрос не случайно, во время написания программки на Delphi/ASM + Win32 API + DirectX. Надоело мучаться с таймерами (QueryPerfomaceCounter(), timeGetTime() ...), постоянно подстраиваться под текущую тактовую частоту процессора и пр.
    Enhanced Intel SpeedStep® Technology вещь конечно нужная, но иногда просто сильно усложняет жизнь и код.

    Суть вопроса вроде бы простая:
    а) Определить наличие (и активность) SpeedStep
    б) Программно отключить её на время выполнения программки.
    в) Найти альтернативный вариант критично точного таймера, который будет адекватно работать на такой системе и правильно просчитывать FPS. (Пересмотрел уже кучу вариаций в разных исполнениях, но пока никак не могу определиться какой вариант будет надежно и правильно работать)

    Пока нашел единственный нормальный выход - зарубил эту фичу в БИОСе накорню.
    Но это не есть правильно, т.к. во время обычной работы это функция нужная, сохраняет ресурс системы и электроэнергию, но вот во время рендеринга...

    PS: По таймерам понравилась статься с democoder.ru.
     
  2. Atlantic

    Atlantic Member

    Публикаций:
    0
    Регистрация:
    22 июн 2005
    Сообщения:
    322
    Адрес:
    Швеция
    trapmen
    А что такого мучительного в работе с QueryPerformanceXXX функциями? Там все просто, и они специально предназначены для достаточно точных замеров интервалов времени (для замера FPS их хватает с головой).
     
  3. asmfan

    asmfan New Member

    Публикаций:
    0
    Регистрация:
    10 июл 2006
    Сообщения:
    1.004
    Адрес:
    Abaddon
    В бут.ини /usepmtimer и не будет проблем с меняющейся частотой.
     
  4. UbIvItS

    UbIvItS Well-Known Member

    Публикаций:
    0
    Регистрация:
    5 янв 2007
    Сообщения:
    6.243
    trapmen
    вещь эта нужна, в основном, чтобы проц не сгорел и сохранялась работоспособность системы. самый простой способ для предотвращения понижения частоты - хорошо охлаждать проц:derisive:
     
  5. SII

    SII Воин против дзена

    Публикаций:
    0
    Регистрация:
    31 окт 2007
    Сообщения:
    1.483
    Адрес:
    Подмосковье
    UbIvItS
    Абсолютно неверное утверждение. EIST никакого отношения к физическому сбережению процессора не имеет, это не TM (Thermal Monitoring).
     
  6. UbIvItS

    UbIvItS Well-Known Member

    Публикаций:
    0
    Регистрация:
    5 янв 2007
    Сообщения:
    6.243
    SII
    тогда вопрос: вот ситуация: проц загружен на 100 процентов; система охлаждения не в состояние снять нагрев - что лучше: понизить тактовую частоту и напругу, дабы система пахала дальше или вырубить её вообще???
     
  7. k3internal

    k3internal New Member

    Публикаций:
    0
    Регистрация:
    11 янв 2007
    Сообщения:
    607
    UbIvItS
    Ничево нипанимаю. А зачем это делать самому? достаточно того, что этим занимается сама система, при наличии соответствующтх дров. Если не помогает, тогда стоит обновить биос.
     
  8. SII

    SII Воин против дзена

    Публикаций:
    0
    Регистрация:
    31 окт 2007
    Сообщения:
    1.483
    Адрес:
    Подмосковье
    UbIvItS

    Напряжение лучше понижать всегда -- естественно, не ниже предела, на котором проц способен устойчиво работать. Грубо говоря, прогоняете какой-нибудь сильно нагружающий процессор тест на штатных режимах (частоте и напряжении), а потом снижаете напряжение и опять гоните тест. Если он проходит примерно за то же время (плюс-минус несколько процентов -- зависит от теста) -- всё в порядке, можно жить с таким пониженным напряжением.

    Кстати, а что значит "система охлаждения не в состоянии снять нагрев"? В современных же процах не только вентилятор с радиатором этим занимаются. При нагреве кристалла (интеловского, в АМД я не вникал) до определённого предела вступает в дело TM2, а если она не помогает, то и TM1 (более старая и "грубая"). Там и частота снижается, и принудительно вводятся холостые такты (когда процессор не делает вообще ничего). Винда будет продолжать показывать загрузку 100%, но реально она будет ощутимо ниже, и средствами Винды это не узнаешь. Кстати, насколько помню, ТМ начинает работать при температуре кристалла 85 градусов, т.е. температура ниже этой отметки является совершенно нормальной.

    k3internal
    Система всем этим занимается достаточно грубо. Если хочется оптимизировать (уменьшить нагрев, например), приходится возиться ручками. Нужно это или нет -- это уже другой вопрос :)
     
  9. UbIvItS

    UbIvItS Well-Known Member

    Публикаций:
    0
    Регистрация:
    5 янв 2007
    Сообщения:
    6.243
    SII
    у меня пень д греется довольно быстро, а придел 63С, хоть водянку ставь:))
     
  10. Pavia

    Pavia Well-Known Member

    Публикаций:
    0
    Регистрация:
    17 июн 2003
    Сообщения:
    2.409
    Адрес:
    Fryazino
    QueryPerfomaceCounter(), timeGetTime не чувствительны к изменению частоты. Intel вводит фиксированные счетчик для таких систем.
     
  11. rei3er

    rei3er maxim

    Публикаций:
    0
    Регистрация:
    15 янв 2007
    Сообщения:
    917
    Адрес:
    minsk
    на разных семействах процессоров инкрементация TSC выполняется по-разному, т. е она может как зависеть от частоты работы, так и не зависеть
    или вы говорите о IA32_MPERF/IA32_APERF?
     
  12. Pavia

    Pavia Well-Known Member

    Публикаций:
    0
    Регистрация:
    17 июн 2003
    Сообщения:
    2.409
    Адрес:
    Fryazino
    А еще неплохо в MSDN заглянуть.
    Я про TSC. Да по разному.
     
  13. _basmp_

    _basmp_ New Member

    Публикаций:
    0
    Регистрация:
    10 июл 2005
    Сообщения:
    2.939
    UbIvItS
    Полностью медный радиатор (берете брусок меди и нарезаете ребра болгаркой) с пришлифованой (паста гои) идеально плоской (шлифуете на куске стекла) толстой подошвой и хорошим отсосом наружу (через специальную трубку) спасут отца русской демократии.