リアルモード
出典: フリー百科事典『ウィキペディア(Wikipedia)』
リアルモードとは、x86CPUの動作モードで、Intel 8086互換動作を行うモードである。
正式名称はReal Address Mode(実アドレスモード)である。
全てのx86CPUの起動時の動作モードであり、いわゆるBIOS画面はこのモードで動作している。このモードにおいては、すべてのレジスタのアドレス幅はデフォルトで16ビットで、アドレッシングの際はセグメントレジスタの値を16倍して足す単純なアドレス変換により、20ビットのアドレス空間にアクセスすることが可能である。しかしこのモードがリアルモードと呼ばれるようになった、Intel 80286においては、設計ミスにより、0x10ffefまでと、65520バイト多くアクセス出来る様になっていて、完全な互換性のために常にアドレス線の20ビット目以上を0にする回路がPCアーキテクチャには用意されていた。但し、この回路はリアルモードのままでも無効にする事が可能でこの領域はHMAとして使用され、Intel 80386以降においては正式な機能となった。
なお、Intel 80386以降の32ビットレジスタを持つアーキテクチャでは、レジスタアクセス命令にプレフィックスを付けることによって、32ビットのレジスタアクセスは可能である。プロテクトモード移行の際などはリアルモードで特権レジスタを初期化して移行することになる。
また、Intel 80386では、プロテクトモードに移行した後、セグメントリミットを設定した後にリアルモードに復帰すると、命令にプレフィックスをつけることでそのセグメントリミットまでの実メモリ空間にアクセスすることが可能になるバグと思われるものもあり、この状態を Unreal mode と呼ぶことがある。この仕様は以降のすべてのCPUで有効となっている。これは、幾つかのゲームソフトで使われた。尚、BIOSにおいてのみ使用可能なシステムマネジメントモード は同様の全てのメモリ空間にアクセス可能な環境を提供する。
MS-DOSはこのモードで動作しており、これにかわる地位を持ったOSがMicrosoft Windows 95まで出現しなかったことから、I486出現までほとんどのユーザーアプリケーションはリアルモード前提で記述されていた。