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)