現在地

コメントを追加

パーソナルなコンピュータのメモリ事情 (第4回: 8ビット後期)

カテゴリー:

8ビット中期」で書いたバンク切り替えという手法はメモリ空間をいくらでも増やすことができるものですが、活用するプログラムを作成するのはかなり大変です。GVRAMなどには向いていますが、メインメモリを64kを超えて拡張してもなかなか有効には活用されません。RAMディスクなどとして使われることが多かったと思います。

その中でMMUを搭載してこれに立ち向かった機種もいくつかありました。バンク切り替えと大きな違いは、バンクではCPUのメモリ空間の特定の場所にしかマップできませんが、MMUでは好きな場所に出現させることができます。

シャープのMZ-2500や日立のS1がそうです。

名称 CPU 物理空間 メインRAM GVRAM 他メモリ 備考
MZ-2521 Z80B 512kB 128kB (256kB) 64kB (128kB) IPL/IOCS
CGRAM
32kB
14kB
S1/10 HD68B09E 1MB 48kB (512kB) 48kB (96kB) L3 BASIC
S1 BASIC
IGRAM/TVRAM
24kB
64kB
10kB

MZ-2500では512kBの物理アドレス空間を8kB毎に64分割します。この中から8つをCPUのアドレス空間に割り付けることができます。ただZ80ではリロケータブルなプログラムは事実上書けないので、プログラムの置かれるメモリは自由に割り当てることはできません(割り当てても実行はできない)。

S1では1MBの物理アドレス空間を4kB毎に256分割していて、ここから16個をCPUのアドレス空間に割り当てます。

BASICでプログラムしているかぎりはこれらのメモリ管理はシステムにお任せでできますが、アセンブリで書き始めるとMMUを意識せざるを得なくなります。たしかにバンク方式よりは自由度は上がりましたが、大変なことに変わりはありません。

それに時代は既に16ビットになっていましたから、MMUの搭載は一部の機種に限られました。8ビットCPUをMMUで無理に延命するより16ビットに移行するほうが素直ですし、群雄割拠していたパソコンがPC-9801シリーズ(海外ならIBM PC)に収束しつつあったという面もあったでしょう。

Plain text

  • HTMLタグは利用できません。
  • ウェブページアドレスとメールアドレスは、自動的にハイパーリンクに変換されます。
  • 行と段落は自動的に折り返されます。
※ コメントは原則公開です。個別のご相談などは「ご意見・ご要望」からお願いします。