顔合わせ

メールのやり取りとMSNメッセンジャーで少々の会話をしていたが,やっと現実世界でH研院生さんと顔合わせ.私とid:elb_physくん,id:nucくんの物理系3人*1,H研院生さん2人に加え,さらに1人加わることになった.とは言っても最後の方は直接作業に加わるのではなく,単に情報を交換するだけだ.それとS先生から実験の進め方について簡単な説明を受けた*2
評価基板上のLEDをカウントアップさせる実演を見せていただいて,Xilinx ISEの使い方がやっと分かってきた.どうもああいう大きなIDEは苦手だ*3.しかしさすがによくできている.(必要な機能を見極めて)使いこなせるようになればやはりコマンドラインツールを超える生産性が得られそうだ.まぁプロが使うものと大差ないのだから,複雑なのも当然だよなぁ.
今日は波形のシミュレーションのやり方まではやらなかったので,早いうちにチュートリアルのページ等から学ばなければ.そしてI/O (特にUSB)やSRAMの使い方等も学び,とりあえず「道具」として使えるようにならなければ.そうしているうちに次第に内部的な知識もついてくるだろう*4
とりあえず私はやはりコンパイラ担当ということになったが,しばらくはアーキテクチャ側の基礎技能を身に付けなければ.そもそもRISCコンパイラアーキテクチャの関係,というかパタヘネの副題にあるように「ハードウェアとソフトウェアのインターフェイス」を見直す上で登場した訳で,両者に熟知していなければまともな設計はできない.パタヘネにおいては,MIPS R2000のアセンブリ言語の(ビットパターンレベルでの)機能を先に学び,それを実現するために自然に(?)データパスが設計されていった*5.まぁその後に複数クロックへと処理を分割するという飛躍があり(ここまでは必須),さらにパイプライン,キャッシュとスーパースカラへ続く階梯が伸びているが,私は飽くまで最小セットを早期に動作させることを目標にしたい*6

*1:ちなみに薬学部に「薬学部情報科学科」の異名を取る(一部で)有名な方がいらっしゃる(もう院生?).計算機の技能を持つ人は計算機専攻に限らず,色んなところにいるという訳だ.そう思えば,もともと計算機と縁の深い物理系の学生がある程度計算機に詳しくても驚くことではないと思う.

*2:本当に簡単で,正直言って「これでおしまい? バックグラウンドが全然違うんですよ我々は」と思った.まぁ文句を言いたいのではなくて,驚いたのだ.過保護よりはずっとよいしね.

*3:Visual StudioEclipseも使わず,今までずっとmakeでやってきた.だってIDEって重いんだもん.

*4:一応CQ出版FPGA/CPLD一般に関するムックを買ってあるんだが,これまではどうも読んでも空虚な感じで身に付かなかった.

*5:データパス上にALUやレジスタファイル等のモジュール(って呼んでいいのか?)を配置し,デコーダからマルチプレクサに制御線を巡らせた.

*6:S先生もそれを薦めていらした.「動かしてからでないと分からないこともあるし,最初から複雑な回路を作るよりも段階的に進歩させていった方が結局近道だ」と.