'RDTSC'에 해당되는 글 1건

  1. 2007/05/01 CPU clock 검출 (1)


#include <stdio.h>

int main(int s_Argc, char *s_Argv[])
{
unsigned int s_UseClock;
long s_MyTimeVal[] = {1l, 0l};
fprintf(stdout, "cpuclock v0.0.1b\n"
         "Code by JaeHyuk Cho , Application name: CPU clock count info , Make in korea.\n"
         "\n"
        );

fprintf(stdout, "Wait a second."); fflush(stdout);
__asm__ volatile(
  "\n\t"
  "rdtsc\n\t"
  "pushl %%edx\n\t"
  "pushl %%eax\n\t"
  "movl $142, %%eax\n\t"
  "xorl %%edx, %%edx\n\t"
  "int $0x80\n\t"
  "rdtsc\n\t"
  "pop %%ebx\n\t"
  "pop %%ecx\n\t"
  "subl %%ebx, %%eax\n\t"
  "sbbl %%ecx, %%edx\n\t"
  "movl $1000000, %%ecx\n\t"
  "divl %%ecx\n\t"
  "cmp $500000, %%edx\n\t"
  "jnb 0f\n\t"
  "incl %%eax\n\t"
  "0:\n\t"
  "\n\t"
  : "=a"(s_UseClock)
  : "b"(0), "c"(0), "S"(0), "D"(&s_MyTimeVal[0])
);
fprintf(stdout, "\rMy CPU clock : %u.%03uGHz, %uMHz\n",
         (s_UseClock / 1000),
         (s_UseClock % 1000),
         s_UseClock
        );
return(0);
}

/* End of source */
크리에이티브 커먼즈 라이센스
Creative Commons License
Posted by minzkn

트랙백 주소 :: http://blog.minzkn.com/trackback/29

댓글을 달아 주세요

  1. yundream 2007/05/03 12:53  댓글주소  수정/삭제  댓글쓰기

    자라나는 새싹들을 위해서.. 음 주석 몇줄이라도 후후