FPGA で CPU を作ろう 第6章 「My8」の完成

  • 算術演算命令、ジャンプ命令、条件分岐命令、メモリ書き込み命令、入力読み取り命令を実装
    • 無条件ジャンプと条件分岐
      • ジャンプ命令は先頭 2bit or 3bit のパターン+飛び先を指定する 6bit or 5bit(符号つき、 -32〜+31 または -16〜+15)
    • 遅延スロット
      • 命令のデコード中に次の PC の命令をロードしているので、ジャンプするとジャンプ先ではなく元のジャンプ命令の次の命令がロードされている
      • これを捨てずにそのまま実行する仕様に(遅延分岐、分岐遅延スロット)
      • ジャンプ命令の後には1バイト命令のみ置けることにする(オペランドを取る命令だとジャンプ先をオペランドとして読んでしまい不具合になる)
    • メモリ書き込み、入力読み取り命令
      • ACC を対象に
  • 仕様書を書こう