CPU 実験に寄せて(2年目)

今日は、なんでもセミナーで CPU 実験に関する座談会。てっきり 4 年が企画したんだと思ってたら、3 年生だったみたいだ。聴衆は、3 年が多いなぁと思っていたら、どかどか 4 年が入ってきて、M1(というか H 研)が入ってきて、先輩が入ってきた。なんか、見ない顔の人(外の人?)まで。バラエティ豊富。
*1


今日はコンパイラのはなしが全然なかったね。個人的にはコンパイラ書くのは楽しい。作業量が少ないことはないけど成果も見やすいし、コンパイルもはやいから作業はしやすいし。是非とも大がかりな並列化を施して欲しいものです。でもね、力ある人は HW やった方がいいと思うよ。特に SW 寄りのことしそうな人は、もうふれる機会ないし。自分が失敗だと思ったのは、SW 主導で動きすぎたのと、自分が HW やらなかったことかな。あと、おもしろそうなところをほとんどおーくらにとられたところか。

VLIW についてふれとく。当時は 100 MHz 動作はまず無理なんだろうという予想が、ウチの班の見解だった。その上で昨年のタイムを更新する目標を掲げたとき、IPC をあげる努力に走るというのはわりと自然な帰結だった。でも、すでに 100 MHz でいけることが証明されたので、それで行くのが最善だと思います。クロックあげるのは文句なしにはやくなって、例えば SW による最適化は、1週間必死に実装して 0.5 sec とかそんな感じなんで。HW は資源の問題があるから、じゃぁ SW 側にしわ寄せするのが自然!ということで、VLIW になりました。VLIW にしたのが動かなかった直接の原因じゃないと思うので、こっちで攻めてみるのも楽しいかも。

参考までに、当時のウチのシミュレータが出した”予想”タイムは、23.3 sec 、12 億 instruction の IPC 1.02 *2でした。なんだかんだ言っても、予想ですけどね。しかし、あと2億ってどうするんだよ・・・・*3

*1:CPU 実験とは情報科学科を最もよく特徴づける演習で、CPU、コンパイラ、基板というコンピュータの構成要素を学生実験で作らせてしまえという内容。昔は少ない資源で作らないといけなかったらしくて殺人的なはなししか聞かないが、最近はいい資源を使えるので演習自体は楽になったが、必然的に目標レベルが高くなって結局みんな死ぬ。

*2:1.2 だと思ったのは別の数値でした

*3:今見たら整数命令が多い気がする