2

私は ARM926EJ-S を使用しており、ARM が CPU のサイクル カウンタ (読み取り可能なレジスタなど) を提供できるかどうかを調べようとしています。CPU に電源が供給されてからのサイクル数を表す # だと思います。

私のシステムには、低解像度の外部 RTC/タイマーしかありません。ハイレゾタイマーを実現したいと思います。

よろしくお願いします!

4

2 に答える 2

0

おそらく2つの選択肢しかありません。

  • 命令サイクルの正確なシミュレータを使用します。ここでの問題は、周辺機器と外部刺激を効果的にシミュレートすることが複雑または不可能になる可能性があることです。

  • 周辺ハードウェアタイマーを使用します。ほとんどの場合、ARM9の通常のコアクロックレートでこのようなタイマーを実行することはできません。また、タイミングを計る期間のいずれかの側でタイマーを処理する際にオーバーヘッドが発生しますが、実行を行うために使用できます。コードのより大きなまたはより長い実行セクションでの時間。これは、サイクルカウントよりも実用的である可能性があります。

サイクルカウントはさまざまなクロックレートにいくらかスケーラブルである可能性がありますが、メモリとI / O待機状態によって制約されたままであるため、マイクロレベルの分析を除いて、パフォーマンスメトリックとして表示されるほど有用ではない可能性があります。パフォーマンスの向上は、通常、より広い視野をとることによって得られます。

于 2011-06-11T07:07:15.030 に答える
0

arm-9 には、Cortex ファミリに含まれる PMU (Performance Monitoring Unit) が搭載されていません。PMU については、こちらで説明しています。Linux カーネルには、パフォーマンスのベンチマーク用に PMU を使用するためのサポートが装備されています。ツールセットのドキュメントについては、こちらを参照してください。perf

アーム 9 については少しわからないので、もう少し掘り下げる必要があります...

于 2011-06-09T20:54:54.277 に答える