サイゼリヤに1000円を持って食事に言ったとき、どの料理を頼めば最大何kcalの食事をすることができるかを、FPGAに構築した自作CPU上で計算しました。 自作CPU学校の演習課題としてFPGA上でCPU(プロセッサ)を作成しました。具体的には、PowerMedusaボードを利用し、このボード上にあるFPGAをVerilogを用いてプロセッサとして動作させました。 5段パイプラインや簡易的な分岐予測(不成立)などが実装されています。 この演習では「SIMPLE」と呼ばれるアーキテクチャが予め与えられます。 SIMPLEアーキテクチャは16bit=1wordのワードマシンで、RISC的なISAを持っています1。基本的にはこの仕様を満たすプロセッサを作成するのですが、必要に応じて自由に仕様を変更しても良いことになっています。私の班ではADDIやCMPIなどの即値演算命令を追加したほか、無条件分
![「サイゼリヤで1000円あれば最大何kcal摂れるのか」を自作CPU上で解いてみた](https://cdn-ak-scissors.b.st-hatena.com/image/square/3c652592231a6c9107a401c3db4eb23ad72be4db/height=288;version=1;width=512/https%3A%2F%2Fanqou.net%2Fpoc%2Fwp-content%2Fuploads%2F2019%2F05%2Ffpga.jpg)