バイナリ変換

読み方、または別称:ばいなりへんかん

バイナリ変換(Binary translation)とは、命令セットのエミュレーションを行うことで、変換元となる命令列を変換先の命令セットに翻訳し、機械語コードを変換し行う。

バイナリ変換には「静的バイナリ変換」と「動的バイナリ変換」がある。静的バイナリ変換は、実行ファイル全体を対象のアーキテクチャ用に変換することだが、変換プログラムがすべてのコードを静的に検出できないため、静的バイナリ変換を正しく行うことは難しい。

例えば、実行ファイルの一部は、間接ジャンプによってのみ到達できる。これは、実行時にしかジャンプ先を特定できないものである。一方動的バイナリ変換は、単純なエミュレーションとは異なり、コード変換の時間がオーバーヘッドになる。

しかし、性能上の大きなボトルネックとなるエミュレータの読み出し"デコード"実行が存在しないため、変換したコードが複数回実行されると、相殺される。高度な動的変換プログラムには、動的再コンパイルを採用。実行時間が占めている部分を計測可能なようにコード変換し、そうした部分を積極的に最適化する。

ページトップへ戻る

話題の用語~今ホットな用語をご紹介

ITと社会用語辞典

ワークロード

ワークロードとは、システムのパフォーマンスを適正な状態に保つための指標のこと。

インターネット用語辞典

ライフログ

ライフログとは、人間の活動の記録(行動履歴)をデジタルデータとして記録すること、およびその記録のことである。

ページトップへ戻る