Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.50/30: Рейтинг темы: голосов - 30, средняя оценка - 4.50
Заблокирован

Можно ли штатными средствами С++ замерять количество тиков процессора?

28.10.2014, 12:35. Показов 6548. Ответов 30
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Хочу узнать, сколько тактов процессора прошло с начала запуска приложения. Возможно?
В WinApi для этих целей есть QueryPerformanceCounter / QueryPerformanceFrequency.
std::chrono ?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
28.10.2014, 12:35
Ответы с готовыми решениями:

Какими штатными средствами можно сделать резевное копирование компа?
нужно выполнить обновление компьютера sp1 на sp2, хотелось бы сделать резервное копирование компьютера перед обновлением и не могу решиься...

Работа с __closure штатными средствами
Подскажите плиз есть ли штатные средства обработки __closure? т.е. штатные процедуры макросы позволяющие разложить __closure на два...

Объединение данных в формате ASN.1 штатными средствами
Добрый день. Возникла у меня такая задача: на входе строка с данными об издателе сертификата. Нужно получить массив байт в формате ASN.1....

30
Заблокирован
28.10.2014, 14:54  [ТС]
Студворк — интернет-сервис помощи студентам
Стоп, ну на материнской плате же должен быть хоть один какой - нибуть кварцевый резонатор, который бы генерировал рабочую частоту, ну или я уж не знаю, есть в системе PC какой - то высокоточный постоянный таймер, к которому можно получить доступ?
0
Студент
 Аватар для MickeyBlueEyes
121 / 132 / 39
Регистрация: 07.04.2011
Сообщений: 503
28.10.2014, 14:59
Генератор импульсов, это к нему надо обратиться, он рулит всю движуху, но как к нему достучаться и есть ли у него то что нужно cut.
0
Evg
Эксперт CАвтор FAQ
 Аватар для Evg
21287 / 8312 / 637
Регистрация: 30.03.2009
Сообщений: 22,671
Записей в блоге: 30
28.10.2014, 15:16
Цитата Сообщение от quwy Посмотреть сообщение
Даже если что-то и тикает в режиме полной остановки, то не факт, что тикает равномерно
Есть где-нибудь подтверждение этому? Если бы это было так, то наличие в аппаратуре доступных пользователю регистров с количеством тиков вообще не имело бы никакого смысла

Добавлено через 1 минуту
Цитата Сообщение от -THE_MASTER666- Посмотреть сообщение
есть в системе PC какой - то высокоточный постоянный таймер
Это чисто железячная вещь, которая находится ВНЕ процессора, которая никак не отображена вы память или любое другое место (т.е. НЕ является внешним устройством) и не обладает собственным счётчиком тиков. Другими словами, оно принципиально ничем не отличается от какого-нибудь конденсатора, запаянного на плате
0
Заблокирован
28.10.2014, 15:20  [ТС]
Цитата Сообщение от Evg Посмотреть сообщение
Другими словами
ну а вообще есть
Цитата Сообщение от -THE_MASTER666- Посмотреть сообщение
ну или я уж не знаю, есть в системе PC какой - то высокоточный постоянный таймер, к которому можно получить доступ?
??
0
Evg
Эксперт CАвтор FAQ
 Аватар для Evg
21287 / 8312 / 637
Регистрация: 30.03.2009
Сообщений: 22,671
Записей в блоге: 30
28.10.2014, 15:32
Лучший ответ Сообщение было отмечено -THE_MASTER666- как решение

Решение

В общем, я наврал. Схемотехник мне объяснил следующее. Тот генератор (или хз как оно называется), который стоит на плате - на самом деле является устройством с внутренним счётчиком и к нему можно иметь доступ через южный мост. Внутри процессора есть какое-то схожее устройство (что-то типа APIC или LAPIC, не помню, как назвал), через которое настраивается временной интервал между аппаратными прерываниями. По смыслу это такой-же высокоскоростной генератор, который уже очень близкий для доступа (в отличие от внешнего). Но как туда лезть программно, он не знает
0
Заблокирован
28.10.2014, 15:33  [ТС]
Цитата Сообщение от Evg Посмотреть сообщение
Внутри процессора есть какое-то схожее устройство (что-то типа APIC или LAPIC, не помню, как назвал), через которое настраивается временной интервал между аппаратными прерываниями. По смыслу это такой-же высокоскоростной генератор, который уже очень близкий для доступа (в отличие от внешнего). Но как туда лезть программно, он не знает
Спасибо за надежду. Буду знать, в какую сторону копать! Тема закрыта!
0
Evg
Эксперт CАвтор FAQ
 Аватар для Evg
