最初の質問:命令ごとに使用されるサイクル数も CPU 分岐予測ロジックも不明な場合、どのようにしてサイクル精度を達成するのでしょうか?
シミュレーターは、十分に正確な CPU モデルの正確なサイクル シミュレーションを提供しますが、Intel または AMD の現在の製品向けのすぐに使えるモデルは付属していません。必要な情報にアクセスできる Intel または AMD の誰かが、RTL レベルのモデルを作成し、現在のプロセッサのサイクル精度の高いシミュレーションを取得できます。Intel と AMD 以外の人はできません。公開されている情報をシミュレーターにフィードして、妥当な結果を得ることができます。これらの結果は、実際のハードウェアと同じではありません。
あなたがソフトウェア開発者で、実際のハードウェアのベンチマークを行いたい場合は、実際のハードウェアを使用してください! PLTsim のようなシミュレータは、新しいチップに何十万ドルも費やすことなく、新しいハードウェア機能をテストしたい (学術) ハードウェア開発者向けに設計されています。
2 番目の質問: x86 ベースのハードウェアにハード rtos を実装することは理論的に可能ですか?
もちろん、理論上は可能です。すべての状況下で、すべての入力に対して各コード セグメントの絶対的な最悪のケースを考慮する必要があります。実際の問題は、Core 2 のようなプロセッサが非常に複雑であり、プロセッサの状態が非常に大きいことです。さらに、これらのプロセッサは、タイミングに関して確定的に動作するようには設計されていません。本当に難しい RTOS は、非常に保守的でなければなりません。最後に、あなたが正しく観察しているように、Intel と AMD 以外の人々は、これらの保守的な仮定を行うために必要なすべての情報にアクセスすることはできません。実際には、最新かつ最高の cpu を渡し、代わりに決定論的なタイミングを持つ古い単純な cpu を使用するのが合理的です。
一方、RTOS が非常にリアルタイムである必要がない場合は、いつでもいくらかの安全マージンを含めて、最善を尽くすことができます。;-)