SPONSORED

RDTSCタイムスタンプ(あーでぃーてぃえすしーたいむすたんぷ)

最終更新:2026/4/27

RDTSCタイムスタンプは、CPUが内部的に保持する高性能な時間カウンタの値を読み出すことで得られる時刻情報である。

別名・同義語 TSCタイムスタンプ時間スタンプカウンタ

ポイント

RDTSCは、OSカーネルを経由しないため、非常に高速にタイムスタンプを取得できるが、CPUのクロック周波数変動の影響を受けやすい。

RDTSCタイムスタンプとは

RDTSC (Read Time-Stamp Counter) は、x86系CPUに搭載されている命令で、CPU内部のタイムスタンプカウンタの値を読み出すことができます。このカウンタは、CPUが起動されてからのクロックサイクル数を記録しており、非常に高精度な時間計測を可能にします。

RDTSCの仕組み

RDTSC命令を実行すると、CPUは現在のタイムスタンプカウンタの値をレジスタに格納します。この値は、CPUのクロック周波数に比例しており、クロック周波数が高いほど、より細かい時間分解能を得ることができます。

RDTSCの利用場面

RDTSCタイムスタンプは、主に以下の用途で利用されます。

RDTSCの注意

RDTSCタイムスタンプを使用する際には、以下の点に注意する必要があります。

  • クロック周波数変動: CPUのクロック周波数は、省電力能やターボブースト機能などによって変動することがあります。そのため、RDTSCタイムスタンプの値は、クロック周波数の変動の影響を受ける可能性があります。
  • CPUコアの分離: マルチコアCPUでは、各コアが独立したタイムスタンプカウンタを持っている場合があります。そのため、異なるコアでRDTSCタイムスタンプを取得した場合、値が一致しないことがあります。
  • 仮想化環境: 仮想化環境では、RDTSCタイムスタンプの値が仮想化ソフトウェアによって変更されることがあります。

これらの問題を回避するために、RDTSCタイムスタンプを使用する際には、クロック周波数の変動を考慮したり、CPUコアの分離を考慮したり、仮想化環境での影響を考慮したりする必要があります。

SPONSORED