東京大学CPU実験体験記

こんにちは、アカネヤ(@ToshioAkaneya)です。

僕が所属する理学部情報科学科では3年生の秋にCPU実験という演習があります。

CPU実験がどんなものかを知るには、先輩が書いたこの記事を読んでください。

東大理情名物のCPU実験で毎週徹夜したお話(概要編)

 

以前こちらのツイートがバズりましたが、これがCPU実験です。

しかし、このパンフレットは古いようです。

秋葉原に買い出しが必要なことはありませんでした。

 

4年生になった今、CPU実験を振り返ってみようと思います。

係決め

ランダムに4人のチームが作れらたあと係決めが行われます。

4つの係は、

コア係、コンパイラ係、シュミレータ係、四角係です。

それぞれの係の説明は、先ほどの先輩の記事に書いてあるので割愛します。

ところで、FPU係がなくなり、四角係が追加されました。

 

これは、すでに完成されたFPUユニットの使用が解禁されたため、FPU係が必要なくなったためです。

係決めの時にFPU係が必要ないことが判明して、急遽四角係が作られました。

四角と言うのは、班ごとに四角の中に好きな役割を当てはめて良いという意味です。

「いやいや、だったら班を3人にしとけよ」と思いましたが、器材の関係でそれは無理でした。

 

僕はシュミレータ係になりましたが、四角係になった人はかわいそうだなと思いました。

基本的に仕事がありませんからね。

 

今年からは変更が加わると聞いています。

命令セットを決める

さて、ここからは専門的な内容も入ってきます。

 

僕がMIPSを推したので命令セットはMIPSになりました。

CPU実験はかなり歴史がある実験ですので、検索をすると先輩の知見が結構見つかります。

その情報を見ていると、どうもMIPSが定番のようでした。

シュミレータ、アセンブラが完成

どの班でも最初に完成するのがシュミレータとアセンブラだと思います。

僕はシュミレータはC言語、アセンブラはNode.jsで作成しました。

コンパイラが完成

コンパイラ係がコンパイラを完成してくれました。

これでシュミレータ上での完動を達成することができました。

コアが完成しない

なかなかコアが完成しませんでした。

コア係とはなかなかコミュニケーションが取れなくて苦労しました。

ついに実験の発表会を迎えてもコアは完成していませんでした。

僕は単位が取れればいいやと思っていたのですが、流石にこれはマズいと感じて、コア作りに参加しました。

ハードウェア構成法という授業の教科書を引っ張り出して、CPUの仕組みを復習。

最後は全員で協力してコアを完成しました。

 

まとめ

CPU実験は、コンピュータの仕組みを知るという点では良い実験だったと思います。

しかし、班構成に問題があります。

コア&シュミレータ係とコンパイラ係の2人班で、器材は2つの班で共有するのが良い構成なんじゃないかなと思いました。

シュミュレータはコアをシュミレートするものなので、1人の人間が作った方が良いんですよね。

あと、先輩の知見がネットに残されていて、とても助かりました。

僕は先輩の知見を元に実験を進めましたからね。

知見を残すのは良い文化だと思いますので、この流れも続いて欲しいですね。

【追記】プログラミングスクールのレビューサイトを開発しました。

この度、プログラミングスクールのレビューサイトの「スクールレポート」を開発しました。

プログラミングスクールの人気は年々高まっているものの、高額な受講料を請求しておきながら質の低い教育を提供する悪質なスクールも見受けられるようになってきました。

今回開発した「スクールレポート」では受講生の方のみレビューを投稿することが出来ます。

プログラミングスクール業界がより健全なものになることを願っています。

スポンサーリンク