トップ > しごと > 著作 >

ビー玉計算機

Marble Computer

西村 和夫
NISHIMURA, Kazuo
nishimura@komazawa-u.ac.jp


演算素子(動画)
図 2. 演算素子

FA(動画)
図 3. 全加算器 FA

図1.の原図
図 1. 全体の構成 (2 進 3 桁の加算器)

掲載 1: 西村和夫「ビー玉計算機」 『コンピューティングの歴史』夏のプログラミング・シンポジウム, 情報処理学会, 1996-07-23〜25, pp. 89-95.

掲載 2: 情報処理学会 > コンピュータ博物館 > ライブラリ > 解説・論文等 > 夏のプログラミング・シンボジウム「コンピューティングの歴史」 > ビー玉計算機 (掲載 1 の PDF) (2025-05-17 追記)

要約
筆者らは 1968 年に鋼球を使った計算機を作った.鋼球の有無によってビッ トを表現し,その落下を回転する板金によって制御する加算器であった.コン ピュータの動作原理を理解するためには,現在でもこの種の計算機が有効であ ろう.

ABSTRACT
In 1968, the author and his collaborators built a "marble computer" (or pinball computer). Although it only realized a three-bit adder, it used the same techniques as real electronic computers, such as binary representation and timing pulses for carry processing. Each bit was represented by a steel ball, whose drop was controlled by flaps. This type of computer is still considered useful for understanding the logical operations of electronic computers.

1. はじめに

 筆者らは,1968 年に(高校の同好会で)鋼球を使った加算器を作った [1]. 鋼球を電流の代わりに用い,重力を動力源とし,論理演算素子(AND, OR)と して回転する板金を使った,加算器であった.わずか 3 ビットの加算器では あったが,2 進法の使用,繰上がりの処理,タイミングパルスの発生などの点 は,本物の電子計算機と同じであった.その仕様を表1に示す.加算器だけ でなく,乗算器や比較器も作れるはずである.

 鋼球を使っていたので,鋼球計算機と呼ぶべきかもしれないが,当時の呼称 に従って“ビー玉計算機”としておいた.設計段階では,水流,電流,光など を使うことも考慮した後,ビー玉を使うことにしていた.製作段階で1部員が 大きな鋼球を調達してきたので,安全性と見栄えの点からそれを用いることに した(文字どおり1ビットずつが輝いていた).

 コンピュータの動作原理を教育し理解するためには,現在でもこのビー玉計 算機が有効であろう.とくに児童には,動作が直接目に見えない電子回路より も,鋼球の動きのほうが論理素子の機能を直観的に理解しやすいと思われる. ビー玉計算機を開発した動機は,まさにその点に置かれていた.

 ビー玉計算機は,“コンピューティングの歴史”の主流にあったわけではな い.開発当時には,すでに電子計算機があった.しかし,日本のコンピュー ティング“教育”の歴史を考えるときに,この計算機の存在事実を公表し,記 録しておくことには意義があろう(当時の新聞に掲載されたらしいが,筆者は 見ていない).

表1.ビー玉計算機の仕様
要 素説  明
数の表現 2 進法. 0 = 鋼球がない, 1 = 鋼球がある.
入力 3 けたの 2 進数が二つ(3 個以内の鋼球による数が 1 組)
出力 4 けたの 2 進数が一つ
動力源 重力
演算素子 L字形に曲げ角に回転軸をもつステンレス版など
繰上がりと
タイミングの
伝達手段
(ひも)とラッチ
構成 半加算器 1,全加算器 2,タイミングパルス発生器 1
大きさ 縦 90cm × 横 200cm 程度
計算速度 9 秒程度(わざと遅くしてあった)

2. 構成と動作

   (↓下の図をクリックすると,図が別画面に開きます.)
全体の構成
 全体の構成を図1に示す.各桁(けた)の全加算器(最下位は半加算器) はユニットになっており,ベニヤ板に数センチ幅の板を取り付けて作った (図3 動画).その上の 3 箇所にステンレス板の演算素子(図2 動画)がある.拡張性 と見やすさを考慮し,各ユニットは水平に並べた.そのため,繰上がりは紐 (ひも)で伝達しなければならなかった.

演算素子 全加算器 FA

 加える 3 ビットの数 a, b の 2 進表現を,それぞれ (a2 a1 a0),(b2 b1 b0) とし,これらの和を (x3 x2 x1 x0) とする.加算で生じる第 k 桁への 繰上がりを ck で表せば,x3=c3 である(図1).

 動作は次のとおりである.準備として,加える 2 数 a, b の各ビット (1/0)を鋼球のあり/なしで表現し,各桁のユニットに置く.各桁の鋼球 ak, bk は針金のストッパに引っ掛かって止まり,すぐには落ちていかない (図3 動画).2 数のほかに繰上がりの候補となる鋼球を全桁に置いておく(最下 位にはない).下位の桁からの繰上がり ck があれば(つまり紐が引かれれば), この鋼球が少し転がり,先のストッパで止まる.

