エミュレーター

更新日:

用語解説

エミュレーターは、あるコンピュータ上で別のCPU、機器、OS、命令セットなどの外部から観測できる動作を再現し、本来の対象環境向けプログラムを代替環境で実行できるようにする仕組みです。

■ 試験で押さえるポイント

  • 動作させる側をホスト、再現される側をゲスト又はターゲットと呼び、命令変換、周辺装置、メモリ、割込みなどを必要な精度で模倣します。

  • 異なる命令セットを逐次解釈・動的変換する場合は実機より遅くなることがありますが、状態保存、再現実行、詳細観測など実機にないデバッグ機能を持てます。

  • シミュレーターは対象のモデルに基づき特定の性質を模擬する広い概念、エミュレーターは既存対象と同じインタフェース・動作を再現して対象用ソフトを動かすことに重点があります。

  • 仮想化は同じCPU命令を実CPUで直接実行する構成が多いのに対し、エミュレーションは異なるCPUを再現できます。ただし製品名だけで内部方式を断定しません。

■ 選択肢での判断ポイント

「対象機がなくても対象用プログラムを実行・確認できる」が中心です。設計段階の数理モデルだけを試すシミュレーター、実回路へ接続するICEと区別します。

例: x86のPC上でARM命令と周辺装置を再現し、ARM機器向けバイナリを実行するのがエミュレーターです。対象CPU用に再コンパイルするクロスコンパイラとは役割が異なります。

音声で聞く

同じ分野の用語