軽量なろうリーダー

作品タイトル不明

第六十七話:命令の形

全員が立ったまま、ホワイトボードに書かれている「32ビットの枠」を凝視している。

高村がマーカーを走らせた。

「……命令フォーマットからいく」

四角い枠が、いくつかに分割される。

「三十二ビット固定長でいく以上、ここにすべてを押し込むことになる。オペコード、レジスタ指定、即値――これをどう割り当てるかで、すべてが決まる」

関根が一歩前に出た。

「レジスタを三十二本にするなら、一本の指定に五ビット必要です」

「演算命令はソースが二つ、書き込み先が一つ。三つ指定すれば、それだけで十五ビットが消えます」

西村が低く、計算結果を叩きつけるように言った。

「残りは十七ビット。ここからオペコードを引けば、即値に回せるのは十ビットそこらだ。……余裕は、どこにもないな」

小林が腕を組み、ホワイトボードを睨みつける。

「命令を増やせばオペコードが足りなくなる。かといって即値を広く取れば、今度はレジスタが苦しくなる。……どこかを削るしかねえ」

沈黙。

忠夫が一歩前に出た。

「なら――形式を分けるのはどうですか?」

ホワイトボードの枠に、一本の線を引く。

視線が集まる。

「レジスタ同士で演算する命令と、即値を使う命令を分ける。無理に一つに詰め込まなければ、無駄なビットを減らせます」

関根がすぐに頷いた。

「……確かに。即値を使わない命令なら、その分を他に回せる」

西村が続く。

「デコードも単純になるな。命令の先頭を見れば、残りをどう扱うか決められる。回路が迷わない」

小林がホワイトボードを見ながら低く呟いた。

「……だが余白は、まだ足りねえな」

沈黙。

高村が振り返った。

「なら、優先順位を決める。――速さか、柔軟性か」

誰もすぐには答えなかった。

「柔軟性」を選べば、命令一つで複雑な処理ができる「気が利くチップ」になるが、回路は複雑になり、動作は重くなる。

「速さ」を選べば、命令は単純になるが、その分だけ猛烈なスピードで高回転させることができる。

やがて――。

忠夫が口を開いた。

「速さです」

一拍。

「CPUがどれだけ速くても、データ待ちで止まれば意味がない」

静かに、だが迷いのない断言だった。

中途半端に賢いエリートを作るより、弾丸のように速い最速のマシンを作る。その決断に、高村はわずかに頷いた。

「なら、決まりだ」

マーカーが走る。

三十二本を前提にした枠が削られ、線が引き直される。

案が、仕様に変わっていく。

「……レジスタは十六本だ」

誰も異論はなかった。

高村はペンを止めずに言う。

「次に進む」

ホワイトボードの別の場所に、新しい枠が引かれる。

そこから先は、もう試行ではなかった。

設計が、動き出していた。