21287 / 8312 / 637
Регистрация: 30.03.2009
Сообщений: 22,671
Записей в блоге: 30
28.10.2014, 15:33
И тот APIC/LAPIC/<хз как там его>, который сидит внутри процессора, на этапе старта машины калибруется (я так понял, что программно, операционной системой или boot'ом) через внешний генератор
0
Native x86
Эксперт Hardware
 Аватар для quwy
6861 / 3793 / 1026
Регистрация: 13.02.2013
Сообщений: 11,861
28.10.2014, 15:44
Цитата Сообщение от Evg Посмотреть сообщение
Есть где-нибудь подтверждение этому?
Да хоть вики:
Основной проблемой для применения инструкции rdtsc на многоядерных системах (особенно критично это в случае, когда она используется для измерения временных интервалов) является то, что значения счетчика команд на разных процессорных ядрах могут быть разными (не синхронизированными).
Цитата Сообщение от Evg Посмотреть сообщение
Если бы это было так, то наличие в аппаратуре доступных пользователю регистров с количеством тиков вообще не имело бы никакого смысла
Во-первых legacy. Во-вторых, если поднапрячься, то смысл найти можно, в собственном ядре ОС, например.
0
 Аватар для taras atavin
4226 / 1799 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
28.10.2014, 16:00
Цитата Сообщение от Evg Посмотреть сообщение
сть где-нибудь подтверждение этому? Если бы это было так, то наличие в аппаратуре доступных пользователю регистров с количеством тиков вообще не имело бы никакого смысла
Вот только это отличный кандидат на хвост для совместимости с тех времён, когда машины ещё не умели спать.
0
Evg
Эксперт CАвтор FAQ
 Аватар для Evg
21287 / 8312 / 637
Регистрация: 30.03.2009
Сообщений: 22,671
Записей в блоге: 30
28.10.2014, 16:56
Цитата Сообщение от quwy Посмотреть сообщение
Да хоть вики:
Капец...
0
Вездепух
Эксперт CЭксперт С++
 Аватар для TheCalligrapher
13239 / 6871 / 1827
Регистрация: 18.10.2014
Сообщений: 17,418
28.10.2014, 17:40
Цитата Сообщение от -THE_MASTER666- Посмотреть сообщение
QueryPerformanceCounter / QueryPerformanceFrequency.
Эти функции меряют абсолютное время (wall), а не циклы процессора.

Для запроса циклов процессора в WinAPI есть QueryThreadCycleTime и QueryProcessCycleTime. Значения тоже не стопроцентно стабильные, но тем не менее это действительно циклы процессора, а не внешнее время.

P.S. А, надо без WinAPI... Ну тогда отбой.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
28.10.2014, 17:40

Архивирование Windows штатными средствами в сервер на Ubuntu
Здравствуйте. Есть компьютер под управлением Windows 8.1 и есть сервер под управлением Ubuntu 13.10. Задача - штатными средствами...

Ошибка при восстановлении системы штатными средствами Windows
Произошла неопознанная ошибка при восстановлении системы: Сигнатура проблемы Имя проблемного события: SystemRestore Версия: 6.0.6002 ...

Нюансы сохранения .docx в .pdf штатными средствами Word 2010
Здравствуйте! Вопрос по сохранению .docx в .pdf штатными средствами Word 2010. Суть следующая: во многих встроенных стилях Word 2010...

Синхронизация данных по сети организации штатными средствами Windows Server 2008 R2
Доброго всем дня или ночи, у кого как) В организации стоит задача автоматизировать получение новых файлов (к примеру обновлений по...

Запуск определённой программы от имени локального администратора штатными средствами Windows 7 x64
Доброго времени суток. Нехорошие программисты написали программу так, что работает только с правами локального админа. Программу изменить...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
31
Ответ Создать тему
Новые блоги и статьи
Книги по геймдизайну, левел-дизайну, игровым механикам и проектированию игрового опыта
8Observer8 08.11.2026
Содержание блога | English Version 1. 2003 - 06 - Designing Virtual Worlds (1st Edition) Автор: Richard A. Bartle | Объем: 768 стр. Ссылки: Amazon . . .
Родители токсичные абьюзеры по отношению к своим детям ругают их оскорбляют не любят
zorxor 08.11.2026
Жить в атмосфере постоянных оскорблений, критики и холодности со стороны родителей — это тяжелое и болезненное испытание, которое оставляет глубокие эмоциональные раны. Токсичное и абьюзивное. . .
Как только я захожу к себе в свою комнату я сразу же с себя снимаю свои трусы. Ответ от Джемени ИИ.
zorxor 08.11.2026
Джемени, как только я захожу к себе в свою комнату я сразу же с себя снимаю свои трусы. Многие люди, возвращаясь домой, сразу переодеваются в максимально свободную одежду или вовсе предпочитают. . .
Паттерн очереди действий/команд (Action / Command Queue). Система очереди действий и кат-сцен с SDL3 Callbacks, cglm и OpenGL
8Observer8 07.11.2026
Содержание блога | English Version Руководство для начинающих по реализации паттерна очереди действий/ команд (Action / Command Queue) на C++ (C++20) с использованием официального SDL3 Callbacks. . .
Проверка полного ФИО в типовом справочнике
Maks 07.11.2026
Решение реализовано в конфигурации КА2, на примере справочника "КонтактныеЛицаПартнеров". Задача: Запрет инициалов. Не допускаеть использование сокращений вида "И. И. ", "И. И. ", "И И" и. . .
Про "Windows must die!"
kumehtar 04.11.2026
Знаете, чет накатило. . . . Когда-то это было почти боевым кличем: мол, нормальный человек сидит на DOS, OS/ 2 или Linux, а вот это вот - Must Die. А теперь человек произносит «мастдай» с усмешкой - и. . .
Красочные поля с номером страницы svg+background-image
russiannick 04.11.2026
Красочные поля с номером страницы не менее важны чем в эпоху бумажных книг. Посему спешу представить почтеннейшей публике этот важный инструмент который эти поля и формирует. В процессе разработки. . .
Вступаем в новую фазу генерации favicons, векторную.
russiannick 02.11.2026
Теперь нет нужды скрывать что используется простой svg. Исходный код изображения помещаем в поле и жмем кнопку. Исходник преобразуется в вид корректный для помещения в favicon или в url(). Нажатие. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru