勉強会サイボウズ・ラボの内田(uchan)です。先日「CPU+コンパイラ自作ワークショップ」というイベントを開催しましたので、その報告をします。コンパイラを自作するという趣旨の「CPU+コンパイラ自作ワークショップ」を開催しました。分で埋まるという人気ぶりで、当日はみなさんとても楽しそうに作業されていました。基板はこんなものです。表示器やスイッチを接続するための基板となっています。通信し、機械語をダウンロードしたり演算結果を出力することができます。プリント基板は市販しておらず、このワークショップ用に特別に設計したオリジナルのものです。「作った」は誤字ではありません。実際に参加者自らが作ったのです。ワークショップの前半で、配られた部品をプリント基板にはんだ付けしました。回路を書き込み、コンパイラが出力した機械語を転送して実行する、という流れです。コンパイラを少しずつ作るというところです。表示するだけの回路」を作って、次に「パソコンから送られてきた値を表示する回路」に進化させる、というような。つを認識する」というものを最初に作り、そこから改良を加えていきます。朝、開場前に参加者に配布する部品セットを準備します。並べてみると本格的な部品点数で、なかなか凄いワークショップを計画したもんだと思いました。最初にワークショップでやること、今日の流れなどを説明します。直後にやる基板の組み立てに向け、おすすめの組み立て手順や部品の向きに気をつけよう、などの注意点を話しました。現代の電子工作では表面実装部品を避けては通れません。表面実装部品ははんだ付けが難しいのですが、価格と性能は表面実装部品を選択する大きな理由になります。基板では多くの表面実装部品を使いました。使用する部品のうち最小のものがこれです。手のひらに載っている黒い粒ですよ。ありません!参加者は持参した道具を駆使し、非常に集中してはんだ付けをしていました。私は各部屋を回り、組み立てのアドバイスをしたり、持ち込んだルーペではんだ付け品質を検査したりしました。本ワークショップでは表面実装部品を避けずに使用し、参加者のみなさんに細かいはんだ付けに親しんでもらうことにしました。ピンのパッケージです。いうことを意味します。本ずつはんだ付けするのは無理です。そこで、先が平たくなっているこて先に換装したはんだごてを使い、複数の端子を一度にはんだ付けしていきます。参加者には適したこて先とフラックス、精密ピンセットなどを持参してもらい、頑張ってはんだ付けを行いました。コンパイラの作成をする、という段取りでした。直前リハーサルで基板を組み立ててみたときから薄々感づいてはいましたが、蓋を開けてみるとやはり計画通りにはなりませんでした。時くらいまでやって、その後基板を用いた演習、という感じになりました。時間かかったのですから。参加者の組み立て風景を見て回った結果、いろいろな気づきを得ることができました。はんだ付けに失敗した場合の修正方法も、経験がないと分からないですからね。はんだ付けの品質をルーペで検査するuchan計画通りだったことを上げるならば、事前にリストアップした工具リストが可不足なく活躍したことです。はんだごてやフラックス、ピンセットなどの工具を持参が必要な工具としてリストアップしておいたのですが、いずれの工具も余すところなく活躍しました。(高倍率なルーペは必須工具にしていなかったのですが、次回は必須指定しよう思いました)イベントの真の目的コンピュータの仕組みに興味を持つ人を増やしたいというのが、本ワークショップの真の目的です。基板の組み立てから自分の手でやってみることで、ソースコード上の数式が計算される仕組みを体験するというのが直接的なワークショップの目的なのは確かです。それに加え、この体験をきっかけとして、コンピュータアーキテクチャというものの存在を知り、興味を持って学習する人を増やしていきたいんです。プログラミングへの入門に対する敷居は年々低くなっていると思います。同時に、プログラミングという行為とハードウェアの関連性がどんどんなくなっていると私は感じています。プログラムを打ち込む、というように、ソフトとハードが密に関連していたそうです。競技プログラミングのサイトにアクセスするとすぐにコードを入力し、正解判定を受けることができますよね。特別なボードを買ったりハードウェアの知識がなくても、すぐプログラミングが体験できることで敷居が下がったのは良いことだと思います。プログラミングというものをハードウェアの制約とは無関係に純粋な行為として研究、実践できるようになった、という見方も出来ると思います。その裏でプログラミングのハードウェア的側面に興味を抱くチャンスが減っているのではないかと危惧しています。昔、プログラミングを学ぶ過程で強制的にハードウェアを見る必要があったのに、今は「本来は興味のある人」でも、そこに触れるチャンスが無いまま過ごすこともあり得ます。ハードウェアに触れ、興味を持つ機会を提供するためのイベントが本ワークショップなのです。ワークショップは少なくとも後何回かは開催したいなと思っています。今回、いろいろフィードバックを得ることができましたので、次回に生かせるはずです。基板を組み立てるだけの日を確保しじっくり取り組めるようにしたいな、など試してみたい改善案があります。今回参加出来なかった方、よろしければ次回を楽しみに待っていてください。して何らかの協力をいただけたら幸甚でございます。13:54関連記事2024-04-08「第13期サイボウズ・ラボユース成果発表会」開催サイボウズ・ラボの中谷です。今回は2024年3月29日にサイボウ...2023-04-06「第12期サイボウズ・ラボユース成果発表会」開催サイボウズ・ラボの光成です。今回は2023年3月29日に開催され...2021-04-02「第10期サイボウズ・ラボユース成果発表会」開催サイボウズ・ラボの光成です。レポートサイボウズ・ラボの光成です。今回は2月17日に開催された「x86...2016-09-15C/C++プログラマのための開発ツールサイボウズ・ラボの光成です。cli-kintoneのテス...こんにちは。プロダクトセキ...こんにちは!Cy-PSIRTの田口です。プロダクトセキュリテ...2024-11-05kintoneライターチームのチームビルディング開...こんにちは。テクニカルライターチームのueです。引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。