GET_CYCLECOUNT(9) | FreeBSD Kernel Developer's Manual | GET_CYCLECOUNT(9) |
名称
get_cyclecount — CPU のファーストカウンタレジスタの内容を取得する書式
#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 ではじめて登場しました。作者
このマニュアルページは、 <markm@FreeBSD.org>によって書かれました。March 15, 2011 | FreeBSD |