トップ よくある質問 作者ブログトップ お問い合わせ・ご注文

なぜ11ビットなのか

FullTr-11は11ビットのコンピュータです。
データ幅、アドレス幅、レジスタサイズ、ALUサイズ、プログラムカウンターサイズの全てが11ビットです。

では、なぜ11ビットなのでしょうか。
世間のコンピュータは、32ビット・16ビット・8ビットなどです。
FullTr-11は、どうして11ビットなどという半端な数字なのでしょうか。

実は、真に合理的な理由は存在しません。究極的には作者の好みです。
でも、なぜ好みかという理由は一応あります。
今回はそのあたりを解説していきたいと思います。

そもそも、世間一般のコンピュータ、というよりCPUが、64ビットや32ビットのように、2のべき乗のビット数を持つのは、集積回路を作るのに便利だからです。
回路の多くは同じパターンの繰り返しであるわけですから、1ビットを2回繰り返して2ビット、それを2回繰り返して4ビット・・・となる感じです。
汎用ロジックICでも同様で、同じ回路が2個入りとか4個入りとかいうものが多いです。
これらを組み合わせて作ると、ビット数は4の倍数になります。

しかし、3本足のトランジスタで作るならば、こういった制約はなくなります。
何ビットでも好きなビットを選べます。
ならば、過去になかったビット数のコンピュータにしようと思いました。
一応、「世界初のナントカビットコンピュータ」という言い方ができるわけです。
まず、偶数でなく、奇数のビット数にしよう、更に、素数のビット数にしようと考えました。
別に、素数にしたら良いことがあるとか、そういうことはありません。単なる無意味なこだわりです。

素数となると、3,5,7,11,13,17というあたりになります。
3ビット,5ビットあたりだと、ビット数が少ないので、CPU自体を作るのは楽ですが、1命令あたりの処理量は減ります。
その結果、ビット数が大きい場合と同じ処理をするためには、必要なプログラムが長くなります。
処理速度は遅くなる上に、必要なメモリのサイズが大きくなり、最終的に必要な基板のサイズは、ビット数が大きい場合とあまり変わらなくなってしまいます。

そもそも、3ビット・5ビットなどというコンピュータでは、チャチなおもちゃのようなものとみなされかねません。
どうせ作るなら、ちゃんとしたコンピュータと思ってもらいたいものです。
最低でも8ビット以上は欲しいです。
となると、11ビットが選択肢になります。
実際にちょっと設計してみると、11ビットであれば、機能単位に分けて50cm×40cmの基板内に収められそうですが、これよりビット数が大きくなると、基板内に収まらない感じです。

そういうわけで、ビット数は11ビットに決まりました。
念のため調べてみると、11ビットのコンピュータというものは過去に存在しません。
「世界初の11ビットコンピュータ」と堂々と言えます。
(もっとも、恥ずかしいので実際にはあまり言わないつもりですが)

なお、「世界初の奇数ビットコンピュータ」とか、「世界初の素数ビットコンピュータ」とは残念ながら言えないようです。
ごく初期の、真空管式のコンピュータにEDSACというものがあります。 これは17ビットのコンピュータです。
正確には、根本的な部分では18ビットで設計され、そのうちの1ビットは使用されない仕組みだったのですが、結果的に奇数にして素数のビット数のコンピュータということになります。
もっとも、その当時、つまり1949年において、CPUが何ビットという概念は明確な形では存在しなかったようです。
現在でもCPUのビット数の定義はあいまいな部分があります。
FullTr-11も実はオペコードは5ビットで、これが11ビットのオペランドの前につくので、命令長は16ビットです。
思いっきり2のべき乗になってしまっています。
でも、素数と素数の和は偶数ですから、オペコードの長さを素数にすると、命令長は素数になりません。
オペコードを11ビット内に含めて、命令長を11ビットにすることはできますが、そうすると、オペランドは6ビットになり、これは偶数です。
徹頭徹尾素数にするのは不可能なのです。
オペランドをCPUのビット数とすることはないので、6ビットでも別に問題はないかもしれませんが、6ビットでは、即値として使うときにはちょっと不便なケースが出てきます。
まあ、一般的にはデータ幅をCPUのビット数としますので、11ビットと言っても嘘にはならないでしょう。

何がともあれ、トランジスタコンピュータは11ビットに決まりました。
次は製品名を決めました。
全部トランジスタということで、FullTrという名前にしました。
ところで、中日電工さんのMyCPU80とか、がたろうさんのRETROF-16は、アルファベット+数字、の組み合わせです。
FullTrの後にも数字をつけようということで、11ビットコンピュータですから、FullTr-11になりました。

FullTr-11...。
こうやって眺めてみると、伝説のコンピュータPDP-11みたいです。
いい感じです。一人で悦に入ってしまいました。
PDP-11はUNIXの母体となったコンピュータで、Windowsにも間接的に大きな影響を与えています。
もっとも、PDP-11は11ビットではなく16ビットであり、トランジスタ式コンピュータではなく汎用ロジックICで作られています。
11はただ単に、PDPシリーズの11番目というだけのことです。
まあ、でも、数字だけでも、往年の名機にあやかれるというのもうれしいもの。
私自身はPDP-11の実機を見たことも触ったこともないのですが。

そんなわけで、様々などうでもよさそうなこだわりの上で11ビットになったのですが、やはり11ビットが最適だったと現在でも思います。
製品全体のバランスからみて、複数の大型基板に機能を分割し、かつ特定の基板だけが無駄に大きくならず、トランジスタが林立する壮観さを有し、ある程度意味のある処理ができる、の全てを兼ね備えるのは11ビット以外になかった。
そう言えます。


前回へ      次回へ