Member
Статус: Не в сети Регистрация: 10.02.2004 Откуда: Таганрог
At the end of each loop a "dec ecx; jnz;" pair was executed. It also took some time.
--- CPU ticks spent:
1000 4x NOPs: 3254 -- 0,8 ticks per instruction
1000 4x FADDs (non-conveyoured): 17268 -- 4,3 ticks per instruction
1000 12x FADDs (conveyored): 16423 -- 1,4 ticks per instruction
1000 1x DEC+JNZs: 2063 -- 2,1 ticks per instruction
1000 4x FMULs (non-conveyoured): 16112 -- 4,0 ticks per instruction
--- High performance counter results:
HPC Frequency: 3579545 (3,580 MHz)
1 million 4x FADD+FWAIT loops: 8,236 ms
This gives 1988,9 MHz CPU
Member
Статус: Не в сети Регистрация: 14.01.2004 Откуда: Киев, Украина
GerK жаль. Насчет формулы - нужно отнимать еще и время DEC+JNZs - используеться для организации цикла, работают через РОН процессора, нас интерисует только FPU. Вернее считать нужно по формуле:
Код:
1298,7*(5,0-1,1)/(16,5-5,3)
Насчет лого - лучше надпись Team вверху и чуть больше размером.
Я тут вспомнил, что был объявлен когда-то конкурс программистом и дизайнеров, где условие было использование в программе символике сайта, так что думаю нарушений копирайта не будет.
Member
Статус: Не в сети Регистрация: 30.01.2003 Откуда: Москва
Daemon FPU вычисления идут независимо от ALU и переходов. Поэтому в неконвейерных оно не мешает (DEC+JNZ выполнится раньше, чем может быть принята следующая FPU инструкция) -> вычитать время DEC+JNZ не нужно. А там, где конвейер задействован, оно мешает -> вычитать надо (опять-таки, если время выполнения DEC+JNZ првышает время "отдыха" перед приемом следующей FPU инструкции. FADD может приниматься каждый такт, по крайней мере на пнях)
Member
Статус: Не в сети Регистрация: 14.01.2004 Откуда: Киев, Украина
Asteroid ага, даже так Тогда действительно получаеться нечто ближе к 25%(где-то около 30%). Тогда механизм можно утверждать. Проблема пока одна - нужны результаты, без троттлинга на разных архитектурах. K7, K8 и семейство Pentium M уже есть, необходимо больше. Как бы обратить внимание к ветке
Member
Статус: Не в сети Регистрация: 16.04.2004 Откуда: [MSK.RU]
Читаю - фигею...
Не проще ли просто выдернуть прОцент из MSR-а, чем так извращаться?..
Понимаю, вычислить число стадий конвейера или ещё чего-нить в этом роде, но это...
Member
Статус: Не в сети Регистрация: 14.01.2004 Откуда: Киев, Украина
Tod Schwarzkaiser
Цитата:
А FID и VID?
А вот это уже больший изврат ИМХО.
Цитата:
Тот же global_power_events (PMC)?
Я пока так и не доконца понял его эффект, железо нужно... А достать негде. Я вместо А64, Пень брать не собираюсь
Цитата:
Ступеней, в смысле... Или глубину... И всё такое... Короче, того, что у Нортвуда - 20, а у Прескота - 31...
Я до такой степени архитектуру процессора незнаю, если есть более осяхаемые предложения по поводу частоты троттлинга - говори А то это пока журавль в небе, у нас уже есть синица.
Member
Статус: Не в сети Регистрация: 15.09.2004 Откуда: Иркутск
Daemon Ты говоришь, что не знаешь как у Беседина определяется частота троттлинга. Но, ты мне посылал как-то в личке ссылку на Бесединскую статью http://www.ixbt.com/cpu/intel-thermal-f ... p4-2.shtml в ней в частности (когда он рассуждает о правильности методики измерений) есть такие строки, которые красноречиво говорят о его методе извлечения троттлинговой частоты:
Цитата:
Можно предположить, что, поскольку некоторые блоки процессора (например, арбитры шины, асинхронные префетчеры и пр.), скорее всего, не могут легко осуществлять переход между различными скоростями функционирования, инженеры Intel, скорее всего, «разделили» процессорное ядро на несколько независимо тактируемых составляющих (либо за счет нескольких PLL, либо за счет делителей частоты, преобразующих опорную тактовую частоту). Часть из этих составляющих всегда функционирует на полной частоте (в эту часть попадает и Time Stamp Counter, на показаниях которого основан общепринятый метод измерения тактовой частоты процессора), тогда как остальные части (исполнительные модули) могут тактироваться меньшей частотой. При этом, правда, не совсем понятно, зачем инженеры Intel решили тактировать TSC полной частотой, тогда как счетчики производительности процессора (Performance Monitoring Counters, PMC) работают на «уменьшенной» частоте?
Видимо все-таки надо освоить Performance Monitoring Counters, PMC. Это будет проще, да и по всему универсальнее, чем анализ каждого ядра на номинальную производительность.
Member
Статус: Не в сети Регистрация: 16.04.2004 Откуда: [MSK.RU]
Цитата:
Видимо все-таки надо освоить Performance Monitoring Counters, PMC. Это будет проще, да и по всему универсальнее, чем анализ каждого ядра на номинальную производительность.
О том и речь...
Судя по всему, алгоритм там примерно такой:
-> Проверяем камень на принадлежность к семейству P4 и Xeon.
-> В IA32_MISC_ENABLE MSR (000001A0h) смотрим PEBS (бит 12). Если он установлен, можно продолжать.
-> Устанавливаем события, которые будут считаться РМС.
В нужный нам ESCR (а нам нужен MSR_FSB_ESCR0 - 3A2h) пишем:
[8..2]: 0000011b (это какие-то там параметры)
[24..9]: Event mask (хрен знает, что это такое...)
[31..25]: Event select (нас интересует событие 013h)
В ассоциированный CCCR (MSR_BPU_CCCR0 - 360h) пишем:
[15..12]: 06h
[26..18]: 0 (трешхолды и всякая фигня)
[31..30]: 01b (тоже что-то значит)
-> Запускаем эту фигню (по всей видимости, сбрасывая бит 0 Event mask, хотя хз...)
-> читаем MSR_BPU_COUNTER0 - 300h
-> ждём секундочку
-> читаем MSR_BPU_COUNTER0 - 300h
-> Тормозим эту фигню (по всей видимости, устанавливая бит 1 Event mask, хотя хз...)
Не знаю, правильно ли понял это, но, думаю, попробовать стоит...
Member
Статус: Не в сети Регистрация: 14.01.2004 Откуда: Киев, Украина
3dNikita более темные верхушки по-моему краше, только всеже что-то лого не хватает, потому как кроме надписей - просто белый фон...
GerK ну так он только задается вопросом, работают ли PMC на пониженом тактировании или нет.
Tod Schwarzkaiser ок, может кто попробует, может в эти дни сам что напишу.
Цитата:
Видимо все-таки надо освоить Performance Monitoring Counters, PMC. Это будет проще, да и по всему универсальнее, чем анализ каждого ядра на номинальную производительность.
Так вот, как можно было убедится из даташита упомянутого выше, PMC появились с семейства Pentium Pro и их кол-во изменялось. Читать MSR с счетчиком PMC - не лучшая идея(ошибемся с идентификацией проца - клиент уйдет в ребут), лучше освоить rdpmc, вот только как назло, вотличии от rdtsc он виндой не эмулируется, прийдется добавлять в драйвер(раз плюнуть, по сути работает также как и rdmsr), но тут очередная проблема с тем, чтобы перекомпилировать его, WinDDK я еще не нашел.
Tod Schwarzkaiser добавь в первый пост линки на программу(http://topmods.net/OMC/OSCI.zip (~501кб) и source: http://topmods.net/OMC/OSCI_src.rar (~268кб)).
PS отдельное спасибо fin за линк на ветку в новости. Похоже чтобы добиться популярности управление энергосберигающими режимами - просто необходимость Ничего, это дело будущего.
Member
Статус: Не в сети Регистрация: 14.01.2004 Откуда: Киев, Украина
stargaz0r надеюсь это мы еще обсудим 3dNikita неплохо. Будет золотая программа ags перезагрузка может быть по одной причине - чтение из несуществующего MSR.
Вопрос в том, как такое может быть, разве у Sempron'ов на 754 сокете нет c'n'q?
Пришли пожалуйста отчет CPU-Z мне на почту.
Прикольная программка... Симпотичная... Надо добавить инфу о памяти! Ну, мне так кажется!
_________________ Вахабит - это 1/8 вахабайта!
Pentium4 - это VIA C3 + передача части энергии назад в фирму Intel - вот зачем им такие большие частоты.
Сейчас этот форум просматривают: whitespirit и гости: 19
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения