rdtsc

    2

    2答えて

    __rdtscp intrinsinc関数を使用して時間間隔を測定しようとしています。ターゲットプラットフォームはLinux x64、CPU Intel Xeon X5550です。 $ taskset -c 1 ./ticks Ticks per usec: 256 $ taskset -c 1 ./ticks Ticks per usec: 330.667 $ taskset -c 1

    50

    2答えて

    パフォーマンスモニタリングにtscを使用しようとしており、命令の並べ替えを防止したいとします。 これらは、当社のオプションは次のとおりです。 1:rdtscpはシリアル化コールです。これにより、rdtscpの呼び出しの前後で並べ替えができなくなります。 __asm__ __volatile__("rdtscp; " // serializing read of tsc "sh

    1

    2答えて

    コンテキストスイッチを測定するプログラムを作成しようとしています。私はこれをIntel's manual rdtsc + rdtscp命令について行っています。 ここで、これらのタイムスタンプ命令をコンテキストスイッチで使用したいと考えています。私は以下のような一般的なスケルトンを持っています: // init two pipes P1, P2 fork(); set_affinity();

    -1

    1答えて

    私はx86/linuxで完全に動作する以下のコードを持っています。私はこのコードをgccクロスコンパイラを使ってアルファに変換したい。私は自分で行うには、適切な情報源を見つけるcouldntの「ASM」 で 不明なレジスタ名「EAX」: それは次のようなエラーが発生しています。 inline uint64_t timestamp(void) { unsigned long a

    3

    1答えて

    について私は私のコードに次の関数を使用しています: static __inline__ unsigned long long rdtsc(void){ unsigned long long int x; __asm__ volatile (".byte 0x0f, 0x31" : "=A" (x)); return x; } は最後の起動以降ティックのこの関数の

    1

    1答えて

    ここではCPU時間を計算するコードですが、gettimeofdayを使用すると、正しい時刻がmsで表示されるため、正しくありません。私は1つのプロセッサでプロセスを実行しており、そのクロックは800MHzで動作しています。次のようにRDTSCについての私の知識は、次のとおり RDTSCは、1つのクロック・レート(800 MHZ) unsigned long long a,b; unsigned

    14

    2答えて

    rdtscは、プロセッサのタイムスタンプカウンタの現在の値をEDXとEAXの2つのレジスタにロードすることがわかります。 x86でそれを得るために、私は(Linuxを使用して仮定して)そのようにそれを実行する必要があります。 unsigned long lo, hi; asm("rdtsc" : "=a" (lo), "=d" (hi)); return lo; とx86_

    -2

    1答えて

    rdtsc命令を使用してプログラムを実行するために必要なCPUのクロックサイクルを、割り当てに必要なものとして計算します。 "AFD"でrdtsc命令を使用する構文は何ですか? rdtsc命令は、すべてのオペランドはありません...

    2

    7答えて

    私はRDTSCを使用してタイムコードを試しています(私が試した他のプロファイリングソフトウェアは、Ubuntu 8.10上で必要な解像度まで時間を割くことができません)。しかし、タスクスイッチから異常値を取得し続け、発火を中断し、統計が無効になっています。 私のプログラムは数ミリ秒で実行されることを考慮すると、私の環境では(本質的にタスクスイッチをオフにする)すべての割り込みを無効にすることは可能

    1

    2答えて

    私はUbuntu 10.10マシン上の複数のソースからプログラムのパフォーマンスについてプログラム的にデータを収集しようとしています。他のすべてのソースについて、私はRDTSC x86命令を使ってそれらを集め、gettimeofdayを使って絶対時間で秒に変換することができました。しかし、これらのデータソースと、/ sys/kernel/debug/tracingでのsched_switchトレー