ロゼッタ(ソフトウェア)

ロゼッタ
開発者アップル社
オペレーティング·システムMac OS X 10.4.4–10.6.8 (Intelホスト、PowerPCをエミュレート) macOS 11.0以降 (ARMホスト、Intelをエミュレート) IntelをエミュレートするARM Linuxゲスト[ 1 ]
タイプバイナリ変換エミュレーション
Webサイトhttps://support.apple.com/en-us/102527

Rosettaは、 Apple社がmacOS向けに開発した動的バイナリトランスレータであり、異なる命令セットアーキテクチャ間のアプリケーション互換性レイヤーです。ソフトウェアを自動変換することで、新しいハードウェアへの移行を可能にします。名前は、エジプトの象形文字の翻訳を可能にした遺物であるロゼッタストーンに由来しています。[ 2 ]

Rosettaの最初のバージョンは、MacのPowerPCプロセッサからIntelプロセッサへの移行の一環として、 2006年にMac OS X Tigerで導入されました。これにより、 PowerPCアプリケーションをIntelベースのMacで実行できるようになりました。Rosettaのサポートは、2011年の Mac OS X Lion (10.7)で廃止されました。

Rosetta 2は2020年にmacOS Big Surのコンポーネントとして、またMacのIntelプロセッサからApple Siliconへの移行の一環として導入され、IntelアプリケーションをApple SiliconベースのMacで実行できるようになりました。 [ 3 ] Rosetta 2のほとんどの機能は、2027年にmacOSバージョン28で削除される予定です。

背景

Macintoshは、 Motorola 68000シリーズPowerPC、Intel x86、そしてApple SiliconARM64など、複数の異なる命令セットアーキテクチャ(ISA)を搭載したCPUを採用してきました。各ISAには互換性がないため、後継ISA上で以前のISAを エミュレートするためのソフトウェアレイヤーに基づく移行計画が必要でした。

Power Macintoshの発売に伴い、System 7 .1.2 以降にはMac 68K エミュレータが搭載されました。このエミュレータは PowerPC の機能を利用し、オペレーティングシステムの最下層にMac OS ナノカーネルと統合されて組み込まれています。つまり、ナノカーネルは PowerPC 割り込みをインターセプトし、それを 68K 割り込みに変換し(必要に応じて混合モードへの切り替えも行う)、68K コードを実行して割り込み処理を行うことができます。これにより、68K コードと PowerPC コードを同じファットバイナリ内に混在させることができます。

ロゼッタ

Appleは、MacがPowerPCからIntelプロセッサに移行した2006年にRosettaをリリースしました。Rosettaは、 x86ベースのMacの発売開始バージョンであるMac OS X Tiger 10.4.4 "Tiger"に搭載されており、多くのPowerPCアプリケーションをそのままIntelベースのMacコンピュータで自動的に実行できます。RosettaはQuickTransitテクノロジに基づいています。[ 4 ]グラフィカルユーザーインターフェースがなく、透過的に起動するため、AppleはRosettaを「これまでに見たことのない最も素晴らしいソフトウェア」と評しました。[ 5 ] RosettaはMac OS X 10.6 "Snow Leopard"にオプションでインストールできます。[ 6 ] Rosettaは、 Mac OS X 10.7 "Lion"(2011年リリース)以降には含まれておらず、サポートもされていません。 [ 6 ]

IntelプロセッサとPowerPCプロセッサ間のアーキテクチャの違いが大きいため、Rosettaは68000エミュレータよりも高いレベルで動作し、ユーザーレベルのコードを傍受してエミュレートすることしかできないユーザーレベルプログラムである。G3 、G4AltiVec命令は変換できるが、G5は変換できない。PowerPCベースのMac向けの市販ソフトウェアのほとんどはこれらの要件と互換性があり、G4システムも依然として広く使用されていたが、開発者はG5固有の命令に依存するアプリケーションをRosettaで動作するように更新する必要がある。Appleは、ユーザーとのやり取りは多いが計算の必要性は低いアプリケーション(ワードプロセッサなど)がRosettaでの使用に最適であり、計算の必要性が高いアプリケーション(ゲーム、AutoCADPhotoshopなど)は適していないとアドバイスした。[ 7 ]

ロゼッタ2号

2020年、AppleはMacのApple Siliconへの移行を支援するため、macOS Big SurにRosetta 2をバンドルすると発表しました。このソフトウェアにより、 x86-64ベースのプロセッサ専用にコンパイルされた多くのアプリケーションをApple Siliconで実行できるように変換することが可能になります。[ 3 ] [ 8 ]

