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