Модераторы: Snowy, bartram, MetalFan, bems, Poseidon, Riply
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Вопрос по команде RDTSC, Перескоки счетчика назад при опросе 
:(
    Опции темы
Guam
Дата 20.9.2010, 21:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 1
Регистрация: 9.6.2010

Репутация: нет
Всего: нет



Использовал для измерения времени работы процедур. Потом обнаружил, что при опросе получаю не всегда верные значения счетчика тактов процессора, он перескакивает назад (у меня около 16 млн тактов), при дальнейшем опросе скачком вперед на то же примерно значение, хотя должен по идее опрашиваться равномерно с шагом +30 для приведенного кода. За 10 млн опросов в цикле у меня обычно от 3 до 15  перескоков. Проверял на 3-х машинах, на двух это наблюдается, на третьей нет (опрашивается равномерно). Подскажите, где в таком опросе ошибка?
Код

function GPT:int64;assembler;
asm
   db  0fh,31h  // RDTSC
   mov dword ptr result,eax
   mov dword ptr result[4],edx
end;

procedure verify_RDTSC;
var tick,tick0:int64;
    i:integer;
begin
 tick0:=gpt;
 For i:=1 to 10000000 do
 begin
  tick:=gpt;
  if tick<tick0 then
   Form1.ListBox1.Items.Add(inttostr(tick-tick0));
  tick0:=tick;
 end;
end;


PM MAIL   Вверх
WWWlad
Дата 21.9.2010, 13:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 15
Регистрация: 26.1.2009

Репутация: нет
Всего: нет



Действительно, странно... Проверил у себя - не перескакивает. Система: Win XP Pro SP3 x86, проц - iCore i7 965.
PM   Вверх
kami
Дата 24.9.2010, 01:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1806
Регистрация: 25.8.2007
Где: Санкт-Петербург

Репутация: 15
Всего: 72



Возможно, здесь играет роль оптимизация выполнения кода самим процессором...
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: WinAPI и системное программирование"
Snowybartram
MetalFanbems
PoseidonRrader
Riply

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Delphi обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • 99% ответов по WinAPI можно найти в MSDN Library, оставшиеся 1% здесь

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, bartram, MetalFan, bems, Poseidon, Rrader, Riply.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: WinAPI и системное программирование | Следующая тема »


 




[ Время генерации скрипта: 0.0588 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.