バイナリ変換: binary translation)は、コンピュータの領域において、変換元の命令列を変換先の命令セットに翻訳し、機械語コードを変換することで命令セットエミュレーションを行うことである。

静的バイナリ変換

編集

実行ファイル全体を対象のアーキテクチャ用に変換することを「静的」なバイナリ変換と呼ぶ。変換プログラムが全てのコードを静的に検出することが難しいため、静的なバイナリ変換を正しく行うことは困難である。たとえば実行ファイルの一部は、実行時にしかジャンプ先を特定できない間接ジャンプ英語版によってのみ到達できる。「動的」なバイナリ変換では、通常基本ブロック単位の短いコード列に着目し、変換した後出力結果をキャッシュしておく。コード変換は、コードが検出されて変換可能になると実施され、分岐命令の分岐先は変換後のコードを示すようにする。

動的バイナリ変換

編集

動的なバイナリ変換は単純なエミュレーションとは異なりコード変換の時間がオーバーヘッドになるが、性能上の大きなボトルネックとなるエミュレータの読み出し-デコード-実行というループが存在しない。変換のオーバーヘッドは変換したコードが複数回実行されれば相殺される。

高度な動的変換プログラムは動的再コンパイル英語版を採用しており、どの部分が実行時間の大部分を占めているか計測可能なようコードを変換し、そうした部分は積極的に最適化される。この技術はジャストインタイムコンパイラを彷彿とさせるものだが、実際こうしたコンパイラ(例 : サン・マイクロシステムズHotSpot技術)は仮想マシンの命令セット(バイトコード)から実際のマシンの命令セットへの動的なバイナリ変換プログラムと捉えることができる。

  • Appleは、 M68Kのコードを動的に変換するエミュレータを同社のPowerPCMacintosh製品向けに開発し、非常に高い安定性と性能、互換性(Mac 68Kエミュレータ参照)を実現した。これによりアップルは、一部のバイナリのみがネイティブという状態でオペレーティングシステム (OS) を出荷し、エンドユーザーはこれまでのソフトウェアへの投資を失うことなく新しい高速なアーキテクチャを採用することができた。エミュレータが非常にうまくいったこともあり、OSの一部もエミュレーションで動作しつづけ、68K用コードを含まないOSへの移行は2001年のMac OS Xのリリースまで行われず、さらにMac OS XではPowerPC版MacintoshにおいてMac OS 9のエミュレーションが行える「クラシック」環境を提供していた。またMac OS X v10.4では、インテルチップを搭載したMacintosh用にRosetta変換レイヤーが提供され、PowerPCからx86への移行を容易なものにした。これも動的なバイナリ変換の一例である。 RosettaはTransitive Corporationによって開発されたもので、PowerPC、MIPS、Itanium、x86などのプラットフォーム間の動的変換に用いられる同社のQuickTransit英語版技術のアップル向けの実装である。
  • DECはユーザーがCISCVAXアーキテクチャをDEC Alpha RISCアーキテクチャに移行する手助けとなる変換ツールで、同様の成功を収めた。
  • また、DECはx86用のアプリケーションをDEC Alphaのアプリケーションに変換するFX!32英語版バイナリ変換プログラムを開発した。
  • 2006年3月、インテルTransitive Binary Translatorを将来のItaniumとXeon CPUでサポートする計画を発表した。
  • サン・マイクロシステムズIBMSGIはそれぞれ [1] TransitiveのQuickTransitを採用している。 サンの場合にはSPARC→x86、IBM の場合にはx86→Powerアーキテクチャ英語版、SGIの場合にはMIPSItanium2に変換を行う。
  • 2000年、トランスメタCrusoeと称する革新的なプロセッサ設計を発表した。トランスメタWebサイトの FAQ によれば(以下訳)、「このマイクロプロセッサはハードウェアのVLIWコアとCode Morphingソフトウェアと呼ばれるソフトウェア層をエンジンとして備えています。 Code Morphingソフトウェアはシェルのように働き(中略)、 x86の命令をCrusoeのネイティブ命令に変換します。さらに、Code Morphingソフトウェアは動的コンパイルとコード最適化を行い(中略)最小の消費電力で性能を向上させます(中略)これにより、膨大な数のアプリケーションに影響を与えることなく、トランスメタはVLIWとCode Morphingソフトウェアを改良し続けることができるのです。」 arstechnicageek.comにも情報がある。

関連項目

編集

外部リンク

編集

脚注

編集
  1. ^ http://www.sgi.com/pdfs/3690.pdf

📚 Artikel Terkait di Wikipedia

クリーンルーム設計

Corporation, 203 F.3d 596 (9th Cir. 2000). Accessed online on August 29, 2006. [1] Computerworld article on clean room design en:Chinese wall en:Code morphing

CMS

シカゴ・マニュアル・オブ・スタイル (Chicago Manual of Style) の略。 コード・モーフィング・ソフトウェア (Code Morphing Software) の略。トランスメタ社のCPUで使用されているエミュレーション技術。 LHC加速器実験における実験グループ (CMS

ミスティーク

シャーことマグニートーとの活動を始める。 ^ Sabretooth and Mystique #1 ^ Sabretooth #3: “My morphing powers continually revitalize my body cells and DNA memory. That’s why

山崎耕一

mode』で先行リリース、8月28日に一般販売開始。 その後は、FLASH CUBEでGRAPHITEC MORPHING・nouvo nudeとして活動していたGRATEC MOURこと毛利克也の主宰するレーベル「elenic production(現NNN

後藤繁雄

Guide: A Wonder-Land on Ecology and Society』林田真季、artbeat publishers、2024年 『MORPHING MEMORY』草野絵美、artbeat publishers、2024年 『HEAVENLY GIFT』伊藤桂司、artbeat publishers、2024年

モアブ (ユタ州)

National Geographic Society. 2014年4月17日閲覧。 ^ Stiles, Jim. Brave New West: Morphing Moab at the Speed of Greed. Tucson, Arizona: University of Arizona Press

毛利克也

2011年から2012年にかけては株式会社クロアに在籍し、『nouvo nude』『Graphitec Morphing』名義で楽曲制作を行った。 2014年にcross groove音楽事務所を設立。 代表としてレーベルWhat’s uppp EntertainmentおよびNNN

Angelo

2006年10月4日 The creature was reborn out of hades 代々木公園 フリーライブ 2009年5月8日 MORPHING OF[METALLIC BUTTERFLY] NHKホール(東京) 2009年12月30日 09 CLIMAX SHOW CASE 「CRACKING