タイミングパルス発生器

 タイミングパルス発生器(図4)に開始の鋼球1個を落とすと,自動的に 下位の桁から順に加算が行われる.第 k 桁にタイミングパルス tk が来ると (紐が引かれると) ak, bk, ck の合計 0〜3 個の鋼球が動き出して,その桁 の計算が始まる.通常の電子式の全加算器とは異なり,各桁の入力が ak, bk, ck の状態(1/0) によって 8 とおりあっても,動作のしかたは鋼球(1)の 個数に従った 4 とおりしかない(表2).見方を変えれば,各桁の加算は鋼 球が転がり始めた時点で完了していて,あとは 2 進カウンタによって,鋼球 の個数を 2 ビットの2 進数に変換するだけともいえる.

表2.各桁の入力と出力
入力
ak, bk, ck
繰上がり
ck+1
 出力 
xk
0 個 0 0
1 個 0 1
2 個 1 0
3 個 1 1

3. おわりに

 当日の質問から想像すると,この計算機の調整に苦労したと思われていた ようだ.調整は容易であったし,動作は極めて正確であり,計算誤りをする ことはなかった.それは,計算の速度を追求しなかったからである.すべて の調整を閾値ぎりぎりにはしないで,余裕をもたせた.たとえば,繰上がり が次の桁に送られてから一呼吸おいて次の桁の加算が始まるように,タイ ミングパルスを調整した.遅延回路も同様であり,遅すぎて困ることはない ので,充分に余裕をみた. (2004-10-29 追記)

 ビー玉計算機が実在した証拠は,参考文献 [1] しか残っていない.もし 記憶している方があれば,掲載されたという新聞紙名だけでも教えていただ けるとありがたい.(“新聞で読んだ”という十条中学校の教諭に請われて 運搬した記憶がある.当時の 3 大紙と日経新聞,文京区区報にあたったが, 発見できなかった.) 写真もどこかにあるのではないだろうか.発案の基に なった製作当時の参考文献 [2] は,紛失している.もう一度見てみたいもの である.

 ビー玉計算機は,東京都立小石川高校の創作展(文化祭)に展示した(表 3).製作したのは,数理研究会(同好会)の部員である(表4).展示では, 2 進法を説明するのに苦心した.2 進法が理解できないと,ただの将棋倒し になってしまう.

表3.製作時期
時  期 作  業
1968年 3月14日以前 概念設計
4〜8月 製作(主に夏休み中)
9月28日 創作展(学園祭)に展示
表4.製作者
東京都立小石川高校 数理研究会 部員(五十音順)
1 年生 井戸 由美子,川瀬 和恵
2 年生 鴨田 芳明,高野 晃,竹下 勝人,西村 和夫,森 正縁

 なお,同時にリレー計算機も製作したことを報告しておく.翌年には,独 自の記憶方式を用いた迷路を抜けるロボットも作成した.これは卒業アルバ ムに写真が残っている.

 最新の技術では,電子1個のありなしで1ビットを記憶できるようになっ たという.ビー玉計算機のようなものが電子を対象にして実現できるのかも しれない. (2019-05-30 追記)


謝辞: 筆者の企画を手伝ってくれ,夏の盛りにアイスキャンディーをかじ りながら鋸をひいてくれた部員の方々に改めて感謝いたします.


参考文献

[1]  躍動(創作展プログラム),小石川高校生徒自治会,東京,1968,p. 9.

[2]  書名不祥.鉄腕アトムが挿し絵になっていたコンピュータの解説書(論理演算,全加算器などが説明してあった).




【当日の質疑から】

和田英一先生: その時代に各所で同様の計算機を製作している.東京大学で もどこかの研究室が製作し,“パチコン”と呼んでいた.(笑)

筆者: その製作時期は,このビー玉計算機より早かったか.

和田英一先生: 後だったと思う.

安井裕先生: 1個目の鋼球の遅延回路の調整はどのように行ったのか.

筆者: 斜面を仮留めして行った.1桁の全加算器を調整しておき,他はその 寸法を写した.


【感想】

 和田英一先生のご発表によると,東京大学高橋研のパラメトロン計算機 PC-1 は,1958 年当時すでに繰上がりの先読みを施していたという.筆者は学生時 代に先読みの技術を知って感心したが,そんなに古い時代の技術であったとは 驚異的である.しかし,素子の速度が遅い時代だったから,逆に少しでも速く する工夫が求められたのかもしれない.
 このビー玉計算機は,解りやすさを目指し速度を無視していたので,先読み の発想がなかった.もし大掛かりなビー玉計算機を造るなら,取り込んでみた い.

 このシンポジウムは感慨深かった.筆者は,1974 年に HITAC 5020 の HARP を使って Fortran プログラムを書き,学費を稼いでいた.その開発者である 高橋延匡先生と中田育男先生の苦労話を伺うことができたのは幸いであった.


【付記】

江戸川大学の高田正之さんから,もっと簡単ですごいビー玉計算機を紹介されたので,ここにリンクを追加する.http://www.youtube.com/watch?v=GcDshWmhF4A   (2007-07-08 追記)

更新 2025-05-17 ← 2025-05-12 ← 2024-09-21 ← 2019-05-30 ← 2007-07-09 ← 2004-10-29 ← 2001-05 作成


NISHIMURA, Kazuo (nishimura@komazawa-u.ac.jp)