![]() |
![]() ![]() ![]() ![]() |
|
Использование команды RDTSC процессора Pentium для работы с малыми временными интерваламDelphi , Синтаксис , Assembler
Оформил: DeeCo Автор: Шевченко В.В. Приветствую Вас, жители королевства!В одной толстой книге нашел интересное использование команды RDTSC процессора Pentium для работы с малыми временными интервалами. Я думаю, что эта функция может найти широкое применение (в таймерах, управлении внешними устройствами, научных исследованиях). Пример прилагается Project_RDTSC.Zip.(4K) Этот счетчик увеличивается на 1 на каждом такте CPU.Он стартует при включении компьютера или при нажатии кнопки RESET. Обычно функцию RDTSC используют при определении тактовой частоты процессора. Применяя программные ухищрения можно добиться измерения очень малых временных величин в реальном масштабе времени или применять для калибровки таймеров (предварительно определив при помощи этой же функции тактовую частоту процессора). Готовые примеры определения тактовой частоты при помощи функции RDTSC есть в интернете, например, на сайте Мастера Delphi" :
function RDTSC: comp;
var
TimeStamp: record
case byte of
1: (Whole: comp);
2: (Lo, Hi: Longint);
end;
begin
asm
db $0F; db $31;
{$ifdef Cpu386}
mov [TimeStamp.Lo], eax
mov [TimeStamp.Hi], edx
{$else}
db D32
mov word ptr TimeStamp.Lo, AX
db D32
mov word ptr TimeStamp.Hi, DX
{$endif}
end;
Result := TimeStamp.Whole;
end;
Использование команды RDTSC процессора Pentium для работы с малыми временными интервалами позволяет измерять очень маленькие временные величины в реальном масштабе времени. Комментарии и вопросыПолучайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш
|
||||
©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007 | ||||