ハードウェア未経験者が簡単なCPUを自作した日記です。 FPGAの上にMIPSのサブセットを実装しました。 この1年ちょっと、OSやCPUといった低レイヤーの勉強をしてきたのですが、CPU編の一つの目標であったgccでコンパイルしたバイナリを動かすという目標が達成できました。 CPUといっても、とりあえずレジスタとメモリの読み書きができて、足し算引き算ができる程度のめちゃくちゃしょぼいCPUです。 ISAはMIPSのサブセットです。 以下のような特徴・制限があります。 MIPSのごく一部の命令をサポート(とりあえずテストコードから生成されたバイナリが動く) マルチサイクル(現在は1命令=7clk) パイプラインなし 乗除算・シフタなし(当然HI/LOレジスタも実装なし) 浮動小数点演算のサポートなし メモリはワード(4byte)アクセスのみサポート、バイトアクセスはサポートなし 割り込みや