このページの本文へ

ロードマップでわかる!当世プロセッサー事情 第403回

業界に痕跡を残して消えたメーカー メモリー領域確保で世話になった「QEMM」のQuarterDeck

2017年04月17日 11時00分更新

文● 大原雄介(http://www.yusuke-ohara.com/) 編集●北村/ASCII.jp

  • この記事をはてなブックマークに追加
  • 本文印刷

領域確保に悩まされた
MS-DOSのメインメモリー

 QEMMはEMS/XMS/UMBと、後にはDPMI/VCPIのI/Fも搭載したメモリー管理ツールであるが、昔のユーザーはともかく昨今のユーザーはこれがなんのことかわからないと思うので、これを簡単に説明しておく。

 下図が、非常に基本的なMS-DOSのメモリーマップである。一番下の0番地(00000H)から、IV(割り込みベクター)、一部BIOS(正確に書けばBIOSのエントリーポイント)、MS-DOS(IO.SYS&MS-DOS.SYS)とデバイスドライバー、COMMAND.COMの常駐部などがまずぎっちりロードされる。これがどの程度か、というのはロードするデバイスドライバーの利用量やMS-DOSのバージョンによっても変わってくる。

MS-DOSのメモリーマップ

 その上がプログラムエリアになっており、アプリケーションはこのエリアを利用して動くことになる。この上限はA0000Hで、仮にIVやBIOSが0だとすると、最大640KBが確保できることになるが、実際はこんなに取れることはなく、500KB台、下手をすると400KB台のことすらある。

 A0000Hから上はハードウェアに割り当てられており、例えばビデオカードのフレームバッファなどがここに割り当てられている。あるいはBIOSの拡張部分や、通信ポートなどの追加ハードウェアもこのエリアを使う。

 IBM-PCには関係ないが、日本のMS-DOSパソコンでは、このエリアに漢字ROMが割り当てられていたりした。この部分の上限がFFFFFHで、トータル1MBという形だ。

 ところが80286になると、メモリー空間が16MBまで拡張された。ただ互換性を考えると、MS-DOS自身は最初の1MBしか利用できない。そこでこれを回避する方法として、従来のメモリー空間の中に16KB×4の、ページフレームと呼ばれる領域を設け、このページフレームに1MBより上のアドレスをマッピングするという方法が標準化された。

 これがEMS(Expanded Memory Specification)である。プログラムはEMSのドライバーに対してリクエストを出すことで、ページフレームがマッピングするアドレスを入れ替えることが可能で、これによって最大15MBものメモリー領域を利用可能だった。

EMSの仕組み

 もっともEMSは、プログラムがメモリー管理を自分で行なわないといけない。あくまでもデータ領域として使えるだけで、プログラムの拡張には使えないなどいろいろ制限も多かった。

 日本ではPC-9801向けであるが、EMSに対応したメモリーボードがメルコ(現バッファロー)やアイ・オー・データ機器から発売され、これを利用してRAMディスクを作り、ここにFDの内容をコピーして動かすことで処理が高速化される、という使い方がけっこう流行した。

メルコ(現バッファロー)製のEMSカード

 次いで80386が登場すると80286よりもさらに機能が増えたため、これに対応したのがXMS(eXtended Memory Specification)である。XMSはHMA/UMA/EMBの3つの機能から構成される。

 まずHMAであるが、これはちょっとしたトリックである。8086は16bitのCPUなので、内部のレジスターは16bit長だ。ところがメモリーアドレスは1MBなら20bitが必要になる。これを解決するのに、8086ではレジスターを20bit化するのでなく、セグメント+オフセット、という2つのレジスターの合計でアドレスを指定する方式になった。

 この合計の方法が下図である。例えばセグメントが1234H、オフセットが5678Hならアドレスはこれを1桁ずらして加算することで、179B8Hになる。

セグメント+オフセットの合算式

 これで20bit分のアドレスが利用できるわけだが、このやり方の場合、例えばセグメントがF000Hの場合、オフセットを0000H~FFFFHを可変にすることで、最大FFFFFH(=1MB)となるわけだが、もしセグメントをF000Hより大きくするとどうなるか? というと1MBを超えるアドレスにアクセスできる計算になる。

 実際セグメントの最大値はFFFFHなので、オフセットもFFFFHの場合、アドレスは10FFEFHになる。8086/8088の場合は、物理的なアドレス線が20bit分しかないので、こうしたアクセスをすると一番上の1が省かれてFFEFHにアクセスすることになる(実際にはアクセスできない)のだが、80286以降では、これは正規(?)のメモリーにアクセスできることになる。

 要するに1MBを超える領域に、63KB分ほど余分に利用できるメモリー領域ができた形だ。この領域をHMA(High Memory Area)と称する。実際80286でもここは利用できた。

 また80386では、メモリーのマッピング領域を80286より細かく指定可能だったので、これを利用してA0000H~FFFFFHの本来システムで予約している領域の中で、実際には使われていない部分を全部メモリーに割り当てることが可能だった。これをUMA(Upper Memory Area)と呼ぶ。

 ちなみに 最後がEMB(Extended Memory Block)で、これは先のEMSの図で言うところのEMSエリアに相当する領域である。ここを利用できるようにするのはEMSと同じだが、EMSと異なるのは直接DOSプログラムからアクセスする方法がないことだ。

 この領域を利用するには2つの方法があり、XMSドライバ経由でEMBとプログラムエリアの間で内容のブロック転送を行なうか、DPMI(DOS Protected Mode Interface)を利用して、プロテクトモード(80286でサポートされた動作モード)を利用してプログラムを実行する、のどちらかだった。

 当初こそブロック転送を利用するプログラムもあったが、途中からはDPMIを使うほうが普通だったと記憶している。

※お詫びと訂正:プロテクトモードの記述に一部誤りがありました。記事を訂正してお詫びします。(2017年4月19日)

カテゴリートップへ

この連載の記事
1
【整備済み品】富士通 ノートパソコン LIFEBOOK U9310 13.3型FHD(1920x1080) 超軽薄 ノートPC/第10世代 Core i5-10310U@1.7GHz/ 8GB メモリ/高速ストレージ SSD/Webカメラ/WIFI/Type-C/HDMI/win11&MS Office 2019 搭載 ビジネス 在宅勤務向け パソコン (メモリ:8GB/SSD:256GB)
【整備済み品】富士通 ノートパソコン LIFEBOOK U9310 13.3型FHD(1920x1080) 超軽薄 ノートPC/第10世代 Core i5-10310U@1.7GHz/ 8GB メモリ/高速ストレージ SSD/Webカメラ/WIFI/Type-C/HDMI/win11&MS Office 2019 搭載 ビジネス 在宅勤務向け パソコン (メモリ:8GB/SSD:256GB)
¥39,800
2
【整備済み品】中古 ノートパソコン NEC VersaPro VKT16/15.6型・第8世代Core i5-8250U(最大動作3.4GHz)/快適メモリ8GB/ 高速SSD 256GB/Win11 Pro/MS Office 2019付属/テンキー付, Webカメラ, USB3.0, HDMI, VGA, 有線LAN, WIFI内蔵, Bluetooth/ACアダプター付属/180日間保証
【整備済み品】中古 ノートパソコン NEC VersaPro VKT16/15.6型・第8世代Core i5-8250U(最大動作3.4GHz)/快適メモリ8GB/ 高速SSD 256GB/Win11 Pro/MS Office 2019付属/テンキー付, Webカメラ, USB3.0, HDMI, VGA, 有線LAN, WIFI内蔵, Bluetooth/ACアダプター付属/180日間保証
¥26,880
3
【整備済み品】富士 通 2in1ノートパソコン V727【本体のみ】/第7世代Core M3/12.3型タッチパネル1920×1080/メモリ 8GB/SSD 128GB/Win 11/MS Office 2019/USB 3.1/Type-C/無線WIFI/オーディオ内蔵/WEBカメラ/初期設定済
【整備済み品】富士 通 2in1ノートパソコン V727【本体のみ】/第7世代Core M3/12.3型タッチパネル1920×1080/メモリ 8GB/SSD 128GB/Win 11/MS Office 2019/USB 3.1/Type-C/無線WIFI/オーディオ内蔵/WEBカメラ/初期設定済
¥9,600
4
Lenovo Chromebook クロームブック IdeaPad Flex 3i Gen8 12.2インチ インテル® プロセッサー N100搭載 メモリ4GB eMMC 64GB バッテリー駆動12.0時間 重量1.25kg アビスブルー 82XH001KJP
Lenovo Chromebook クロームブック IdeaPad Flex 3i Gen8 12.2インチ インテル® プロセッサー N100搭載 メモリ4GB eMMC 64GB バッテリー駆動12.0時間 重量1.25kg アビスブルー 82XH001KJP
¥29,800
5
【Amazon.co.jp限定】 ASUS ノートパソコン Vivobook 15 X1502VA 15.6インチ インテル Core i7 13620H メモリ16GB SSD 1TB Windows 11 バッテリー駆動 8.9時間 重量1.7kg PC Game Pass 3ヶ月利用権付き クワイエットブルー X1502VA-I7H161W
【Amazon.co.jp限定】 ASUS ノートパソコン Vivobook 15 X1502VA 15.6インチ インテル Core i7 13620H メモリ16GB SSD 1TB Windows 11 バッテリー駆動 8.9時間 重量1.7kg PC Game Pass 3ヶ月利用権付き クワイエットブルー X1502VA-I7H161W
¥104,800

Amazonのアソシエイトとして、ASCII.jpは適格販売により収入を得ています。

ASCII倶楽部

注目ニュース

  • 角川アスキー総合研究所

プレミアム実機レビュー

ピックアップ
1
KIOXIA(キオクシア) 旧東芝メモリ microSD 128GB UHS-I Class10 (最大読出速度100MB/s) Nintendo Switch動作確認済 国内サポート正規品 メーカー保証5年 KLMEA128G
KIOXIA(キオクシア) 旧東芝メモリ microSD 128GB UHS-I Class10 (最大読出速度100MB/s) Nintendo Switch動作確認済 国内サポート正規品 メーカー保証5年 KLMEA128G
¥1,880
2
Anker PowerLine III Flow USB-C & USB-C ケーブル Anker絡まないケーブル 240W 結束バンド付き USB PD対応 シリコン素材採用 iPhone 17 / 16 / 15 / Galaxy iPad Pro MacBook Pro/Air 各種対応 (1.8m ミッドナイトブラック)
Anker PowerLine III Flow USB-C & USB-C ケーブル Anker絡まないケーブル 240W 結束バンド付き USB PD対応 シリコン素材採用 iPhone 17 / 16 / 15 / Galaxy iPad Pro MacBook Pro/Air 各種対応 (1.8m ミッドナイトブラック)
¥1,390
3
【Amazon.co.jp限定】バッファロー microSD 32GB 100MB/s UHS-1 U1 microSDHC【 Nintendo Switch 対応 】V10 A1 IPX7 Full HD RMSD-032U11HA/N
【Amazon.co.jp限定】バッファロー microSD 32GB 100MB/s UHS-1 U1 microSDHC【 Nintendo Switch 対応 】V10 A1 IPX7 Full HD RMSD-032U11HA/N
¥1,880
4
Anker USB Type C ケーブル PowerLine USB-C & USB-A 3.0 ケーブル iPhone 17 / 16 / 15 /Xperia/Galaxy/LG/iPad Pro/MacBook その他 Android 等 USB-C機器対応 テレワーク リモート 在宅勤務 0.9m ホワイト
Anker USB Type C ケーブル PowerLine USB-C & USB-A 3.0 ケーブル iPhone 17 / 16 / 15 /Xperia/Galaxy/LG/iPad Pro/MacBook その他 Android 等 USB-C機器対応 テレワーク リモート 在宅勤務 0.9m ホワイト
¥660
5
Anker iPhone充電ケーブル PowerLine II ライトニングケーブル MFi認証 超高耐久 iPhone 14 / 14 Pro Max / 14 Plus / 13 / 13 Pro / 12 / 11 / X/XS/XR / 8 Plus 各種対応 (0.9m ホワイト)
Anker iPhone充電ケーブル PowerLine II ライトニングケーブル MFi認証 超高耐久 iPhone 14 / 14 Pro Max / 14 Plus / 13 / 13 Pro / 12 / 11 / X/XS/XR / 8 Plus 各種対応 (0.9m ホワイト)
¥990
6
KIOXIA(キオクシア)【日本製】USBフラッシュメモリ 32GB USB2.0 国内サポート正規品 KLU202A032GL
KIOXIA(キオクシア)【日本製】USBフラッシュメモリ 32GB USB2.0 国内サポート正規品 KLU202A032GL
¥980
7
【Amazon.co.jp限定】 ロジクール 静音 ワイヤレス トラックボール マウス M575SPd Bluetooth Logibolt 無線 windows mac iPad OS Chrome トラックボールマウス ブラック M575 M575SP 国内正規品 ※Amazon.co.jp限定 壁紙ダウンロード付き
【Amazon.co.jp限定】 ロジクール 静音 ワイヤレス トラックボール マウス M575SPd Bluetooth Logibolt 無線 windows mac iPad OS Chrome トラックボールマウス ブラック M575 M575SP 国内正規品 ※Amazon.co.jp限定 壁紙ダウンロード付き
¥5,280
8
バッファロー SDカード 128GB 100MB/s UHS-1 スピードクラス1 VideoSpeedClass10 IPX7 Full HD データ復旧サービス対応 RSDC-128U11HA/N
バッファロー SDカード 128GB 100MB/s UHS-1 スピードクラス1 VideoSpeedClass10 IPX7 Full HD データ復旧サービス対応 RSDC-128U11HA/N
¥2,000
9
キヤノン Canon 純正 インクカートリッジ BCI-381(BK/C/M/Y)+380 5色マルチパック BCI-381+380/5MP 長さ:5.3cm 幅:13.9cm 高さ:10.75cm
キヤノン Canon 純正 インクカートリッジ BCI-381(BK/C/M/Y)+380 5色マルチパック BCI-381+380/5MP 長さ:5.3cm 幅:13.9cm 高さ:10.75cm
¥5,545
10
Amazonベーシック USB-A -ライトニングケーブル ナイロン iPhone充電 Apple MFi認証 iPhone 14/14 Pro/13/13 Pro/12/SE(第2世代)/iPad 各種対応(シルバー 0.9m)
Amazonベーシック USB-A -ライトニングケーブル ナイロン iPhone充電 Apple MFi認証 iPhone 14/14 Pro/13/13 Pro/12/SE(第2世代)/iPad 各種対応(シルバー 0.9m)
¥980

Amazonのアソシエイトとして、ASCII.jpは適格販売により収入を得ています。

デジタル用語辞典

ASCII.jpメール デジタルMac/iPodマガジン