Rosetta 2は、ジャストインタイム(JIT)翻訳サポートに加えて、事前コンパイル(AOT)も提供しており、ユニバーサルバイナリのないアプリケーションをApple Silicon Macにインストールすると、x86-64コードが一度だけ完全に翻訳されます。[ 9 ]

Rosetta 2の性能は高く評価されています。[ 10 ] [ 11 ]いくつかのベンチマークでは、x86-64のみのプログラムは、M1上のRosetta 2上でネイティブx86-64よりも優れたパフォーマンスを示しました。Rosetta 2がこれほど高い変換効率を実現している主な理由の一つは、M1 SoCにおけるx86-64メモリオーダリングのサポートです。 [ 12 ]このSoCには、x86フラグを計算するための専用命令も搭載されています。[ 13 ]

macOS Ventura以降、Linuxゲストオペレーティングシステム仮想マシンは、 Rosetta 2をゲストランタイムバイナリとしてインストールしてx86-64 Linuxアプリを実行できます。[ 14 ] [ 15 ]

WWDC 2025で、Appleは2027年にmacOSバージョン28でRosetta 2のほとんどの機能が削除され、サポートはメンテナンスされていないゲームに限定されると述べました。[ 16 ]

参照

参考文献

  1. ^ 「Rosettaを使用してLinux VMでIntelバイナリを実行する」 Apple Inc. 2022年8月7日閲覧
  2. ^ Norr, Henry (2006年1月27日). 「Core Duo iMac、高速な新チップを搭載」 . Macworld .
  3. ^ a b Warren, Tom (2020年6月22日). 「Appleは今年後半からMacを自社製プロセッサに切り替える」 The Verge . 2020年6月22日閲覧
  4. ^ 「AppleのRosettaの背後にある頭脳:推移性」 CNET 2005年6月8日. 2023年1月9日閲覧
  5. ^ 「Rosetta」 . Apple. 2006年1月13日時点のオリジナルよりアーカイブ。 2011年9月5日閲覧
  6. ^ a b AppleInsider Staff (2011年2月26日). 「Mac OS X Lion、Front Row、Javaランタイム、Rosettaを廃止」 . AppleInsider . AppleInsider, Inc. 2014年4月29日時点のオリジナルよりアーカイブ。 2011年2月27日閲覧
  7. ^ 「Rosetta」(PDF) .ユニバーサルバイナリプログラミングガイドライン、第2版. Apple.オリジナル(PDF)から2012年8月3日時点のアーカイブ。 2011年9月5日閲覧
  8. ^ Mayo, Benjamin (2020年6月22日). 「Apple、MacアーキテクチャをIntelから自社製ARMチップに移行、エミュレーションパスを提供」 . 9to5Mac . 2020年6月23日閲覧
  9. ^ WWDC2020 基調講演. Apple Inc. 2020年6月22日. イベントは1時間39分37秒に発生します。Rosetta 2はアプリのインストール時に翻訳するため、すぐに起動し、瞬時に応答できます。Rosetta 2は必要に応じてコードをオンザフライで翻訳することもできます。
  10. ^ Evans, Jonny (2020年11月19日). 「Apple Silicon MacのRosetta 2について知っておくべきことすべて」 . Computerworld . 2020年12月8日閲覧
  11. ^ 「AppleのM1 MacBook Proは確かにパワフルだが、驚くべきはそのバッテリー駆動時間だ」 TechCrunch 2020年11月17日2020年12月8日閲覧
  12. ^ Wrenger, Lars; Töllner, Dominik; Lohmann, Daniel (2024年4月1日). 「Apple M1のメモリ順序付けモデルの分析」 . Journal of Systems Architecture . 149-103102 . doi : 10.1016/j.sysarc.2024.103102 . ISSN 1383-7621 . 
  13. ^ Dougall, J (2022年11月9日). 「なぜRosetta 2は高速なのか?」 . 2023年8月15日閲覧. ARMフラグ操作拡張機能…Appleの秘密の拡張機能…
  14. ^ Proven, Liam (2022年6月9日). 「Apple、macOS 13でLinuxサポートを強化」 . The Register . 2023年1月6日閲覧
  15. ^ Cunningham, Andrew (2022年6月7日). 「AppleはmacOS VenturaでRosetta搭載のLinux VMでIntelアプリの実行を許可する」 . Ars Technica . 2023年1月6日閲覧
  16. ^ Cunningham, Andrew (2025年6月9日). 「Apple、Intel Macのサポート終了とRosetta 2の段階的廃止について詳細を発表」 Ars Technica . 2025年6月10日閲覧