Unreal modeとは? わかりやすく解説

Weblio 辞書 > 辞書・百科事典 > 百科事典 > Unreal modeの意味・解説 

Unreal mode

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2025/05/07 13:50 UTC 版)

Unreal modeとはx86 CPUのリアルモードでは通常は設定できない32ビットのリミットなどを設定した状態のことである。 Unreal modeという名前ではあるがこれはx86の別のモードではなく、80286およびそれ以降のCPUで使用できる。

動作原理

80286とそれ以降のx86 CPUは、効率的な動作のためにリアルモードであってもセグメントレジスタそのものではなく セグメントのデスクリプタキャッシュ内のベースアドレス、サイズ、その他の属性を使用する。 そのため、ディスクリプタキャッシュ内の値を変更すれば、リアルモードからアクセスできるメモリ領域を変更することができる。

80386以降のCPUではセグメントリミットを4GBに設定すればリアルモードのままで4GBのメモリにアクセスできる。 この手法は広く使われたため、80386以降のCPUでも使用可能である[1]。 しかし、Unreal modeはプロテクトモードのOSとは互換性がない。

セグメントレジスタの構造[2]

可視部 ディスクリプターキャッシュ部
セグメントレジスタ ベースアドレス 属性 セグメントリミット

Unreal modeを有効にする方法

80286では、非公開命令のLOADALLを使用してセグメントデスクリプタ内のベースアドレスを変更することで16MBまでのメモリにアクセスできる。

80386でもLOADALL命令を使う手法は使用できるが、80486以降のx86ではLOADALLは廃止された。 80386ではLOADALLではなく別の手法を使うこともできる。一旦プロテクトモードに入り、リミットを4GBに設定したセレクタを 作成し、そのセレクタをセグメントレジスタにロードする。そのあとリアルモードに戻るとリミットが4GBのセグメントを使用できる。 アドレスサイズプリフィックスを使えば、リアルモードでもDS:[EBX]のように32ビットレジスタを指定することで0xFFFF(64KB)を超える メモリにアクセスできる。

脚注

  1. ^ Cryptographic Security Architecture: Design and Verification. Springer Science & Business Media. (2004). p. 58. ISBN 978-0-387-95387-8. https://archive.org/details/springer_10.1007-b97264 2017年1月4日閲覧. "[…] Unreal mode became so widely used […] that Intel was forced to support it in all later processors, although its presence was never documented […]" 
  2. ^ The LOADALL Instruction by Robert Collins



英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  
  •  Unreal modeのページへのリンク

辞書ショートカット

すべての辞書の索引

「Unreal mode」の関連用語

Unreal modeのお隣キーワード
検索ランキング

   

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



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

   
ウィキペディアウィキペディア
All text is available under the terms of the GNU Free Documentation License.
この記事は、ウィキペディアのUnreal mode (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。 Weblio辞書に掲載されているウィキペディアの記事も、全てGNU Free Documentation Licenseの元に提供されております。

©2025 GRAS Group, Inc.RSS