IBM PC/AT互換機はオープンな規格であるといわれています.しかし,こと日本にいる限りにおいては「簡単なI/Oアドレスや,そこに接続されているデバイス資料の入手はかなり面倒である…」というのが実状ではないでしょうか. 本章ではAT互換機の基本的なアドレス・マッピングと割り込みコントローラについて説明します. アドレス・マップ メモリ・マップ PCのメモリ・マップは表1のようになっています.よく見ると初代PCのCPUである,8088がプロテクト・モードをもたず,メモリ空間が1Mバイトまでしかなかったことや,PC/ATのCPUが80286であり,そのメモリ空間も16Mバイトまでであったという痕跡が見てとれます.
0000_0000h〜000A_0000hまでの640Kバイトが俗にいうコンベンショナル・メモリ領域と呼ばれる部分ですが,この後ろにビデオ・メモリやBIOS-ROMなどがあり,先頭1Mバイトの終わりである000F_FFFFhでいったん完結します.これが8088/8086時代の名残りです. さらに16MバイトまでがPCIやISAで使用可能な空間です.ISAの空間が16Mバイトまでというのは,80286のメモリ空間の制約の名残りといえるでしょう. 現在のPCではメモリを64Mバイトや128Mバイト程度積むのは当たり前ですから,この領域はふつうは全部メイン・メモリ空間になっており,PCIやISA用の領域としては使えません. PCIバス・ボードは,さらに上のアドレスが使えますが,ISAバス・ボードではそれはできないので,通常は拡張BIOS領域などをやりくりして使うことになります.ただ,一部のISAカードのなかには,どうしてもISA上にある程度広いメモり空間を確保しなくてはならないということから,チップ・セットによっては設定によって1Mバイト程度をISA領域として使用可能にしているものもあります.この方式の正式な名称はないようですが,「ISAホール」と呼ぶことが多いようです. ただ,ISAホールのあることをOS側がきちんと認識しないと,ISA領域までメイン・メモリだと思われたり,ISAホール部分までしかメイン・メモリが実装されていない…と判定する場合もあるので,要注意です. Copyright 2000 桑野 雅彦 |
|
Copyright 1997-2001 CQ Publishing Co.,Ltd.