【三巻中編】Over the ClockSpeed! Ⅲ C-1 Stepping
0x06 取り戻す過去、まだ遠い未来
「ぐおおお……もお、無理……上がったよ、早瀬ちゃん……」
「さすが星野先輩っ、間に合わせてくれてありがとうございます」
「全部の論理合成通って、チェックも通ったからちゃんと動くと思う……」
「えーっと……あ、星野先輩ここのイネーブルの信号『インバート』してます」
「あれ? これ『アクティブ・ロー』だっけ?」
「仕様書の通りアクティブ・ローですよ」
「ひぅ、見落としてた」
「その先にぶら下がるのもアクティブ・ローで書いてるので、直しておいてくださいますか?」
「うう……わかった……ぐすん」
「タイミングさえ問題なければインバータ一つ挟むだけですから泣かないでくださいって」
「たしかそこクリティカルパスだったから、インバーター挟むと目標クロック出ないんだよぉ……とりあえず直しておくね……」
「今からもうちょっと細かくチェックするので、見つけたらすぐに伝えます」
「はぁーい」
「早速バイオレントな光景だなあ」
十一月二十日、水曜日の放課後。
授業後の部室は慌ただしい雰囲気に包まれている。
オフィスエリアがこの世の地獄と化すのは今まで通りとはいえ、今までのテープイン直前と雰囲気は似て非なるもの。
みんなの仕事が多くて大変なのは変わらないが、張り詰めたような緊張感ではなく、限界から少し緩んだ良い雰囲気だと思う。
それにも大きく影響しているのは、星野先輩だった。
多分素なんだと思うけど、あの独特のふわふわした感じがいい感じにみんなの緊張をほぐしている気がする。
逆に言えば、そんな先輩を極限まで追い詰めた去年の開発状況は……考えたくもない。
「あーーーーもうっ、違うんだよぉ!」
「結凪先輩、手伝います?」
「猫の手も借りたい! 道香ちゃんイーノバス使えるよね!?」
「はいっ、一通りは」
「道香、下駄の設計は終わったの?」
「うんっ、今最後の伝送特性のシミュレーションだけ掛けてるんだ。これが終わったら発注してもらうね」
「わかった、準備しておくよ」
一方、物理設計の方はかなり煮詰まっている。
この中で一番順調に作業が進んでいた道香が砂橋さんの助太刀に入ってくれるようだ。
道香のフォルダを確認すると、確かに設計ファイルが入っていた。製造の発注は僕が出来るから、あとはこちらで引き取ってしまおう。
「ほい、今チャットでリスト送った! これ全部ソフトIPだから回路起こしておいて! フロアプランはいつもの物理設計フォルダに入ってるから」
「……あの、見間違いじゃなければ二桁あるんですが」
「だーからヤバいんだって、このペースだと間に合わなくなるっ」
「わかりました、これからのリソース全部そっちに振りますね。お兄ちゃんっ」
「いいよ、そうしてくれ。まずはA-0シリコンを起こしてからだ」
「っし、仕事が半分になった!」
「締め切りはいつなんです?」
「蒼たちの設計が出るまで」
「結凪ー、こっちは多分今日の下校までには終わるわよ」
「げっ、そりゃ無理だ。仕方ない、明日までかな」
「それでも明日なんですね……わかりました、やるだけやりましょう」
砂橋さんの物理設計チームも押しに押している。SADPのプロファイルが固まったのが先週末だったから、実際の設計が始められたのは実質今週の頭。
プロセスルールが縮み、面積の制約も厳しい今回はIPでさえ既存のものを使いまわすことができない。
「くっそー、ここのタイミングが微妙に合わない……あと二十ナノ秒……」
「今はどこやってるんだ?」
席を立たずに、聞こえてきた絶望的な声に確認の質問を投げる。
席を立たないのは、僕もそれどころじゃないからだ。とはいえ、プロマネとして全体の進行状況を確認しない訳にはいかない。
「MIHとの通信IP、『PHY』の方」
「大事なところじゃん」
「そうなんだよ、これ無いと動かない」
彼女が今戦っているのはPHY、つまり実際に信号をMIHへと送り出すための回路。CPU内部の専用通信からMIHが理解できる信号に変換するための回路だ、これが無いとCPUはMIHとデータのやり取りができない。
通信相手のMIHは既製品のチップとして供給されているから、少しでも通信のタイミングが規定からずれると動かない可能性が高い。信号の遅延など最後のひと詰めが物理設計の腕によってしまうのはソフトIPの難しいところだ。
一方の僕は僕で、人手不足の応援という名目で全ての雑務を引き受けていた。
「蒼、シミュレーション終わった! 全部パス」
「よかったわ、じゃあ次は浮動小数点ユニットね。テストベンチまでは書いておいたから」
「わかった、やっておく」
「おーいシュウ、冷蔵庫のお茶切れそうだぜ。あと五個」
「報告サンキュー、発注しておく」
「お兄ちゃん、インターポーザ―の間に合う締め切りはいつだっけ?」
「十二月の二日、十一日には届くはずだ」
「ありがとっ」
『鷲流くん、フッ素ガスの残りが少ない。発注お願い』
「了解、っと」
音も当然ながら、ファブの狼谷さんからのチャットも届く。
設計の手伝いをすることもあれば備品の発注、そして締め切りの管理まで。やることだけは星の数ほどある。
全ての仕事をパラレルに進めていると、時間はあっという間に過ぎていく。恨めしいくらいだ。
「よっし、終わったよ早瀬ちゃん」
「ありがとうございますっ! 最後にこっちで全部まとめてシミュレーション流すので『プッシュ』しておいてください」
「りょーかい……」
「げっ、本当に明日の朝には来ちゃうじゃん」
「修正さえなければ、そっちの一発目のP&Rは明日の朝からね」
「ふおお、終わりません、無理ですって……!」
「やるしかないんだよお……! アタシだってこんなの嫌だってば」
夕方、ついに論理設計チームの方は目途が立ったようだ。
物理設計チームは泣くに泣けない状況になっているが、後ろが詰まっているから仕方がない。後回しにして苦労するのは自分だというのは、砂橋さんが一番知っているだろうから。
ちらりと時計を見ると、最終下校まで二十分。
そろそろ皆には帰る準備をしてもらわないといけない。ファブの狼谷さんにチャットを飛ばしてから無理やり今やっている仕事をひと段落させると、久しぶりに席を立った。
長時間のデスクワークのせいで、立ち上がっただけなのに腰がばきばきと音を立てている。こんな生活をしてたら、あっという間に老人みたいな体になってしまいそうだ。
「とりあえずテストの論理合成は通りそうです、あとはシミュレーションさえ通ればこのステッピングの仕事はひと段落ですね……星野先輩?」
「……すう」
「寝ちゃったか」
「かなり無理させちゃったわね……」
論理設計チームの方に向かうと、糸が切れたかのように星野先輩が潰れていた。
本当はそんな風になるまで無理をして欲しくないんだけど、作業量に対して人が足りていない状況は変わらない。
それでも、言ってしまえばたかが部活のためにここまで本気になってくれているのが嬉しかった。
「心苦しいけど、起こしてあげてくれ」
「わかったわ。星野先輩、起きてくださーい」
蒼が声を掛けるが、星野先輩は身じろぎをひとつしただけ。あっという間に深い眠りの世界に旅立ってしまったようだ。
「……起きないわね。星野せんぱーい、あと十分ちょっとで帰らなきゃですよー」
起きない先輩に、突っ伏した肩をゆすって声を掛ける蒼。
「うぅーん……うるしゃい」
「ひゃんっ!?」
次の瞬間、星野先輩の手が蒼のお腹をまさぐった。その手つきは無意識で目覚ましを解除する悠のものに似ている。
「やっ、ちょっ、先輩っ」
「うぅーん、やわらか……」
「何言ってるんですかっ」
どんどん目の毒になっていく光景から、僕は慌てて目をそらす。
そして、その先に居た砂橋さんとばっちりと目が合った。
「にひひっ」
「……何だよ、そのいやらしい笑みは」
「いんやあー、蒼がああやって攻められてるのはめずらしいなあって。次に蒼に怒られたらああしよっと」
「蒼の精神衛生によくなさそうだからやめてやってくれ……道香も、そろそろ帰る時間だぞ。続きはやるなら家でにしてくれ」
「はぁーい、んぅーっ」
僕の声で、鬼神のように画面に向かっていた道香も手を止めた。同じように体に来ているのだろう、うーん、と背をそらす。
砂橋さんはそんな道香を見て……何を思ったか、反ったことで強調されたその胸をつついた。
「やんっ、ちょっ、砂橋先輩!?」
「や、やわらか……!」
「何言ってるんですかっ」
ばっ、と身を抱きすくめる道香ちゃん。一方の砂橋さんは感動的な表情を浮かべていた。
いや、何に感動しているんだ。
「……女の子の体ってやわらかいんだね、鷲流くん」
「絶妙にコメントに困る話題でこっちに振らないで貰えるか?」
どうコメントしても何らかの地雷を踏み抜きそうだ。
「だってこんな立派なもの持ってるんだよ!? 持たざる者に分け与えるべきじゃないかな? ねえ道香ちゃん」
「きゃあああっ!?」
一歩引いた道香。一方の砂橋さんは、いつぞやはきつく抱きしめられて窒息しかけていたその胸に飛び込んでいった。
……疲れから皆壊れているのだろうか。テープインしたらちょっと休みを取った方がいいのかもしれない。
そんな砂橋さんに押されている道香は涙目になっている。
「やあっ、何言ってるんですかっ、タチの悪いおっさんみたいですよっ」
「同性の間にもセクハラは成立するんだからな?」
「放せーっ、格差社会反対! アタシにもあんなお胸を!」
「……ぐはっ」
「あっ、宏が鼻血出しやがった! 衛生兵、衛生兵ー!」
砂橋さんを道香ちゃんから引き剥がしていると、宏がくたばったようだ。
今日は珍しく静かに作業に取り組んでいると思ったら、きっちりと聞き耳だけは立てていたらしい。
「はっ、アタシは今何を……」
「道香にごめんなさいしなさい」
「ごめんなさい……」
「いえ、いいんですけど……今度からいきなりはやめてくださいね」
「いきなりじゃなければいいってこと!?」
「駄目ですっ」
「ああ、さらに血だまりが大きく! お客様の中にお医者様は居ませんか!」
「馬鹿言ってないで、そいつには鼻栓でも突っ込んでおいてやれ。お前らも帰るぞ」
「それもそうだな。ほらティッシュ」
「ふがふが」
「僕こいつと一緒に帰らなきゃダメなの?」
さっきまで学生最先端の開発をしていた空気はどこにもない。
ここに居るのは、鼻にティッシュを生やした無様な奴と頭が謎の美少年、顔を赤くした美少女二人とぽわぽわした先輩、そして手の早い毛玉だ。
一方の僕は、こんな愉快な皆といられることを……いつの間にか、心の底から楽しんでいた。
「……いま、アタシのことを手の早い奴とかって思ったでしょ」
「事実じゃん」
「あーもう怒った、ゆいちゃん不機嫌になりましたー」
「自分でゆいちゃんって、ふふっ」
「あっ、いや、違うんだって、そんなこと言う悪い後輩はこうだっ」
「きゃああっ、ちょっとおっ!」
「……あれ、早瀬ちゃん?」
「はあ、はあっ……許しませんからね、星野先輩」
「うわっ、ごめんなさいぃ!?」
……早く帰ってほしいんだけどなあ。怒られるのは蒼なんだから。
なんとか収拾を付けて階段を降りると、一人だけファブに居た狼谷さんは階段の下で待っていてくれたようだ。
「待っててくれたんだな、ありがとう」
「ううん、当然」
当然、と言ってくれるようになった狼谷さんも、やっぱり僕たちには欠かせない仲間だ。
出会ったときからやっぱり無表情なのは変わらないけど、それも微妙な機微をだいぶ読み取れるようになってきた。
そんな狼谷さんは、いつものように無表情で――いや、ほんの少しだけ不思議そうに、僕の後ろを指さした。
「何で、二人は顔を赤くしてるの?」
「上でいろいろあったんだよ」
「結凪先輩がそれを言わないでくださいっ!」
文句を言いながらも、結局笑顔のみんな。
忙しい中でも、僕たちは楽しく開発を進めることができている。
大会までは、あと残り四か月。
僕たちは、一年の集大成に向けて着実に歩みを進めていた。
◇
「母さん、今日のテストでも百点取ってきたよっ」
「弘治、いらっしゃい」
「見て見てっ」
「本当、すごいね弘治。えらいえらい」
記憶は進んでいく。さらに先へ。
窓から見える秋の葉は落ちて、空気がどんどんと冷え込んでいく。
あの冬が、近づいている。
僕の過去の旅も、ゴールが見えつつあった。
「へへっ、母さんに心配なんてさせないから」
「もう、そんなこと気にしなくていいのに。今でも十分手が掛からない子なのに」
「そうじゃないと、安心して母さんが元気になれないでしょ?」
母さんが小さくため息をつく。その肌は、日に日に色を失っているように見えた。
体重も落ちているのだろう、ただでさえ線の細かった母さんがさらに細くなっているのも同じく感じて。
だからこそ、僕は出来るだけ良い子であろうと努めた。
母さんが倒れたときからずっとではあったけど、最近はさらにその気持ちを強くしていた。
僕がしっかりすれば、母さんはきっとすぐに元気になる。
当時の僕は、そう信じていたから。
「……そうかもしれない。でもね、親っていうのは難儀な生き物なのよ」
「なんぎ? どうして?」
「自分の子供はね、手が掛からないと逆に寂しくなっちゃうものなの」
「悪い子の方がいい、ってこと?」
「ううん、そんなことはないよ。良い子なのはとっても嬉しい、んだけど……」
「?」
「うーん、上手く説明できないや。きっと弘治も、大人になったら判るようになるかな」
「そういうもの、なの?」
「そういうものなんだよ」
母さんは笑顔を見せる。元気がどんどん無くなっているのは見ていればわかるのに、その笑顔はいつもの母さんの笑顔だった。
そして僕は、その笑顔を見るたびに嬉しくて……最近は、苦しくなる。
母さんには笑顔で居て欲しい。でも、苦しいのを我慢してまでは見たくはなかった。
同時に強く感じるのは、自分の無力感。
もし父さんが居れば、弱音を吐いてくれるのだろうか。
自分はまだまだ子供で、守られる対象でしかない。それが辛かった。
そんな複雑な感情を胸でくすぶらせていると、病室のドアががらりと開いた。
「こんにちは、天先輩。起きてます?」
「こんにちは、金江さん」
「あら弘治くん、こんにちは。早かったのね」
「学校から直接来ましたから」
「えっ、金江? どうしたのよこんな時間に」
やってきたのは早瀬親子だった。時計を見るとまだ十六時にもなっていない。
金江さんは普段なら間違いなく仕事をしている時間なのに、どうしたんだろうか。
「有給使えって怒られちゃったんですよ。なので、午後は半休です」
「こん、にちは」
「こんにちは」
「蒼ちゃん、翠ちゃんもいらっしゃい。なるほどね、そういうこと。働きすぎなんじゃないのー?」
「天先輩にそれを言われると複雑ですよ、仕事の権化みたいな人だったくせに」
「あはは、確かにそうだ」
大人二人の談笑に、子供の僕たちはついていくことができなかった。
それに、もしかしたら二人で話したいこともあるのかもしれない。
だから僕は、蒼と翠に声を掛ける。
「蒼、翠。母さんたちは話してるみたいだから、僕たちは遊びに行こうか」
「……いいの?」
「うん、二人だけで話したいこともあるだろうからね。ということだから、行ってくるね母さん」
「気を付けてね、あんまり遠くには行かないこと」
「わかってるって」
「弘治くん、蒼と翠のこと、よろしくね」
「はいっ。さ、行こう」
「わあっ、い、いってきますっ」
「いってきまーす」
僕は蒼の手を引いて走り出す。蒼は翠と手を繋いでいるから、三人連なって。
僕たちは病室を出ると、時間を潰しに――いや、遊びに出ることにする。
この頃の僕はまだ、蒼の手を引くことが出来ていた。
◇
子供たちが病室を出て行ったあと、残された大人二人は苦笑いを見せあう。
これは、子供たちには知りえない……弘治でさえ知らない、その後の一幕。
「本当、良い子ですよね。弘治くん」
「そうだねえ、いい子過ぎるくらいだと思ってる。金江に迷惑かけたりしてない?」
「全然。聞き分けもいいし賢いし、迷惑なんて全然よ」
「ならよかった。ありがとうね、金江」
ほっとしたように天は笑顔を見せる。それに、金江も笑みで返した。
「いいんですよ、天先輩の息子さんなんですから。……やっぱり、心配ですか?」
「何が?」
「天先輩のことだから、良い子すぎることを気にしてるんじゃないかなって」
「あはは、そんなことまでわかっちゃうか」
それから天は大きく一回ため息をつくと、窓の外に目線を移した。病室の白い窓枠で切り抜かれた外は、秋の景色を過ぎて寂しい冬景色に衣替えを済ませている。
「……気にしてないって言ったら、嘘になるかな。私の病気が、弘治の負担になってるのは紛れもない事実だと思うから」
「実際のところ、病状はどうなんですか?」
「うーん、良くもなってないけど悪くもなってない……って感じかな」
「そうですか……」
「ちょっと、沈んだ顔なんて似合わないよ」
「……すみません。旦那さんのほうはどうなんですか?」
「今は大変みたい。新しいプロジェクトが大炎上中みたいで」
「帰ってこれるくらい時間が取れるといいんですが」
「大丈夫、これがあるから」
「パソコン、ですか」
「そ。週に何回か、こっちの朝、だから向こうの夜に話をしてるんだよ」
「ちゃんと、顔は見せてあげてるんですね」
「そ。もっともメールで済ませちゃうことも多いし、ノートパソコンのカメラの画質なんてたかが知れてるからどこまで判るかなんて知らないけどね。国際回線はやっぱり細いし」
「ちょっと、先輩がそんなこと言っていいんですか」
「いいのいいの、もう退社した身だもん」
それから、天はぽつりと呟いた。
「本当は、私も弘治と一緒に行けたらよかったんだけどね」
金江はそれに返す言葉を持たない。天の表情が、無念さと後悔と……色んな感情がないまぜになったものだったから。
それから数瞬で、天は一転して人懐っこいいつもの笑顔に戻った。
「ごめんね、こんなこと」
「ううん、いいんですよ。私でよければ、いくらでも」
子供たちが帰ってくるまでにはもう少し時間があるだろう。
大人二人の話は、もうしばらく続いていた。
◇
久々に目覚ましの音で目を覚ます。
今日取り戻した記憶も、懐かしい……穏やかな一幕だった。
「はぁ、起きるか」
体を起こしてベッドを立つ。今日も体調は悪くなさそうだ。
いつものように着替えて顔を洗い、無人のリビングに降りた。
「きっと今だったとしても、変わらないんだろうな」
キッチンに立って一人分の朝食を準備している時に、ぽつりと言葉が漏れる。
自分は、まだまだ大人になり切れていない半人前。
それは今でも変わらない。
「……やめやめ。蒼を待たせても悪いし」
頭を小さく振って切り替え、自分で作った朝食を取った。
片付け終わればちょうどいい時間だ。玄関のドアを開けると、蒼が待っている。
「おはよ、シュウ」
「おはよう蒼、うう、さぶっ」
外に出ると、冬の風が肌を刺す。さすがにコートを着ても寒い季節になってきた。
今日は十一月の三十日になっている。明日からは十二月、いよいよ冬将軍の本格的なお出ましだ。
「蒼、スカートで寒くないのか?」
「厚めのストッキング穿いてるし、ハイソックスも穿いてるもの。そこまで寒くはないわ」
「さすがに生足じゃないか」
「この時期じゃ足が凍っちゃうわよ」
「よー、お二人さん。かーっ、寒いなあ」
「悠も来たし、行きましょうか」
いつものように三人で列車に乗り、学校に到着。
運動部系の部活の朝練に合わせた列車だから、学校に着いても始業時間にはかなり余裕がある。
だけど、ファブには既に狼谷さんが入っていた。窓からその姿を見ていると目が合う。
声は通らないし、わざわざテレスピまで来てもらうのも申し訳ない。だから軽く手を振ると、狼谷さんも振り返してくれた。
さらに、オフィスエリアには砂橋さんの姿も。
「ぐおお、あとちょっと……」
「おあ、不審者!?」
「誰が不審者じゃ、モップとか言ったら機械室の液体飲ませるからね」
「待て待て、俺はそんなこと言ってないんだが!?」
早速悠が無礼を働いている。とはいえ、気持ちはわからないこともない。
背丈がミニマムなことと長い髪の合わせ技で、作業してると黒いム○クがうめき声を上げているようにしか見えなかったりもするからなあ、砂橋さん。
「おはよう結凪、早いわね」
「んおあ、もうそんな時間かぁ。ぐうー、何とか今日には終わりそうだよ」
「さすがは砂橋さんだな」
「今回は道香が居なかったら本当に無理だったよ……」
「というか結凪、気にしてるならちゃんと髪の毛くらい整えてから出てくればいいじゃない」
「くせっ毛との戦いはもうあきらめた」
「だから散々言われるのよ……。道香の方は大丈夫なの?」
「んー、大丈夫だと思うよ。もうインターポーザ―もオーダーしてるしね、鷲流くん」
「ああ、バッチリだ。試験前にはもう届いちゃう予定」
「完璧ね。結凪は何時に来たの?」
「えーっと、六時四十五分とかかな? 寮用の出入り口から氷湖に入れてもらったんだよ」
「おお、やる気だね」
「はあー……今だけは寮生が羨ましいよ」
朝早くから作業をしてくれていたらしい。寮だと通学時間の分長く寝てられるもんな、羨ましい気持ちはよくわかる。特にこういう修羅場の時には。
作業に戻った砂橋さんに倣って、僕たちも仕事を始めることにした。
「おっはよー、今日も頑張ろーね」
「おはよーございますっ、皆さん早いですね」
「げ、オレ最後かよ。とっとと始めねえとな」
皆も続々とやってきて、自分のタスクに取り掛かっていく。
今日はSky Lakeのテープイン予定日。一番物理設計チームが忙しい日だ。
案の定道香は速攻で砂橋さんの仕事を手伝わされていた。道香がわりかしオールラウンダーで良かったと、この一週間ほど感じたことはないだろう。
「星野先輩、シミュレーションの結果が出たのでちょっと話しませんか?」
「ん、そうだね。これからの改良点もあるし」
十時半ごろだろうか、みんなが黙々と作業を進める中、蒼の声が聞こえて来た。
「シュウも来てもらっていい? 実際のコアを使ったベンチマークの結果が出たの」
「わかった、今行く」
僕も蒼に声を掛けられ、一緒に一階へと降りる。一番小さなD会議室に入ると、蒼は画面を投影し始めた。
スクリーンに映し出されたのは、折れ線グラフ。
「まずはデコーダーですが、こんな感じになりました」
「うーん、やっぱりコンプレックスはおっそいねえ」
「これはどういうグラフなんだ?」
「これは、色々な命令を実行する時のデコーダーの処理性能のグラフよ。一クロックでいくつの命令をデコード出来るのか、っていう数字ね」
「今回のデコーダーは五つだったよな?」
「そうよ。だけど、その中にはシンプルデコーダーと、コンプレックスデコーダーっていうものがあるの」
「二種類あるのか」
「そ。前に見せたけど、x64って信じられないくらい命令の数があるでしょ?」
「あの辞書みたいな説明書に載ってるやつだな、人を殺せそうな」
蒼の机の上にある分厚い本を思い出す。確か四千ページ以上あったはずだ。
「あははっ、確かにあれで殴られたら痛いかもね」
「次に星野先輩を起こすときにはあれを使いましょうか?」
「ごめんって……」
蒼はじとっとした目で星野先輩のことを見た。先週の寝ぼけた先輩による暴挙をまだ気にしているらしい。
「……話を戻すと、その中にはあまり使われなかったりするものもあるの。でも、そのためにデコーダーを大きくするのはいまいちでしょう?」
「確かにもったいないな。貴重なトランジスタをあまり使わない命令のために確保しちゃうのは」
命令数も千は超えるだろう、それを全部回路にしていくのは難しいのはよくわかる。使えるトランジスタの数に限りがあるなら尚更だ。
「だから、回路レベルで作りこんじゃうのは回路レベルで即デコードできる簡単な命令、またはよく出てくる命令だけ処理できるように抑えるの。これがシンプルデコーダー」
「でも、複雑なのが出てきたらどうするんだ?」
「回路で作りこむんじゃなくて、中にちっちゃいCPUを持たせちゃう。辞書みたいなデータを持ってて、それを引いてデコードするような仕組みになってるんだよ。これがコンプレックスデコーダー」
「なるほど、それで何が来ても大丈夫なようにするんですね」
星野先輩の言葉を受けるなら、よく出てくる命令以外はソフトウェアで処理するということになる。CPUの中にまで小さなCPUを埋め込むというのだから恐ろしい話だ。
「そーいうこと。まあ、それが今はおっそいんだよね」
「簡単な命令であれば、コンプレックスデコーダーもシンプルデコーダーを内包してるから五命令毎サイクルがきっちり出てるわ」
「ここのグラフの横線だな」
五、と数字が振られた場所には一本の横線。デコーダーの性能としてはこれが期待値、ということになる。
一サイクル、つまりは一クロックで五つの命令を同時に解読することが出来るということだ。
「だけど、こっちは終わってるわ」
「うーん、概ね百五十クロックくらい? 遅いねえ」
「……この地を這ってる線か」
一方、グラフの横軸と概ね一体化している場所にも別の色の線がある。こっちが複雑な、コンプレックスデコーダーでの処理が必要になるものの性能ということ。
数字にしてみると、百五十クロックで一つの命令だから百五十分の一命令毎サイクル。あまりにも遅い。
これでは、例え出てくる頻度が少なくても足を引っ張ってしまいかねない状況だ。
「そうね。星野先輩、何かアイデアあります?」
「うーん、コンプレックスデコーダーの回路はIPだったよね?」
「はい、なので手を出しにくくはあるんです」
「ちょっとあたしがIPのHDL見てみるよ。効率化できるところがあれば手を入れてみる」
「そんなこと出来るんですか?」
「うん、だってあれ初めて使ったのあたしだし。かなり読み込んであるから多分大丈夫」
「そういえば、『マイクロOP』に分解する設計をちゃんと実装したのって星野先輩でしたもんね」
確か、プログラムに使われるx64の複雑な命令をCPUの中で処理しやすい簡単な命令に分解するというのもデコーダーの仕事だった。そのことをマイクロOPと言う。
割とメジャーな構造らしいけど、それをうちの部で導入したのは星野先輩というわけだ。
であれば、デコーダーのIPに詳しくてもおかしくない。
「そゆこと。その時にね」
「そういうことであれば、ぜひお願いします」
「あと、マイクロOPキャッシュの実装も考えたんだけど……星野先輩、効くと思います?」
「マイクロOPキャッシュ?」
知らない単語が出てきたから、蒼に確認してみる。
「デコードって、CPUの中でだけ使える単純な命令に置き換えるじゃない?」
「ああ、そうだな。確かその後の回路で扱いやすい形式にするんだっけ」
それをキャッシュ、つまり一時的に保存しておくということだろうか。
「それを一時的に保存しておいて、その保存したデータをデコーダーの代わりに使うの。そうすれば、面倒な命令が来てもそこに入っていれば速くなるでしょう?」
「確かに、いちいちデコードしないでそこから解読済のデータを持って来ればいいんだもんな」
「うーん、確かにある程度は効果あると思うけど……実装はかなり難しいよ、早瀬ちゃんできる?」
「そんなに難しいんですか?」
「簡単に言うと、判断が難しいんだよね。メモリから持ってきた命令の番地と、既にデコードしてある命令の紐づけが複雑なんだよー」
「ちょっと試すだけ試してみようと思います。時間切れになったら諦める方針で」
「うん、それくらいでいいと思うな」
星野先輩でも難しいということは、本当にハードルが高い技術なのだろう。少し検討してみて、ダメなら次に行くというのは正しいアプローチに感じた。
「次にキャッシュね……追加したL3キャッシュ、本当に遅いわ」
「容量があるからねえ」
「仕方ないっちゃ仕方ないよな」
紙の辞書を引くとき、平均値を取ると辞書のページ数が多くなればなるほど目的の単語に辿り着くのに時間が掛かる。
それと同じで、データを一時的に保管しておくキャッシュメモリも大きくなればなるほど、目的のデータに辿り着くまでに時間が必要になってしまう。
このデータの遅延のことを『レイテンシ』と呼ぶらしい。これが大き過ぎると、データや命令をコアが必要としてから実際のデータが届くまでの時間が長くなり、結果としてデータや命令が届かない間CPUのコアは遊んでしまう。
一方で、キャッシュメモリはCPUの外に繋がるメインメモリよりはよっぽど速い。だから、入るデータは多いに越したことは無い。
小さい方が速いから、最近のCPUではCPUのコアに近い順にL1、L2、L3と順々にサイズが大きくなっていく階層構造を取っている。今回作るSapphire Coveコアも、三階層のキャッシュを持っていた。
蒼いわく、この容量と遅延のバランスをどうするかが、キャッシュ設計の腕の見せ所なのだという。
「でも、百サイクルってのはどうなんだ?」
「そう、まさにそこなのよ……せめて七十五サイクル程度には抑えたいんだけど」
「ランダムだと厳しいねえ。シーケンシャルは?」
ここでいうシーケンシャルは、順次読み出しのこと。番地の順にアクセスしてくれれば、『プリフェッチ』……先読みが効きやすくなって遅延が短くなるのだという。
この百サイクルというのは完全にランダムなデータを持ってきた時の例なのだろう。であれば、先読みはまともに効かずL3キャッシュ自体の性能が現れてしまっていることになる。
「ここ、コントローラーは内製なんだっけ」
「はい、といってもここの実装は実はMelonから変わってないんです」
「じゃあまだ改善の余地はあるかなあ……早瀬ちゃん、ここもあたし見てみるよ」
「お願いします。私はL0命令キャッシュを作れないか検討します」
「おお、いいね。L0が入ればさらに特性はよくなりそう」
「L0って、L1キャッシュよりさらにコアに近いキャッシュを作るってことか?」
「そうよ、今はL1キャッシュでも七クロック掛かってるから。これを三クロック遅延くらいで出せる一回り小さいキャッシュを置こうってわけ」
「命令キャッシュってことは、データには付けないんだな」
CPUの構造にはいくつかあるけど、命令の入口とデータの入り口が一つになっているものと別になっているものがある。最近のCPUは、コア部分だけ見るとそれぞれの入口が別になっている『ノイマン・アーキテクチャ』が主流で、蒼が作るコアも、L1キャッシュだけは命令とデータそれぞれに設けて分離している。
今回は、命令側だけにL0キャッシュを作るのだという。データにも付ければいいんじゃないかと思うんだけど、何か理由があるんだろうか。
「命令の方は、そこまで大きくないデータを反復して使うか順序に従った読み出しになりがちなのよ。だから小さい低遅延なキャッシュが効くの」
「逆にデータはわりと広い範囲から持ってこなきゃいけなくなりがちだから、どうしても容量の小さなキャッシュだと溢れちゃうんだよねえ」
「トランジスタ数を使うなら、効率のいい命令の方だけでいいってことですか」
「そういうことね。逆に階層がひとつ増えることで遅くなっちゃうこともあるし、付けなくてもいいものは削るに限るわ」
「わかった。コアの方はここから更に改良を入れていくんだな」
「星野先輩が来てくれたからテストにも時間がちゃんと取れるようになったし、シリコンバグもできるだけ減らせるよう頑張るわ」
「あたしも先輩だからねっ、いっぱい頼って!」
「……納期が厳しいとはいえ、出力が逆転してる回路を出してくるのは……」
「うわーんっ、ごめんってばあ! もう直したからあ!」
さらに高速化をするネタが色々あることはわかった。
それにしても、かなり色々な高速化のための技術があるんだな。今までもかなり色々と処理を高速化する設計の工夫をしていたように思ったけど、それだけじゃないらしい。
伊達に世界の天才たちが日々研究に明け暮れているわけではない、ということがよくわかる。
「というわけで、私は先によく効きそうなマイクロOPキャッシュをちょっと見てみます。星野先輩はIPのコンプレックスデコーダー、あとキャッシュコントローラーの方を宜しくお願いします」
「わかった、うーん……来週くらいまで時間貰えると嬉しいかな。他の作業と並行になるし、SMTの方もあるから」
「わかりました。では年末の試作までには今検討したのをできるだけ入れる方針で」
「あと二週間、うう……頑張ってみるよ」
論理設計組は今のところ順調に見える。納期に苦しんではいるけど、それはここだけじゃないし。
会議が終わってオフィスエリアに戻ると、そこは地獄だった。
「うおおお、何でオレまでイーノバス触ってるんだあ」
「むしろなんで使えるの……? 普通科で授業無いでしょ、これの使い方の」
「ちょっとな、まあ色々あって」
「……まあいいけどさ、とりあえず任せたよ。それ終わったら最後に統合チェックして、問題なければテープインだから」
ついには宏まで徴兵して、最後のチェックの途中のようだ。あいつ、なんで物理設計のソフトなんて触れるんだ?
「……邪魔しないようにしましょ」
「あー! 蒼いいところに! ちょっと手伝って、シミュレーション流すだけでいいから」
「えっ、私にもやることがあるんだけど」
「巻き込まれないように、そーっと、そーっと……」
「星野先輩も、今リスト送りました!」
「ええっ!? あっ、チャット来た」
「お願いしますう、今日だけですから……シミュレーション流してパスかフェールか記録してくれるだけでいいので」
「……武士の情けだ、助けてやってくれ」
「あ、弘治くんは氷湖の方お願い。今日テープインする準備が出来てるか再確認よろしく」
「ああ、任せてくれ。ちなみに悠は?」
「オレの代わりにBIOS書かせてる」
「アセンブラなんて嫌いだあ! もう二度と触りたくねえ!」
「道香は……おお、なにかに取り憑かれたみたいだ」
「ちょっと怖いくらいね」
「よーっし、何としてでも今日で終わらせる! アタシは早くテープインしてメモコンのIP触りたいんだあ!」
本気で集中モードに入っている道香を始めとして、使える人を全て使っていく総力戦になってしまうのも今日だけは仕方ない。
次の試作からはみんな勝手が判ってくるだろうし、もう少し余裕が出てくる……と信じよう。
食事さえもそこそこに、僕たちは必死で設計を進めていく。
夕暮れが間近に迫ったころには、全てのデータが出揃って。
「うーっし、パスしたあ! マスクデータ出来たよ!」
砂橋さんの歓喜の声が部室に響く。既に狼谷さんも準備してくれてるみたいだし、時間を取るのはもったいないな。
「皆も忙しいだろうからチェックは口頭でやっちゃうか。蒼、論理設計は?」
「全機能が入ってはいないけど、動かない系の致命的なバグはないはずよ。論理設計チームからはゴーを出すわ」
「砂橋さん、物理設計は?」
「全部チェックしたけど問題なし、新しいSADPのデザインルールで設計済み! シリコン面積は五百九十八平方ミリで規定内! クロックはトランジスタの出来次第だけど期待しないで、電力を無視しても三ギガヘルツ出ればいい方だと思う。ってことで、物理設計もゴー!」
「道香のインターポーザーとサブストレートは事前に発注済みだから問題なし。狼谷さん、製造は?」
「問題ない。IPの『テストシャトル』が昨晩上がって、チェックした」
「問題ないってことは、IPのところは少なくとも大丈夫ってことだよな?」
「そういうことになる」
「よかったあ、これで手戻りがあったら大惨事だったよ」
「さすがに問題があったらすぐに伝えてる。良品率はどれだけになるか作ってみないとわからないけど……半分くらいは動くはず。クロックは伸びない、次のアップデートまで待って。製造も、条件付きでゴー」
「よし、じゃあ早速作ってみよう。時間もあるから、試行錯誤からだ」
全員が頷くと、全ての処理が終わったマスクデータが共有フォルダにアップロードされる。
それを確認してから、狼谷さんはファブへと駆けていった。
とりあえず一番最初の一山は超えられそうだ。開発は、今のところ順調に進んでいる。
◇
「ただいまーっ!」
「もう、ここは家じゃないんだけどなあ」
「えへへっ。母さんが居るし、第二の家だよ」
季節はもう冬本番。
この日は風が強い一日だった。
雲間から見え隠れしている太陽は、窓から見える灰色の冬景色を物悲しく彩っていた。
その景色だけで僕は思い出す。
これは、前日の景色だ。
「病院が家だなんて、縁起でもないよ」
「だったら、早く元気になって退院してよ」
その言葉は、悲痛な僕の願いでもあった。
ここ数日で、なんとなく母さんの具合が悪くなっているように感じていたから。
前から白かった肌ではあったけど、その色がさらに薄くなっているように思う。まるで、今年ももうすぐ降るであろう雪のように。
「ふふ、確かにそうだね。私が早く元気にならないと」
「母さん?」
「何?」
「具合はどうなの? どこか体、おかしかったりしない?」
「うーん、相変わらずって感じだね」
絶対にそんなことはないと思った。
でも、金江さんから聞いたお医者さんの話でも数字は悪くなっていないらしい。当然、良くなってもいないけど。
「そっ、か」
だから、これ以上何も言うことが出来ない。
でも、僕は何だか心がざわめくのを感じていた。
なんだか、このまま冬の雪に紛れて母さんが消えてしまいそうな気がしたから。
冬の太陽が視界を白く塗りつぶして――
次に耳に入ってきたのは、雨の音だった。
「げ、今日は雨か」
体を起こすが、心は何処までも重い。
記憶を辿るこの旅のゴールは、間違いなく明日。
母さんの命日であることは、否定しようがない事実だった。
「おはよう蒼、悠」
「おーっす。うー、冬の雨は寒いなあ」
「おはよ、シュウ。寒いわね、早く部室で暖まりたいわ」
「もう雪は降ったんだから、雪のほうが嬉しいんだけどなあ」
「雪ならそんなに濡れないしなあ」
だから、このことを二人には伝えておくことにした。
この二人に迷惑をかけてしまうのは、やっぱりどこか申し訳ない。
「明日は、僕を置いて先に行っててくれないか?」
「そっ、か。明日は……あの日、だもんね」
「わかった、教員への言い訳は任せておいてくれ」
「頼んだぞ、悠」
毎年、母さんの命日の前後に体調を崩してしまうのが通例だったからだろう。悠も何も言わずに察してくれたようだ。
二人が大きく頷くのを見て、安心して学校へと向かう。
明日全てを取り戻したら、僕は一体どんな答えに辿り着くのだろうか。
それが、どこか怖く感じた。
新規登録で充実の読書を
- マイページ
- 読書の状況から作品を自動で分類して簡単に管理できる
- 小説の未読話数がひと目でわかり前回の続きから読める
- フォローしたユーザーの活動を追える
- 通知
- 小説の更新や作者の新作の情報を受け取れる
- 閲覧履歴
- 以前読んだ小説が一覧で見つけやすい
アカウントをお持ちの方はログイン
ビューワー設定
文字サイズ
背景色
フォント
組み方向
機能をオンにすると、画面の下部をタップする度に自動的にスクロールして読み進められます。
応援すると応援コメントも書けます