Qemu を使用して ARM シミュレータを実行している場合、実際の ARM プロセッサと同じようにプログラムの実行時間を見つけることができるとします。つまり、シミュレータ上で実行するプログラムで などの関数を使用gettimeofday
して経過時間を確認すると、サイクル アキュレート シミュレーションによって正確に経過時間が得られるのでしょうか。
質問する
2862 次
2 に答える
5
当社でこの問題を調査した結果、Qemu (ARM 用) はサイクル アキュレートではないという結論に達しました。私の記憶が正しければ、サイクル精度は Qemu の目標ではなく、高速なエミュレーションを目的としています。また、正確なタイミングは、キャッシュのヒットやミスなど、まったく予測できないものに依存することに注意してください。また、選択した実際のアーキテクチャにも依存します。ARM は単なる命令セット IP であり、いくつかの異なる実装が存在することに注意してください。さらに、オペレーティング システムがエミュレートされると、事態はさらに予測不能になります。
ARM のシミュレーターを使用してパフォーマンスを評価していますが、それでも最新バージョンの ARM アーキテクチャーに対して完全にサイクル精度が高いわけではありません。
于 2013-07-03T18:54:39.823 に答える