第二十五話:シリコンの鼓動
昨夜、泊まり込もうとする忠夫を、坂村は半ば押し出すように帰宅させた。中学生を両親の許可なく泊まらせるわけにはいかなかったからである。
その忠夫は、翌朝八時にはすでに研究室の前に立っていた。
「おはようございます、先生。これ、父と母の承諾書です。あと、当面の着替えも持ってきました」
差し出されたルーズリーフには、丁寧な筆致で「宿泊実習への参加を承諾します」との文面と、両親の署名捺印があった。昨夜帰宅してから、どれほどの熱量で両親を説得したのか。坂村はその紙を受け取り、苦笑しながらも忠夫の覚悟を真っ向から受け止めることにした。
「……わかった。だが、無理は禁物だぞ。食事と睡眠は、私の指示に従ってもらうよ」
「わかりました」
坂村の言葉に力強く頷き、忠夫は研究室へ足を踏み入れた。
二人の視線はすぐにデスクに広げられた仕様書へと吸い寄せられた。
「‥‥さて、先ずは話の整理をしよう。このチップ、演算能力は私の想定の半分以下だ。私が考えている次世代OSの基本モデルをそのまま載せれば、起動した瞬間にパンクする。ワークメモリも、わずか二キロバイトだ」
二キロバイト。本格的なプログラムが「管理領域」を作るだけで使い果たしてしまうほどの、あまりに狭い「箱」だった。坂村が温めていた「理想のOS」をそのままこの小さなチップに詰め込むことは物理的に不可能。それが、コンピュータ学者の目から見た現実だった。
「わかっています。だから……先生の理論をなぞるんじゃなく、ここで新しく『書く』んです」
忠夫はカバンを置くと、迷わずホワイトボードの前に立った。
「汎用的な機能はすべて捨てます。ファイル管理も、複雑なメモリ保護も要らない。このOSの仕事はただ二つ……『一ミリ秒の狂いもなく画像を動かすこと』と『コントローラーの入力を一クロックで処理すること』。それだけに特化した、世界で最も贅肉のないリアルタイムカーネルを作ります」
忠夫の手が、キーボードの上で踊るように動き始めた。モニターに映し出されるのは、人間には到底理解できない数字とアルファベットの羅列。プロセッサが直接理解する、剥き出しの「アセンブラ」だ。
「ハードが貧弱なら、ソフトがその手足になればいい。チップが座標計算を終えるタイミングをOSが完全に予測し、1クロックのズレもなく次の命令を先回りして置いておく。ハードとソフトの境界線を消すんです。チップが『次はどうすればいい?』と迷う隙を与えないほど、密着して制御する」
坂村は、忠夫が画面に叩き出すコードの断片を見て、息を呑んだ。
それは学問的な「美しさ」とは無縁の、泥臭く、しかし狂気的なまでに最適化された職人芸だった。1クロックでも計算が狂えば、画面のキャラクターは震え、ゲームは崩壊する。
忠夫は、シリコンという物質の限界を、現代の知識でねじ伏せようとしていた。
「佐伯くん……君は、OSに『呼吸』をさせようというのか。チップの鼓動に合わせて、プログラムを同期させるつもりか?」
「ええ。ハードウェアの鼓動と、OSの呼吸を完全に同期させます。そうすれば、このチップは化けますよ。……先生、これが僕たちの次世代OSです」
研究室に、高速な打鍵音だけが響き続ける。
二人の研究者によるデスマーチが、本当の意味で幕を開けた。
三日目の午後。
研究室の扉を叩く、硬い音がした。入ってきたのは、佐藤に案内されたリコーの設計担当者たちだった。彼らは、昨日坂村が電話で伝えた「ソフトウェアによるハードの欠陥補完」という構想を詳しく聞くために、わざわざ本郷までやってきたのだ。
だが、彼らが目にしたのは、整然とした教授のデスクではなく、床にまで溢れんばかりのソースコードの束と、狂ったようにキーボードを叩く一人の少年だった。
「坂村先生、お伺いしたい……」
リコーの主任技師が、戸惑いながら口を開いた。
「昨日お電話で仰っていた『タイマー割り込みによる精密制御』。理論上はわかりますが、6502は実行中の命令によって割り込みタイミングが数クロック分、不規則に揺らぎます。そのズレをどうやって抑え込むつもりですか?」
技師の問いに、忠夫の手が止まった。
彼は振り返ることなく、画面を見つめたまま呟いた。
「……リコーさん。このチップ、ページ境界を跨ぐときに必ず一クロック遅れますよね? オリジナル設計の時からある、第十二ラインのキャリー計算待ちによる空回りの読み込みだ。僕は、その揺らぎが起きる瞬間をすべて逆算して、OS側に可変の待ち時間を挟みます。ハードの揺らぎを、ソフトの計算で相殺する。これで、割り込み周期は完全に固定できます」
研究室が、一瞬で凍り付いた。
それは、このアーキテクチャの根源的な「癖」だった。「不規則なノイズ」として諦めていた挙動を、数学的な確定要素として御してみせようとする少年。
技師達は、ごくりと唾を飲み込んだ。




