Arantium Maestum

プログラミング、囲碁、読書の話題

1byte = 8bitsにしたのは「人月の神話」のフレッド・ブルックス?

少し前にTwitterで「面接で『なんで1byteって8bitsになっているのか?』と聞くといい」というツイートが話題になっていた。

それを見た時は「まあ8bitsだとは限らないよね、現在主流のアーキテクチャがそうなってるだけで」と思っただけで終わったのだが。

最近Edsger W. Dijkstra: a Commemorationという文章を読んでいて、IBM System/360について触れられていた。(ダイクストラは「360が発表されたのは私の職業人生で最悪の日だった」「360によって計算科学の進歩は10年遅れた」と言っていたらしい)

その関係で少し調べていたら、どうやら1964年に発表されたSystem/360が1byte = 8bitsを主流にした決定的なプロダクトラインであったことがわかった。そしてSystem/360の開発マネージャをしていたのは、「人月の神話」という著作で有名なフレッド・ブルックスだった。

開発マネージャだから「1byte = 8bitsにした」というのは言い過ぎ、と考える向きもあるかと思う。しかし、この決定に関してフレッド・ブルックスはかなり積極的に関与していたようだ。

2015年のCommunications of the ACMでフレッド・ブルックスのインタビューがあった:

cacm.acm.org

その「Designing the System/360」の部分で

There was one very big difference. Gene's machine was based on the existing 6-bit byte and multiples of that: 24-bit instructions and a 48-bit instruction or floating point. Jerry's machine was based on an 8-bit byte and 32-bit instructions, so 64-bit and 32-bit floating point. This is not a real happy choice. There are strong arguments each way, but you want your architecture to be consistent. You are not going to have an 8-bit byte and 48-bit instruction floating point word.

It was our biggest internal fight. Gene and I each quit the company once that week, but Mannie Piore, the senior scientist in the company and a person of great wisdom, got us back together. I had made the decision for the 8-bit byte. Gene appealed to Bob; but Bob affirmed it.

とある。Geneというのはジーン・アムダールのことで、彼がSystem/360のチーフ・アーキテクトだった。(ちなみに並列実行によるプログラム高速化において並列化できない部分がボトルネックとなって高速化を制限する、という「アムダールの法則」の提唱者)

System/360というIBMの今後の統一的なアーキテクチャを決定するためのプロジェクトで、「IBMの過去のアーキテクチャで採用されていた6bitか新しい8bitか」という点でチーフ・アーキテクトとプロジェクトのマネージャがお互い進退をかけてぶつかって、その結果ブルックスの主張が勝った。(ちなみにBobというのはSystem/360プロジェクトを始めることを決定したData Systems部門長のBob Evans)

その後System/360のプロダクトラインは売れに売れて、すでにコンピュータ界の巨人だったIBMの覇権の持続に大きく寄与した。(七人の小人と言われた競争相手に対して、シェア7割を維持し続けたらしい)

現代のコンピュータアーキテクチャに多大な(ダイクストラによれば進歩を10年遅らせるほどの・・・)影響を与えたSystem/360。そのプロジェクトでの「1byte = 8bits」という選択が60年近く経った今も主流のままでいる、というのが真相のようだ。まさにその点で争って勝った、という意味でフレッド・ブルックスの「功績」であると言えるのではないか。(ただし8bitが主流になった後の本人によるインタビューがソースなので、その分信憑性は差し引く必要があるが・・・)