Time Stamp Counter(TSC)는 64비트 레지스터이다. 이는 펜티엄 이후의 모든 x86 프로세서에서부터 있었다. RDTSC 명령은 EDX:EAX상의 TSC를 반환한다. x86-x64 모드상에서, RDTSC는 RAX와 RDX의 상위 32비트를 클리어한다. OPCODE는 0x0F 0x31 이다. 펜티엄의 경쟁상대인 Cyrix 6x86은 TSC를 가지고 있지 않으며 RDTSC는 부적절한 명령으로 받아들인다. Cyrix는 MII안에 TSC를 포함하고 있다.
위키피디아(http://en.wikipedia.org/wiki/Time_Stamp_Counter)에서 퍼온 내용인데. 이 TSC의 활용법은 유니크한 값을 얻기 위해서 사용한다. 주로 다음과 같은 곳에 사용할 수 있을것이다.
- 유니크한 값 획득.
- 랜덤값 생성 인자.
- 안티 디버깅(Anti-Debugging).
TSC값은 rdtsc 라는 asm 명령을 사용해서 얻을 수 있다.
'프로그래밍' 카테고리의 다른 글
The funny page table terminology on AMD64 (0) | 2014.06.03 |
---|---|
vmxon 사용시 주의점 (0) | 2014.04.14 |
20140402 구디역 벚꽃 산책코스 (0) | 2014.04.02 |
This function is thread-safe. (0) | 2014.03.20 |
C++ 클래스 내부에서의 스레드 함수 사용법 (0) | 2014.03.17 |