LINUX.ORG.RU

Зачем оно надо?
Боюсь, это очень гемарно.
В ядре частота определяется посредством таблиц из спецификаций, насколько я понял.

anonymous
()

Для i686: измерить, с какой скоростью тикает rdtsc. А ещё можно снять кулер и посмотреть номинал. Наверное, есть ещё пути.

alexsaa
()
Ответ на: комментарий от alexsaa

rtdsc не поможет в общем случае.
Легче уж сразу брать кусок ядра в этой части и прикомпиливать себе.
Посмотреть, что написано на крышке - да, до этого не додумался =)

anonymous
()

Ты знаешь, процессоров много, и серди них есть ОЧЕНЬ разные. Так что пользуйся средствами ОС, и не парь мозги.

anonymous
()
Ответ на: комментарий от anonymous

> Ты знаешь, процессоров много, и серди них есть ОЧЕНЬ разные. Так что > пользуйся средствами ОС, и не парь мозги.

Согласен придется так и поступать. Спасибо.

karak
() автор топика

для начала можно воспользоваться функцией
cpufreq_quick_get()
(если cpufreq драйвер загружен)

rei3er
()
Ответ на: комментарий от rei3er

> для начала можно воспользоваться функцией cpufreq_quick_get() (если cpufreq драйвер загружен)

В том то и дело, что загружен он далеко не у всех.

ShprotX
()
Ответ на: комментарий от anonymous

> Ты знаешь, процессоров много, и серди них есть ОЧЕНЬ разные. Так что пользуйся средствами ОС, и не парь мозги.

Более того, сейчас процессоры умеют изменять свою частоту. Причём могут изменять довольно часто.

anonymous
()
Ответ на: комментарий от rei3er

> читать MSR регистры (работает для ограниченного числа моделей)

Могли-бы поподробнее об ӕтом способе? Спасибо.

karak
() автор топика
Ответ на: комментарий от karak

А чем не устраивает вариант с rdtsc?
При ожидании в 1 секунду результат измерения текущей частоты уже достаточно точен. При нескольких секундах точность возрастает.

andreyu ★★★★★
()
Ответ на: комментарий от karak

к примеру для Core 2 Duo, Core Duo, Core Solo, P4, Xeon
вычислить пиковую частоту можно так

mov ecx, 0x2A
rdmsr
shr eax, 22
and eax, 31
mov edi, eax
mov ecx, 0xCD
rdmsr
and eax, 7
xor edx, edx
mul edi
; результат в eax

rei3er
()
Ответ на: комментарий от andreyu

> А чем не устраивает вариант с rdtsc? При ожидании в 1 секунду результат измерения текущей частоты уже достаточно точен. При нескольких секундах точность возрастает.

Ответ выше: > Более того, сейчас процессоры умеют изменять свою частоту. Причём могут изменять довольно часто.

К примеру на ноутбуках это стандартная ситуация.

stpg
()
Ответ на: комментарий от sf

возможно для экономии энергии... попадался один системник, так на нем на корпусе ручка "громкости" для увеличения / уменьшения частоты процессора :)

karak
() автор топика
Ответ на: комментарий от karak

Что-то я себе хреново представляю, как это должно использоваться.

while() {
    freq = get_freq();

    ?

}

sf ★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.