コンピュータアーキテクチャ シミュレーターは、コンピュータ アーキテクチャの実行をシミュレートするプログラムです。
コンピュータ アーキテクチャ シミュレーターは、次の目的で使用されます。
- 物理的なハードウェア システムを構築せずにハードウェア設計を評価することでコストを削減します。
- 入手不可能なハードウェアへのアクセスを可能にします。
- コンピュータのパフォーマンス データの精度と量を向上させます。
- エラーが検出されたときにコードを逆方向に実行したり、実時間よりも高速に実行したりするなど、実際のハードウェアでは通常不可能な機能を導入します。
カテゴリー
コンピュータ アーキテクチャ シミュレーターは、コンテキストに応じてさまざまなカテゴリに分類できます。
- 範囲:マイクロアーキテクチャ シミュレーターは、マイクロプロセッサとそのコンポーネントをモデル化します。フルシステム シミュレーターは、プロセッサ、メモリ システム、および I/O デバイスもモデル化します。
- 詳細:命令セット シミュレータなどの機能シミュレータは、モデル化されたコンポーネントと同じ機能を実現します。タイミングを考慮しない場合は、より高速にシミュレーションできます。タイミング シミュレータは、タイミングも再現する機能シミュレータです。タイミング シミュレータは、さらにデジタル サイクル精度シミュレータとアナログ サブサイクル シミュレータに分類できます。
- ワークロード: トレース駆動型シミュレーター (イベント駆動型シミュレーターとも呼ばれる) は、固定された入力を持つ事前に記録された命令のストリームに反応します。実行駆動型シミュレーターでは、さまざまな入力データに応じて、実行する命令を動的に変更できます。
フルシステムシミュレータ
フルシステム シミュレーターは、実際のシステムの完全なソフトウェア スタックを、変更せずにシミュレーター上で実行できるほど詳細なレベルで実行主導型のアーキテクチャ シミュレーションです。フルシステム シミュレーターは、ホスト コンピューターの特性に依存しない仮想ハードウェアを提供します。フルシステム モデルには通常、プロセッサ コア、周辺機器、メモリ、相互接続バス、およびネットワーク接続が含まれます。エミュレーターは、開発中のハードウェアではなく、廃止されたハードウェアを模倣するフルシステム シミュレーターです。
命令セット シミュレータと比較したフル システム シミュレーションの特徴は、モデルによって単一のプログラムだけでなく、実際のデバイス ドライバーとオペレーティング システムを実行できることです。したがって、フル システム シミュレーションでは、ネットワーク デバイス ドライバーからオペレーティング システム、ネットワーク スタック、ミドルウェア、サーバー、アプリケーション プログラムまで、個々のコンピューターとネットワーク化されたコンピューター ノードをすべてのソフトウェアとともにシミュレートできます。
フルシステムシミュレーションは、欠陥の検出、再現、修復を容易にすることで、システム開発プロセスをスピードアップします。マルチコアプロセッサの使用により、フルシステムシミュレーションの必要性が高まっています。これは、仮想ハードウェアによって提供される制御された環境がなければ、エラーを再現してデバッグすることは非常に困難で時間がかかるためです。[1]これにより、ハードウェアの準備が整う前にソフトウェア開発を行うことも可能になり、[2]設計上の決定を検証するのに役立ちます。
サイクル精度シミュレータ
サイクル精度シミュレーターは、マイクロアーキテクチャーをサイクルごとにシミュレートするコンピューター プログラムです。対照的に、命令セット シミュレーターは、命令セット アーキテクチャーを通常はより高速にシミュレートしますが、このアーキテクチャーの特定の実装に対してサイクル精度ではありません。これらは、レガシーの理由で時間精度が重要な古いハードウェアをエミュレートするときによく使用されます。サイクル精度シミュレーターは、新しいマイクロプロセッサーを設計するときによく使用されます。これらは、実際に物理チップを構築しなくてもテストやベンチマークを正確に実行でき (完全なオペレーティング システムやコンパイラーの実行を含む)、予想される計画に合わせて何度も設計を簡単に変更できます。
サイクル精度のシミュレーターは、分岐予測、キャッシュ ミス、フェッチ、パイプライン ストール、スレッド コンテキストの切り替え、およびマイクロプロセッサのその他の多くの微妙な側面など、すべての操作が適切な仮想時間 (または可能な場合は実際の時間) で実行されることを保証する必要があります。
参照
参考文献
- ^ デバッグとフルシステムシミュレーション
- ^ Vania Joloboff (2009). 「組み込みシステムのフルシステムシミュレーション」(PDF)。2014 年 2 月 9 日のオリジナル(PDF)からアーカイブ。2013年 3 月 6 日に取得。
外部リンク
- コンピュータアーキテクチャシミュレーションのためのArcher仮想インフラストラクチャ
- 「Mikrocodesimulator MikroSim 2010」。0/1-SimWare 。2010年12月6日閲覧。
