-Поиск по дневнику

Поиск сообщений в rss_forum_sources_ru

 -Подписка по e-mail

 

 -Постоянные читатели

 -Статистика

Статистика LiveInternet.ru: показано количество хитов и посетителей
Создан: 29.07.2007
Записей:
Комментариев:
Написано: 80


КТЗ!

Среда, 24 Июня 2020 г. 21:32 + в цитатник
core-i7: ..что-то в этом роде:

    ;====== Частота процессора
    mov ecx,2
    @@: push ecx
    lfence
    rdtsc
    push eax
    invoke Sleep,500
    rdtsc
    pop ebx
    sub eax,ebx
    mov ebx,500000
    cdq
    div ebx
    pop ecx
    dec ecx
    jnz @b
    mov [cpuFreq],eax ; запомнить
    cinvoke printf,<10,' CPU freq..: %d MHz',0>,eax
    ;====== Частота таймера
    invoke QueryPerformanceFrequency,qpf
    mov eax,[qpf]
    mov ebx,1000000
    cdq
    div ebx
    cinvoke printf,<10,' Timer freq: %d.%d MHz',0>,eax,edx
    ;====== Погрешность = 2 инструкции: сериализация LFENCE, и чтение TSC
    lfence
    rdtsc
    push eax
    lfence
    rdtsc
    pop ebx
    sub eax,ebx
    mov [fix],eax ; запомнить
    ;***************************
    ; Профайлер
    ;***************************
    lfence
    rdtsc
    push eax
    ;<----- Сюда вставляем профилируемые инструкции
    lfence
    rdtsc
    pop ebx
    sub eax,ebx
    sub eax,[fix]
    push eax
    fild dword[esp] ; такты
    fidiv [cpuFreq] ; разделить на частоту процессора
    fstp [fpuBuff] ; время в нано/секундах
    pop eax
    cinvoke printf,<10,'%u Takt = %.3f Micro/sec',0>,\
    eax, dword[fpuBuff], dword[fpuBuff+4]

Здесь я вывел частоту таймера QPF, чтобы сравнить её с частотой процессора. Если QPF возвратит 3.5 MHz, значит система использует в качестве основного ACPI-таймер (3.579545 MHz), если больше 10 MHz - HPET (в идеале 14). В любом случае, QPF в десятки раз отстаёт от процессора.

https://forum.sources.ru/index.php?showtopic=419018&view=findpost&p=3833104

Метки:  

 

Добавить комментарий:
Текст комментария: смайлики

Проверка орфографии: (найти ошибки)

Прикрепить картинку:

 Переводить URL в ссылку
 Подписаться на комментарии
 Подписать картинку