프로그래밍

TSC(Time Stamp Counter)란?

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 명령을 사용해서 얻을 수 있다.