RISC-Vを目標にCPUとOSを自作する話(計画編)
目的
最終目標はRISC-V CPUとOSの自作。 そのために、まずは最小構成のCPUから設計を開始する。
背景
世の中には様々なCPUが存在し、x86やArmのような高性能アーキテクチャが広く使われている。
その中で、シンプルな命令セットを持つオープンなアーキテクチャとしてRISC-Vが存在する。 RISC-Vは教育用途として設計された背景を持ちながら、現在ではLinuxが動作する実用的なCPUとしても利用されている。
このような「シンプルだが拡張可能な設計」を持つ点に興味を持ち、 最終的にRISC-Vを理解・実装できるレベルに到達することを目標とする。
ただし、いきなりRISC-Vを実装するのは複雑すぎるため、 まずは最小構成のCPUから段階的に理解を進める。
方針
- いきなりRISC-Vは実装しない
- まずはシンプルな自作CPUを作る
- 知っている言語はCであるがRustが面白そうなのでそっちでやる
- エミュレータで検証してからFPGAへ進む
スコープ(今回やること)
- CPUの基本構成を決める
- 命令セットの方向性を決める
決定事項
- ビット幅: 8bit(実装とデバッグを容易にするため)
- レジスタ数: 4個(最小構成で動作を理解するため)
- 命令: LOAD / ADD / JMP などの基本命令のみ
制約
- 初期段階ではシングルサイクルCPUとする
- メモリは単純な配列として扱う
- 外部I/Oは考慮しない
やらないこと
- 割り込み
- パイプライン
- キャッシュ
次のステップ
- 命令セット(ISA)の詳細設計
- 命令フォーマットの定義
- エミュレータ実装(Rust)