Как изменить на асме частоту проца?

Тема в разделе "WASM.WIN32", создана пользователем Dmitryi, 4 июл 2005.

  1. Dmitryi

    Dmitryi New Member

    Публикаций:
    0
    Регистрация:
    4 июл 2005
    Сообщения:
    11
    Народ, очень надо написать драйвер режима ядра, который в зависимости от температуры камня изменял бы его частоту... Подскажите, как на уровне асмовской вставки можно узнать температуру и изменить частоту. Дело срочное, посдкажите, кто может, плз.
     
  2. zobot1

    zobot1 New Member

    Публикаций:
    0
    Регистрация:
    30 июн 2005
    Сообщения:
    55
    частоту никак.

    Охлаждалки всякие чекают температуру и если зашкалил некий порог вводят холостые циклы (аля hlt)
     
  3. yureckor

    yureckor New Member

    Публикаций:
    0
    Регистрация:
    25 фев 2004
    Сообщения:
    494
    Адрес:
    Russia
    если только мат. плата поддерживает изменение частоты через биос, то подправлять там.
     
  4. MoKC0DeR

    MoKC0DeR New Member

    Публикаций:
    0
    Регистрация:
    13 ноя 2003
    Сообщения:
    136
    Адрес:
    Russia
    Dmitryi

    у AMD технология Cool and Quiet

    Только там зависимость не от температуры а от нагрузки - в простое частота снижается
     
  5. _staier

    _staier New Member

    Публикаций:
    0
    Регистрация:
    3 окт 2003
    Сообщения:
    738
    Адрес:
    Ukraine
    это всё хардвер

    если бы можно было кому попало менять частоту проца - ничего хорошего из этого бы не вышло от повреждения аппаратуры до вмешательства в ход вычислений

    например :

    графика определила частоту и рассчитывает фреймы

    а тут бац и какой- то козёл понизил частоту проца :derisive:
     
  6. Dark_Master

    Dark_Master Member

    Публикаций:
    0
    Регистрация:
    19 май 2004
    Сообщения:
    32
    Адрес:
    Усть-За###юйск
    Вообще процессоры начиная с Pentium 4 умеют изменять частоту, по крайней мере об этом туманно говорится у Гука и в интеловских мануалах. Делается сие действо через MSR регистры. На вопрос "что и куда писать" ответить не могу ибо экспериментами на эту тему не занимался.
     
  7. Flint

    Flint New Member

    Публикаций:
    0
    Регистрация:
    3 фев 2005
    Сообщения:
    42
    У меня P4 2.8 (HT) На NOTEBOOK ASUS L5GA. Кода питание вытаскиваешь он ели работает. И есть на него прога которая частоту меняет.
     
  8. CyberManiac

    CyberManiac New Member

    Публикаций:
    0
    Регистрация:
    2 сен 2003
    Сообщения:
    2.473
    Адрес:
    Russia
    1. Купить материнку, к которой есть софт для смены частоты "на ходу".

    2. Дизассемблировать и рипнуть нужный код.

    3. Повторить п.1,2 для всех существующих материнок с нужной фичей либо перейти к п.4

    4. Плюнуть и забить на это дело.
     
  9. alpet

    alpet Александр

    Публикаций:
    0
    Регистрация:
    21 сен 2004
    Сообщения:
    1.221
    Адрес:
    Russia
    Температуру как узнать - качай инфу (всяческие даташит) по распространненым чипсетам, и делай к каждому код. По крайней мере авторам MBM так пришлось делать - и ничего, до сих пор не все мамы поддерживает. Если для одной мамы - дело упрощается.



    А вот трогать частоту и тем более напряжение ядра не рекомендуется. Лучше продумать прогу которая будет давать процессору отдохнуть так как это делает S2kCtl, но при этом ориентируется на температуру и приостанавливает ненадолго самые активные процессы (точнее их потоки). А если надо срочно, ассемблер здесь врядли предпочтительнее C++.
     
  10. Dmitryi

    Dmitryi New Member

    Публикаций:
    0
    Регистрация:
    4 июл 2005
    Сообщения:
    11
    Всем большое спасибо, кто откликнулся на мой вопрос! Как правильно заметил Dark_Master, в интеловских мануалах есть описание MSR регистров, но с помощью них можно изменять частоту системной шины (как я понял), в зависимости от которой будет меняться и частота проца. Частоту проца мы можем также изменить изменяя множитель, но как его изменить с помощью ассемблера? И потом, частоту системной шины можно изменять только на константные значения (в инттеловских мануалах написано, что можно устанавливать следующие значения частоты: 100 МГц, 133 МГц, 166 МГц, 200 МГц), в то время как с помощью BIOS её можно изменять более "плавно" (например в пределах от 100 до 355). Можно ли также "плавно" изменять частоту системной шины с помощью ассемблера?
     
  11. alpet

    alpet Александр

    Публикаций:
    0
    Регистрация:
    21 сен 2004
    Сообщения:
    1.221
    Адрес:
    Russia
    Dmitryi

    Если изменение множителя/BUS Clock не блокировано - им обычно меняют через BIOS Setup. Может проще достать исходник современного Award BIOS и посмотреть? Хотя имхо это тоже чипсето-зависимая операция. Лучший способ охлаждать процессор - время от времени его усыплять, это и менее латентно по сравнению с переключением частоты, и более надежно - если случайно (из ошибки в проге) будет введена слишком большая или слишком маленькая частота - комп может перезагрузится или зависнуть.
     
  12. Dmitryi

    Dmitryi New Member

    Публикаций:
    0
    Регистрация:
    4 июл 2005
    Сообщения:
    11
    Всем большое спасибо! Я практически справился с этой задачей. Чтобы получить частоту процессора я использую инструкцию RDTSC. Чтобы понизить температуру процессора я увеличиваю число холостых тактов процессора.