コンテンツにスキップ
Wikipedia

「Rosetta」の版間の差分

出典: フリー百科事典『ウィキペディア(Wikipedia)』
削除された内容 追加された内容
1行目: 1行目:
{{Otheruses|macOSの基盤技術|その他の用法|ロゼッタ}}
{{Otheruses|macOSの基盤技術|その他の用法|ロゼッタ}}
{{出典の明記|date=2011-07}}
{{出典の明記|date=2011-07}}
'''Rosetta'''(ロゼッタ)は、特定の[[アーキテクチャ]]のプログラムコードを持つバイナリを、別のアーキテクチャに適宜変換 ([[:en:Dynamic recompilation]]) することでバイナリの互換性を維持する[[Apple]]の技術。
'''Rosetta'''(ロゼッタ)は、特定の[[(追記) コンピュータ・アーキテクチャ| (追記ここまで)アーキテクチャ]]のプログラムコードを持つ(追記) [[ (追記ここまで)バイナリ(追記) ]] (追記ここまで)を、別のアーキテクチャに適宜変換 ([[:en:Dynamic recompilation]]) することでバイナリの互換性を維持する[[Apple]]の技術。


== Rosetta ==
== Rosetta ==
18行目: 18行目:


== Rosetta 2 ==
== Rosetta 2 ==
2020年6月に行われた(削除) [https://www.apple.com/apple-events/june-2020/ (削除ここまで)WWDC2020(削除) ] (削除ここまで)において、AppleはMacintoshのアーキテクチャをインテル[[X64|X86-64]]から[[Appleシリコン]]に移行することを発表した<ref>{{Cite web|和書|title=Apple、MacにAppleシリコンを搭載することを発表|url=https://www.apple.com/jp/newsroom/2020/06/apple-announces-mac-transition-to-apple-silicon/|website=Apple Newsroom|accessdate=2020年06月24日|language=ja-JP}}</ref>Rosetta 2はAppleシリコンを搭載したコンピューターでもインテル向けアプリケーションを実行できるソフトウェアとして発表され、同年11月にリリースされた[[macOS Big Sur]]で利用可能となった<ref>{{Cite web|和書|title=macOS Big Surが登場 |url=https://www.apple.com/jp/newsroom/2020/11/macos-big-sur-is-here/ |website=Apple Newsroom (日本) |accessdate=2022年03月31日 |language=ja-JP}}</ref>。
2020年6月に行われたWWDC2020において、AppleはMacintoshのアーキテクチャをインテル[[X64|X86-64]]から[[Appleシリコン]]に移行することを発表した<ref>{{Cite web|和書|title=Apple、MacにAppleシリコンを搭載することを発表|url=https://www.apple.com/jp/newsroom/2020/06/apple-announces-mac-transition-to-apple-silicon/|website=Apple Newsroom|accessdate=2020年06月24日|language=ja-JP}}</ref>Rosetta 2はAppleシリコンを搭載したコンピューターでもインテル向けアプリケーションを実行できるソフトウェアとして発表され、同年11月にリリースされた[[macOS Big Sur]]で利用可能となった<ref>{{Cite web|和書|title=macOS Big Surが登場 |url=https://www.apple.com/jp/newsroom/2020/11/macos-big-sur-is-here/ |website=Apple Newsroom (日本) |accessdate=2022年03月31日 |language=ja-JP}}</ref>。


インテル向けの従来のアプリケーションは、[[Xcode]] 12で再ビルドするだけでインテルとAppleシリコンの両方に対応した[[Universal Binary]]にできるとされているが、それを行っていない古いアプリケーションをAppleシリコンを搭載したMacintoshで使用するには、Rosetta 2を経由することになる<ref>{{Cite web|和書|title=【笠原一輝のユビキタス情報局】 IntelからArmへのシームレスな移行を実現する「macOS Big Sur」 |url=https://pc.watch.impress.co.jp/docs/column/ubiq/1260735.html |website=PC Watch |date=2020年06月23日 |accessdate=2022年03月31日 |language=ja |last=株式会社インプレス}}</ref>。
インテル向けの従来のアプリケーションは、[[Xcode]] 12で再ビルドするだけでインテルとAppleシリコンの両方に対応した[[Universal Binary]]にできるとされているが、それを行っていない古いアプリケーションをAppleシリコンを搭載したMacintoshで使用するには、Rosetta 2を経由することになる<ref>{{Cite web|和書|title=【笠原一輝のユビキタス情報局】 IntelからArmへのシームレスな移行を実現する「macOS Big Sur」 |url=https://pc.watch.impress.co.jp/docs/column/ubiq/1260735.html |website=PC Watch |date=2020年06月23日 |accessdate=2022年03月31日 |language=ja |last=株式会社インプレス}}</ref>。

Rosettaとは異なりインストール時にARMプログラムに変換する機能が実装されたほかAppleシリコンの効率が高いためRosettaが不得意だった計算量の多いプロユースなソフトウェアもRosetta 2を通じてほぼ全て変換できる。
Rosettaとは異なりインストール時にARMプログラムに変換する機能が実装されたほかAppleシリコンの効率が高いためRosettaが不得意だった計算量の多いプロユースなソフトウェアもRosetta 2を通じてほぼ全て変換できる。
Rosetta 2のインストールは任意であり、Appleシリコンを搭載したMacintoshではじめてインテル向けのアプリケーションを起動したときにインストールできる<ref>{{Cite web|title=WWDC 2020 - Videos - Apple Developer|url=https://developer.apple.com/videos/wwdc2020/|website=developer.apple.com|accessdate=2020年07月04日}}</ref>。
Rosetta 2のインストールは任意であり、Appleシリコンを搭載したMacintoshではじめてインテル向けのアプリケーションを起動したときにインストールできる<ref>{{Cite web|title=WWDC 2020 - Videos - Apple Developer|url=https://developer.apple.com/videos/wwdc2020/|website=developer.apple.com|accessdate=2020年07月04日}}</ref>。

== 関連項目 ==
*{{仮リンク|FX!32|en|FX!32}} - [[DEC Alpha]]向けの類似技術
*{{仮リンク|QuickTransit|en|QuickTransit}}


== 脚注 ==
== 脚注 ==
{{脚注ヘルプ}}
{{脚注ヘルプ}}
{{reflist}}
{{reflist}}

== 関連項目 ==
*{{仮リンク|FX!32|en|FX!32}} - [[DEC Alpha]]向けの類似技術
*{{仮リンク|QuickTransit|en|QuickTransit}}


{{MacOS}}
{{MacOS}}

2024年3月12日 (火) 09:44時点における版

曖昧さ回避 この項目では、macOSの基盤技術について説明しています。その他の用法については「ロゼッタ」をご覧ください。
この記事は検証可能参考文献や出典が全く示されていないか、不十分です。 出典を追加して記事の信頼性向上にご協力ください。(このテンプレートの使い方)
出典検索?"Rosetta" – ニュース · 書籍 · スカラー · CiNii · J-STAGE · NDL · dlib.jp · ジャパンサーチ · TWL
(2011年7月)

Rosetta(ロゼッタ)は、特定のアーキテクチャのプログラムコードを持つバイナリを、別のアーキテクチャに適宜変換 (en:Dynamic recompilation) することでバイナリの互換性を維持するAppleの技術。

Rosetta

2004年、MacintoshPowerPCからインテルアーキテクチャへ移行することに伴い、従来のバイナリの互換性を維持するために、PowerPC用プログラムコードをインテル用コードにAppleの発注を受け仮想化ミドルウエア開発で実績のある米Transitive(2009年にIBMが買収[1] )の技術が導入された[2] [3]

インテルアーキテクチャ向けに対応し、2006年にリリースされたIntel版Mac OS X v10.4.4に初搭載され、Mac OS X v10.6 "Snow Leopard"ではインストールが任意化[4] 及び最後の対応となり、Mac OS X Lionで廃止された[5]

仕組みとパフォーマンス

どの程度のサイズのバイナリコードが変換されるかは動的に変化する(キャッシュメモリと同じような概念で、必要なプログラムコードを任意の容量読み込んだ上でx86コードに変換するため、逐一命令を変換するエミュレータとはいささか趣を異にする)。アプリケーションのコード全体をインテル用コードに変換してから実行する機能はない。ユニバーサルバイナリ対応のソフトでは自動的にインテル用コードが実行される。

Rosetta環境下で実行されるPowerPCバイナリはx86コードへと変換され、ユーザ側からはCPU種別を意識することなくアプリケーションを実行できる。ただし、前述の動作方法ゆえに速度の低下は避けられず、シングルコアG5より高速と言われるIntel Core Duoで同クロックのG4の50〜80%以下の速度になる(メモリ容量や周辺ハードウェアの違いに左右されるため一概には言えない)といわれている。当初RosettaはG3互換の環境とされていたが、実際にはAltiVecに対応したG4互換の環境として出荷された。G5ネイティブのコードについては最後までサポートされなかった。[要出典 ]

Rosettaを利用した場合、たとえ最新のCore i7でも、PowerPC時代のPower Macと比べても性能はそれほど伸びない。PowerPCアプリケーションのほぼ全てがエンディアンをビッグエンディアンに揃えていて、それをIntelシステム上で動くコードに置き換えるとき、リトルエンディアンへのバイトスワップとアライメント調整を行うコードを大量に出力してしまうのが最大の原因と言われている。[要出典 ]メモリの読み書きはCPUにとって基本的な機能であり、そこに足かせがつけられてしまうのはアプリケーション性能に重大な影響を与えてしまう。逆を言えばバイトスワップが発生しないバイトオーダーの処理がメインのアプリケーションでは非常に優れたパフォーマンスを発揮し得る。しかしそのようなソフトウエアは少なく、例えば画像処理など基本的にバイトオーダーで処理するソフトウエアでもワードアクセスした後バンドル処理を行うといったチューニングが施されているため、Rosettaの上で動かそうとすると裏目に出る結果となる。

なお、RosettaはClassic環境をサポートせず、スクリーンセーバやシステム環境設定など、非アプリケーションのバイナリも実行できない。PowerPCコードとx86コードの混在したプロセスも処理できず、アプリケーションソフトウェアのPowerPC対応プラグインを使用するには、アプリケーション全体をRosettaで起動しなくてはならない(なお、DashboardウィジェットはダイナミックHTMLベースであるため、CPUの違いの影響を受けない)。この点はMixed Mode Managerにより68kコードとPowerPCコードの混在したプロセスを処理可能としていたMac OSのコード変換機構と異なり、注意が必要である。

Rosetta 2

2020年6月に行われたWWDC2020において、AppleはMacintoshのアーキテクチャをインテルX86-64からAppleシリコンに移行することを発表した[6] Rosetta 2はAppleシリコンを搭載したコンピューターでもインテル向けアプリケーションを実行できるソフトウェアとして発表され、同年11月にリリースされたmacOS Big Surで利用可能となった[7]

インテル向けの従来のアプリケーションは、Xcode 12で再ビルドするだけでインテルとAppleシリコンの両方に対応したUniversal Binaryにできるとされているが、それを行っていない古いアプリケーションをAppleシリコンを搭載したMacintoshで使用するには、Rosetta 2を経由することになる[8]

Rosettaとは異なりインストール時にARMプログラムに変換する機能が実装されたほかAppleシリコンの効率が高いためRosettaが不得意だった計算量の多いプロユースなソフトウェアもRosetta 2を通じてほぼ全て変換できる。 Rosetta 2のインストールは任意であり、Appleシリコンを搭載したMacintoshではじめてインテル向けのアプリケーションを起動したときにインストールできる[9]

脚注

  1. ^ 日経クロステック(xTECH). "IBM,クロスプラットフォーム仮想化のTransitiveを買収へ". 日経クロステック(xTECH). 2022年3月31日閲覧。
  2. ^ 86系に乗り換えるApple社の秘策,「Rosetta」の概要が明らかに
  3. ^ "アップルのコード変換ソフト「Rosetta」をめぐる期待と不安". CNET Japan (2005年6月9日). 2022年3月31日閲覧。
  4. ^ 話題のユキヒョウを追う「Snow Leopard、ココに注目」(3) - 互換性の謎を解く
  5. ^ 新機能のポイントをチェック! アップル「OS X Lion」速攻レビュー(後編)
  6. ^ "Apple、MacにAppleシリコンを搭載することを発表". Apple Newsroom. 2020年6月24日閲覧。
  7. ^ "macOS Big Surが登場". Apple Newsroom (日本). 2022年3月31日閲覧。
  8. ^ 株式会社インプレス (2020年6月23日). "【笠原一輝のユビキタス情報局】 IntelからArmへのシームレスな移行を実現する「macOS Big Sur」". PC Watch. 2022年3月31日閲覧。
  9. ^ "WWDC 2020 - Videos - Apple Developer". developer.apple.com. 2020年7月4日閲覧。

関連項目

バージョン
アプリケーション
廃止
ユーティリティ
廃止
テクノロジーおよび
インタフェース
非推奨
廃止
開発ツール

AltStyle によって変換されたページ (->オリジナル) /