Mac 68k emulatorとは? わかりやすく解説

Weblio 辞書 > 辞書・百科事典 > 百科事典 > Mac 68k emulatorの意味・解説 

Mac 68Kエミュレータ

(Mac 68k emulator から転送)

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2023/11/27 06:02 UTC 版)

Mac 68Kエミュレータ(マック ろくはちケー エミュレータ)は、PowerPCプロセッサを搭載したMacintosh向けClassic Mac OSの全バージョンに組み込まれていたソフトウェアエミュレータである。このエミュレータでは、それまで使われていた68k用にプログラムされた全てのアプリケーション、システムコードを実行することができた。このエミュレータはユーザーから見て完全にシームレスに動作し、またプログラマから見てもそれなりにシームレスに利用できた。この点から見て、Mac OSは2種類のハードウェアアーキテクチャに対応したオペレーティングシステム (OS) として最初の成功例であると言える。

起源

最初のバージョンはGary Davidianの手による。元はモトローラ88000CPUで使用するために作られたもので、AppleRISCターゲット・プラットフォームの初の試作品向けに作成されたが、このプラットフォームは実用化されなかった[1] [2]動的再コンパイル (DRE, Dynamic REcompile) を利用するバージョンがのちにエリック・トラウト英語版によって開発された。トラウトはその後、ConnectixにおいてSpeed Doubler(より高速なPowerPC 68kエミュレータが入っている)、CVGS (Virtual Game Station)、Microsoft Virtual PCといったエミュレーション・プロジェクトに参加して成功を収めた[3]

実装

全てのバージョンで68020/68030例外スタックフレームを含む68EC040命令セットの「ユーザー」サブセットをエミュレートした。Apple Developer Documentによると68KエミュレータはMacintosh Centris 610(モトローラ68LC040搭載システム)に非常によく似た動作環境を提供するとしている[4]。 初期のバージョンでは各命令を逐一デコードしPowerPCの同等の命令を実行していたが、PCI Power MacではDREを採用してパフォーマンスを向上させた。DREでは、繰り返し現れるコードを予め高速なPowerPCネイティブの命令にコンパイルしたうえでローカルにキャッシュする。エミュレータが同じ680x0のコードを認識すると、事前にキャッシュしておいたPowerPCのコードを実行することでコンパイル処理を省略する。このエミュレータでは理論上、いかなる680x0実機よりも速く680x0命令を実行できるようになっていた。68LC040実機に浮動小数点演算命令がなかったことが幸いしてこれは比較的簡単に達成できたが、それでも印象深い特徴となった。

このエミュレーションがここまでの成功を収めた理由の一つに、Classic Mac OSのAPIの多くが元々680x0プロセッサのトラップとして実装されていたことが挙げられる。このため、APIの呼び出しは680x0におけるエラーと同じ方法で処理されていた。実際には、エラー処理をハードウェアベクタで行い、ハードウェアベクタからROMまたはRAM上にあるOSルーチンが呼び出されていた。エミュレータではこのようなトラップをネイティブのPowerPCコードで置き換えられたため、エミュレーションの必要があるコードはアプリケーション自体のコードだけで、アプリケーションから呼び出されるAPIは全てPowerPCコードによる速度向上の恩恵を受けることができた。また、この機能はAppleがOSをPowerPCへ移植する際にも利用できた。最初は最もタイム・クリティカルな機能だけをネイティブコードで記述しておき、他の部分はエミュレーションに任せておくことができた。OSの大部分がネイティブコードで置き換えられるにつれ、OSの速度は徐々に向上していった。

プログラマの観点から見ると、PowerPCへの移植はほとんど困難を伴わなかった。これはエミュレーションの開始・終了が自動化されていたためである。この機能はUniversal Procedure Pointer (UPP) と呼ばれる新しいタイプのポインタにより実現されている。68kのコードからは、このポインタはコードを指す普通のポインタと同じように見え、また同じように扱える。しかし、実際にはその後にデータ構造が続いており、そこには特別なトラップ命令と、呼び出されるコードの命令セットを表すフラグが格納されている。PowerPCのコードでは、UPPはCallUniversalProc()関数に渡されて呼び出しが行われる。68kエミュレータはその後、対象のISAに合わせて引数の順序を変更したり、必要に応じてエミュレーションの開始・終了を行ったりする。Classic Mac OS向けコンパイラではマクロを定義しておくと自動的にUPPが使用されるようになっていた。また、PowerPCシステムライブラリには、ネイティブコードと68k用コードのいずれかを透過的に呼び出すためのスタブが含まれていた。これにより、プログラマはデュアルアーキテクチャに僅かな労力だけで対応できた。またOSと同様、アプリケーションに680x0とPowerPCの両方のコードを混ぜることも非常に容易であった。

関連項目

参考文献

  1. ^ Andy F. Mesa. “The PowerPC Triumph”. 2012年1月3日閲覧。
  2. ^ Tom Hormby (2007年2月20日). “Power Computing: Fighting Back for the Mac or Stealing Apple's Customers?”. 2012年1月3日閲覧。
  3. ^ Eric Traut: Distinguished Engineer”. Microsoft Corporation. 2012年1月3日閲覧。
  4. ^ The 68LC040 Emulator (IM: PS)”. Apple Inc. (1996年7月3日). 2012年1月3日閲覧。

「Mac 68k emulator」の例文・使い方・用例・文例

Weblio日本語例文用例辞書はプログラムで機械的に例文を生成しているため、不適切な項目が含まれていることもあります。ご了承くださいませ。


英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「Mac 68k emulator」の関連用語

Mac 68k emulatorのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



Mac 68k emulatorのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
ウィキペディアウィキペディア
All text is available under the terms of the GNU Free Documentation License.
この記事は、ウィキペディアのMac 68Kエミュレータ (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。 Weblio辞書に掲載されているウィキペディアの記事も、全てGNU Free Documentation Licenseの元に提供されております。
Tanaka Corpusのコンテンツは、特に明示されている場合を除いて、次のライセンスに従います:
 Creative Commons Attribution (CC-BY) 2.0 France.
この対訳データはCreative Commons Attribution 3.0 Unportedでライセンスされています。
浜島書店 Catch a Wave
Copyright © 1995-2025 Hamajima Shoten, Publishers. All rights reserved.
株式会社ベネッセコーポレーション株式会社ベネッセコーポレーション
Copyright © Benesse Holdings, Inc. All rights reserved.
研究社研究社
Copyright (c) 1995-2025 Kenkyusha Co., Ltd. All rights reserved.
日本語WordNet日本語WordNet
日本語ワードネット1.1版 (C) 情報通信研究機構, 2009-2010 License All rights reserved.
WordNet 3.0 Copyright 2006 by Princeton University. All rights reserved. License
日外アソシエーツ株式会社日外アソシエーツ株式会社
Copyright (C) 1994- Nichigai Associates, Inc., All rights reserved.
「斎藤和英大辞典」斎藤秀三郎著、日外アソシエーツ辞書編集部編
EDRDGEDRDG
This page uses the JMdict dictionary files. These files are the property of the Electronic Dictionary Research and Development Group, and are used in conformance with the Group's licence.

©2025 GRAS Group, Inc.RSS