0x0D 雪解け
「うーん、やっぱり同じ問題だな。レジスタに残ってるエラーコードも同じだ」
デバッガの情報を改めて解析していた宏が、渋い顔をしながら顔を上げる。問題が再現してすぐ、僕たちはオフィスエリアへと戻っていた。
「アドレスはさすがに違うのよね?」
「ああ、今まで再現があったアドレスじゃない。今までの傾向を見ても、メモリのチャンネルAとBの範囲内であればアドレスは関係なく起きると思ったほうがよさそうだ」
「やっぱり治ってなかったか……」
思わずため息が出てしまう。そんな僕を励ますように、砂橋さんは腰に手を当てて言った。
「でも進展はあったよ、シリコンの設計を変えたら再現率自体は大きく下がったわけだし」
「何がまずかったのかはまったくわかってないんですけどね」
「うーん……メモリコントローラの状態レジスタの問い合わせ、帰ってきた?」
「ハングの時のレジスタログを送った解析依頼でしたよね? まだです」
メモリコントローラは他社のIPだから、マニュアルに書いてあること以上のことはわからない。しかも問題調査に使う部分の記述はあまりマニュアルにも書いてないときた。
だからメモリコントローラのIPを作っている会社に設定やおかしくなった時のログを含むデータを送って調査を依頼していたのだけど、その返事もまだ届いていない。こういうときに調査がやりづらいのも、内製ではない外部のIPを使うときの辛いところだ。
「『SLA』を規定した契約を締結しておくべきでしたね」
「こういう時ばっかりはそう思っちゃうね。年間いくらかかるかわかったもんじゃないけど」
「SLA?」
「サービス・レベル・アグリーメントの略よ。半導体業界だと、初回回答は何日以内、問題調査の優先度を常に高く、みたいな特別対応を行う契約を別途お金を払ってすること、という感じかしら」
「なんでそんなに高くなるんだ?」
「そりゃあもちろん、何かあったときにすぐに動ける人を確保するわけだら」
「エンジニアの人件費、ってことか」
確かに、問題調査を行うことができるようなエンジニアなんてそう多くない。そんな人を貼り付けておく必要があるとなるわけだから、お金がかかるのも仕方ないだろう。
もちろん、うちの部活で結ぶなんてことも当然現実的じゃない。これは諦めるしかないな。
「念のため、他のとこでもエラー起きてないか全部見てみるか。新しいステッピングだしね」
「確かに、今までは見てなかったな。全部のレジスタ叩くのは骨が折れるが仕方ない」
「私も、手伝う」
「ま、メモコン以外もおかしくなってたら困るんだけどね」
「わっかんないよ~? 意外と変なところで変なの踏んでるかも」
「星野先輩が言うとマジっぽいんでやめてください」
「とりあえずは今ハングしたやつでいいか?」
「ああ、まず一台見てみよう。あとのみんなは一応チェックの続きを進めて」
「わかった。杉島くん、よろしくね」
とりあえず、起きてしまったものは仕方ない。ハングした時の細かい状況を全部かき集めるところだけは宏にお願いして、僕たちはリモート接続した試作機のチェックを進めていく。
「二チャンネルだけメモリを刺した方は、ストレステストも通った」
「おお、それは朗報だ。狼谷さんはえーっと、そのまま悠のテストの半分をもらってくれ」
「助かるーっ! それじゃ狼谷、リスト送るわ」
「わかった」
狼谷さんのレポートによれば、今まで通り、メモリをCチャネルとDチャネルにだけ刺したマシンは非常に安定して動いているように見える。これなら、バックアッププランは今のところ性能がマシなAプランを取れそうだ。
「えーっと、この辺は全部パス、と」
「八割以上は問題ないわね」
「残りも細かいところですし、次には間に合いそうです」
「おいっ、B-0余ってるか?」
評価を進めて改良リストを作っていると、宏が十五分も経たずにオフィスエリアへと舞い戻ってきた。
奴にしては珍しくその表情には困惑と焦りが見て取れる。……どうも、さらに良くないことが起きているらしい。
「前回試作の石なら、サンプル棚に。右から三番目、製造コードSLB0が、B-0の石」
「なんでまた今更B-0なんだよ」
「別のとこでもエラーが起きてたんだよ」
「は? メモリコントローラ以外にもか?」
「ああ。MIIだ」
「えむあいあい……って」
「『イーサネットの『物理層』ぶら下げるアレ』か?」
「ちげえよMedia Independent Interfaceじゃねえ、MIHとCPUの間のバスの方だ!」
「えっ、なんでまたそんなところが」
飛び込んできた宏の報告は、案の定良くないことだった。
MII。メモリ制御がCPUに移った結果、周辺機器を制御する仕事だけが残されたMIHとCPUを繋ぐバスでも、何かが起きている。
「細かいことは詳しくエラーレジスタを見てみないとわからんが、何かが起きてるのは事実だ。B-0がハングした時にも起きてたら、もしかしたら……これも絡んでるかもな」
「でも、MIIなんてどうして?」
「わからんが、とりあえず試してみる。ちょっと待っててくれ」
そう言い残し、宏は棚から前回の試作サンプルをひっつかんでラボへと再び舞い戻った。
「MIIって……本当になんで?」
「全然関係ないように見えるけどなあ」
「まあ確かに、CPUから同じように生えてる通信系ではあるけど」
「うーん……」
残った全員で顔を見合わせてみるけど、全員の頭に浮かんだのは疑問符。
MIIは確かに重要なバスだ。電源を切ってもデータが残る『不揮発性』ストレージは全部MIHに接続されているから、MIIがおかしくなるとシステム全体も動かなくなるのはわかる。
だけど、直接的には関係がないはずだ。なぜなら――
「確かに動かなくはなるけど、メモリコントローラのエラーにはならないよな?」
あくまでも、おかしくなるのはストレージへのアクセス。メモリのコントローラにエラーが点く理由にはならない。
「普通ならそのはず、よ。物理的に信号が干渉してる、とかは……まあ、無いわよね」
「MIIはシリアル、メモリはパラレル。電位のレベルも違うし、考え難い」
思いつく限りの二つを結びつけるネタを上げながら議論をするけど、いまいちぱっとしたものは出てこない。数秒の沈黙を、宏のぼそりとした呟きが破った。
「だってよ、MIIとメモリがほぼ直接関係するのなんて『DMA』で吸いだす時くらいだろ?」
「DMA……」
「でぃーえむえー?」
「ダイレクトメモリアクセス、の略よ。簡単に言えば、メモリにストレージや周辺機器から読みだした内容を直接書き写したり、逆にメモリの内容を直接ストレージに書き込む機構のこと」
「あー、CPUがわざわざ指示を出さなくても『メモリのここからここまでをストレージのどこに書き込め』って投げればあとは勝手にやってくれる奴か」
「そうそう。だからCPUの負荷が減る、ってアレね」
「それならメモリとMIIに同時に負荷が掛かるか。でもメモコンがおかしくなる理由にはならないだろ?」
「メモリと、MIIに同時に負荷が掛かる……」
「ならないと思うけどなあ。確かに同じ内部の『リングバス』には繋がってるけど」
「ですよねえ」
星野先輩や蒼の論理設計チームは、やっぱりこのMIIのエラーを不思議に思っているみたいだ。元々の問題である、メモリコントローラがおかしくなる件とは別なのかもしれない。
「……メモリのバスはシングルエンド、MIIは差動バス……」
「道香?」
だけど、そんな中で一人。
道香だけが、真剣な顔で顎に手を当てて考え込んでいた。
「いや、DQ信号がMIIに加害するなんて、そんなこと……グランドも置いてるし……ボードのシミュレーションもしたから問題ないはず……」
「道香、何か気になるところがあるの?」
砂橋さんが道香の肩を叩いて、こっちへ意識を向かせる。次の瞬間、道香はさっきまでの鋭くなった目線はどこへやら、恥ずかしそうに苦笑いを見せた。
「あ、いえ。ちょっと可能性の検討を」
「せっかくだし皆で話そうよ、いいことあるかもしれないしさ」
「そうそう。どんな可能性でも、今は大歓迎なんだから」
「……そう、ですね」
少しだけ遠慮がちに、皆へと向き直る道香。多分、自分の中でもまとまっていないのだろう。
「DMA転送の時にもし発生しているのであれば、メモリとMIHの両方がアクティブ、負荷が掛かっているタイミングで問題が起きるんだと思うんです」
「まあ、そりゃそうだろうな」
「なので、可能性としてはメモリの信号がMIHの信号にノイズとして悪影響を及ぼしてるんじゃないかと思ったんですけど……」
「シングルエンドで電圧が比較的高いメモリの信号が、ってことか」
「でも、MIIはノイズに強い『差動信号』。それで問題が起きる?」
差動信号というのは、文字通り二本の信号線に真逆の電圧を掛けて、その電圧の差で情報を伝える方法だ。その二本の信号を近い距離で並べておけば、ノイズが乗るときは両方に均等に乗るから差を取ると実質無効化できる。
それに、減衰してそれぞれの信号が小さくなってしまっても差を取れば振れ幅は実質二倍になるからはっきりと分かる場合も多い。だから信号の電圧を低くできて、消費電力と通信の高速化に一役買っているというわけだ。
さらに外部にまき散らすノイズも二本の信号線がお互いに打ち消しあうから周辺への影響も小さくなると、信号線がプラスとマイナスそれぞれの電圧を掛ける分二倍必要になる以外は理想的って言ってもいい。
逆に電気的な雑音をまき散らすのは、一本の配線で信号を伝えるシングルエンド伝送の、かつ電圧が高い場所。該当するのはメモリの信号線だ。
だから、比較的電圧が高いメモリの信号がMIIに影響を及ぼすことは無いとはいえない。
けど。
「普通に考えると両方のペアにノイズが乗れば問題ないはずだよなあ」
「それに、基板上では完全に配線する層を分けているのでノイズは乗ってもかなり小さいはずなんです」
さっき言った通り、ノイズが均等に乗れば実質無効化できる。10と0にそれぞれプラス10するノイズがのって20と10になっても、差は10。電圧の差を見る作動信号なら問題ないはずだ。
さらには、道香がそういうノイズが乗りづらいよう配線もしているのだという。
「まあ、そういう配慮は当然してるよねぇ。むーん」
「実測データに問題は?」
「実際のボードで確認してみましたけれど、問題ありませんでした」
「となると、これも違うかあ」
となると、残念だけどこれも今回の問題と直接は関係なさそう。
振り出しか、と思ったその時、自分のパソコンの画面を見つめていた砂橋さんがぽつりと呟いた。
「……ソケット」
「ん?」
その呟きに、全員の視線は砂橋さんに向く。
砂橋さんは椅子を蹴とばすように立ち上がると、弾けるように話し出した。
「ねえ道香、ソケットだと『ピンアサイン』的にチャンネルAの信号線とMIIの信号線が隣り合ってたよね?」
「ええ、そうです。でも、ノイズの遮蔽用に『グラウンド』を挟んでいますよ?」
「でも、ここだけは実際のシミュレーションで確認してないよね?」
「確かに、ソケットのIPは伝送特性のモデルがなくて確認はできていませんが」
「一応、一応念のためさ。この隣り合ってるピンたちを確認しておいてもらえる?」
道香は再び顎に手を当てて思案顔になるが、数秒で戻ってきた。きっと、そこが一番可能性が高いと踏んだんだろう。
「……わかりました、実際見ていないのはここだけですし。氷湖先輩、シリコンを載せていないサブストレートって余ってましたよね?」
「数枚なら、予備がある」
「じゃあ、それを使って試してみます。ボードとサブストレート自体に問題がないのは測定済みなので、これで問題が出たらソケットですね」
「アタシも手伝うよ」
「助かります、お願いします」
道香と砂橋さんは、テストのためにラボへと向かった。入れ替わるようにして戻ってきたのは宏だ。さっきと同じような顔をしている。
「おい、B-0でも同じようにMIIがハングしてる。全体のエラーレジスタにはこんなの出てなかったぞ」
「メインのエラーレジスタの仕様ってどうなってたっけ?」
「……確か、履歴を残すような仕組みにはなってないわ。最後に起きたエラーのみが表示されるようになってたはず」
「ってことは、MIIのエラーが先、ってことか」
「宏、内部バスのエラーも起きてるか見れるか?」
「リングバスな、見てみるわ。ついでにMIIのダンプ取ったから解析よろしく、共有フォルダの一番上、デバッグフォルダの今日の日付に置いといたわ」
「わかった、見ておくわ」
今度は蒼が自分のPCへと向かう。残っているみんなは僕を含め自然と、蒼の後ろに集まってきた。
「ログ、これね。解析スクリプトに『食べさせて』……出てきたわ」
「これで分かるといいなあ、あたしか早瀬ちゃんのミスなら早いんだけど」
「そればかりは見てみないと何とも言えませんからね……」
蒼が何やらキーボードをぱちぱちと叩くと、そこに表示されたのは英語の羅列。当然日本語で、なんて優しさは求めるべくもない。
「……コレクタブルエラーが多すぎて、リンクが落ちてる?」
「MIIの?」
「うん。これ見て、ここ」
蒼がゆっくりとスクロールしていく中、星野先輩がその中の一行を指さした。
「コレクタブルエラー・オーバー・スレッショルド、か」
さすがの僕でも意味がわかる英語だ。
『コレクタブルエラー』、つまり修正可能なエラーの回数が規定値を超えたため、チップが故障と判断して自動的に接続を切ってしまったということだ。
「表記、十六進数だよね? その下のエラー回数が凄いことになってるよ」
「こりゃ酷いっすね、確かにリンクを落とすことになるわけだ」
星野先輩が指摘したところに目を落とすと、なんだか上の桁まで数字が入った十六進数の数が書かれていた。人間がぱっと十進法の数字に変換できないほど多くのエラーが発生している。きっと何百万回という数字になるだろう。
「コレクタブルエラーだとエラーレジスタには登録されない仕組みなんだっけ?」
「ええ。アンコレクタブルエラー、つまり致命的なエラーにならないと全体のエラーレジスタには反映されない仕組みになっているわ」
「サーバーみたいな信頼性重視のチップ作る訳じゃないしねえ。まあ、今回はアンコレに落ちちゃってるから関係ないけど」
いくつかの、まだはっきりと判っていない点がある。それでも。
「MIIのリンクが落ちて、何らかの理由でメモリコントローラーも駄目になった。で、エラーログをただ取るだけだと最新の物しか出てこないから、メモリコントローラーのエラーに見える。状況証拠は確かに繋がるね」
今まで集めていた点と点が、ようやく、そして急に繋がり始めた。ここまで仮説が立つと、より詳しい挙動にまでみんなの議論は進んでくれる。
「だけど実際にエラーが起きてるブロックにエラー履歴は残ってるから、宏がやったみたいにCPUの中、全部のエラーチェックをしたらボロボロ他の場所でもエラーが見つかる……ってことか」
「考えられることとしては、データ詰まりとか?」
「MIIが落ちて、MII宛てのデータが内部で滞留。バスがデッドロックした?」
「早瀬ちゃん、『イネーブル』の信号、性能低下を恐れてギリギリまで止めない仕様だったよね?」
「はい、そうです。それに、もしDMAコントローラーが制御している状況なら、CPUより多くの命令が一気に発行された後かと」
「大量の命令がリングバスに放流されてる最中にMIIが落ちて、内部バスがあっという間に埋まる。イネーブルが落ちても、送る先が詰まってるからメモコンはそのまま永遠に『イネーブル』されない」
「『ウォッチドッグ』ってメモコンの中に入ってたわよね?」
「あるよ。多分メモコンがリセット掛かったのはそれだと思う」
「CPU全体でリセットしないのか」
「それ、確かBIOSで切ってたはずだぜ。再起動するとエラーのログが飛んじまうから、基本開発中は切っておくもんだ」
「そうか、その上でまたエラーが起きたらさらに上書きされちまうんだもんな」
皆もようやく繋がった点と点に、いろんな意見が飛び出し始めた。つまりは、皆の中で起きうることだ、という道筋ができたということ。
「で、問題はどうするか、だ。もしこの話が実際に起きてることだったら、ボードとサブストレートの再設計が必要だよな」
「まあ、弘治の言う通りだろうな」
「期間は……今週末までに修正が終われば何とかなる」
「予算も気にしなくて大丈夫なはずよ。ね、シュウ?」
「ああ、そっちは大丈夫だ。ボードを作り直しても全然」
その場合でも、今からであれば何とかギリギリ間に合うであろうことも僕は把握できている。予算も余裕があるし、あとは粛々と修正するだけ――だけど。
「……あと必要なのは、桜桃ちゃんのフォローだね」
「……そう、ですね」
心に暗い傷跡を残してしまった蒼と星野先輩は鋭かった。
そう、今回修正箇所になるのはボードとサブストレート。どちらも道香の担当箇所だ。となれば……下手をすると、蒼のようにトラウマになってしまいかねない。
「蒼、星野先輩、C-1のテープインは二月二十六日です。そこは動かせません」
「だよねー。でも、そう言うってことは?」
「十四日までは、もし助けが必要なようであれば道香のことを手伝ってもらえませんか?」
「もちろんよ。あの子は、絶対私みたいにさせない」
蒼の時は、修正が既に効かない状況だったという違いはある。それでも、責任感の強い道香ならすべてを背負いこんでしまいかねない。
「サブストレートのシミュレーションなら手伝ったことがある」
「狼谷さん、プロセスの方は大丈夫?」
「大丈夫。HKMGをさらに改良したテストプロセスのシャトルは今日流し始める」
「よし。なら、そこは間違いなく検証するだろうから手伝ってあげてくれ」
「悠と宏も、手が空くなら手伝ってやってくれ」
「あたぼうよ」
「桜桃ちゃんだけじゃなく、俺らのためでもあるからな」
でも、大きな違いはこの皆だ。皆、道香のことを助けたいと思っている。
それに――
「実際、そこを見落としてたのは全部任せっきりにしてた結凪のせいでもあるわよね」
「いやいやー、ここはやっぱり責任を取るべきは開発責任者様では?」
「……それはあながち否定できないですね」
確かに道香は天才的なまでに設計が得意だけど、人間たるものミスはする。それを見つけて、カバーする仕組みをまったく考えていなかった僕に責任の一端があるのは間違いない。
もっとも、人の数は相変わらず致命的に足りていない。ヒューマンエラーを防ぎつつもこの人数で回す方法を考えるのは、僕の今後の大事な仕事の一つだろう。
「あーっ、ごめん弘治くんそういうつもりじゃなかったんだよ、ちょっとしたジョークっていうかっ」
「いえいえ、事実なので。じゃあ、原因が例の件でほぼ確定し次第全員で道香をバックアップして、なんとか今週金曜日、ボードとインターポーザのメーカー終業までにデザインを終わらせる方針で。実作業には道香と星野先輩、蒼にメインでやってもらって、検証は砂橋さんと狼谷さんでやるのがいいかな」
この火事場において、馬鹿力を発揮するという意味では夏合宿の経験が生きるとは思わなかった。
こういう時には、手が早い星野先輩と守備範囲の広い蒼に実作業をやってもらい、確実にチェックをしてくれるであろう砂橋さんと狼谷さんでやるのがいいだろう。男どもはそれであぶれた残務と遅れる分のフォローに駆り出せばいい。
皆の目を見回すと、全員が小さく頷いた。……本当に、みんなが仲間でよかったと思う。
「よし、じゃあ今のうちにできるだけその他の評価も片付けておこう。僕は道香たちの進捗も確認するから、目途が立ち次第教える」
「うーっし、やるかあ」
「俺らも頑張らないとだな」
「星野先輩、私たちは現時点で出てるシリコンバグの修正をもう始めちゃいましょう」
「だね。評価リストも半分くらい埋まったし。いいよね、鷲流くん?」
「はい、それでお願いします。悠と宏はとにかく検証を進めてくれ」
「任せろって」
「私は、道香と結凪を手伝ってくる。インターポーザの扱いなら、概ねわかる」
「頼んだ。もし何か必要だったら言ってくれ」
「ん」
全員が持ち場に散っていき、再び僕もC-0シリコンの評価とその取りまとめ作業に戻る。概ね一時間くらい、そろそろ下校時間を気にしないといけなくなってきた頃。
「鷲流くんっ、台車ってあったよね?」
「台車? 倉庫にあったけど、何でまた」
砂橋さんが、ラボのドアを少し開けて叫んだ。こちらも負けじと大きめの声で返すと、彼女は目を疑うことを言い始める。
「この測定機材、全部氷湖の寮に持ってくから」
「ど、どうして?」
「明日の朝までに、全部終わらせる」
「泊まり込みで、ってことか?」
「そうそう」
今日の残り時間だけでは検証が終わらないようだ。時間が貴重なのは付きっきりでやっていた砂橋さんと道香にも伝わっているらしく、今晩で終わらせてしまおうという魂胆なのだろう。
「そんなことしなくても、多分ここで徹夜作業できるよ。今から事務に申請しておくよ」
「ほんと!?」
「大会に向けての開発をやってるのは学校側に当然報告してあるからな。五分待ってくれ」
壁に取り付けられている内線電話を取って事務室に電話を掛けると、あっという間に許可は取れた。世界大会一カ月前の追い込みだからとはいえ、こういうところが柔軟なのはこの学校のいいところだな。
「お待たせ、許可取れたよ」
「おっけーおっけー、すごい助かる。あ、あと、一つ」
「なんだ?」
「道香、帰らせるから」
言葉だけだとシンプル、だけど砂橋さんから飛んできたのは意味深なアイコンタクト。……言いたいことは、なんとなくわかった。
「わかった。じゃあ砂橋さんと狼谷さんで出しておけばいいか?」
道香は、問題がソケットだった場合には色々と仕事をしてもらう必要がある。それに向けて英気を養っておいてもらいたいというのが、帰らせる一つの理由だろう。
「うん、多分三時くらいには大体全部の検証が終わるんじゃないかな」
実際、今の時点の終わる見込みですら午前三時なのだという。実際には手間取ったりすることを考えると……ほぼ寝ている時間は無くなってしまうだろう。
でも、やめておけと僕には言えなかった。砂橋さんの目が、闘志に満ち溢れていたから。
それだけじゃない。二人が徹夜で検証をしてへばっても問題ないスケジュールになっているからだ。
二人にお願いしようと思っているチェックに入るのは、多分明後日、十三日の木曜日。であれば、明日ちょっと無理をしても、ゆっくり寝てもらえば木曜日の夕方には復活しているだろう。
「了解。明日の朝、授業始まる前に緊急ミーティングって感じでどう?」
「アタシは大丈夫だけど、みんなは?」
「どうせいつも朝からやってるし、問題ないぜ」
「同じく」
「私も大丈夫よ」
「任せて、ちゃんと起きてみせるから」
「よし、決まりだ。時間はどうする? 普段なら七時四十五分とかだけど」
「あー、早いと助かるかな。二人して寝落ちする前に」
「じゃあ、七時にするか。六時半くらいの列車に乗れば間に合う時間で」
「早いなー、まあ仕方ねえな」
「頑張るわ、今晩のゲームはお休みだな」
「よし。ってわけだから、明日の朝七時までに判ると助かる」
「にひひ、任せてって。今のところ九割五分くらいの確率で大丈夫、もうちょっとしたら道香を返すね」
「わかった」
とりあえず、明日の朝にはどうするかの対応が決まりそう。それよりも僕が気にしないといけないのは――
「お待たせっ。ほら道香、さっきも言った通り今日は休んでって。明日から頑張ってもらわないといけないかもしれないんだからさ」
「……はい」
明らかに憔悴しきった道香のほうだ。いつもの元気さは完全に消え去って、焦りと絶望が明らかに見て取れる。
これが、砂橋さんが道香を返したもう一つの理由に違いない。道香の心を守るには、明日じゃ手遅れだ、と。
「よし、もう限界だ。あと十分で下校だから皆撤収!」
だから、ある提案を蒼にしようと思ったんだけど。
「ねえ、道香。今日は家でしなきゃいけないことは残ってる?」
「……いえ」
「それはよかった。せっかくだし道香、今日は私の家に泊まりに来てくれない?」
道香の様子を見て察したのだろう、僕が声をかけるより先に、蒼から道香のことを誘っていた。
――こんな追い詰められている状態で、一人暮らしをしている家に帰してはいけない。
六年越しに痛感した孤独の恐怖を、自分で自分を追い詰めてしまう辛さを、道香には味わって欲しくなかったから。
その提案を聞いた道香は、うつろな中に少しの驚きを見せた。
「……蒼先輩の家に、ですか?」
「ええ、ちょうど今晩の食事を作りすぎてしまったと連絡があって。手伝って欲しいの」
賢い道香には、すべて伝わってしまうであろう誘いの理由。
心配していること、本当に泊まりに行っても大丈夫なこと、気を遣って遠慮しないでほしいこと。すべてが、この明らかな嘘に詰まっている。
それはそうと、もし万が一伝わらなかったらあまりにもひどい理由だ。
「……なんですか、それ。ずるいですよ……蒼先輩」
「ふふっ、部長になるには清濁併せ呑まないと。で、どうかしら?」
「断る理由なんて、無いじゃないですか……」
幸い、ちゃんと言いたいことは伝わったみたいだ。道香は無理やり、でも確実に、蒼に苦笑いを見せた。
申請を出していない僕たちは、時間ギリギリに校舎を飛び出すと解散した。今日は日中晴れて暖かかったのに、いつの間にか雨が降ったみたいで路面はじっとりと濡れている。
明日、凍って大惨事にならないといいけど。
「じゃ、まったねー」
「お疲れさまでした、道路濡れてますから転ばないでくださいね」
「おっと、杉島くんはあたしのことを何だと思ってるのかな?」
「やりかねないじゃないですか……」
列車を使わない星野先輩が自転車で去ると、いつもの鉄道通学勢だけが残る。宏が途中で降りて。
「まもなく、七日町です。お降りの方は運転士のすぐ後ろのドアから――」
「さ、行きましょ」
「……はい」
普段は列車の中で別れる道香と、今日は一緒だ。いつもの通学路をまったりと歩いて、辿り着いたのは僕たちの家が並ぶ場所。
「そんじゃ、また明日な。ゆっくり休めよー」
「おう、お疲れー」
「悠もちゃんと寝るのよ?」
「努力するわ」
「いや、努力っておい」
悠と別れれば、残されるのは僕たち三人だけ。なんとなく掛ける言葉が見つからなくて、僕は結局挨拶だけをして帰ることにした。
「じゃ、僕も帰るよ。蒼と道香はゆっくり休んで」
「待って、シュウ。せめて夕ご飯くらいは食べていって」
「……いいのか?」
「もちろん、というかシュウの分も準備しちゃってるのよ。食べてくれないほうが困っちゃうわ」
確かに、蒼の家で夕飯を食べない方が少ない以上準備されているのも仕方ない。変に気を遣うのもよくないか。
……蒼と道香と三人になるのが、なんとなく気まずかったというのは言えない。
相変わらず広い庭を通って早瀬のお屋敷へ入ると、そのままダイニングへと向かう。ダイニングには気を使ったのか金江さんと昌平さんの姿はなく、ただ湯気を立てた、美味しそうな夕飯だけが置かれていた。
「もう、そんなに気を使わなくてもいいのに。まあいいわ、さあ、座ってちょうだい」
「……なんだか、すみません」
「いいのよ。ほら、折角の夕飯が冷めちゃうわ」
相変わらず元気のない道香を座らせて、三人でいただきます、と唱和する。僕と蒼が箸をつけ始めても俯いていた道香だけど、しばらくすると箸を手に取り、ようやく一口ご飯を食べ。
「うう、……っ」
「ちょっ、ちょっと道香!? 大丈夫!?」
そのまま、静かに涙を流し始めた。
「すみませんっ……なんだか、情けなくって。大きなミスもして、調査も途中で、それなのにこんな暖かいご飯まで頂いちゃって……」
道香の気持ちはよくわかってしまった。心が疲れ切っている時には、温かいご飯を何人かで食べただけで堰を切ったように溢れちゃうことがある。
道香の隣に座っていた蒼は、そんな道香のことを優しく抱きとめた。
「いいのよ。まだ間に合うんだから、気にしないで」
「でもっ、自分が許せなくて」
「じゃあ、そんな道香には罰を受けてもらわないとだな」
僕も、そんな道香を助けたい。だからあえて、罰、という言葉を使う。
それを聞いた道香はびくっと震え、小さく頷いた。
「ちょっと、シュウ」
「いいか、自分でやっちゃったことは自分で責任取るしかないよな? だから、ボードとインターポーザの修正の責任者は道香だ」
「……うん、もちろん」
僕の言葉を聞いた道香は、少しだけ血色を良くして涙に濡れた顔を上げた。
こういう時は、どんなにいいんだよ、と言っても自分で自分を追い込んでしまいがち。だから、あえて罰、という形で必要な仕事を振った。罰を与えることは、自責の念に駆られている人を救う一つの手段だ。
「ただ、道香は一人じゃない。もちろん蒼や星野先輩、それに砂橋さんや狼谷さんも手伝ってくれる。だよな? 蒼」
「ええ、もちろん。道香だって私たちの仲間なんだから」
「お兄ちゃん、蒼、先輩……」
「だから、今日は暖かいご飯を一杯食べて、ゆっくり寝て、明日からの修正作業に備えること。もし本当にソケットのピンアサインが問題だったら忙しくなるぞ」
「……そんなこと、で」
「いいのよ、いいの。さ、本当に冷めちゃうわ」
そう言って、蒼は道香に優しい笑顔を向ける。それを見た道香は、一回目元を拭って箸を握りなおした。
蒼はともかく、僕の行動がどれだけ救いになったのかはわからない。だけど、ちょっとでも元気を取り戻すのに役立っただろうか。
それから、普段みんなと食べるよりも幾分かゆっくり、それでも確実に食べ進め始める道香。その様子を見て、僕たちは目を見合わせた。
――とりあえず、大丈夫そうね。ありがとう、シュウ
――気にしないでくれ
目線で会話を済ませて、食事に戻る。道香は、時々涙を流しては拭いながら、でもしっかりと夕飯を食べきった。
「じゃあ、今度こそ僕は帰るよ。後は蒼に任せた」
「ええ、任されたわ。明日は朝早いから、六時半の列車に乗るからね」
夕飯を食べ終えて、片づけを三人で済ませ。蒼の家の玄関で二人とは別れることにした。
「じゃあ道香、今日は蒼と一緒にゆっくり休んでな」
「ありがと、お兄ちゃん」
ちょっと元気を取り戻した感じに見える道香。それを確認してから、手を振って玄関の扉を閉める。
この夜に二人がどんな話をしたのか、はたまた何の話もしなかったのかはわからない。
「おはよーっす」
「おはようお兄ちゃんっ」
だけど、翌朝早瀬家の玄関で出迎えてくれた道香はすっかり元気を取り戻していた。日の出一時間前だけど、その笑顔はいつもの太陽のような明るさだ。これなら本当に大丈夫そうかな。
「おはようございます、兄さん」
「おはようシュウ、ちゃんと起きれたわね」
「さすがに今日は寝坊できないよ」
後を追うようにやってくる早瀬姉妹。翠ちゃんなんてこんなに早く起きる必要はないのに、制服まで着こんでばっちり準備を済ませている。もし僕たちの部活のせいで早く起こしてしまったならちょっと申し訳ないな。
「むむ、翠ちゃんはお兄ちゃんのことを兄さん、って呼ぶんだね」
「道香さんはお兄ちゃん、ですか」
「あっ、何か言いたそうだね!? わたしの方がお姉さんなんだからねっ」
「ふふっ」
「今のは完全に鼻で笑ってたよね!?」
……というか、だいぶ道香と翠ちゃんが仲良くなっている。こっちはこっちで昨晩か今朝何があったんだろう。
ともあれ、皆で朝ご飯を食べて、奇跡的に起きていた悠を回収してから列車に乗って。
「さて、皆揃ってるな」
「うーっ、早く終わらせよ。眠すぎて死んじゃう」
午前七時、いつものA会議室にはきちんと全員が揃っていた。結局徹夜で検証をしていたのだという砂橋さんと狼谷さんはひどく眠そうだ。スクリーンに写すためにカーテンを閉めて部屋が薄暗くなっているからなおさらだろう。
「だな。まずは検証結果を聞ける?」
「……これが、結果」
そう言って、スクリーンに投影されていたスライドを一枚進める。表示されたのは、ソケットのピンの配列資料だ。道香が前に作っていたものだ。
「結論から言えば、この端の線。チャンネルAの『DQ』0、1信号から出たノイズが、隣接するMIIの『0レーン』、CPU側HSOpのみに入ってしまう状況になっていた」
印がつけられた所を見ると、確かにメモリの信号とMIIの信号が隣合ってしまっている場所があった。その一つ隣にはノイズを吸ってくれるグラウンドが確保されているけど、ここだけはそのピンが入っていない。
「げ、データ二ピン分かよ」
「まあ、だとすると起きうるか」
「MIIの信号電圧は0.4V、DDR3の電圧は1.5Vだからねん。電流はそんなに大きくないとはいえ、やっぱりノイズ出ちゃうかあ」
電気と磁気には密接な関係があるのは、物理の授業でやった。簡単に言えば、メモリの信号によって生じた磁界によって、MIIの方の信号に雑音……『電磁誘導ノイズ』が乗ってしまって信号がズレてしまっていたということだろう。
砂橋さんはさらに資料を一枚進める。そこには、大量の線が書かれたグラフのようなものが表示されていた。上下左右には多くの線が通っており、中心近くまでその線は広がっている。
「特に加害が一番大きくなる、メモリ側両方が1の時のアイを取ってみたけどこんな感じ。まあ、マージンとしては終わってるね」
「確かに通信エラーが起きてもおかしくない状態ね……」
「こ、こんなにアイが小さくなっちゃうんですね」
「これは、どんな図なんだ?」
「『アイパターン』って言って、信号が取った電圧を何千回分重ねたものだね。この中心、信号が通ってない場所のことを『アイ』って言うからアイパターン。通信をちゃんとするには、このアイを出来るだけ広くとるのが高速なデジタル信号の基本だよ」
「デジタル信号が取りうる変化って、1から1、1から0、0から1、0から0の四種類だよね。でも、立ち上がりと立ち下がりのタイミング以外ではどっちかに寄ってて欲しいでしょ?」
「まあ、デジタルだからな」
「なんだけど、これ。下がゼロの方なんだけど、かなり中心に寄っちゃってるでしょう?」
「あー、確かに?」
「ゼロの電位が上がっちゃってるんだよね、これ。『差動の合成後』のアイだから、こんな風に見えちゃうんだ」
「つまり、この0レーンのpって方がゼロになっててほしい時にメモリの信号で1が入ってると、その信号を拾ってイチになっちゃうってことか」
「まあ、実際には1って確実に取られるほどではないんだけど……取られる可能性が高くなる、って感じかな。MIIの速度は2.5GHzだから、一秒間に二十五億回の転送がされてる」
「そんなに」
「だから、確率としてそんなに高くなくてもエラーで落ちちゃうくらいになるんだよ。試行回数が多すぎるからね、エラーの発生率が1パーセントだったとしても、毎秒二千五百万回のエラーになっちゃう」
「なるほど……」
前の推測の時に聞いた話と併せてなんとなくは理解できた。
まず、MIIの伝送路にノイズが乗って、エラーが起きやすい状況になる。そんな状況で高速な信号を流すと、確率としては高くなくてもあっという間にエラーの回数が積みあがってしまって、CPUが「このバスはおかしい!」と判断して止めてしまうということだ。
「本当はエラーの発生率、『BER』は0.0000001パーセントとかであって欲しいんだよ。これでも多いくらいかな」
「確かに、試行回数が毎秒五十億回って言われちゃうとなあ」
期待するエラーレートは天文学的な数字に聞こえるけど、転送を行う回数も同じく天文学的。これでようやく普通になるんだから恐ろしい。
「メモリの信号のうち、片方だけが1の時はエラーレートがかなり下がる。レアだけど、レアではない事象」
「ざっくり四分の一くらいか? 下位ビットだし」
「データをちゃんと取ってないけど、多分それくらい」
「だとするとキツいな。砂橋、なんとか出来る?」
「杉島くんが細かーくIPのレジスタをいじって、『イコライザ』を最適に調整できれば」
「うわ、オレ!? それ絶対間に合わないぞ。現実的じゃない」
「ソフトでなんとか出来るのか?」
悠が出したパスを、砂橋さんは華麗に宏へと叩き込む。その美しい受け流しに感嘆すると同時、彼女の言い方だとソフトでも何らかの対応方法があるみたいに聞こえた。
でも、そう簡単にはいかないらしい。お手上げ、というように手のひらを上に向けて宏が言う。なんでお前が教えられるんだ?
「イコライザって言って、チップとチップの間の特性に合わせて信号の波形を変えたり、受けた側で下駄を履かせたりはできなくもない。だけど、ある一定条件の時だけ発生するんだろ? イコライザは基本一種類の決め打ちだから、多分こっちに合わせると普通に通信出来てた方がおかしくなる」
「まあ、そんな簡単にできたら苦労しないか。あとは次善策としてチャンネルAにメモリを刺さないようにするとか?」
「性能に影響が出ているから、できれば避けたいわ。ボード改版が間に合う今ならなおさら」
「ってことは、やっぱり……」
「まあ、今取りうる最良の選択肢は『リスピン』だよね。間に合っちゃうし」
砂橋さんの言葉に、反論する人はいない。皆で意見を出し合って、各々でも考えた結果だ。
小さな無言と同時、僕たちの視線は道香に集中する。ボードの改版は、このボードとCPU側のサブストレートの設計を担当した道香が頷いてくれないとできないから。
この会議が始まってから、道香は再び静かに俯いてしまっていた。今朝はちょっと無理してたのかな、と思ったその瞬間。
ぱちん、と少し可愛らしい、乾いた音が響いた。
「もちろんやりますっ! わたしのミスですから、ここで取り返させてください」
道香は頬を自分で軽く叩いてから猛然と立ち上がる。その目に昨日の憔悴は無く、やる気が満ちているように見えた。
……もしかしたら、自分が携わったところが問題だと確定したから実際にちょっとヘコんでいたのかもしれない。とはいえ、どうせ聞いたとしても心配を掛けたがらない道香は「そんなことないですよ」としらばっくれてしまうだろう。
「よーし、その意気だぜ桜桃ちゃん」
「ソケット自体はIPだから、今から変更はしたくないよね?」
「そこまでやると間に合わないですね。お兄ちゃん、ボードとインターポーザ両方の締め切りっていつだっけ?」
「C-1のシリコンを予定通り製造開始したとして、届くまでの時間を考えると今週末、十四日のお昼が限界だ」
「ピンアサインを変更して、ボードとインターポーザの設計をそれに合わせるのが妥当かな」
「作業量を考えると妥当だと思います」
「んじゃ、放課後にピンアサイン一緒に考えよっか。終わってたらレビューでもいいよ」
「いいんですか?」
「もちろん。道香にボード周りを全部放り投げた悪い先輩の罪滅しに付き合うと思って」
「そ、そんな……」
「まあ実際、桜桃ちゃん居なかったらIPのボードをずっと使い続けるつもりだったんだろ? そんなんだったらここまで来れてねえしなあ」
「その通りね。ボードの線引きは授業でやったくらいだから、道香には敵わないけど……もちろん手伝うわ」
「あたしもー。手伝えることがあったら何でも言ってね」
「俺からも。こっちはこっちで検証進めておくから、設計できる奴らは頼むわ。道香ちゃんはもちろん、蒼も星野先輩も」
「皆さんありがとうございますっ、頑張ります!」
やる気を見せた道香をみんなで激励する。ただ励ますだけじゃなくて、ちゃんと手伝うのもミソだ。
「よーし、決まり。今からピンアサインを変えてボードを作り直すぞ。繰り返すが締め切りは十四日のお昼十二時だからな。ってわけで解散」
いい感じにまとまったところで、忘れてほしくないところだけを繰り返す。
「道香」
それはもちろん、道香にも。
「なに? お兄ちゃん」
「蒼も星野先輩も、砂橋さんあたりをこき使ってあげてくれ。多分砂橋さんあたりは今からでも喜んでやってくれるぞ」
「ちょっとお!? 今からは無理だって、眠すぎて今度はアタシが何かミスっちゃうよ」
なんだか説教くさくなってしまうのも嫌だったから、ちょっと茶化した伝え方をする。ひどく眠そうな顔で会議室を出ようとしていた砂橋さんがびっくりして飛び上がったけど、まあ必要な犠牲ってことで。
「わかりましたっ! じゃあ、早速砂橋先輩にお願いしちゃいますね」
「嘘でしょ」
「まずはゆっくり寝てください。放課後から早速頼らせてもらいますから」
「……ほんっといい子だねえ、道香は」
砂橋さんは、道香にやったことをそのままお返しされて、恥ずかしそうにため息をつく。砂橋さんの言葉足らずなところも、随分と言外のニュアンスまで伝わるようになってきたらしい。
◇
オフィスエリアに戻ってから授業が始まるまでの一時間少しの間、道香は一人で黙々と画面に向かっていた。
もちろん、一人でやってるわけじゃない。
「桜桃ちゃん、早速だけど頼まれてた誘導のシミュレーション結果上げといたよ」
「ありがとうございます、助かりますっ」
「私も出てるわ、いつものフォルダの中」
「ひえーっ、ありがとうございます」
星野先輩と蒼からほぼ同時に届いた結果を見ながら、道香は改めて配置図に色を置いていく。二人に頼んでいた電磁誘導のシミュレーション結果が届いたから、それを踏まえて出来るだけ干渉が発生しないように配置していくんだろう。
ちなみに、徹夜で検証をやってくれた砂橋さんと狼谷さんは二人まとめて狼谷さんの寮へと消えていった。部室の床で寝るのは腰と背中が痛くなるから嫌なんだそうだ。確かに僕も徹夜明けならもうちょっといいところで寝たい。
……二人とも授業をどうするつもりなんだ、ってのは聞かない方がいいんだろうな。そもそも去年まで授業中に寝まくっていた僕が言えたことではない。
「おっまたせー、ようやく元気になって帰ってきたよ」
「お、戻ってきたか。お疲れ」
そんな二人は、放課後が始まって少ししてから戻ってきた。
「結凪先輩、早速で申し訳ないんですが新しいピンアサインのダブルチェックお願いできますか? その間にボードの設計直し始めちゃいます」
「『投機実行』だね」
「はい、予測が外れないといいんですが」
「違いない。氷湖も手伝って」
「もちろん」
道香も内職をしていたのか、朝の段階では完成していなかったピンアサインがいつの間にか完成していた。……あまり褒められたことじゃないんだけど、今は目をつぶろう。
「それなら、蒼と星野先輩にも手伝ってもらうか」
「いや、引き直す手間がそんなに掛からない配置にしたから大丈夫! それよりも、二週間後のテープインに向けてシリコンのデバッグを進めて欲しいかな」
さすがは道香、そのあたりの現実的な時間感覚も持ち合わせてくれていた。であれば、安心して蒼と星野先輩たちをシリコンの修正の方に回せそうだ。
「わかった、そうしよう。ってわけで蒼チームはシリコンの方に戻って大丈夫だ。宏と悠が怪しい挙動の洗い出しを進めてるから、共有してもらったら片っ端から修正していって。もちろん重そうなのがあったら優先度はつけてだけど」
「もちろん。星野先輩、やりましょうか」
「はいよ、こっちもなんとか終わらせないとね」
「ロジックを直せるのはあと一週間ですからね。頑張りましょう」
蒼と星野先輩はC-1 Stepに向けてバグ出しに戻すことができた。であれば、シリコンバグの方も少し余裕をもって修正が出来そうだ。
◇
「お待たせ、これなら問題ないと思う。配列変えた部分をちゃんとLGAソケットでシミュレーションした結果もばっちり」
一夜明けた翌日、十二日の放課後には改善後のピンアサインが無事に確定した。
「えっ、実際のソケットの形状でシミュレーションまでしてくださったんですか?」
「昨日NASを漁ってたら、全体の形状は違うけどピッチが同じソケットのIPのモデルを見つけたんだ。それを使ってシミュレーション掛けたから、まあ問題はないと思う」
それどころか、あくまでも「理論上は大丈夫」であることを確認した昨日のシミュレーション以上となる、実際のソケットにおける周波数特性などの性能を模した『シミュレーションモデル』を使って確認してくれたようだ。
「う~ん、そのLGAソケット、使おうとしてるの見たことないなあ。あたしより前の世代の先輩たちが使おうとしてたのかな」
「かもしれませんね」
過去の遺産の香りにつられて、星野先輩がふらりと覗きに来た。ソケットの3Dモデルやピン数の資料を見ても判らないみたいだから、もうちょっと古い世代の遺産だったんだろうか。
「万全ですね!ありがとうございます」
「次からは、ソケットのIPもシミュレーションモデルがあるのを選んだ方がいいかもしれない」
「ですね……Intechが提供してるIPだったんですが、今度はもうちょっと資料があるものを探したほうがよさそうです」
「ま、とりあえず一安心かな。ボードデザインの状況はどう?」
ふう、とひとつ息をついてから聞きなおした砂橋さん。その瞬間、道香の目の色がまた変わった。待ってました、という感じだ。
「その言葉をお待ちしてました、今度はボードのシミュレーションをお願いできますか? とりあえず配線を入れ替えたデータまでは出来たので、手分けしてMIHとメモリの信号を何パターンかで洗えればと」
「うげ、めんど」
「万全には万全を期さないといけないですからね!」
案の定、実際の基板周りの知見がちょっとある二人はまだ離れることは出来ないようだ。
「わかった。どれをやればいいか具体的な資料はある?」
「はい、氷湖先輩はサブストレートの方のチェックをお願いします。ボードもサブストレートも、いつものフォルダ、それぞれのフォルダ内に指示書を入れてるので」
「ひーん、やるかあ」
「よろしくお願いしますね、結凪せーんぱいっ」
「ううっ、笑顔と圧倒的な後輩オーラがまぶしい」
何だかんだ言っても、砂橋さんも口元がにやついているのが隠せていない。頼ってもらうのは好きだからな、砂橋さん。
そうして、三人で力を合わせた長いチェックと、幾度にも及ぶ検証の末。
「ゆいちゃーん、って死んでる!? 道香も狼谷先輩も!?」
「あはは……今日のお昼になんとか設計データを送って解放されたばっかりだからね」
二月十四日、世間一般ではバレンタインデー。
この日二つ目の朗報を持ってきた雪稜ちゃんが見たのは、無残な姿で机に伏せている三人だった。
「あー、ゆいちゃ……ゆい先輩から聞きました。メモリ絡みの変な挙動が、シリコンを直しても駄目だったって」
「結局悪いのはわたしだったんだよお」
「お、お疲れ様だね道香……」
一つ目の朗報は、無事配置を修正したボードとサブストレートの設計が間に合ったこと。
念には念を入れて、で検証項目を増やした結果、徹夜でシミュレーションを回し続けることになったボード設計組。お昼に無事基板とサブストレートのメーカーにデータを出し終わった後は授業になんとか出ていたけれど、放課後になってからは潰れたカエルのように机と抱擁を交わしつつ睡眠をむさぼっていた。
さすがに今日は咎めるつもりはない、授業も終わってるし。
「でも、結局間に合ったんだね。さすが道香」
「うん、今までの四倍くらい検証したからもう大丈夫なはず」
「アタシたちの人権を犠牲にね……」
「ってそうそう、わたし達のことはいいんだよ! 結果、どうだったの!?」
「えへへ……えーっとね」
雪稜さんは少し大きなかばんの中をがさごそと漁ると、うちの学校の名前が入った分厚い封筒が出てきた。分厚い封筒、ってことは。
その中から取り出したのは、一枚の紙。
「編入試験、合格おめでとうございます……やったじゃんっ!」
「おめでとう珪っ!」
「わっ、わわっ、ありがとう二人ともっ」
「おめでとう珪子、これで来年度はうちの部活かしら」
「電工研に行ってもいいんだよ?」
「ここまで来てそんなことはしませんよっ! 皆さん、本当にありがとうございました」
綺麗にお辞儀をする雪稜さん。その姿は本当に格好よく見えた。
「お礼と言ってはなんですが……」
さらには、もう一度かばんの中をごそごそ。出てきたのは、七つの小さな小包だった。
「皆さんにバレンタインのチョコで、うわあっゆいちゃん!?」
「糖分……ありがとね珪……」
「ああっ、結凪先輩がゾンビにっ」
チョコという単語を聞いて、今度は珍しく砂橋さんが雪稜さんに飛びついた。ほほえましい親子……という単語が脳裏に浮かんで、慌てて振りはらう。
「ってか七つってヤバいな、誰かひとり貰えないやつじゃん」
「デスマッチが始まっちまうのか……」
「さもしいなあお前ら」
一方、隣はほほえましいの対極を突き進んでいた。ほほえましさでちょっと緩んだ頬が台無しだ。
「うるせえ、彼女持ちが何を言うか!」
「うっ、まあ、確かにそうだけどさ」
「いいだろ悠は、クラスで一杯チョコ貰ってたじゃねえか」
「……半分くらい、男子からな」
「……」
「……悪かったよ」
気まずい沈黙。さすがの悠も男どもから明らかにちょっといいチョコを貰い続けて目の光が消えてたから、触れないようにしてやってたのに。
僕たちがそんな自傷合戦に興じている間に、雪稜さんは砂橋さんを引きはがしてかばんを開けていた。
「ちょっと待ってっ、ゆいちゃんにはこれ!」
「えっ、何これ」
そう言って出てきたのは、なんだか明らかに格が違うのが見てわかるチョコだった。なんだか高そうだし、なにより……こう、明らかに恋人に贈るのを意識したデザイン。
「ゆいちゃんには、特別なのがいいかなって」
「あはは……ありがと」
あ、さすがに愛の重さに砂橋さんの笑顔が引きつった。しかも、糖分と言って即食べてしまうのをためらうような高級感だから食べてしまうネタにもしづらいときている。さすがにここまで逃げ先が潰されているとは想定してなかったらしい。
「ありがとう珪子、とても美味しい。友達」
「ありがとうございます! 春から宜しくお願いします、氷湖先輩」
「わっ、もう食べちゃったんですか!? 珪子も氷湖先輩餌付けしないでよっ」
「ねえ、シュウ」
「ん、どうした蒼?」
きゃいきゃいと騒がしくなった部室の中、僕の所には静かに蒼がやってきた。
「……チョコ、家に帰ったら準備してあるから」
「忙しいのに、準備してくれたのか」
「うん、作ったの。あの、その、本命……だから」
「お、おう。手作りしてくれたのか……ありがとう、楽しみにしておくよ」
恥ずかしいのだろう、目を合わせてくれない。さらにその頬は真っ赤に染まっていて、口調も素に戻ってしまっている。わかりやすいな、蒼は。
確かに昨晩は、蒼もやることがあるということで夕ご飯を食べてから僕は自宅に戻っていた。そのやることがチョコ作りだなんて……嬉しいし、幸せだ。
その贈り物を受け取る時を楽しみに、僕たちは相変わらずやかましい部活に意識を戻すことにした。
◇
さらに、次の春を迎える準備は続く。
「ううっ、緊張してきたかも……」
「緊張なんてしてもいいことないわよ」
「というか、緊張する必要もないでしょ翠ちゃんの成績なら」
その翌日、十五日の土曜日には翠ちゃんの入試本番があった。部活に向かう僕たちと一緒に学校へ向かう翠ちゃんはなんだか新鮮だ。直前まで結局緊張はしていたけど、家を出るときよりはよっぽど良くなってたかな。
「C-1 Step用のRTL、出来たわよっ」
「これはねえ、ばっちりだよ。多分」
「おお、お疲れさま。星野先輩は多分、なんですね」
「あたし達で出来ることはやったよ、きっちりシミュレーション掛けたりFPGAで検証できたりしたから、今までの石より当然だけどエラッタは減ってると思うよん」
「一応今までより論理設計段階でクロックにも配慮してるから、最大クロックも上がると思うわ。論理上の最大で1GHz辺り64GFLOPS、まあ実際にはGHzあたり40GFLOPSあたりで落ち着くんじゃないかしら」
「結局、えらく大きいコアになったな……」
二月の十八日には、予定通りC-1ステッピング用の論理設計が完成した。蒼も星野先輩も納得の出来、といったところらしい。
「げ、じゃあアタシも最適化頑張らないとじゃん」
「わたしも手が空きましたから、手伝いますっ」
「頼むよ道香ぁ。あーあ、もう一人居たらなあ」
「それは春からのお楽しみですから。現実逃避しないでやっちゃいましょう」
「……Skylakeの開発始まってから、だいぶアタシの扱い方わかってきたよね道香」
「そりゃあもう、一緒に戦う機会が一気に増えましたからね」
蒼たちから設計を引き継いだときにはこんな風に文句を言っていた砂橋さんたちも、きっちりと良い仕事をしてくれて。
「目標クロックは4.2GHzで設計したけど、『マージン』は結構あるから後はトランジスタの特性次第でもうちょっと伸びるかも。電圧もそこまで上げる想定で検証してないし」
「ノイズ周りには引き続き気を遣って物理設計を仕上げてます。ボード・サブストレートの改良と合わせて例の問題はもう起きないかと」
「完璧だな。BIOSもオーバークロックの設定付けとくか」
「内部のPLL倍率もどうせ可変だしね、面白そうだし付けちゃえば?」
「宏はそんなこと言う前に、普通のBIOSを間に合わせてくれ」
「まあまあ、パワーオンまでには仕上げておくからよ」
「ったく……じゃ、C-1 Stepの製造に入るぞ」
「任せて」
二十六日の水曜日のお昼休み、ついに今年度最後の製造に取り掛かる。そしてこの場には、普段の部員七人に加えてもう一人。
「そして翠ちゃん、合格おめでとう! 蒼の妹ちゃんがこんないい子だなんて、アタシはびっくりだよ」
「あっ、ありがとうございます!」
「おめでとう、春からは仲間」
「ってか翠ちゃんも部門認定持ちだろ? いい意味でどうかしてるぜ」
「はっ、はい! 春からはぜひよろしくお願いします!」
「初々しいねえ……」
「その言い方、ちょっとおばさんっぽいですよ」
「なにおうっ、おねーさんはまだおばさんって呼ばれる歳じゃないし」
「あ、あはは……」
今日の十二時が合格発表だった翠ちゃんも、そのまま残って部活に顔を出してくれていた。結果はもちろん合格、これで四月から優秀な後輩が確実に二人は入ってくれそうだ。
今は今日が初対面な人たちの前でちょっと緊張してるみたいだけど、きっと入学したらすぐに馴染むだろう。素の蒼よりよっぽど人見知りしない翠ちゃんだからな。
もちろん、新たな出会いがあれば別れもある。
「本当に卒業証書持ってらっしゃるんですねぇ」
「そりゃ、卒業生だからね!」
「なんかこうやってお祝いするのも、悪い意味に捉えて欲しくないんですが……不思議な感じです」
「あははっ、皆と一緒に出来たのは最後の四か月とかだけだったからね。でもま、どうせ若松には居るしまた遊びに来るよ。なにより、今月末までは普通に部活に来るし」
「まあ、当の本人がこれだからな」
「ちょっと、その言い方酷いよー。……あ、電工研の後輩たちも呼んでる。人気者は困っちゃうなあ」
「ふふっ、行ってきてあげてください。幸い明日までは大きな仕事はありませんから」
三月の九日には、三年生の先輩方の卒業式が行われた。うちの部活に戻ってくれたのは星野先輩だけだったけど、きっと元コン部の先輩方も何人も居るはずだ。
……蒼は幸い、今年でだいぶトラウマを乗り越えることができた。他の先輩方にも幸あらんことを祈ることしかできない。
そして、迎えた三月十日の放課後。
「電源、12ボルト系よし」
「Skylake C-1シリコン、装着よし」
ついに、僕たちは大会本番用のSkylake、C-1ステッピングのシリコンへの火入れを迎えていた。
「お兄ちゃん、それ新しいボードだよね?」
「ああ、新しい奴だ。ピンアサインが違うけど、物理的には付いちゃうんだっけ」
「そうそう、IPだから切り欠きの場所を変えて付かなくするとかができなくて……。間違えるとシリコンが燃えるから気を付けてね」
「古いのは全部倉庫に突っ込んだから、まあ大丈夫だと思うぜ」
「宏にしては気が利くな、ありがとう」
「BIOSはもう焼いてあるから、電源を入れるだけ」
「シリアル系の準備もばっちりよ、いつでも行けるわ」
「よし、行くぞ」
真新しいボード、そこに接続された電源ユニットへとコンセントを繋ぐ。次の瞬間、LEDがチカチカと瞬き始めるのは今までと同じだ。クーラーのファンが立てる爆音が鳴り響くのも同じ。
こちらも今まで通り、猛烈な速度で流れた白黒のログ。流れる文字がぴたりと止まり、数秒後。
「よし、BIOSまでは一発か」
「うっし、さすがオレたちだな弟者」
「誰が弟だ、宏の弟は俺嫌だぞ」
「兄者がいいってことか?」
「それもそれでそこはかとなく嫌だな……」
「馬鹿言ってないで、次はOSだぞ」
とりあえず青と白のBIOS画面が無事に表示された。USBメモリをボードに刺して電源を入れなおし、いつものようにLinusのセットアップは終わったし、ここまでは完璧。
「とりあえず大丈夫そうだね」
「ですね。ちょっと緊張してきました……」
「大丈夫。私たちが太鼓判を押す」
「そうよ、皆で直したんだから」
「じゃ、流すぞー」
轟音が鳴り響くラボを後に、みんなでオフィスエリアに移動する。
最初に流すのは、今までのステッピングだと間違いなく落ちてしまうベンチマーク。ここで今までのようにハングアップしなければ、設計の時に想定していた性能そのままで会場へと持っていける可能性がぐんと高くなる。
「頼む……!」
「まあ見てなって」
「お願いします……!」
僕たちが見守る中、無骨な『コンソール画面』に表示されるパーセンテージはどんどん増えていき。
「九十九……百っ!」
「よかったあ……」
画面にコンプリート、の文字が出た瞬間、へなへなと床にへたり込む道香。それをみんなで囲んでねぎらっていく。さらには、砂橋さんが勝手にへたり込んだ道香の太ももを枕にしたり、そのまま上を見上げて見えた景色に般若のような表情を浮かべたりとやりたい放題しはじめた。
剥がすか迷ったけど、道香がその様子を優しい笑顔で見ていたからとりあえずは放っておく。……後輩に気を使われてるのもわりとどうかと思うぞ。
「これだけが試験じゃない。全部のプログラム動かすから、二台め三台めも上げてくぞ」
「はーいっ」
「あくまでも良い方に振れたチップで動いただけかもしれんからな」
「あのラボに戻りたくないなあ……」
「来年からは騒音に制限がつくかもしれませんね」
さらには、複数台を立ち上げて機能の確認、色々なプログラムを流して動作や性能のチェックも進める。二日ほどでゆっくり、確実に検証を進めて。
「チェックリスト、全部終わり……!」
「っし!」
「つ、疲れたぁ……」
全てのチェックリストが埋まったのは三月十二日。ついに、全部のプログラムが問題なく走り切ることが分かった。
「さて、『SPARCint』も『SPARCfp』も各ベンチマークは無事完走したわ。スコアも出たけど、向こうが伝えてきたのはLIMPACKの性能目標だけだったからそれで比較しようと思う」
直後の開発会議で、ついに測定されたベンチマークの結果が蒼から共有される。
「本当は、SPARCintのほうが本番向きでいい」
「そうなのか?」
「ほら、前に言ったでしょ? プログラムによってベンチマークの結果は変わるって。SPARCベンチマークは色々なベンチマークの結果を元に計算するスコアだから、本番でどんなプログラムが使われるかわからない以上、幅広い性能を見たほうがいいのよ」
「LIMPACKはあくまでも行列積計算、つまりは行列の掛け算だけだからな」
「なるほどな……」
「で、結果。全部の石が安定して動く『定格』は4.2GHz、結果は約192GFLOPSになったわ」
「よしっ」
「おおっ、Intechの性能見積もりを超えてきたか」
「それでもなんとか、だけどね」
Intechが挑戦状として叩きつけてきた資料に書かれていたのは、150GFLOPSという目標。それを一.三倍ほど上回る性能を実測で出せた。200GFLOPSにこそ届いていないけれど、父さんを超えるには十分な性能だ。
「SPARCベンチマークの結果も悪くなかったわ。intで三十五点くらい」
「それってどれくらいなんだ?」
「このベンチマークに限って言えば、Blue Lakeの最上位モデルより速いわよ。向こうはコア数が半分だけど。Ice Lakeの最上位よりはさすがに遅かったわ」
「おっ、やるじゃん」
「メモリの帯域も、こっちは4チャネルで同じくらいだからねえ」
「コアの規模を考えても、Blue Lakeくらいは超えてもらわないと困る」
「っ……、マジか」
さらには。
親父が作っていた、Blue Lakeにすら勝っている。
これは――本番でも、父さんに勝てるかもしれない。
「よし、残り時間は細かいバグ出しとチューニングに振ろう。宏と悠は引き続きBIOSとコンパイラのチューニングを頼む」
「任せろって」
「BIOSも全然追い込めてないからな」
「で、残りはバグ出しだな。問題が出てきたらマイクロコードで塞げる部分は塞ぐ感じで」
「はいはーい」
「任せて」
それぞれが、自分に出来ることを全力で進める。システムも予定通りアメリカに向けて出荷し。
「特に大きなバグもなかったよ。シリコン側は問題なし」
「ボードも、ばっちり安定動作したよっ」
「BIOSもまあこんなもんだろ。これ以上は賭けになる」
「コンパイラもだいぶマシになったぜい」
皆から上がってきた報告は、全て問題なし。大会に持っていくチップとしても、十分競争力がある性能になった。
僕はひと息吸い込むと、改めて皆に向かって宣言する。
「よし、世界大会向けのSky Lakeはこれで開発完了だ」
三月の二十日。
僕たちが六カ月にわたって開発を進めてきたチップは、ようやく完成へとたどり着いた。
◇
出発前日、二十二日の夜。
「シュウ、ここにいたんだ」
「どうしたんだ?」
一人で玄関先に佇んでいると、戸の開く音と共に蒼が声を掛けてくる。僕の質問に返事はなく、ぱたぱた、という数歩の足音ののちに手を温かさが包んだ。
「何してたの?」
「ぼーっとしてたんだ。今日は星が綺麗だ」
「本当。でも、この澄んだ空もそろそろ終わりね」
「だな。日中もだいぶ暖かくなってきたし」
なんとなく、ふらりと外に出たら星が綺麗だった。それだけの話だ。特に何かをしようと思ったわけじゃない。
ただ……ちょっと静かな場所で、考えたかったんだろう。
「ねえ、シュウ。もう何を話すか決めたんでしょう?」
「決めた。でも、どう伝えればいいかわからなくて」
「……そう。もう六年も経つんだものね」
そう言うと、蒼は僕の手を改めて強く握る。僕の指の間に通されたその指は、細くて華奢な女の子の手。
「ちゃんと言葉にできれば、きっと伝わるわ。大丈夫」
「ありがとう。なんだか、そう蒼に言ってもらえただけで大丈夫な気がしてくるよ」
「もう、それは言いすぎよ」
勇気をくれるこの手。今まで、引いてきたこの手。そして今まで、沢山甘えてきてしまったこの手。
今度は、この手を繋いで並んで歩くと決めたのだ。ついに、その大きな一歩を踏み出す時は間近に迫っている。
「……最後の勇気まで、蒼から貰っちゃったな。一緒に歩いていこう、って言ったのは僕なのに」
「いいのよ。一緒に歩くのは、並んで進むだけが全てじゃないわ」
優しく微笑む蒼。この表情を見ると、どこまでも甘えてしまいそうだ。
「蒼も、甘えてくれていいんだからな。いつも、一人で頑張りすぎちゃうから」
「……ほんと?」
「ああ、もちろん」
「……じゃあ、そうする」
さらに半歩近づいて、腕と腕がぴったり触れる。まだ寒い夜でも、そこだけ春を迎えたような温かさ。
蒼はそのまま僕の肩に頭を預けるように乗せる。……これが、蒼なりの甘え方らしい。
それにしてはちょっと主張が控えめなのは、やっぱりどこか臆病なのが蒼の素なんだろう。
シャンプーの香りだろうか。蒼のどこか落ち着いた、でも女の子らしい香りが鼻をくすぐる。
「ごめんな、恋人らしいこととか全然できなくて」
「ううん、いいの。この大会が終わるまでは仕方ないわ。それに……」
言い淀む蒼。それからぎゅっ、と僕の腕を抱くようにして、ぎりぎり僕の耳に届くくらいの声で呟いた。
「弘司くんと過ごせる時間は、これからも一杯あるんだから」
「……っ、そう、だな」
やっぱり気恥ずかしいのか、言ってから恥ずかしくなったのか、目は合わせてくれない。
それでもあまりのいじらしい姿とまっすぐに向けられた想いの言葉に、僕の頬も赤くなるのを感じる。ほんと、蒼にはやられてばっかりだ。
「言い訳にしたくはないけど、この一年ずっと忙しかったな」
「いろんなことがあって、いろんなことが変わったよね」
「蒼と部活をするなんて思わなかった」
「私も。でも、弘司くんと一緒に部活が出来て、ずっと一緒に居られるだけで幸せだった」
甘えると宣言してから、蒼はすっかり素に戻っている。飾らないまっすぐな言葉は、少し気恥ずかしいけどそれ以上に嬉しい。
今までこうやって素を見せられる人は、初めて会った七年前からはほぼ居なかったんだろう。なんなら、妹の翠ちゃんの前ですら気を張った蒼のままだ。
だとすると、こうやって素を見せるのが蒼にとっては一番の甘えなんだろうな。
「なんだ、その……僕も、幸せだよ。やっぱり蒼といるのが落ち着くし、安心する」
「あり、がと。……きゃっ!?」
ちょっと気恥ずかしそうな蒼の返事。それを聞いて、僕は蒼を抱きしめた。しばらくは緊張してかその華奢な体をこわばらせたけど、それも数秒で抜ける。
「……明日から、頑張ろうね」
「ああ、一緒に頑張ろう」
暖かな温もりを、一番近くに抱きしめる勇気が出た今なら。
蒼に頑張ろう、と言われた今ならば、何でもできてしまいそうな。
そんな気がした。
新規登録で充実の読書を
- マイページ
- 読書の状況から作品を自動で分類して簡単に管理できる
- 小説の未読話数がひと目でわかり前回の続きから読める
- フォローしたユーザーの活動を追える
- 通知
- 小説の更新や作者の新作の情報を受け取れる
- 閲覧履歴
- 以前読んだ小説が一覧で見つけやすい
アカウントをお持ちの方はログイン
ビューワー設定
文字サイズ
背景色
フォント
組み方向
機能をオンにすると、画面の下部をタップする度に自動的にスクロールして読み進められます。
応援すると応援コメントも書けます