バンクメモリー
読み:バンクメモリー
外語:bank memory
バンク切り替え
によって容量を拡張するメモリーのこと。
目次
概要
基礎
技術
特徴
PIC
MS-DOS
概要
基礎
例えば、
アドレスバス
の幅が決まっているが、その範囲ではメモリー容量が足りないような場合、あるアドレスの範囲を2次元的に拡張する方法が取られる。これがバンクメモリーである。
CPU
から見れば同じアドレスのある範囲を、スイッチにより複数のメモリーページを切り替えて割り当てる。こうすれば、そのページ数の分だけ、メモリー容量は拡張できることになる。
技術
例えば4Miバイトのメモリーを新たに追加するとする。これを小さな領域に分割する。例えば16Kiバイトごとに、256分割するとする。
この時、CPUからアクセス可能なアドレス範囲の「どこか」に、16Kiバイト分の「窓」を用意し、ここに拡張されたメモリーの一部(1ページ)を覗かせる。この時、必要に応じて覗かせるページの番号を256種類から選択できるようにする。
かくして、窓の大きさだけどこかに用意できれば、都合、窓の大きさ×バンク数のメモリーを(使いにくいが)扱うことが可能となるわけである。
特徴
PIC
例えば
PIC
を例とする。
PICの内蔵メモリー用の
ポインター
は7ビットしかなく、最大で128バイトしか使えない。しかし、2または4ページでバンク切り替えすることで2倍または4倍のメモリーを扱えるようにした製品がある。
またプログラム領域も同様である。製品によって異なるが、よくある製品ではポインターが10ビットしかないため、容量は1Kiワードに制限される。しかし同様にバンク切り替えで2倍、4倍などに拡張した製品がある。
MS-DOS
MS-DOS
は16ビットOSであり、最大でも1Miバイトまでしかメモリーが使えない。しかも全領域にメモリーがあるわけではなく、実質は
コンベンショナルメモリー
の容量、つまり640Kiバイトの制限がある。
しかしこれではメモリー容量が不足したため、様々な拡張方法が模索された。代表的な成功例が、次の二つである。
BMS
EMS
特によく使われたのは後者EMSである。
再検索