軽量なろうリーダー

作品タイトル不明

第八十八話:妥協点

開発室に突如として戻ってきた今川が、真っ先に放った要求は、あまりにも唐突だった。

「論理設計に追加してほしいものがある」

その一言で、部屋の空気が一瞬にして凍りついた。

しばらくして高村が、低い声で口を開く。

「……追加、とは」

今川はネクタイを乱暴に緩めながら、脇に抱えていた連続帳票を座標リストの束の上へ叩きつけた。

「ああ。高村さん達も知るように、私は論理設計が完了して以来、四月から東大でOSの開発を進めていた。約束した通りRISCチップの詳細は伏せたまま、学生たちに各機能を分担させてな」

今川は印字された膨大な数字の列を指差した。

「そして、実身・仮身のリンクを辿る処理を大量に流し込み、タスク切り替えを徹底的にシミュレーションした。その結果がこれだ」

開発室の全員が紙を覗き込む。

「今の設計では、割り込み時のレジスタ退避処理がボトルネックだ。リアルタイムOSとしての応答性が失われる」

今川は一枚の紙を取り出した。

「タスク切り替え時の退避処理を高速化したい。だから、CPUコアの中でコンテキスト保存をまとめて行う専用命令を追加してほしいんだ」

その言葉が落ちた瞬間だった。

「ふざけるなッ!!」

大門の怒号が響いた。

普段は冷静な彼が、椅子を蹴り倒さんばかりの勢いで立ち上がる。

「今さらそんな話があるか!」

机の上の座標リストを叩く。

「マスターセルは完成した。座標リストも完成した。こっちは三ヶ月かけてセルの配置を積み上げてきたんだ!」

さらに声を荒げる。

「レジスタ周りを触れば配線が変わる。配線が変われば配置が変わる。配置が変われば座標リストは作り直しだ!」

「大門さんの言う通りだ」

西村も青ざめた顔で立ち上がる。

「先生、それはソフトウェア側の工夫でなんとか……」

「ごまかせないからタクシーを飛ばしてきたんだ」

今川も一歩も引かない。

「既存の石と同じように『ソフトで妥協する』なら、我々が一緒に新しいアーキテクチャを作っている意味がない」

「これを、やらなければリアルタイム性は担保できない」

今川の言葉に、誰も返せなかった。

開発室に重い沈黙が落ちる。

大門は腕を組み、高村は額を押さえている。

どちらの言い分も正しかった。

レイアウトを守らなければチップは完成せず、OSの要求を無視すれば協調設計の意味がない。

重い沈黙の中、忠夫はホワイトボードのフロアプランを見つめていた。

レジスタファイル、ALU、制御回路。

三ヶ月かけて積み上げたこのパズルは、コア内部に一つでも回路を足せば完全に崩壊する。レジスタ増設も専用回路も駄目だ。歩留まりが落ち、スケジュールも吹き飛ぶ。

忠夫の視線が、図面の中央から端へと動いた。

コア周囲の余白。配線用に残された空き領域。

(……そうか)

必要なのはレジスタではない。

ただの「保存場所」だ。

「……少しいいですか」

忠夫が顔を上げた。

全員の視線が集まる。

忠夫は椅子から立ち上がると、ホワイトボードへ歩いた。

「今川先生の求める『専用命令』はコア内部には作れません」

ペン先がコアの外側へ向かう。

「ですが――退避先なら作れます」

忠夫はCPUコアの外周に小さな四角を描いた。

「コア内部ではなく、外周のデッドスペースに退避専用の『擬似SRAMブロック』を配置します。容量は64バイト。これならコア内部の座標リストには一切触れません」

「……確かに、外周部にセルを押し込むだけなら致命傷にはならねえ」

小林が無精髭を撫でながら言った。

「だが、擬似SRAMの速度が追いつくのか? あれは結局、中身がDRAMだ。通常の書き込みじゃ受け止めきれねえぞ」

「同期転送を使います。擬似SRAMの連続アクセス特性を活かして、ブロック転送を行うんです」

「ブロック転送……アドレス指定を最初の一回だけで済ませるのか」

小林が呟くように言った。忠夫は深く頷く。

「はい。毎回データの宛先を確認する手間を省き、16本のレジスタをひたすら隣の番地へ連続で流し込み続ける。これなら配線を増やさずに、退避時間を大幅に短縮できます」

今川の目が大きく見開かれた。

コアの配置を崩さず、擬似SRAMの物理特性をシステム全体で使い倒す。

「……今川先生。コンパイラ側で、タスク切り替え時に必ずその転送命令を自動的に吐き出すように修正できますか?」

今川はしばらくホワイトボードを見つめ、不敵な笑みを浮かべて頷いた。

「……できる。コンパイラを少し弄れば可能だ。だが、本当にそこまで速くなるのか?」

「数十サイクル程度で済む見込みです。ソフトウェアだけでメインメモリに退避させるのに比べれば、圧倒的に速いです」

高村が煙を吸い込み、技術者たちを見渡す。

「……聞いたな。大門、西村、お前らのブロックはそのまま続けろ。小林、ロード・ストアのリストの端にシーケンサのセルを割り込ませろ。関根は追加セルを引くんだ」

「おう」

小林が笑い、関根が首を鳴らす。大門も大きく息を吐き出し、乱暴に椅子を引き寄せてシャーペンを握り直した。

ハードとソフトが激しくぶつかり、そして融合していく。

開発室の熱が、また一段階上がった。