ディスカッション (1件)
こんにちは!友人たちとLogisimを使って、8bit CPUをゼロから構築しました。このシステムの制御ユニットは一般的なマイクロコードROMやRAMを使わず、すべてディスクリートの論理ゲートのみで実装し、プログラムを実行できるように設計しています。主な特徴は以下の通りです。・カスタム16命令のハーバードアーキテクチャISA(8bit固定長、汎用レジスタ4本)を採用。・ハードワイヤード制御ユニットをAND/ORゲートのロジックマトリクスで完全に構成。・レースコンディションを排除するデュアルフェーズ・クロッキングを採用。・ROMからRAMへ転送を行うブートストラップ制御ユニットによるコールドブート。・条件不成立時に最大25%のサイクルを節約できるアーリーエグジット(早期終了)型条件分岐。・バージョン管理付きの完全な設計仕様書を完備。チーム開発は初めてでしたが、RISCベースのシステムとして、命令メモリから8bitの命令をフェッチし、上位4bitを命令コード、下位2bitをソース/デスティネーションレジスタとして処理する設計にしました。データSRAMと命令SRAMを備えたハーバードアーキテクチャを採用しています。初めてのハードワイヤード設計ということもあり、設計上の不一致もいくつかありましたが、ブートローダーを実装してROMの内容を命令RAMにコピーする仕組みでコールドブート問題を解決しました。また、ゼロフラグやキャリーフラグのみを判定して無駄なサイクルを使わずに分岐する早期終了機能も実装しています。詳細は以下のGitHubリポジトリをご覧ください。https://github.com/c0rRupT9/STEPLA-1 今後の展望として、FPGAを用いたRISC CPUの実装と実DRAMへの接続を計画しています。また、開発資金調達のため、仕様書とLogisimファイルのセットを5ドルで販売しています。https://tcfdiq.gumroad.com/l/zyyux 応援よろしくお願いします!