現在地

パーソナルなコンピュータの数値演算事情 (第1回:パーソナル以前)


カテゴリー:

今は汎用の(組み込みではない)コンピュータでは最低でも32ビットの整数が扱え浮動小数点演算もハードウェアでサポートされるのが当たり前になっています。

今回はこのあたりの事情について何回かに分けて書いていきたいと思っています。

第1回は個人で使えるようになる以前の話です。

まずは黎明期の有名なコンピュータをいくつか挙げてみましょう。

名称 素子 語長 備考
1946 ENIAC 真空管 10進10桁 プログラムはパッチパネル
1949 EDSAC 真空管 17ビット
1951 EDVAC 真空管 44ビット 後に浮動小数点演算装置を追加
1954 UNIVAC 120 真空管 10進10桁 近代科学資料館に展示あり プログラムはパッチボード
1956 FUJIC 真空管 32ビット 国立科学博物館に展示あり
1956 FACOM 128 リレー 仮数部10進8桁 指数部10進2桁 浮動小数点 池田記念室に改良型のFACOM 128Bが現存(動態) プログラムは紙テープ・カード
1956 ETL Mark III トランジスタ 16ビット 研究用
1957 MUSASINO-1 パラメトロン 40ビット NTT技術史料館に改良型のMUSASINO-1Bあり
1957 ETL Mark IV トランジスタ 10進6桁
1958 PC-1 パラメトロン 36ビット
1959 TAC 真空管 78ビット 浮動小数点 東芝未来科学館に一部が現存

だいぶ偏っているのは実機を見たもの・資料のあるものを優先したためです。

これを見て驚くのは少しでも素子数を減らしたい真空管やリレーの時代から語長がとても長いことです。それも現在のように語長を長くすればその分パフォーマンス的に有利になる(もちろん当時もそういう側面はあったでしょうが)、というよりはアプリケーションが必要とする桁数を実装しているように見えます。

一つには桁で分けて繰り返すという発想があまり無かったのではないかと思われます。

だいぶ後のことになりますが、Intel 4004誕生のきっかけになったビジコン社の依頼も当初は1命令で全桁を処理する計画だったようです。Intelが当初計画のまま製造する能力がもしあったら歴史が随分変わっていたかもしれません。

それとも関連して初期から浮動小数点演算を実装しているものもありますね。
10進(2進5進なども含む)も意外に多いことがわかります。中にはメモリアドレスも10進というビックリなものもありました。

もう一つはメモリが非常に高価な資源だったということもあるでしょう。貴重なメモリを桁ループのプログラムなんかには使えないというわけです。

この頃はビット表現も多様でした。

2進でも負数を2の補数で表すか1の補数で表すかといった違いがありましたし、10進では正数の表現だけでも多数ありました。

  • 0~9を0000~1001で表す、いわゆるBCD符号
    これは今でも普通に使われますね。
  • 3を足して0011~1100で表す「3増し符号」
    減算がしやすい、四捨五入が簡単といった特徴があります。
  • 5を表す1ビットと1~4を表す4ビットを組み合わせた「二五進法」
    そろばんと似ていますが、5ビット必要になってしまいます。
  • 5を表す1ビットと0~4を表す3ビットを組み合わせた「二五進法」
    これもそろばん風ですが4ビットで済みます。

これら以外にも特殊なものがあったようですし、さらに負数の表現や誤り検知のための冗長ビットがあったりと混沌としています。

1960年代に入ると試行錯誤の時代は終わって16,32ビットといった見慣れた語長が多くなります。

12ビットというのも結構ありました。8×2nから外れているので違和感がありますが、意外と使いやすいのではないかと思います。
アナログ信号をA/D変換する場合8ビットではさすがに不足しますし、16ビットだとノイズ対策などが大変になります。10進換算で3桁の有効数字ですから、計算尺が普及したことを考えるとこれで十分な用途は結構あったのではないでしょうか。
文字コードとしても半分の6ビットあれば大文字+数字+記号が表すことができます。

参考文献・関連図書: 
高橋秀俊(1972)『電子計算機の誕生』中央公論社.
相田洋(1996)『電子立国 日本の自叙伝 6』日本放送出版協会.

コメントを追加

Plain text

  • HTMLタグは利用できません。
  • ウェブページアドレスとメールアドレスは、自動的にハイパーリンクに変換されます。
  • 行と段落は自動的に折り返されます。
※ コメントは原則公開です。個別のご相談などは「ご意見・ご要望」からお願いします。