| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Программирование под Unix/Linux > Частота процессора |
| Автор: Dogevec 20.11.2010, 23:55 |
| Доброго времени суток. Пользуюсь Madrake на SPARC процессоре. Требуется узнать тактовую частоту процессора. Вот содержимое /proc/cpuinfo cpu : Texas Instruments, Inc. - MicroSparc fpu : SuperSparc on-chip FPU promlib : Version 3 Revision 2 prom : 2.12 type : sun4m ncpus probed : 1 ncpus active : 1 BogoMips : 448.92 MMU type : TI Viking/MXCC contexts : 65536 nocache total : 5242880 nocache used : 1019904 Может есть способ расчитать по BogoMips ? grep так же не даёт информации по частоте... |
| Автор: wladF 21.11.2010, 10:14 |
| Попробуйте например здесь dmidecode -t processor Насколько понял из strace, данные берутся из /dev/mem |
| Автор: MAKCim 21.11.2010, 12:20 |
| http://tomoyo.sourceforge.jp/cgi-bin/lxr/source/init/calibrate.c#L177 448 = loops_per_jiffy / (500000 / HZ) HZ берется из /usr/include/asm-generic/param.h у меня к примеру BogoMIPS = 4787.87 (core i5 M520, 2.4Ghz) HZ = 100 4787 = loops_per_jiffy / 5000 loops_per_jiffy = 23935000 т. е. это количество операций за 1 jiffy = 1 / HZ сек., т. е. за 10 мс. итого за 1 сек. количество операций 23935000 * 100 = 2393500000 = ~2.4Ghz, что соответствует спецификации после всех упрщений частота (hz) = BogoMIPS * 500000 т. е. у вас это где-то 225Mhz |
| Автор: Dogevec 21.11.2010, 19:04 |
| ОС говорит, что команда demicode неизвестна(( Благодарю за формулу. Но я читал, что HZ может иметь значения помимо 100, ещё 33 и 66, но не понял, от чего зависит и когда какое используется? И, пожалуйста, поясните, в уравнении 448 = loops_per_jiffy / (500000 / HZ) почему именно 500000 ? |
| Автор: Dogevec 21.11.2010, 23:21 |
| Кстати, нашёл более лёгкий способ получить значение HZ посредством вызова функции sysconf( _SC_CLK_TCK ); |