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