教育

コンピュータ技術

ComProc プロジェクト

ComProc プロジェクトは、CPUとコンパイラを同時に開発する取り組みです。サイボウズ・ラボの内田がCPU設計を学ぶ過程を教材化することを目的に始まりました。

このプロジェクトでは、従来のように命令セットを先に決めてCPUとコンパイラを作るのではなく、両方を少しずつ同時並行で開発する方法に挑戦しています。命令セットはCPUとコンパイラの両方が効率的に作れるよう設計され、必要に応じて調整しながらコンパクトにまとめています。

これまでの成果としては、CPUの命令セットおよび実装、コンパイラの実装があり、教育や研究教材としても活用されています。また、CPUボードを組み立てて動作させるワークショップも開催しており、参加者は自分の手で作った回路が実際に動く様子を体験できます。

今後は、ComProcを組込み向けCPUとコンパイラとしてさらに特化させ進化させていくとともに、ここで得た知見をもとにBuntanPCプロジェクトに注力していく予定です。


BuntanPC プロジェクト

BuntanPCプロジェクトは、CPU・OS・言語処理系を手作りし、独自設計でコンピュータシステムを構築する取り組みです。

このプロジェクトでは、現代の主流と敢えて異なる設計を試します。そうすることで、現代のコンピュータを支える各種設計が妥当なのか、もっと良い方式があり得るのかが見えてくるはずです。例えばBuntanPCのCPUにスタック型アーキテクチャを採用し、コンパイラの作りやすさや実行効率について知見が得られました。また、ノイマンアーキテクチャからハーバードアーキテクチャへの変更を通じてそれぞれの利点欠点が浮き彫りとなりました。

もともと内田がやっているComProcプロジェクトから派生しましたが、別のプロジェクトです。BuntanPCは人が日常で使うためのコンピュータ(つまりパーソナルコンピュータ)、ComProcは組込み向けコンピュータとして差別化しています。