第1章 PCのアドレス・マップと

割り込みコントローラ(1)

アドレス・マップ

 IBM PC/AT互換機はオープンな規格であるといわれています.しかし,こと日本にいる限りにおいては「簡単なI/Oアドレスや,そこに接続されているデバイス資料の入手はかなり面倒である…」というのが実状ではないでしょうか.

 本章ではAT互換機の基本的なアドレス・マッピングと割り込みコントローラについて説明します.

アドレス・マップ

メモリ・マップ

 PCのメモリ・マップは表1のようになっています.よく見ると初代PCのCPUである,8088がプロテクト・モードをもたず,メモリ空間が1Mバイトまでしかなかったことや,PC/ATのCPUが80286であり,そのメモリ空間も16Mバイトまでであったという痕跡が見てとれます.

(表1)

PCのメモリ・マップと内容およびアクセス先

(a)メモリ・マップ

 

(表1)PCのメモリ・マップと内容およびアクセス先

(b)内容とアクセス先

アドレス  内 容  アクセス先
0000_0000h〜0000_02FFh  BIOS割り込みテーブル メイン・メモリ
  0000_0300h〜  0000_03FFh BIOSスタック領域    メイン・メモリ
  0000_0400h〜  0000_04FFh  BIOSデータ領域     メイン・メモリ
  0000_0500h〜  0009_FFFFh  コンベンショナル・メモリ領域

(640Kバイト)

   メイン・メモリ
  000A_0000h〜  000B_FFFFh

  000B_0000h〜  000B_7FFFh 

  000B_8000h〜  000B_FFFFh 

ビデオ・メモリ(EGA,VGA)

ビデオ・メモリ(MDA,CGAカラー,VGAモノクロ)

ビデオ・メモリ(CGA,EGAカラー,VGAカラー)

PCI,ISA
  000C_0000h〜  000C_7FFFh ビデオBIOS−ROM(EGA/VGA) PCI,ISA
  000C_8000h〜  000C_FFFFh 拡張BIOS  PCI,ISA
  000D_0000h〜  000D_FFFFh      拡張BIOS PCI,ISA
  000E_0000h〜  000E_FFFFh  システムBIOS PCI,ISA
  000F_0000h〜  000F_FFFFh システムBIOS PCI,ISA,

(メイン・メモリ)

  0010_0000h〜  00EF_FFFFh  メイン・メモリ/PCI/ISAメモリ空間 メイン・メモリ,

PCI,ISA

  00F0_0000h〜  00FF_FFFFh メイン・メモリ/PCI/ISAメモリ空間 メイン・メモリ,

PCI,ISA

  0100_0000h〜  FFFF_FFFFh  メイン・メモリ/PCIメモリ空間 メイン・メモリ,

PCIメモリ空間

 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 桑野 雅彦

新刊のご案内

'01年05月発売

新コアBooks
実物写真と動作回路で素子の使い方を理解する
センサ活用141の実践ノウハウ

XML+DOMリファレンス

'01年04月発売
Design Wave Books
RTL記述&ネットリストのリファレンス
Verilog HDL 論理合成入門

CQ HOBBY BOOKS
電子工作の世界を楽しもう
やってみよう!! エレクトロニクス工作

ハードウェア・デザイン・シリーズ16
電子機器の設計/製作から調整/評価に役立つ
作りながら学ぶエレクトロニクス測定器

Ham Journalシリーズ 9
釣竿アンテナ製作ノート

CQ ham radio5月号増刊
アマチュア無線の本
これがアマチュア無線だ!

新コアBooks
コイルとコンデンサで作るLPF/HPF/BPF/BRFの実際
LCフィルタの設計&製作

'01年03月発売

新コアBOOKS
実験で学ぶ回路の高性能化技術
アナログ技術センスアップ101

TECH I Vol.8
USBコントローラの使い方からWindows/Linuxドライバの作成まで
USBハード&ソフト開発のすべて

差がつくシリーズ
挑戦! 脱・ホームページ作成ソフト
差がつくホームページ改造講座

CD-ROM版トランジスタ技術2000

WEB制作
ポケット版 HTMLリファレンス

'01年02月発売

プログラミング入門シリーズ
Visual C++プログラミングへのアプローチ
Win32 API完璧マスタ

アマチュア無線技士国家試験用
第1級ハム国家試験問題集

アマチュア無線技士国家試験用
第2級ハム国家試験問題集

'01年01月発売

CQ HOBBY BOOKS
カーナビ使いこなしガイド

ハードウェア・デザイン・シリーズ 15
アーキテクチャ&命令セットから開発環境,各種応用事例まで
PICマイコン活用ハンドブック

プログラミング入門シリーズ
Windowsプログラミングの効率アップ
Delphi&C++Builder即戦力コンポーネントライブラリ

改訂新版 第3級ハム解説つき問題集

[取扱い商品-JARL]
2001 アマチュア無線局JARL会員局名録

50代から始めるデジタル攻略マガジン
でじたるなび
特集:50歳の手習い できた,送れた,ケータイメール

第4級ハム国試 要点マスター 2001

'00年12月発売

Design Wave Books
SpecC 仕様記述言語と方法論

TECH I Vol.7
情報通信と信号解析――暗号,誤り訂正符号,積分変換
やり直しのための工業数学

Ham Journalシリーズ 100.8
新・手作りアンテナ入門

素子の特性を100%活かすかんどころ
新版 オプト・デバイス応用ノウハウ

ハードウェア・デザイン・シリーズ 14
[フルカラー] 目で見るハードウェア実装の最新技術
エレクトロニクス実装図鑑

'00年11月発売

プログラミング入門シリーズ
3DCGの基礎から制御系アニメーションへの応用まで
OpenGL 3Dプログラミング

ハードウェア・デザイン・シリーズ 13
電力制御のためのデバイスの基礎知識から応用回路まで
パワーMOSFETの実践活用法

'00年10月発売

Ham Journalシリーズ 100.7
アパマン・ハム・ハンドブック

'00年09月発売

ハードウェア・デザイン・シリーズ 12
割り込みとDMAからシリアル/パラレル・ポート,FDD/IDEインターフェースまで
パソコンのレガシィI/O活用大全

TECH I Vol.6
基本プロトコル解説からIEEE1394機器の設計,ドライバ開発まで
IEEE1394の徹底研究

Z80の後継機種として最適な16/32ビットCPU
TLCS-900/H&H2活用ハンドブック

IT時代を勝ち抜くSE活動の提案
創造するSE

'00年08月発売

動的なWebコンテンツをすばやく作る技術
JavaServer Pages詳解

Turbo HAMLOG/Win
すぐわかるハムログ2000

第1級・第2級アマチュア無線技士国家試験用
改訂版 解説・無線工学

第4級アマチュア無線技士
コミック版 最新ハム問題集

電気に弱い人にもわかる
オシロスコープ入門

IT時代を勝ち抜くSE活動の提案
新時代のモービル運用

Windows版
CD-ROM版 アワード・ガイド 2001<国内編

'00年07月発売

いきなり理解するよりも,マネして覚えるほうが早くて簡単!
XML+XSLサンプル集

COM/DCOM,通信カスタムコントロール,SQL Server 7.0の活用
IT時代のPCネットワーク実用プログラミング



Copyright 1997-2001 CQ Publishing Co.,Ltd.