HMA

読み:エイチエムエイ
外語:HMA: High Memory Area 英語
品詞:名詞

80286以降のIntelマイクロプロセッサーバグにより誕生した65,520バイトのメモリー領域の名称。XMSで定義される領域の一つ。

80286以上で、MS-DOSではHIMEM.SYSか、同等の機能を有するドライバーを使用することで利用できる。

目次

リアルモード

x86リアルモードのアドレスの範囲は0000:0000〜FFFF:FFFF(実アドレス000000h〜10FFEFh)までである。

しかし、8086はアドレスバスが20ビットしかないため、実際は物理的な仕様から0FFFFFhまでしか使用できない。

そのため、FFFF:0010〜FFFF:FFFF(実アドレス100000h〜10FFEFh)にアクセスすると、0000:0000〜0000:FFEF(実アドレス000000h〜00FFEFh)のメモリーの内容が見えていた。

80286

やがて、80286が登場した。

80286は、アドレスバスが24ビットに拡張された。しかし、この件について対策を講じなかったために、100000h〜10FFEFhのメモリー内容がそのまま見えてしまったのである。これにより80286以降ではHMAという新しいメモリー規格が生まれてしまった。つまりHMAは偶然の産物だったのである。

Intel自身はバグとしてこの問題を修正しようとした。

しかし、リアルモードで動作し常に貧困なメモリーに苦しんでいたMS-DOSでは約64Kiバイトのメモリーが新たに使えるようになることは非常に大きなことであり、Microsoft側からの要望もあって、仕様として残されることになった。

用語の所属
XMS
関連する技術
UMB
BMS
EMS
関連する用語
セグメント (x86)

コメントなどを投稿するフォームは、日本語対応時のみ表示されます


KisoDic通信用語の基礎知識検索システム WDIC Explorer Version 7.04a (27-May-2022)
Search System : Copyright © Mirai corporation
Dictionary : Copyright © WDIC Creators club