作品タイトル不明
第七十四話:最初のフロアプラン
翌朝。
白紙だった工程表には、線がいくつか引かれていた。
その隣に、高村が巨大な方眼紙を広げた。
「……で、どこから置く」
忠夫は迷わなかった。
「レジスタを中心に置きます」
方眼紙の中央を指で叩く。
西村が眉をひそめた。
「……中心にか?」
「ええ。全命令が触る場所です。演算器も、デコードも、ロードストアも、全部ここへ来る。ここが遠いと、配線遅延で全体が遅くなります」
西村はしばらく方眼紙を見ていた。腕を組む。
「……なら、演算器はここだな。隣接させないと遅延が起こる」
西村がシャープペンを取り、レジスタの右隣に四角を書いた。バレルシフタをその横へ置く。デコーダをレジスタの真上へ。
線が引かれていく。
◇
最初の壁が出たのは、翌日だった。
西村が顔をしかめる。
「……遠いな」
「どこがです」
「ロードストア側からレジスタまでだ」
方眼紙に引かれた一本の線が、明らかに長かった。
西村が消しゴムで削り、演算器を左へ寄せる。
すると今度はシフタ側が詰まった。
高村が首を振った。
「配線が交差する。配線層が足りんか」
論理では成立している。
だが、物理的に収まらない。それが半導体だった。
しばらく沈黙が続いた。
忠夫は方眼紙を見つめていた。
「命令デコードを縮めましょう」
高村が反応する。
「削るのか?」
「はい、マイクロコードを捨てます。論理回路だけで命令を直接解釈する」
西村の鉛筆が止まった。
「……後戻りできんぞ。それに、パイプラインはどうする?」
「フェッチ、デコード、実行。三段で切ります」
「三段か……分岐のたびに止まるぞ」
「いえ、一サイクルで済みます。段数を増やす方が制御が複雑になる」
西村が低く唸った。
「……それができるのは、命令が単純だからか」
「はい」
図面を見ていた今川が、小さく呟く。
「……命令を減らした意味が、ここへ来て繋がるのか」
西村が顔を上げる。
今川はレジスタ周辺へ引かれた線を見つめていた。
「複雑な命令を減らせば、制御回路が縮む。
制御が縮めば、配置も短くできる……」
そこで今川は顔を上げ、忠夫の目をまっすぐに見た。
「だが、ハードを削いだ分、コンパイラが全てを背負うことになるぞ」
忠夫が頷く。
「ええ。だから、その単純な命令だけで性能を引き出せるコンパイラとOSが必要です」
今川は小さく笑い、ホワイトボードへ向き直った。
「……面白い。いいだろう、今日から私たちは、この石のためのコードを書く」
命令体系の単純さが、ハードウェアの物理的な余裕を作りだしていた。
同時にそれは、ソフトウェア開発陣の過酷な戦いの始まりでもあった。
西村が再び鉛筆を走らせる。
「……よし。論理の無駄は削れた。あとは距離だけだ」