HMAの活用とは? わかりやすく解説

HMAの活用

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

Intel 80286」の記事における「HMAの活用」の解説

上記通り80286リアルモードプロテクトモード備えており、起動直後MS-DOSでは基本的に808680186互換性の高いリアルモード動作する8086では1MiB(000000H - 0FFFFFH)のメモリ空間を持つが、本来16ビットレジスタでは64KBまでのアドレス(00000H - 0FFFFH)しか表現できない。そこで16ビットレジスタを2つ用意し、まず1MB中のメモリ空間からアドレスの「原点」を10Hバイト単位大雑把に指定し、もう1つレジスタでそこから上位の64KBまでをアクセスできるようにしていた。したがって原点」を示すセグメントレジスタを最大の0FFFFHに設定すれば、0FFFF0Hからさらに上位の64KBすなわち1MBを超える10FFEFHまでアドレス表現できることになる。しかし8086ではアドレス線がA0 - A19の20本しか用意されていないため100000H - 10FFEFHのアドレスにはアクセスできず、桁あふれした部分は000000H - 0FFEFHにラップアラウンドしてアクセスすることになる。 80286ではこのようなラップアラウンド起こらないため、インテル社のiAPX 286 Programmer's Reference Manualでは「もしリアルモードプログラムアドレス空間ラップアラウンド依存している場合例えばFFF0:0400 = 0000:0300)、上位アドレス4ビットゼロにするために外部ハードウェア使用すべきである」としている。 アドレス線を24本持つ80286採用したシステム(PC/ATなど)では、ラップアラウンド前提作られソフトウェアとの互換性維持しつつ100000H以上のメモリにもアクセスできるように、21本目アドレス線 (A20) の無効/有効を切り替えるハードウェア持っていた。特定のI/OポートPC/ATではキーボードコントローラ)からA20を有効にするとリアルモードのままでも64Kバイト程度の上メモリ参照することが可能になり、HMA呼ばれたHMAは64Kバイト程度であるが640Kバイトの約10%にも相当しメモリ枯渇苦しDOSユーザーわずかな救いとなった80386以降プロセッサでもHMA使用できるキャッシュ内蔵した80486以降CPUではA20を無効にする機能内蔵しCPUにA20M#というピン追加した。これは外部ハードウェアでA20を無効にしても80486キャッシュ保存されHMAアクセスしてしまうためである。このA20M#を制御するのは、PC/ATではキーボードコントローラで変化していない。 なお、80286は16Mバイト後ろの約64Kバイトアクセスした場合先頭の000000H番地ラップアラウンドにするが80386ではこのラップアラウンド起こらない。このことが問題になる場合は、80386ページング機能使用して16Mバイト後ろの64Kバイト領域先頭の000000Hにマッピングすることで回避できる

※この「HMAの活用」の解説は、「Intel 80286」の解説の一部です。
「HMAの活用」を含む「Intel 80286」の記事については、「Intel 80286」の概要を参照ください。

ウィキペディア小見出し辞書の「HMAの活用」の項目はプログラムで機械的に意味や本文を生成しているため、不適切な項目が含まれていることもあります。ご了承くださいませ。 お問い合わせ



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

辞書ショートカット

すべての辞書の索引

「HMAの活用」の関連用語

HMAの活用のお隣キーワード
検索ランキング

   

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



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

   
ウィキペディアウィキペディア
Text is available under GNU Free Documentation License (GFDL).
Weblio辞書に掲載されている「ウィキペディア小見出し辞書」の記事は、WikipediaのIntel 80286 (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。

©2025 GRAS Group, Inc.RSS