avva: (Default)
[personal profile] avva

Пишу на ассемблере! Просто чуть ли не "бойцы вспоминают минувшие дни".


       .text
.globl readcounter
readcounter:
        pushl   %ebx
        pushl   %ecx
        subl    %eax, %eax
        cpuid
        rdtsc
        pushl   %eax
        pushl   %edx
        subl    %eax, %eax
        cpuid
        popl    %edx
        popl    %eax
        popl    %ecx
        popl    %ebx
        ret
        .size   readcounter, .-counter

Date: 2007-02-14 02:11 am (UTC)
From: [identity profile] malaya-zemlya.livejournal.com
Во-первых, RDTSC синхронизирует pipeline.
Во-вторых, задержка у него самого меняется 90 до 120 циклов в зависимости от знака зодиака и погоды на Марсе, так что абсолютной точности не добиться.

http://softwarecommunity.intel.com/ISN/Community/en-US/forums/thread/30226599.aspx

Date: 2007-02-14 03:26 am (UTC)
From: [identity profile] shamany.livejournal.com
она вообще была недокументированной долго. а то, что задержка меняется, конечно, она же от конвейера зависит практически напрямую!

Date: 2007-02-14 05:02 am (UTC)
From: [identity profile] malaya-zemlya.livejournal.com
Я имел ввиду, что второй CPUID тут мало что может поменять.

Date: 2007-02-18 11:29 pm (UTC)
From: [identity profile] avva.livejournal.com
Да, убедили :) эх, симметричнее было!

February 2026

S M T W T F S
1 2 3 4 5 67
8 9 10111213 14
15 16 17 18192021
2223 24 25262728

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Feb. 25th, 2026 08:25 pm
Powered by Dreamwidth Studios