SuperSimpleController(その2) [OriginalCPU]
「SuperSimpleController」の記事からだいぶ時間が経ってしまいましたがデータバス幅を4bitから8bitに拡張したオリジナルCPUを検討しています。
上記記事で書いた Super Simple controller ではROM内のデータを使用してLCDを制御しましたが、同様な仕掛けを利用して命令コードの一部をアドレスとすることで命令コードに添った制御信号の時系列情報をROM内データとして格納することで命令をディコードするようにしています。
下図は概要図で、赤色の信号が各種命令に従ったROM内に格納された制御信号になります。なるべくチップ数が少なくなるように考えましたが今後変更するかもしれません。
「手持ちのROM」の記事でも書いたように16bit幅のROMを数種類準備しましたが、現段階では命令ディコード用としてM27C1024(64K x 16bit)を使用する予定です。大容量のROMですが利用するメモリ領域は先頭の256 x 16bit部分だけですw
ALU自体もROMを使って実現する予定で8x8の乗算にも対応したかったのですがチップ数が増えそうなので乗算は割愛しました。
制御信号のタイミング等の詳細は今後検討していく予定ですが、まずはリセット直後の動作について検討中です(これが結構難しい=面白い)。
[TOP] [ 前へ ] 連載記事 [ 次へ ]
上記記事で書いた Super Simple controller ではROM内のデータを使用してLCDを制御しましたが、同様な仕掛けを利用して命令コードの一部をアドレスとすることで命令コードに添った制御信号の時系列情報をROM内データとして格納することで命令をディコードするようにしています。
下図は概要図で、赤色の信号が各種命令に従ったROM内に格納された制御信号になります。なるべくチップ数が少なくなるように考えましたが今後変更するかもしれません。
オリジナルCPU(Simple8Z)概要ブロック図 |
「回路図とパターン設計」の記事にブロック図のアップデート版を掲載しました。 |
「手持ちのROM」の記事でも書いたように16bit幅のROMを数種類準備しましたが、現段階では命令ディコード用としてM27C1024(64K x 16bit)を使用する予定です。大容量のROMですが利用するメモリ領域は先頭の256 x 16bit部分だけですw
ALU自体もROMを使って実現する予定で8x8の乗算にも対応したかったのですがチップ数が増えそうなので乗算は割愛しました。
制御信号のタイミング等の詳細は今後検討していく予定ですが、まずはリセット直後の動作について検討中です(これが結構難しい=面白い)。
[TOP] [ 前へ ] 連載記事 [ 次へ ]