2017-07-26 18:12 — asano
カテゴリー:
最初はオプションとしてフルキーボード・モニタ(多くはテレビで代用)出力・増設メモリを載せてBASICが使えるといった状況でしたが、やがていわゆる「パソコン」と呼ばれるものが登場します。
日立のベーシックマスター、シャープのMZ-80K、NECのPC-8001等です。
名称 | CPU | ROM | RAM | 備考 | ||
---|---|---|---|---|---|---|
MB6880 | HD46800 | HN46532 ×2(4) | 8kB (16kB) | (4k(16k)×1bit)×8(16) | 4kB (32kB) | ベーシックマスター |
MB6881 | HD46800 | ? | 16kB | ? | 16kB (32kB) | ベーシックマスターレベル2II |
MZ-80K | LH0080 (Z80CPU) | μPD2332 | 4kB | (16k×1bit) ×8 + (4k×1bit) ×8 | 20kB (48kB) | 他に1kBのテキストVRAM |
MZ-80K2E | LH0080 (Z80CPU) | μPD2332 | 4kB | (16k×1bit) ×16(24) | 32kB (48kB) | 他に1kBのテキストVRAM |
PC-8001 | μPD780 (Z80CPU) | (8k×8bit) ×3(4) | 24kB (32kB) | μPD416×8(16) | 16kB (32kB) | |
PC-6001 | μPD780 (Z80CPU) | ? | 16kB (32kB) | μPD416×8(16) | 16kB (32kB) | メモリ増設はカートリッジ |
カッコ内は増設可能な最大です。
さすがにある程度の容量が必要になるのでSRAMではなくDRAMになっています。4k(4k×1bit)か16k(16k×1bit)を8個か16個というのが一般的ですね。この頃はまだ×4bitのDRAMはありません。
他がみな何らかのBASICをROMに搭載していたのに対し、MZ-80シリーズは必要最小限のソフトウェア以外は外部記憶(当時はオーディオ用テープが主流)からRAMに読み込む仕組みだったのでROMが少ない代わりに比較的大容量のRAMになっています。
メモリ増設については基板上にソケットが用意してありDIPのICを挿し込むのが一般的でした。場合によっては既存の4k品を抜いて16k品を挿すということもありましたが、これは今のDIMM等でも行なわれますね。
ビデオ出力が必須になりましたが、テキスト(グラフィック可能なものもありますが低解像度)なのでVRAMは1kB~4kB程度で済んでいます。
これはMZ-80のようにVRAM専用にSRAMを搭載しているものもあれば、PC-8001のようにメインメモリの一部を割り当てているものもありました。
前者では通常VRAMはビデオ回路の支配下にあり、CPUがアクセスするときには何らかの調停が必要になります。一番簡単なのはビデオ回路の支配権を取り上げて強引にアクセスしてしまう方法、CPUアクセスの際に画面にチラつきなどが発生します。2つ目は垂直帰線期間などビデオ回路がアクセスしないタイミングまでソフトで待つ方法、ハードウェアが簡単(同期信号をポートで読めるようにするだけ)な上に必要に応じて待たないことも選択できます。最後はビデオ回路が使用中にCPUがアクセスしようとしたらハードウェアでCPUを待たせる方法、回路は複雑になりますがソフトウェアは何も考えずにアクセスすることができます。
後者では周期的にビデオ回路がメインメモリにアクセスする必要があり、その間CPUを停止させてしまうシステムではCPUクロックのわりには遅くなってしまいます。メモリの帯域に余裕があればサイクルスチールといってCPUを止めずに隙を突いてアクセスする方法もありました。
この時代にはROM, RAM, I/Oなど必要なものがCPUのメモリ空間(64kB)に収まっていました。というより64kBの範囲内で設計したということでしょう。
コメントを追加