EN JA
GET_CYCLECOUNT(9)
GET_CYCLECOUNT(9) FreeBSD Kernel Developer's Manual GET_CYCLECOUNT(9)

名称

get_cyclecountCPU のファーストカウンタレジスタの内容を取得する

書式

#include < sys/param.h>
#include < sys/systm.h>
#include < machine/cpu.h>

uint64_t
get_cyclecount( void);

解説

get_cyclecount() 関数は、各 CPU の中で単調に増加している値を返すためにごく最近の CPU で利用可能なレジスタを使用します。

SMP システム上で、それぞれの CPU 実行のために多くの別々の単調なシーケンスの 1 つがあります。 SMP の場合の値は、要求をサービスするためにスケジュールされた CPU によって決まる、これらのシーケンスの 1 つから選択されます。

それぞれのカウンタの速度と最大値は、CPU に依存しています。 (Intel 80486 のような) いくつかの CPU には、そのようなレジスタがないので、これらのプラットフォームで get_cyclecount() は、 binuptime(9) によって返された構造体によって表される (単調な) 数値の組み合わせを返します。

AMD64 と Intel 64 プロセッサは、 TSC レジスタを使用します。

IA64 プロセッサは、 AR.ITC レジスタを使用します。

関連項目

binuptime(9)

歴史

get_cyclecount() 関数は、 FreeBSD 5.0 ではじめて登場しました。

作者

このマニュアルページは、 Mark Murray <markm@FreeBSD.org>によって書かれました。
March 15, 2011 FreeBSD